From ec026f477ccc2a85c8737f83ae48e01212592458 Mon Sep 17 00:00:00 2001 From: lresende Date: Fri, 30 Jan 2009 23:53:42 +0000 Subject: Starting to clean up old modules in contrib folder git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@739454 13f79535-47bb-0310-9956-ffa450edef68 --- .../contrib/distribution/bundle-minimal/pom.xml | 474 ---- java/sca/contrib/distribution/bundle/pom.xml | 730 ------ java/sca/contrib/distribution/features/all/pom.xml | 240 -- .../features/all/src/main/assembly/bin.xml | 43 - .../features/all/src/main/assembly/src.xml | 42 - .../all/src/main/components/src-modules.xml | 148 -- .../features/all/src/main/release/CHANGES | 431 ---- .../features/all/src/main/release/DISCLAIMER | 7 - .../features/all/src/main/release/README | 19 - .../features/all/src/main/release/RELEASE_NOTES | 83 - .../features/all/src/main/release/bin/INSTALL | 27 - .../features/all/src/main/release/bin/LICENSE | 2366 ------------------- .../features/all/src/main/release/bin/NOTICE | 95 - .../features/all/src/main/release/src/BUILDING | 55 - .../features/all/src/main/release/src/LICENSE | 397 ---- .../features/all/src/main/release/src/NOTICE | 39 - .../sca/contrib/distribution/features/core/pom.xml | 340 --- .../features/core/src/main/assembly/bin.xml | 38 - .../features/core/src/main/assembly/src.xml | 37 - .../core/src/main/components/bin-common.xml | 44 - .../core/src/main/components/bin-dependencies.xml | 41 - .../main/components/bin-filtered-dependencies.xml | 114 - .../core/src/main/components/bin-samples.xml | 54 - .../core/src/main/components/src-common.xml | 42 - .../core/src/main/components/src-modules.xml | 92 - .../features/core/src/main/release/CHANGES | 431 ---- .../features/core/src/main/release/DISCLAIMER | 7 - .../features/core/src/main/release/README | 19 - .../features/core/src/main/release/RELEASE_NOTES | 83 - .../features/core/src/main/release/bin/INSTALL | 27 - .../features/core/src/main/release/bin/LICENSE | 2366 ------------------- .../features/core/src/main/release/bin/NOTICE | 95 - .../features/core/src/main/release/src/BUILDING | 55 - .../features/core/src/main/release/src/LICENSE | 397 ---- .../features/core/src/main/release/src/NOTICE | 39 - .../contrib/distribution/features/ejava/pom.xml | 179 -- .../features/ejava/src/main/assembly/bin.xml | 38 - .../features/ejava/src/main/assembly/src.xml | 37 - .../ejava/src/main/components/bin-samples.xml | 44 - .../ejava/src/main/components/src-modules.xml | 103 - .../features/ejava/src/main/release/CHANGES | 431 ---- .../features/ejava/src/main/release/DISCLAIMER | 7 - .../features/ejava/src/main/release/README | 19 - .../features/ejava/src/main/release/RELEASE_NOTES | 83 - .../features/ejava/src/main/release/bin/INSTALL | 27 - .../features/ejava/src/main/release/bin/LICENSE | 2366 ------------------- .../features/ejava/src/main/release/bin/NOTICE | 95 - .../features/ejava/src/main/release/src/BUILDING | 55 - .../features/ejava/src/main/release/src/LICENSE | 397 ---- .../features/ejava/src/main/release/src/NOTICE | 39 - .../features/etc/generate-all-maven-files.sh | 44 - .../features/etc/generate-filtered-dependencies.sh | 69 - .../features/etc/generate-maven-files.sh | 25 - .../distribution/features/etc/generate-pom.sh | 26 - .../features/etc/generate-src-modules.sh | 65 - .../contrib/distribution/features/manager/pom.xml | 259 -- .../features/manager/src/main/assembly/bin.xml | 38 - .../features/manager/src/main/assembly/src.xml | 37 - .../manager/src/main/components/bin-samples.xml | 42 - .../manager/src/main/components/src-modules.xml | 116 - .../features/manager/src/main/release/CHANGES | 431 ---- .../features/manager/src/main/release/DISCLAIMER | 7 - .../features/manager/src/main/release/README | 19 - .../manager/src/main/release/RELEASE_NOTES | 83 - .../features/manager/src/main/release/bin/INSTALL | 27 - .../features/manager/src/main/release/bin/LICENSE | 2366 ------------------- .../features/manager/src/main/release/bin/NOTICE | 95 - .../features/manager/src/main/release/src/BUILDING | 55 - .../features/manager/src/main/release/src/LICENSE | 397 ---- .../features/manager/src/main/release/src/NOTICE | 39 - java/sca/contrib/distribution/features/pom.xml | 44 - .../contrib/distribution/features/process/pom.xml | 155 -- .../features/process/src/main/assembly/bin.xml | 38 - .../features/process/src/main/assembly/src.xml | 37 - .../process/src/main/components/bin-samples.xml | 44 - .../process/src/main/components/src-modules.xml | 98 - .../features/process/src/main/release/CHANGES | 431 ---- .../features/process/src/main/release/DISCLAIMER | 7 - .../features/process/src/main/release/README | 19 - .../process/src/main/release/RELEASE_NOTES | 83 - .../features/process/src/main/release/bin/INSTALL | 27 - .../features/process/src/main/release/bin/LICENSE | 2366 ------------------- .../features/process/src/main/release/bin/NOTICE | 95 - .../features/process/src/main/release/src/BUILDING | 55 - .../features/process/src/main/release/src/LICENSE | 397 ---- .../features/process/src/main/release/src/NOTICE | 39 - .../distribution/features/repository/pom.xml | 180 -- .../repository/src/main/assembly/repository.xml | 43 - .../repository/src/main/components/src-modules.xml | 149 -- .../features/repository/src/main/release/CHANGES | 431 ---- .../repository/src/main/release/DISCLAIMER | 7 - .../features/repository/src/main/release/README | 19 - .../repository/src/main/release/RELEASE_NOTES | 83 - .../repository/src/main/release/bin/INSTALL | 27 - .../repository/src/main/release/bin/LICENSE | 2366 ------------------- .../repository/src/main/release/bin/NOTICE | 95 - .../repository/src/main/release/src/BUILDING | 55 - .../repository/src/main/release/src/LICENSE | 397 ---- .../repository/src/main/release/src/NOTICE | 39 - .../contrib/distribution/features/web20/pom.xml | 208 -- .../features/web20/src/main/assembly/bin.xml | 38 - .../features/web20/src/main/assembly/src.xml | 37 - .../web20/src/main/components/bin-samples.xml | 44 - .../web20/src/main/components/src-modules.xml | 108 - .../features/web20/src/main/release/CHANGES | 431 ---- .../features/web20/src/main/release/DISCLAIMER | 7 - .../features/web20/src/main/release/README | 19 - .../features/web20/src/main/release/RELEASE_NOTES | 83 - .../features/web20/src/main/release/bin/INSTALL | 27 - .../features/web20/src/main/release/bin/LICENSE | 2366 ------------------- .../features/web20/src/main/release/bin/NOTICE | 95 - .../features/web20/src/main/release/src/BUILDING | 55 - .../features/web20/src/main/release/src/LICENSE | 397 ---- .../features/web20/src/main/release/src/NOTICE | 39 - .../distribution/features/webservice/pom.xml | 230 -- .../features/webservice/src/main/assembly/bin.xml | 38 - .../features/webservice/src/main/assembly/src.xml | 37 - .../webservice/src/main/components/bin-samples.xml | 50 - .../webservice/src/main/components/src-modules.xml | 105 - .../features/webservice/src/main/release/CHANGES | 431 ---- .../webservice/src/main/release/DISCLAIMER | 7 - .../features/webservice/src/main/release/README | 19 - .../webservice/src/main/release/RELEASE_NOTES | 83 - .../webservice/src/main/release/bin/INSTALL | 27 - .../webservice/src/main/release/bin/LICENSE | 2366 ------------------- .../webservice/src/main/release/bin/NOTICE | 95 - .../webservice/src/main/release/src/BUILDING | 55 - .../webservice/src/main/release/src/LICENSE | 397 ---- .../webservice/src/main/release/src/NOTICE | 39 - java/sca/contrib/distribution/manifest/pom.xml | 596 ----- java/sca/contrib/distribution/pom.xml | 330 --- .../contrib/distribution/src/main/assembly/bin.xml | 350 --- .../contrib/distribution/src/main/assembly/src.xml | 196 -- .../contrib/distribution/src/main/release/CHANGES | 505 ---- .../contrib/distribution/src/main/release/README | 19 - .../distribution/src/main/release/RELEASE_NOTES | 83 - .../distribution/src/main/release/bin/INSTALL | 26 - .../distribution/src/main/release/bin/LICENSE | 2494 -------------------- .../distribution/src/main/release/bin/NOTICE | 127 - .../distribution/src/main/release/src/BUILDING | 55 - .../distribution/src/main/release/src/LICENSE | 434 ---- .../distribution/src/main/release/src/NOTICE | 52 - .../distribution/src/main/xsl/srcbuild_paths.xsl | 56 - java/sca/contrib/distribution/standalone/pom.xml | 71 - .../src/test/resources/repo/tuscany.properties | 21 - java/sca/contrib/distribution/tomcat/pom.xml | 79 - .../distribution/tomcat/src/main/assembly/bin.xml | 61 - .../resources/sca-contributions/tuscany.properties | 19 - java/sca/contrib/distribution/war/pom.xml | 90 - .../distribution/war/src/main/release/LICENSE | 2296 ------------------ .../distribution/war/src/main/release/NOTICE | 98 - .../distribution/war/src/main/release/README | 12 - .../distribution/war/src/main/webapp/web.xml | 48 - java/sca/contrib/distribution/war/war.xml | 82 - java/sca/contrib/distribution/webapp/pom.xml | 355 --- .../sca/webapp/ContributionUploaderServlet.java | 116 - .../tuscany/sca/webapp/WarContextListener.java | 304 --- .../webapp/src/main/webapp/WEB-INF/web.xml | 66 - .../main/webapp/sca-contributions/safeToDelete.tmp | 1 - .../sca-contributions/sample-calculator-nodeB.jar | Bin 4593 -> 0 bytes .../sample-helloworld-ws-service.jar | Bin 7065 -> 0 bytes .../webapp/src/main/webapp/scaDomainInfo.jsp | 74 - java/sca/contrib/modules/api/LICENSE | 205 -- java/sca/contrib/modules/api/NOTICE | 6 - java/sca/contrib/modules/api/pom.xml | 304 --- java/sca/contrib/modules/assembly-java-dsl/LICENSE | 205 -- java/sca/contrib/modules/assembly-java-dsl/NOTICE | 6 - java/sca/contrib/modules/assembly-java-dsl/pom.xml | 56 - .../tuscany/sca/assembly/dsl/AssemblyBuilder.java | 37 - .../tuscany/sca/assembly/dsl/ComponentBuilder.java | 34 - .../sca/assembly/dsl/ComponentPropertyBuilder.java | 28 - .../assembly/dsl/ComponentReferenceBuilder.java | 36 - .../sca/assembly/dsl/ComponentServiceBuilder.java | 32 - .../tuscany/sca/assembly/dsl/CompositeBuilder.java | 29 - .../sca/assembly/dsl/impl/AssemblyBuilderImpl.java | 70 - .../assembly/dsl/impl/ComponentBuilderImpl.java | 74 - .../dsl/impl/ComponentPropertyBuilderImpl.java | 40 - .../dsl/impl/ComponentReferenceBuilderImpl.java | 77 - .../dsl/impl/ComponentServiceBuilderImpl.java | 62 - .../assembly/dsl/impl/CompositeBuilderImpl.java | 62 - .../sca/assembly/dsl/AccountDataService.java | 24 - .../sca/assembly/dsl/AccountDataServiceImpl.java | 24 - .../tuscany/sca/assembly/dsl/AccountService.java | 24 - .../sca/assembly/dsl/AccountServiceImpl.java | 24 - .../tuscany/sca/assembly/dsl/BigBankBuilder.java | 59 - .../sca/assembly/dsl/BigBankBuilderTestCase.java | 33 - .../sca/assembly/dsl/StockQuoteService.java | 24 - java/sca/contrib/modules/assembly-xml/LICENSE | 205 -- .../modules/assembly-xml/META-INF/MANIFEST.MF | 39 - java/sca/contrib/modules/assembly-xml/NOTICE | 6 - java/sca/contrib/modules/assembly-xml/pom.xml | 141 -- .../sca/assembly/xml/BaseAssemblyProcessor.java | 926 -------- .../xml/ComponentTypeDocumentProcessor.java | 143 -- .../assembly/xml/ComponentTypeModelResolver.java | 95 - .../sca/assembly/xml/ComponentTypeProcessor.java | 381 --- .../assembly/xml/CompositeDocumentProcessor.java | 229 -- .../sca/assembly/xml/CompositeModelResolver.java | 83 - .../sca/assembly/xml/CompositeProcessor.java | 1233 ---------- .../assembly/xml/ConfiguredOperationProcessor.java | 109 - .../apache/tuscany/sca/assembly/xml/Constants.java | 97 - .../xml/ConstrainingTypeDocumentProcessor.java | 140 -- .../xml/ConstrainingTypeModelResolver.java | 83 - .../assembly/xml/ConstrainingTypeProcessor.java | 281 --- .../assembly/xml/DefaultBeanModelProcessor.java | 256 -- .../assembly/xml/PolicyAttachPointProcessor.java | 266 --- ...ca.contribution.processor.StAXArtifactProcessor | 21 - ...sca.contribution.processor.URLArtifactProcessor | 21 - ...tuscany.sca.contribution.resolver.ModelResolver | 20 - .../assembly-xml-validation-messages.properties | 29 - .../assembly/xml/AnyElementReadWriteTestCase.java | 95 - .../sca/assembly/xml/BuildPolicyTestCase.java | 148 -- .../xml/MultiplicityReadWriteTestCase.java | 86 - .../tuscany/sca/assembly/xml/ReadAllTestCase.java | 145 -- .../sca/assembly/xml/ReadDocumentTestCase.java | 207 -- .../tuscany/sca/assembly/xml/ReadTestCase.java | 88 - .../assembly/xml/ReadWriteAttributeTestCase.java | 118 - .../xml/ReadWriteLocalCompositeTestCase.java | 94 - .../sca/assembly/xml/ResolvePolicyTestCase.java | 161 -- .../tuscany/sca/assembly/xml/ResolveTestCase.java | 97 - .../sca/assembly/xml/TestAttributeProcessor.java | 61 - .../sca/assembly/xml/TestPolicyProcessor.java | 73 - .../assembly/xml/TestSCABindingFactoryImpl.java | 35 - .../sca/assembly/xml/TestSCABindingImpl.java | 213 -- .../tuscany/sca/assembly/xml/WireTestCase.java | 147 -- .../tuscany/sca/assembly/xml/WriteAllTestCase.java | 160 -- .../sca/assembly/xml/WriteNamespacesTestCase.java | 91 - .../tuscany/sca/assembly/xml/Calculator.composite | 59 - .../xml/CalculatorComponent.constrainingType | 34 - .../sca/assembly/xml/CalculatorExtended.composite | 54 - .../sca/assembly/xml/CalculatorImpl.componentType | 31 - .../sca/assembly/xml/JavaScriptReference.composite | 37 - .../sca/assembly/xml/Multiplicity.composite | 30 - .../sca/assembly/xml/NestedCalculator.composite | 29 - .../sca/assembly/xml/RMIBindingTest.composite | 43 - .../sca/assembly/xml/TestAllCalculator.composite | 128 - .../sca/assembly/xml/TestAllDivide.composite | 56 - .../assembly/xml/TestAllPolicyCalculator.composite | 129 - .../sca/assembly/xml/UnknownElement.composite | 42 - .../sca/assembly/xml/another_test_definitions.xml | 97 - .../tuscany/sca/assembly/xml/local.composite | 27 - .../tuscany/sca/assembly/xml/test_definitions.xml | 175 -- java/sca/contrib/modules/assembly-xsd/LICENSE | 281 --- .../modules/assembly-xsd/META-INF/MANIFEST.MF | 13 - java/sca/contrib/modules/assembly-xsd/NOTICE | 23 - java/sca/contrib/modules/assembly-xsd/pom.xml | 49 - ...any.sca.contribution.processor.ValidationSchema | 18 - .../assembly-xsd/src/main/resources/sca-all.xsd | 33 - .../src/main/resources/sca-binding-ejb.xsd | 43 - .../src/main/resources/sca-binding-jms.xsd | 140 -- .../src/main/resources/sca-binding-sca.xsd | 23 - .../src/main/resources/sca-binding-webservice.xsd | 34 - .../src/main/resources/sca-contributions.xsd | 65 - .../assembly-xsd/src/main/resources/sca-core.xsd | 348 --- .../src/main/resources/sca-definitions.xsd | 25 - .../src/main/resources/sca-implementation-bpel.xsd | 43 - .../resources/sca-implementation-composite.xsd | 23 - .../src/main/resources/sca-implementation-cpp.xsd | 53 - .../src/main/resources/sca-implementation-ejb.xsd | 25 - .../src/main/resources/sca-implementation-java.xsd | 24 - .../main/resources/sca-implementation-spring.xsd | 24 - .../src/main/resources/sca-implementation-web.xsd | 24 - .../src/main/resources/sca-interface-cpp.xsd | 40 - .../src/main/resources/sca-interface-java.xsd | 23 - .../src/main/resources/sca-interface-wsdl.xsd | 23 - .../assembly-xsd/src/main/resources/sca-policy.xsd | 77 - .../assembly-xsd/src/main/resources/sca.xsd | 26 - .../main/resources/tuscany-sca-binding-atom.xsd | 42 - .../src/main/resources/tuscany-sca-binding-dwr.xsd | 41 - .../main/resources/tuscany-sca-binding-http.xsd | 41 - .../src/main/resources/tuscany-sca-binding-jms.xsd | 40 - .../main/resources/tuscany-sca-binding-jsonrpc.xsd | 41 - .../resources/tuscany-sca-binding-notification.xsd | 42 - .../src/main/resources/tuscany-sca-binding-rmi.xsd | 43 - .../src/main/resources/tuscany-sca-binding-rss.xsd | 42 - .../src/main/resources/tuscany-sca-data-helper.xsd | 44 - .../resources/tuscany-sca-implementation-das.xsd | 46 - .../tuscany-sca-implementation-data-xml.xsd | 45 - .../resources/tuscany-sca-implementation-node.xsd | 43 - .../tuscany-sca-implementation-notification.xsd | 42 - .../resources/tuscany-sca-implementation-osgi.xsd | 43 - .../tuscany-sca-implementation-resource.xsd | 42 - .../tuscany-sca-implementation-script.xsd | 43 - .../tuscany-sca-implementation-widget.xsd | 42 - .../tuscany-sca-implementation-xquery.xsd | 42 - .../src/main/resources/tuscany-sca.xsd | 49 - .../assembly-xsd/src/main/resources/wsdli.xsd | 34 - java/sca/contrib/modules/assembly/LICENSE | 205 -- .../contrib/modules/assembly/META-INF/MANIFEST.MF | 44 - java/sca/contrib/modules/assembly/NOTICE | 6 - java/sca/contrib/modules/assembly/pom.xml | 76 - .../tuscany/sca/assembly/AbstractContract.java | 77 - .../tuscany/sca/assembly/AbstractProperty.java | 124 - .../tuscany/sca/assembly/AbstractReference.java | 43 - .../tuscany/sca/assembly/AbstractService.java | 28 - .../tuscany/sca/assembly/AssemblyFactory.java | 155 -- .../java/org/apache/tuscany/sca/assembly/Base.java | 43 - .../org/apache/tuscany/sca/assembly/Binding.java | 63 - .../apache/tuscany/sca/assembly/BindingRRB.java | 43 - .../org/apache/tuscany/sca/assembly/Callback.java | 40 - .../org/apache/tuscany/sca/assembly/Component.java | 132 -- .../tuscany/sca/assembly/ComponentProperty.java | 88 - .../tuscany/sca/assembly/ComponentReference.java | 83 - .../tuscany/sca/assembly/ComponentService.java | 59 - .../apache/tuscany/sca/assembly/ComponentType.java | 77 - .../org/apache/tuscany/sca/assembly/Composite.java | 110 - .../tuscany/sca/assembly/CompositeReference.java | 37 - .../tuscany/sca/assembly/CompositeService.java | 56 - .../tuscany/sca/assembly/ConfiguredOperation.java | 61 - .../tuscany/sca/assembly/ConstrainingType.java | 72 - .../org/apache/tuscany/sca/assembly/Contract.java | 95 - .../sca/assembly/DefaultAssemblyFactory.java | 31 - .../sca/assembly/DefaultEndpointFactory.java | 32 - .../org/apache/tuscany/sca/assembly/Endpoint.java | 167 -- .../tuscany/sca/assembly/EndpointFactory.java | 37 - .../apache/tuscany/sca/assembly/Extensible.java | 37 - .../tuscany/sca/assembly/Implementation.java | 27 - .../apache/tuscany/sca/assembly/Multiplicity.java | 49 - .../tuscany/sca/assembly/OperationSelector.java | 29 - .../sca/assembly/OperationsConfigurator.java | 33 - .../tuscany/sca/assembly/OptimizableBinding.java | 66 - .../org/apache/tuscany/sca/assembly/Property.java | 41 - .../org/apache/tuscany/sca/assembly/Reference.java | 74 - .../apache/tuscany/sca/assembly/SCABinding.java | 27 - .../tuscany/sca/assembly/SCABindingFactory.java | 36 - .../org/apache/tuscany/sca/assembly/Service.java | 29 - .../java/org/apache/tuscany/sca/assembly/Wire.java | 67 - .../apache/tuscany/sca/assembly/WireFormat.java | 29 - .../sca/assembly/builder/AutomaticBinding.java | 39 - .../sca/assembly/builder/BindingBuilder.java | 42 - .../assembly/builder/BindingBuilderExtension.java | 44 - .../assembly/builder/ComponentPreProcessor.java | 33 - .../sca/assembly/builder/CompositeBuilder.java | 40 - .../builder/CompositeBuilderException.java | 45 - .../assembly/builder/DefaultEndpointBuilder.java | 34 - .../sca/assembly/builder/DomainBuilder.java | 80 - .../sca/assembly/builder/EndpointBuilder.java | 40 - .../builder/impl/BaseConfigurationBuilderImpl.java | 1337 ----------- .../assembly/builder/impl/BaseWireBuilderImpl.java | 1149 --------- .../builder/impl/BindingConfigurationUtil.java | 146 -- .../impl/ComponentConfigurationBuilderImpl.java | 68 - .../impl/ComponentReferenceBindingBuilderImpl.java | 71 - ...ComponentReferencePromotionWireBuilderImpl.java | 165 -- .../impl/ComponentReferenceWireBuilderImpl.java | 44 - .../impl/ComponentServiceBindingBuilderImpl.java | 76 - .../impl/ComponentServicePromotionBuilderImpl.java | 99 - .../impl/CompositeBindingURIBuilderImpl.java | 68 - .../builder/impl/CompositeBuilderImpl.java | 223 -- .../builder/impl/CompositeCloneBuilderImpl.java | 118 - .../builder/impl/CompositeIncludeBuilderImpl.java | 110 - .../builder/impl/CompositePolicyBuilderImpl.java | 47 - .../impl/CompositePromotionBuilderImpl.java | 46 - ...CompositeReferenceConfigurationBuilderImpl.java | 224 -- .../impl/CompositeReferenceWireBuilderImpl.java | 96 - .../impl/CompositeServiceBindingBuilderImpl.java | 71 - .../CompositeServiceConfigurationBuilderImpl.java | 194 -- .../impl/CompositeServicePromotionBuilderImpl.java | 77 - .../assembly/builder/impl/EndpointBuilderImpl.java | 127 - .../builder/impl/PolicyConfigurationException.java | 38 - .../builder/impl/PolicyConfigurationUtil.java | 752 ------ .../sca/assembly/builder/impl/PrintUtil.java | 273 --- .../sca/assembly/builder/impl/ProblemImpl.java | 132 -- .../builder/impl/PropertyConfigurationUtil.java | 213 -- .../builder/impl/ReferenceConfigurationUtil.java | 264 --- .../builder/impl/ServiceConfigurationUtil.java | 88 - .../sca/assembly/impl/AbstractPropertyImpl.java | 114 - .../sca/assembly/impl/AbstractReferenceImpl.java | 46 - .../sca/assembly/impl/AbstractServiceImpl.java | 36 - .../sca/assembly/impl/AssemblyFactoryImpl.java | 121 - .../apache/tuscany/sca/assembly/impl/BaseImpl.java | 45 - .../tuscany/sca/assembly/impl/CallbackImpl.java | 82 - .../tuscany/sca/assembly/impl/ComponentImpl.java | 174 -- .../sca/assembly/impl/ComponentPropertyImpl.java | 93 - .../sca/assembly/impl/ComponentReferenceImpl.java | 113 - .../sca/assembly/impl/ComponentServiceImpl.java | 71 - .../sca/assembly/impl/ComponentTypeImpl.java | 115 - .../tuscany/sca/assembly/impl/CompositeImpl.java | 153 -- .../sca/assembly/impl/CompositeReferenceImpl.java | 51 - .../sca/assembly/impl/CompositeServiceImpl.java | 62 - .../sca/assembly/impl/ConfiguredOperationImpl.java | 93 - .../sca/assembly/impl/ConstrainingTypeImpl.java | 105 - .../tuscany/sca/assembly/impl/ContractImpl.java | 96 - .../sca/assembly/impl/EndpointFactoryImpl.java | 41 - .../tuscany/sca/assembly/impl/EndpointImpl.java | 154 -- .../tuscany/sca/assembly/impl/ExtensibleImpl.java | 44 - .../sca/assembly/impl/ImplementationImpl.java | 75 - .../tuscany/sca/assembly/impl/PropertyImpl.java | 59 - .../tuscany/sca/assembly/impl/ReferenceImpl.java | 133 -- .../tuscany/sca/assembly/impl/ServiceImpl.java | 107 - .../apache/tuscany/sca/assembly/impl/WireImpl.java | 96 - ...org.apache.tuscany.sca.assembly.AssemblyFactory | 18 - ...org.apache.tuscany.sca.assembly.EndpointFactory | 18 - .../assembly-validation-messages.properties | 62 - .../assembly-validation-messages_it.properties | 30 - .../sca/assembly/AssemblyFactoryTestCase.java | 209 -- .../apache/tuscany/sca/assembly/TestBinding.java | 56 - .../tuscany/sca/assembly/TestImplementation.java | 61 - .../apache/tuscany/sca/assembly/TestInterface.java | 42 - .../sca/assembly/TestInterfaceContract.java | 41 - .../apache/tuscany/sca/assembly/TestOperation.java | 30 - .../builder/impl/CompositeBuilderTestCase.java | 128 - .../assembly/builder/impl/PrintUtilTestCase.java | 229 -- .../contrib/modules/binding-atom-abdera/LICENSE | 205 -- .../sca/contrib/modules/binding-atom-abdera/NOTICE | 6 - .../modules/binding-atom-abdera/ReceiptToms.gif | Bin 14205 -> 0 bytes .../modules/binding-atom-abdera/ReceiptValue.jpg | Bin 21373 -> 0 bytes .../contrib/modules/binding-atom-abdera/pom.xml | 227 -- .../sca/binding/atom/collection/Collection.java | 81 - .../binding/atom/collection/MediaCollection.java | 55 - .../binding/atom/collection/NotFoundException.java | 45 - .../binding/atom/provider/AtomBindingInvoker.java | 485 ---- .../atom/provider/AtomBindingListenerServlet.java | 871 ------- .../atom/provider/AtomBindingProviderFactory.java | 74 - .../sca/binding/atom/provider/AtomBindingUtil.java | 164 -- .../provider/AtomReferenceBindingProvider.java | 183 -- .../atom/provider/AtomServiceBindingProvider.java | 87 - ...che.tuscany.sca.provider.BindingProviderFactory | 19 - .../sca/binding/atom/AtomDeleteTestCase.java | 92 - .../tuscany/sca/binding/atom/AtomGetTestCase.java | 97 - .../tuscany/sca/binding/atom/AtomPostTestCase.java | 86 - .../tuscany/sca/binding/atom/AtomPutTestCase.java | 104 - .../sca/binding/atom/AtomTestCaseUtils.java | 96 - .../apache/tuscany/sca/binding/atom/Consumer.java | 35 - .../binding/atom/ConsumerProviderAtomTestCase.java | 155 -- .../sca/binding/atom/ContentNegotiationTest.java | 249 -- .../tuscany/sca/binding/atom/CustomerClient.java | 29 - .../sca/binding/atom/CustomerClientImpl.java | 99 - .../sca/binding/atom/CustomerCollectionImpl.java | 149 -- .../sca/binding/atom/MediaCollectionImpl.java | 210 -- .../sca/binding/atom/MediaCollectionTestCase.java | 287 --- .../apache/tuscany/sca/binding/atom/Provider.java | 41 - .../atom/ProviderEntryEntityTagsTestCase.java | 428 ---- .../atom/ProviderFeedEntityTagsTestCase.java | 382 --- .../atom/ProviderServiceDocumentTestCase.java | 209 -- .../tuscany/sca/binding/atom/Consumer.composite | 32 - .../tuscany/sca/binding/atom/Provider.composite | 33 - .../sca/binding/atom/ReceiptProvider.composite | 33 - java/sca/contrib/modules/binding-atom/LICENSE | 205 -- java/sca/contrib/modules/binding-atom/NOTICE | 6 - java/sca/contrib/modules/binding-atom/pom.xml | 82 - .../tuscany/sca/binding/atom/AtomBinding.java | 43 - .../sca/binding/atom/AtomBindingFactory.java | 35 - .../binding/atom/impl/AtomBindingFactoryImpl.java | 36 - .../sca/binding/atom/impl/AtomBindingImpl.java | 117 - ...che.tuscany.sca.binding.atom.AtomBindingFactory | 19 - ...ca.contribution.processor.StAXArtifactProcessor | 19 - .../binding/atom/AtomBindingProcessorTestCase.java | 89 - .../contrib/modules/binding-corba-runtime/LICENSE | 205 -- .../contrib/modules/binding-corba-runtime/NOTICE | 6 - .../contrib/modules/binding-corba-runtime/pom.xml | 143 -- .../corba/impl/CorbaBindingProviderFactory.java | 70 - .../sca/binding/corba/impl/CorbaInvoker.java | 89 - .../corba/impl/CorbaReferenceBindingProvider.java | 100 - .../corba/impl/CorbaServiceBindingProvider.java | 92 - .../corba/impl/exceptions/CorbaException.java | 34 - .../exceptions/RequestConfigurationException.java | 43 - .../corba/impl/reference/DynaCorbaRequest.java | 253 -- .../corba/impl/reference/DynaCorbaResponse.java | 39 - .../impl/reference/InterfaceInstanceCreator.java | 70 - .../impl/reference/InterfaceMethodInterceptor.java | 65 - .../impl/service/ComponentInvocationProxy.java | 120 - .../corba/impl/service/DynaCorbaServant.java | 137 -- .../corba/impl/service/InvocationException.java | 43 - .../corba/impl/service/InvocationProxy.java | 46 - .../binding/corba/impl/service/OperationTypes.java | 51 - .../corba/impl/types/AnnotationAttributes.java | 46 - .../sca/binding/corba/impl/types/NodeType.java | 28 - .../sca/binding/corba/impl/types/TypeTree.java | 50 - .../binding/corba/impl/types/TypeTreeCreator.java | 497 ---- .../sca/binding/corba/impl/types/TypeTreeNode.java | 75 - .../binding/corba/impl/types/UnionAttributes.java | 59 - .../corba/impl/types/util/ArrayTypeHelper.java | 53 - .../corba/impl/types/util/BooleanTypeHelper.java | 39 - .../corba/impl/types/util/ByteTypeHelper.java | 39 - .../corba/impl/types/util/CharTypeHelper.java | 39 - .../corba/impl/types/util/DoubleTypeHelper.java | 39 - .../corba/impl/types/util/EnumTypeHelper.java | 41 - .../corba/impl/types/util/FloatTypeHelper.java | 39 - .../corba/impl/types/util/IntTypeHelper.java | 39 - .../corba/impl/types/util/LongTypeHelper.java | 39 - .../corba/impl/types/util/ReferenceTypeHelper.java | 42 - .../corba/impl/types/util/SequenceTypeHelper.java | 70 - .../corba/impl/types/util/ShortTypeHelper.java | 39 - .../corba/impl/types/util/StringTypeHelper.java | 39 - .../corba/impl/types/util/StructTypeHelper.java | 69 - .../binding/corba/impl/types/util/TypeHelper.java | 47 - .../corba/impl/types/util/TypeHelpersProxy.java | 119 - .../corba/impl/types/util/UnionTypeHelper.java | 92 - .../sca/binding/corba/impl/types/util/Utils.java | 40 - .../sca/binding/corba/impl/util/MethodFinder.java | 97 - .../binding/corba/impl/util/OperationMapper.java | 578 ----- .../tuscany/sca/binding/corba/meta/CorbaArray.java | 34 - .../sca/binding/corba/meta/CorbaUnionElement.java | 37 - .../binding/corba/meta/CorbaUnionElementType.java | 28 - ...che.tuscany.sca.provider.BindingProviderFactory | 19 - .../corba/testing/CorbaServantTestCase.java | 564 ----- .../binding/corba/testing/CorbaTypesTestCase.java | 841 ------- .../corba/testing/MappingTestInterface.java | 46 - .../corba/testing/MethodFinderTestCase.java | 70 - .../corba/testing/OperationMappingTestCase.java | 67 - .../sca/binding/corba/testing/TestConstants.java | 87 - .../testing/arrays_unions/ArraysUnionsTests.java | 13 - .../arrays_unions/ArraysUnionsTestsHelper.java | 85 - .../arrays_unions/ArraysUnionsTestsHolder.java | 38 - .../arrays_unions/ArraysUnionsTestsOperations.java | 16 - .../corba/testing/arrays_unions/InnerUnion.java | 112 - .../testing/arrays_unions/InnerUnionHelper.java | 106 - .../testing/arrays_unions/InnerUnionHolder.java | 38 - .../corba/testing/arrays_unions/RichUnion.java | 177 -- .../testing/arrays_unions/RichUnionHelper.java | 157 -- .../testing/arrays_unions/RichUnionHolder.java | 38 - .../testing/arrays_unions/StringArrayHelper.java | 76 - .../testing/arrays_unions/StringArrayHolder.java | 39 - .../corba/testing/arrays_unions/TestStruct.java | 28 - .../testing/arrays_unions/TestStructHelper.java | 149 -- .../testing/arrays_unions/TestStructHolder.java | 38 - .../arrays_unions/_ArraysUnionsTestsImplBase.java | 86 - .../arrays_unions/_ArraysUnionsTestsStub.java | 100 - .../sca/binding/corba/testing/enums/Color.java | 60 - .../binding/corba/testing/enums/ColorHelper.java | 69 - .../binding/corba/testing/enums/ColorHolder.java | 51 - .../binding/corba/testing/enums/EnumManager.java | 30 - .../corba/testing/enums/EnumManagerHelper.java | 98 - .../corba/testing/enums/EnumManagerHolder.java | 51 - .../corba/testing/enums/EnumManagerOperations.java | 32 - .../corba/testing/enums/_EnumManagerImplBase.java | 76 - .../corba/testing/enums/_EnumManagerStub.java | 75 - .../sca/binding/corba/testing/exceptions/Calc.java | 30 - .../corba/testing/exceptions/CalcHelper.java | 98 - .../corba/testing/exceptions/CalcHolder.java | 51 - .../corba/testing/exceptions/CalcOperations.java | 36 - .../testing/exceptions/CalcPackage/Arguments.java | 41 - .../exceptions/CalcPackage/ArgumentsHelper.java | 94 - .../exceptions/CalcPackage/ArgumentsHolder.java | 51 - .../testing/exceptions/CalcPackage/DivByZero.java | 52 - .../exceptions/CalcPackage/DivByZeroHelper.java | 100 - .../exceptions/CalcPackage/DivByZeroHolder.java | 51 - .../exceptions/CalcPackage/NotSupported.java | 46 - .../exceptions/CalcPackage/NotSupportedHelper.java | 93 - .../exceptions/CalcPackage/NotSupportedHolder.java | 51 - .../corba/testing/exceptions/_CalcImplBase.java | 102 - .../corba/testing/exceptions/_CalcStub.java | 106 - .../corba/testing/generated/ArraysSetter.java | 30 - .../testing/generated/ArraysSetterHelper.java | 100 - .../testing/generated/ArraysSetterHolder.java | 51 - .../testing/generated/ArraysSetterOperations.java | 59 - .../corba/testing/generated/PrimitivesSetter.java | 31 - .../testing/generated/PrimitivesSetterHelper.java | 100 - .../testing/generated/PrimitivesSetterHolder.java | 51 - .../generated/PrimitivesSetterOperations.java | 59 - .../corba/testing/generated/RemoteObject.java | 30 - .../testing/generated/RemoteObjectHelper.java | 100 - .../testing/generated/RemoteObjectHolder.java | 51 - .../testing/generated/RemoteObjectOperations.java | 30 - .../corba/testing/generated/SimpleStruct.java | 41 - .../testing/generated/SimpleStructHelper.java | 93 - .../testing/generated/SimpleStructHolder.java | 51 - .../corba/testing/generated/SomeStruct.java | 51 - .../corba/testing/generated/SomeStructHelper.java | 146 -- .../corba/testing/generated/SomeStructHolder.java | 51 - .../corba/testing/generated/TestObject.java | 30 - .../corba/testing/generated/TestObjectHelper.java | 99 - .../corba/testing/generated/TestObjectHolder.java | 51 - .../testing/generated/TestObjectOperations.java | 44 - .../testing/generated/_ArraysSetterImplBase.java | 232 -- .../corba/testing/generated/_ArraysSetterStub.java | 343 --- .../generated/_PrimitivesSetterImplBase.java | 230 -- .../testing/generated/_PrimitivesSetterStub.java | 341 --- .../testing/generated/_RemoteObjectImplBase.java | 59 - .../corba/testing/generated/_RemoteObjectStub.java | 55 - .../testing/generated/_TestObjectImplBase.java | 149 -- .../corba/testing/generated/_TestObjectStub.java | 182 -- .../testing/generated/boolean_listHelper.java | 75 - .../testing/generated/boolean_listHolder.java | 51 - .../corba/testing/generated/char_listHelper.java | 75 - .../corba/testing/generated/char_listHolder.java | 51 - .../corba/testing/generated/double_listHelper.java | 75 - .../corba/testing/generated/double_listHolder.java | 51 - .../corba/testing/generated/float_listHelper.java | 75 - .../corba/testing/generated/float_listHolder.java | 51 - .../corba/testing/generated/long_listHelper.java | 75 - .../corba/testing/generated/long_listHolder.java | 51 - .../testing/generated/long_long_listHelper.java | 75 - .../testing/generated/long_long_listHolder.java | 51 - .../corba/testing/generated/long_seq1Helper.java | 75 - .../corba/testing/generated/long_seq1Holder.java | 51 - .../corba/testing/generated/long_seq2Helper.java | 83 - .../corba/testing/generated/long_seq2Holder.java | 51 - .../corba/testing/generated/long_seq3Helper.java | 89 - .../corba/testing/generated/long_seq3Holder.java | 51 - .../corba/testing/generated/octet_listHelper.java | 75 - .../corba/testing/generated/octet_listHolder.java | 51 - .../generated/remote_object_listHelper.java | 80 - .../generated/remote_object_listHolder.java | 51 - .../corba/testing/generated/short_listHelper.java | 75 - .../corba/testing/generated/short_listHolder.java | 51 - .../corba/testing/generated/string_listHelper.java | 77 - .../corba/testing/generated/string_listHolder.java | 51 - .../generated/unsigned_long_listHelper.java | 76 - .../generated/unsigned_long_listHolder.java | 51 - .../generated/unsigned_long_long_listHelper.java | 78 - .../generated/unsigned_long_long_listHolder.java | 51 - .../generated/unsigned_short_listHelper.java | 76 - .../generated/unsigned_short_listHolder.java | 51 - .../corba/testing/generated/wchar_listHelper.java | 75 - .../corba/testing/generated/wchar_listHolder.java | 51 - .../testing/generated/wstring_listHelper.java | 77 - .../testing/generated/wstring_listHolder.java | 51 - .../corba/testing/hierarchy/ArraysTestStruct.java | 45 - .../sca/binding/corba/testing/hierarchy/Calc.java | 30 - .../corba/testing/hierarchy/DummyObject.java | 28 - .../corba/testing/hierarchy/InnerUnion.java | 55 - .../corba/testing/hierarchy/InvalidCorbaArray.java | 38 - .../corba/testing/hierarchy/InvalidEnum1.java | 36 - .../corba/testing/hierarchy/InvalidEnum2.java | 33 - .../corba/testing/hierarchy/InvalidEnum3.java | 33 - .../corba/testing/hierarchy/InvalidStruct1.java | 28 - .../corba/testing/hierarchy/InvalidStruct2.java | 31 - .../corba/testing/hierarchy/InvalidStruct3.java | 36 - .../corba/testing/hierarchy/InvalidUnion1.java | 37 - .../corba/testing/hierarchy/InvalidUnion2.java | 34 - .../corba/testing/hierarchy/InvalidUnion3.java | 35 - .../corba/testing/hierarchy/InvalidUnion4.java | 39 - .../corba/testing/hierarchy/InvalidUnion5.java | 42 - .../corba/testing/hierarchy/NonCorbaException.java | 28 - .../binding/corba/testing/hierarchy/RichUnion.java | 91 - .../corba/testing/hierarchy/SimpleStruct.java | 30 - .../corba/testing/hierarchy/SomeStruct.java | 33 - .../corba/testing/references/DummyObject.java | 30 - .../testing/references/DummyObjectHelper.java | 100 - .../testing/references/DummyObjectHolder.java | 51 - .../testing/references/DummyObjectOperations.java | 33 - .../corba/testing/references/ObjectManager.java | 30 - .../testing/references/ObjectManagerHelper.java | 100 - .../testing/references/ObjectManagerHolder.java | 51 - .../references/ObjectManagerOperations.java | 33 - .../testing/references/_DummyObjectImplBase.java | 84 - .../corba/testing/references/_DummyObjectStub.java | 92 - .../testing/references/_ObjectManagerImplBase.java | 86 - .../testing/references/_ObjectManagerStub.java | 94 - .../testing/servants/ArraysSetterServant.java | 89 - .../testing/servants/ArraysUnionsServant.java | 42 - .../servants/ArraysUnionsTuscanyServant.java | 43 - .../corba/testing/servants/CalcServant.java | 52 - .../corba/testing/servants/DummyObjectServant.java | 42 - .../corba/testing/servants/EnumManagerServant.java | 33 - .../testing/servants/InvalidTestObjectServant.java | 24 - .../testing/servants/InvalidTypesServant.java | 34 - .../corba/testing/servants/NonCorbaServant.java | 36 - .../testing/servants/ObjectManagerServant.java | 37 - .../testing/servants/PrimitivesSetterServant.java | 89 - .../corba/testing/servants/TestObjectServant.java | 71 - .../corba/testing/service/mocks/TestDataType.java | 88 - .../corba/testing/service/mocks/TestInterface.java | 139 -- .../service/mocks/TestInterfaceContract.java | 58 - .../corba/testing/service/mocks/TestOperation.java | 174 -- .../service/mocks/TestRuntimeComponentService.java | 234 -- .../testing/service/mocks/TestRuntimeWire.java | 107 - .../src/test/resources/arrays_unions.idl | 69 - .../src/test/resources/enums.idl | 44 - .../src/test/resources/exceptions.idl | 58 - .../src/test/resources/general_tests.idl | 124 - .../src/test/resources/references.idl | 50 - java/sca/contrib/modules/binding-corba/LICENSE | 205 -- java/sca/contrib/modules/binding-corba/NOTICE | 6 - java/sca/contrib/modules/binding-corba/pom.xml | 71 - .../tuscany/sca/binding/corba/CorbaBinding.java | 46 - .../sca/binding/corba/CorbaBindingFactory.java | 31 - .../corba/impl/CorbaBindingFactoryImpl.java | 37 - .../sca/binding/corba/impl/CorbaBindingImpl.java | 132 -- .../binding/corba/impl/CorbaBindingProcessor.java | 134 -- ...e.tuscany.sca.binding.corba.CorbaBindingFactory | 19 - ...ca.contribution.processor.StAXArtifactProcessor | 19 - java/sca/contrib/modules/binding-dwr/LICENSE | 205 -- java/sca/contrib/modules/binding-dwr/NOTICE | 6 - java/sca/contrib/modules/binding-dwr/pom.xml | 95 - .../apache/tuscany/sca/binding/dwr/DWRBinding.java | 31 - .../sca/binding/dwr/DWRBindingActivator.java | 56 - .../apache/tuscany/sca/binding/dwr/DWRInvoker.java | 93 - .../tuscany/sca/binding/dwr/DWRInvokerFactory.java | 67 - .../apache/tuscany/sca/binding/dwr/DWRService.java | 81 - .../apache/tuscany/sca/binding/dwr/DWRServlet.java | 247 -- ...e.tuscany.sca.extension.helper.BindingActivator | 19 - .../contrib/modules/binding-ejb-runtime/LICENSE | 205 -- .../sca/contrib/modules/binding-ejb-runtime/NOTICE | 6 - .../contrib/modules/binding-ejb-runtime/pom.xml | 189 -- .../sca/binding/ejb/corba/ClassLoadingUtil.java | 365 --- .../binding/ejb/corba/DynamicStubClassLoader.java | 150 -- .../sca/binding/ejb/corba/Java2IDLUtil.java | 811 ------- .../binding/ejb/corba/ObjectInputStreamExt.java | 61 - .../binding/ejb/corba/StubMethodInterceptor.java | 154 -- .../sca/binding/ejb/corba/UtilInitializer.java | 69 - .../binding/ejb/provider/EJBBindingInvoker.java | 92 - .../ejb/provider/EJBBindingProviderFactory.java | 56 - .../EJBBindingReferenceBindingProvider.java | 86 - .../tuscany/sca/binding/ejb/util/EJBHandler.java | 338 --- .../tuscany/sca/binding/ejb/util/EJBLocator.java | 483 ---- .../sca/binding/ejb/util/EJBObjectFactory.java | 209 -- .../sca/binding/ejb/util/EJBStubHelper.java | 69 - .../sca/binding/ejb/util/InterfaceInfo.java | 117 - .../binding/ejb/util/JavaReflectionAdapter.java | 157 -- .../tuscany/sca/binding/ejb/util/MethodInfo.java | 189 -- .../sca/binding/ejb/util/NamingEndpoint.java | 124 - ...che.tuscany.sca.provider.BindingProviderFactory | 19 - .../binding-ejb-validation-messages.properties | 23 - .../src/test/java/account/BankManagerFacade.java | 33 - .../src/test/java/account/Customer.java | 36 - .../src/test/java/account/CustomerImpl.java | 57 - .../src/test/java/calculator/AddService.java | 27 - .../src/test/java/calculator/AddServiceHome.java | 31 - .../samples/bank/ejb/BankManagerFacade.java | 44 - .../samples/bank/ejb/BankManagerFacadeHome.java | 44 - .../binding/ejb/tests/EJBReferenceTestCase.java | 67 - .../tuscany/sca/binding/ejb/tests/MockServer.java | 151 -- .../sca/binding/ejb/tests/SocketTracer.java | 138 -- .../src/test/resources/account/account.composite | 35 - java/sca/contrib/modules/binding-ejb/LICENSE | 205 -- java/sca/contrib/modules/binding-ejb/NOTICE | 6 - java/sca/contrib/modules/binding-ejb/pom.xml | 84 - .../apache/tuscany/sca/binding/ejb/EJBBinding.java | 94 - .../sca/binding/ejb/EJBBindingException.java | 56 - .../tuscany/sca/binding/ejb/EJBBindingFactory.java | 35 - .../binding/ejb/impl/EJBBindingFactoryImpl.java | 36 - .../sca/binding/ejb/impl/EJBBindingImpl.java | 183 -- .../sca/binding/ejb/impl/EJBBindingProcessor.java | 182 -- ...pache.tuscany.sca.binding.ejb.EJBBindingFactory | 19 - ...ca.contribution.processor.StAXArtifactProcessor | 19 - .../binding-ejb-validation-messages.properties | 23 - java/sca/contrib/modules/binding-feed/LICENSE | 205 -- java/sca/contrib/modules/binding-feed/NOTICE | 6 - java/sca/contrib/modules/binding-feed/pom.xml | 165 -- .../tuscany/sca/binding/feed/AtomBinding.java | 30 - .../sca/binding/feed/AtomBindingFactory.java | 35 - .../tuscany/sca/binding/feed/RSSBinding.java | 30 - .../sca/binding/feed/RSSBindingFactory.java | 35 - .../sca/binding/feed/collection/Collection.java | 72 - .../binding/feed/collection/MediaCollection.java | 55 - .../binding/feed/collection/NotFoundException.java | 45 - .../binding/feed/impl/AtomBindingFactoryImpl.java | 36 - .../sca/binding/feed/impl/AtomBindingImpl.java | 96 - .../binding/feed/impl/RSSBindingFactoryImpl.java | 36 - .../sca/binding/feed/impl/RSSBindingImpl.java | 101 - .../binding/feed/provider/AtomBindingInvoker.java | 345 --- .../feed/provider/AtomBindingProviderFactory.java | 74 - .../binding/feed/provider/AtomFeedEntryUtil.java | 117 - .../provider/AtomReferenceBindingProvider.java | 116 - .../feed/provider/AtomServiceBindingProvider.java | 87 - .../feed/provider/FeedBindingListenerServlet.java | 788 ------- .../binding/feed/provider/RSSBindingInvoker.java | 91 - .../feed/provider/RSSBindingProviderFactory.java | 74 - .../feed/provider/RSSReferenceBindingProvider.java | 65 - .../feed/provider/RSSServiceBindingProvider.java | 85 - ...che.tuscany.sca.binding.feed.AtomBindingFactory | 19 - ...ache.tuscany.sca.binding.feed.RSSBindingFactory | 19 - ...ca.contribution.processor.StAXArtifactProcessor | 20 - ...che.tuscany.sca.provider.BindingProviderFactory | 20 - .../apache/tuscany/sca/binding/feed/Consumer.java | 35 - .../tuscany/sca/binding/feed/CustomerClient.java | 25 - .../sca/binding/feed/CustomerClientImpl.java | 97 - .../sca/binding/feed/CustomerCollectionImpl.java | 136 -- .../apache/tuscany/sca/binding/feed/Provider.java | 41 - .../tuscany/sca/binding/feed/Consumer.composite | 32 - .../tuscany/sca/binding/feed/Provider.composite | 33 - .../contrib/modules/binding-gdata-runtime/LICENSE | 205 -- .../contrib/modules/binding-gdata-runtime/NOTICE | 6 - .../contrib/modules/binding-gdata-runtime/pom.xml | 210 -- .../sca/binding/gdata/collection/Collection.java | 81 - .../binding/gdata/collection/MediaCollection.java | 55 - .../gdata/collection/NotFoundException.java | 45 - .../gdata/provider/GdataBindingInvoker.java | 421 ---- .../provider/GdataBindingListenerServlet.java | 748 ------ .../provider/GdataBindingProviderFactory.java | 83 - .../binding/gdata/provider/GdataBindingUtil.java | 171 -- .../provider/GdataReferenceBindingProvider.java | 229 -- .../provider/GdataServiceBindingProvider.java | 90 - ...che.tuscany.sca.provider.BindingProviderFactory | 19 - .../src/main/resources/tuscany-binding-gdata.xsd | 36 - .../apache/tuscany/sca/binding/gdata/Consumer.java | 60 - .../binding/gdata/ConsumerProviderTestCase.java | 140 -- .../tuscany/sca/binding/gdata/CustomerClient.java | 40 - .../sca/binding/gdata/CustomerClientImpl.java | 123 - .../sca/binding/gdata/CustomerCollectionImpl.java | 143 -- .../gdata/GoogleBloggerServiceTestCase.java | 149 -- .../gdata/GoogleCalendarServiceTestCase.java | 157 -- .../gdata/GoogleContactsServiceTestCase.java | 152 -- .../gdata/GoogleWebAlbumServiceTestCase.java | 120 - .../apache/tuscany/sca/binding/gdata/Provider.java | 41 - .../sca/binding/gdata/StartLocalhostServlet.java | 41 - .../src/test/resources/log4j.properties | 25 - .../tuscany/sca/binding/gdata/Consumer.composite | 32 - .../binding/gdata/ConsumerGoogleBlogger.composite | 32 - .../binding/gdata/ConsumerGoogleCalendar.composite | 32 - .../binding/gdata/ConsumerGoogleContacts.composite | 32 - .../binding/gdata/ConsumerGoogleWebAlbum.composite | 32 - .../tuscany/sca/binding/gdata/Provider.composite | 33 - java/sca/contrib/modules/binding-gdata/LICENSE | 202 -- java/sca/contrib/modules/binding-gdata/NOTICE | 8 - java/sca/contrib/modules/binding-gdata/pom.xml | 79 - .../tuscany/sca/binding/gdata/GdataBinding.java | 78 - .../sca/binding/gdata/GdataBindingFactory.java | 35 - .../gdata/impl/GdataBindingFactoryImpl.java | 36 - .../sca/binding/gdata/impl/GdataBindingImpl.java | 141 -- .../binding/gdata/impl/GdataBindingProcessor.java | 121 - ...e.tuscany.sca.binding.gdata.GdataBindingFactory | 18 - ...ca.contribution.processor.StAXArtifactProcessor | 19 - .../contrib/modules/binding-gdata2-runtime/LICENSE | 205 -- .../contrib/modules/binding-gdata2-runtime/NOTICE | 6 - .../binding-gdata2-runtime/deployGdataToMaven.sh | 7 - .../contrib/modules/binding-gdata2-runtime/pom.xml | 183 -- .../sca/binding/gdata/collection/Collection.java | 82 - .../binding/gdata/collection/MediaCollection.java | 55 - .../gdata/provider/GDataBindingInvoker.java | 510 ---- .../provider/GDataBindingListenerServlet.java | 426 ---- .../provider/GDataBindingProviderFactory.java | 74 - .../provider/GDataReferenceBindingProvider.java | 125 - .../provider/GDataServiceBindingProvider.java | 85 - ...che.tuscany.sca.provider.BindingProviderFactory | 19 - .../gdata/calendarconsumer/CalendarConsumer.java | 121 - .../calendarconsumer/CalendarConsumerImpl.java | 55 - .../calendarconsumer/CalendarConsumerTest.java | 203 -- .../binding/gdata/consumerprovider/Consumer.java | 36 - .../gdata/consumerprovider/CustomerClient.java | 25 - .../gdata/consumerprovider/CustomerClientImpl.java | 117 - .../consumerprovider/CustomerCollectionImpl.java | 116 - .../binding/gdata/consumerprovider/Provider.java | 34 - .../sca/binding/gdata/CalendarConsumer.composite | 32 - .../tuscany/sca/binding/gdata/Consumer.composite | 32 - .../tuscany/sca/binding/gdata/Provider.composite | 33 - java/sca/contrib/modules/binding-gdata2/LICENSE | 205 -- java/sca/contrib/modules/binding-gdata2/NOTICE | 6 - java/sca/contrib/modules/binding-gdata2/pom.xml | 73 - .../tuscany/sca/binding/gdata/GDataBinding.java | 77 - .../sca/binding/gdata/GDataBindingFactory.java | 35 - .../gdata/GDataImplementationProcessor.java | 100 - .../gdata/impl/GDataBindingFactoryImpl.java | 36 - .../sca/binding/gdata/impl/GDataBindingImpl.java | 137 -- ...e.tuscany.sca.binding.gdata.GDataBindingFactory | 19 - ...ca.contribution.processor.StAXArtifactProcessor | 21 - .../contrib/modules/binding-http-runtime/LICENSE | 205 -- .../contrib/modules/binding-http-runtime/NOTICE | 6 - .../contrib/modules/binding-http-runtime/pom.xml | 120 - .../http/provider/HTTPBindingListenerServlet.java | 516 ---- .../http/provider/HTTPBindingProviderFactory.java | 64 - .../http/provider/HTTPGetListenerServlet.java | 94 - .../http/provider/HTTPServiceBindingProvider.java | 137 -- .../http/provider/HTTPServiceListenerServlet.java | 136 -- .../sca/binding/http/util/HTTPHeadersParser.java | 50 - ...che.tuscany.sca.provider.BindingProviderFactory | 19 - .../sca/binding/http/HTTPBindingCacheTestCase.java | 855 ------- .../sca/binding/http/HTTPBindingTestCase.java | 147 -- .../sca/binding/http/NotModifiedException.java | 44 - .../binding/http/PreconditionFailedException.java | 44 - .../sca/binding/http/TestBindingCacheImpl.java | 241 -- .../tuscany/sca/binding/http/TestGetImpl.java | 37 - .../sca/binding/http/TestServiceCacheImpl.java | 61 - .../tuscany/sca/binding/http/TestServiceImpl.java | 61 - .../src/test/resources/content/test.html | 21 - .../src/test/resources/test.composite | 47 - .../src/test/resources/testCache.composite | 33 - java/sca/contrib/modules/binding-http/LICENSE | 205 -- java/sca/contrib/modules/binding-http/NOTICE | 6 - java/sca/contrib/modules/binding-http/pom.xml | 87 - .../tuscany/sca/binding/http/HTTPBinding.java | 31 - .../sca/binding/http/HTTPBindingFactory.java | 35 - .../tuscany/sca/binding/http/HTTPCacheContext.java | 257 -- .../tuscany/sca/binding/http/HTTPHeader.java | 51 - .../binding/http/impl/HTTPBindingFactoryImpl.java | 36 - .../sca/binding/http/impl/HTTPBindingImpl.java | 108 - ...che.tuscany.sca.binding.http.HTTPBindingFactory | 19 - ...ca.contribution.processor.StAXArtifactProcessor | 19 - .../sca/contrib/modules/binding-jms-policy/LICENSE | 205 -- java/sca/contrib/modules/binding-jms-policy/NOTICE | 6 - .../sca/contrib/modules/binding-jms-policy/pom.xml | 94 - .../jms/policy/JMSBindingDefinitionsProvider.java | 66 - .../token/JMSTokenAuthenticationPolicy.java | 56 - .../JMSTokenAuthenticationPolicyProcessor.java | 112 - ...MSTokenAuthenticationPolicyProviderFactory.java | 75 - ...enAuthenticationReferencePolicyInterceptor.java | 89 - ...TokenAuthenticationReferencePolicyProvider.java | 90 - ...okenAuthenticationServicePolicyInterceptor.java | 89 - ...MSTokenAuthenticationServicePolicyProvider.java | 88 - .../binding/jms/policy/header/JMSHeaderPolicy.java | 131 - .../policy/header/JMSHeaderPolicyProcessor.java | 210 -- .../header/JMSHeaderPolicyProviderFactory.java | 75 - .../JMSHeaderReferencePolicyInterceptor.java | 130 - .../header/JMSHeaderReferencePolicyProvider.java | 95 - ...ca.contribution.processor.StAXArtifactProcessor | 20 - ...ache.tuscany.sca.provider.PolicyProviderFactory | 19 - ...che.tuscany.sca.provider.SCADefinitionsProvider | 19 - ...nding-jms-policy-validation-messages.properties | 23 - .../tuscany/sca/binding/jms/policy/definitions.xml | 84 - .../jms/policy/PolicyProcessorTestCase.java | 91 - .../binding/jms/policy/mock_policy_definitions.xml | 39 - .../contrib/modules/binding-jms-runtime/LICENSE | 205 -- .../sca/contrib/modules/binding-jms-runtime/NOTICE | 6 - .../contrib/modules/binding-jms-runtime/pom.xml | 142 -- .../sca/binding/jms/context/JMSBindingContext.java | 82 - .../jms/headers/HeaderReferenceInterceptor.java | 174 -- ...OperationSelectorJMSDefaultProviderFactory.java | 68 - ...rationSelectorJMSDefaultServiceInterceptor.java | 167 -- ...OperationSelectorJMSDefaultServiceProvider.java | 59 - .../jms/provider/AbstractMessageProcessor.java | 117 - .../jms/provider/BytesMessageProcessor.java | 75 - .../jms/provider/DefaultJMSBindingListener.java | 266 --- .../DefaultJMSResourceFactoryExtensionPoint.java | 30 - .../binding/jms/provider/JMSBindingInvoker.java | 467 ---- .../jms/provider/JMSBindingProviderFactory.java | 69 - .../JMSBindingReferenceBindingProvider.java | 170 -- .../provider/JMSBindingServiceBindingProvider.java | 359 --- .../binding/jms/provider/JMSMessageProcessor.java | 55 - .../jms/provider/JMSMessageProcessorUtil.java | 75 - .../binding/jms/provider/JMSResourceFactory.java | 67 - .../provider/JMSResourceFactoryExtensionPoint.java | 28 - .../jms/provider/JMSResourceFactoryImpl.java | 223 -- .../jms/provider/ObjectMessageProcessor.java | 75 - .../binding/jms/provider/RRBJMSBindingInvoker.java | 279 --- .../jms/provider/RRBJMSBindingListener.java | 122 - .../binding/jms/provider/TextMessageProcessor.java | 68 - .../jms/provider/XMLTextMessageProcessor.java | 90 - .../transport/TransportReferenceInterceptor.java | 186 -- .../jms/transport/TransportServiceInterceptor.java | 170 -- .../WireFormatJMSBytesProviderFactory.java | 65 - .../WireFormatJMSBytesReferenceInterceptor.java | 111 - .../WireFormatJMSBytesReferenceProvider.java | 94 - .../WireFormatJMSBytesServiceInterceptor.java | 111 - .../WireFormatJMSBytesServiceProvider.java | 91 - .../WireFormatJMSObjectProviderFactory.java | 65 - .../WireFormatJMSObjectReferenceInterceptor.java | 111 - .../WireFormatJMSObjectReferenceProvider.java | 94 - .../WireFormatJMSObjectServiceInterceptor.java | 111 - .../WireFormatJMSObjectServiceProvider.java | 91 - .../jmstext/WireFormatJMSTextProviderFactory.java | 65 - .../WireFormatJMSTextReferenceInterceptor.java | 112 - .../WireFormatJMSTextReferenceProvider.java | 95 - .../WireFormatJMSTextServiceInterceptor.java | 111 - .../jmstext/WireFormatJMSTextServiceProvider.java | 91 - .../WireFormatJMSTextXMLProviderFactory.java | 72 - .../WireFormatJMSTextXMLReferenceInterceptor.java | 125 - .../WireFormatJMSTextXMLReferenceProvider.java | 110 - .../WireFormatJMSTextXMLServiceInterceptor.java | 118 - .../WireFormatJMSTextXMLServiceProvider.java | 113 - ...che.tuscany.sca.provider.BindingProviderFactory | 19 - ...y.sca.provider.OperationSelectorProviderFactory | 19 - ....tuscany.sca.provider.WireFormatProviderFactory | 22 - .../sca/binding/jms/HelloWorldClientImpl.java | 43 - .../tuscany/sca/binding/jms/HelloWorldService.java | 31 - .../sca/binding/jms/HelloWorldServiceImpl.java | 32 - .../jms/OperationSelectionTestCaseFIXME.java | 238 -- .../src/test/resources/simple/client.composite | 38 - .../src/test/resources/simple/service.composite | 35 - java/sca/contrib/modules/binding-jms/LICENSE | 205 -- java/sca/contrib/modules/binding-jms/NOTICE | 6 - java/sca/contrib/modules/binding-jms/pom.xml | 66 - .../tuscany/sca/binding/jms/impl/JMSBinding.java | 618 ----- .../sca/binding/jms/impl/JMSBindingConstants.java | 74 - .../sca/binding/jms/impl/JMSBindingException.java | 45 - .../sca/binding/jms/impl/JMSBindingProcessor.java | 726 ------ .../jmsdefault/OperationSelectorJMSDefault.java | 45 - .../OperationSelectorJMSDefaultProcessor.java | 76 - .../wireformat/jmsbytes/WireFormatJMSBytes.java | 45 - .../jmsbytes/WireFormatJMSBytesProcessor.java | 78 - .../wireformat/jmsobject/WireFormatJMSObject.java | 45 - .../jmsobject/WireFormatJMSObjectProcessor.java | 78 - .../jms/wireformat/jmstext/WireFormatJMSText.java | 45 - .../jmstext/WireFormatJMSTextProcessor.java | 78 - .../jmstextxml/WireFormatJMSTextXML.java | 48 - .../jmstextxml/WireFormatJMSTextXMLProcessor.java | 78 - ...ca.contribution.processor.StAXArtifactProcessor | 25 - .../binding-jms-validation-messages.properties | 47 - .../jms/impl/JMSBindingProcessorTestCase.java | 211 -- .../modules/binding-jsonrpc-runtime/LICENSE | 205 -- .../contrib/modules/binding-jsonrpc-runtime/NOTICE | 6 - .../modules/binding-jsonrpc-runtime/pom.xml | 164 -- .../jsonrpc/provider/JSONRPCBindingInvoker.java | 45 - .../provider/JSONRPCBindingProviderFactory.java | 64 - .../provider/JSONRPCReferenceBindingProvider.java | 70 - .../provider/JSONRPCServiceBindingProvider.java | 184 -- .../jsonrpc/provider/JSONRPCServiceServlet.java | 282 --- .../sca/binding/jsonrpc/provider/JavaToSmd.java | 56 - .../jsonrpc/provider/ScaDomainScriptServlet.java | 114 - ...che.tuscany.sca.provider.BindingProviderFactory | 19 - .../sca/binding/jsonrpc/provider/jsonrpc.js | 493 ---- .../src/test/java/bean/TestBean.java | 51 - .../src/test/java/echo/Echo.java | 62 - .../src/test/java/echo/EchoBusinessException.java | 29 - .../src/test/java/echo/EchoComponentImpl.java | 98 - .../binding/jsonrpc/JSONRPCDataTypeTestCase.java | 193 -- .../binding/jsonrpc/JSONRPCExceptionTestCase.java | 86 - .../binding/jsonrpc/JSONRPCServiceTestCase.java | 70 - .../src/test/resources/JSONRPCBinding.composite | 35 - java/sca/contrib/modules/binding-jsonrpc/LICENSE | 205 -- java/sca/contrib/modules/binding-jsonrpc/NOTICE | 6 - java/sca/contrib/modules/binding-jsonrpc/pom.xml | 78 - .../sca/binding/jsonrpc/JSONRPCBinding.java | 32 - .../sca/binding/jsonrpc/JSONRPCBindingFactory.java | 35 - .../jsonrpc/impl/JSONRPCBindingFactoryImpl.java | 38 - .../binding/jsonrpc/impl/JSONRPCBindingImpl.java | 105 - ...scany.sca.binding.jsonrpc.JSONRPCBindingFactory | 19 - ...ca.contribution.processor.StAXArtifactProcessor | 19 - .../contrib/modules/binding-notification/LICENSE | 205 -- .../contrib/modules/binding-notification/NOTICE | 6 - .../contrib/modules/binding-notification/pom.xml | 150 -- .../DefaultNotificationBindingFactory.java | 31 - .../binding/notification/NotificationBinding.java | 37 - .../notification/NotificationBindingFactory.java | 27 - .../notification/NotificationBindingImpl.java | 75 - .../NotificationBindingModuleActivator.java | 68 - .../notification/NotificationBindingProcessor.java | 97 - .../NotificationBindingProviderFactory.java | 342 --- .../notification/NotificationBrokerManager.java | 40 - .../NotificationReferenceBindingInvoker.java | 126 - .../NotificationReferenceBindingProvider.java | 338 --- .../NotificationServiceBindingProvider.java | 317 --- .../notification/NotificationTypeManager.java | 43 - .../notification/NotificationTypeManagerImpl.java | 669 ------ .../notification/encoding/AbstractBroker.java | 44 - .../encoding/AbstractBrokerEnDeCoder.java | 86 - .../notification/encoding/AbstractEnDeCoder.java | 50 - .../sca/binding/notification/encoding/Broker.java | 25 - .../encoding/BrokerConsumerReference.java | 26 - .../encoding/BrokerConsumerReferenceEnDeCoder.java | 44 - .../notification/encoding/BrokerEnDeCoder.java | 46 - .../binding/notification/encoding/BrokerID.java | 41 - .../notification/encoding/BrokerIDEnDeCoder.java | 90 - .../encoding/BrokerProducerReference.java | 26 - .../encoding/BrokerProducerReferenceEnDeCoder.java | 44 - .../sca/binding/notification/encoding/Brokers.java | 41 - .../notification/encoding/BrokersEnDeCoder.java | 89 - .../notification/encoding/ConnectionOverride.java | 35 - .../encoding/ConnectionOverrideEnDeCoder.java | 83 - .../encoding/ConnectionOverrideResponse.java | 25 - .../ConnectionOverrideResponseEnDeCoder.java | 77 - .../binding/notification/encoding/Constants.java | 74 - .../notification/encoding/ConsumerReference.java | 26 - .../encoding/ConsumerReferenceEnDeCoder.java | 44 - .../encoding/DefaultEncodingRegistry.java | 78 - .../binding/notification/encoding/EnDeCoder.java | 62 - .../notification/encoding/EncodingException.java | 49 - .../notification/encoding/EncodingObject.java | 26 - .../notification/encoding/EncodingRegistry.java | 57 - .../notification/encoding/EncodingUtils.java | 83 - .../notification/encoding/EndConsumers.java | 26 - .../encoding/EndConsumersEnDeCoder.java | 61 - .../notification/encoding/EndProducers.java | 26 - .../encoding/EndProducersEnDeCoder.java | 61 - .../notification/encoding/EndpointAddress.java | 45 - .../encoding/EndpointAddressEnDeCoder.java | 90 - .../notification/encoding/EndpointReference.java | 44 - .../encoding/EndpointReferenceEnDeCoder.java | 99 - .../encoding/EndpointReferenceSequence.java | 54 - .../EndpointReferenceSequenceEnDeCoder.java | 85 - .../encoding/EndpointReferenceWrapper.java | 35 - .../EndpointReferenceWrapperEnDeCoder.java | 74 - .../encoding/NeighborBrokerConsumers.java | 26 - .../encoding/NeighborBrokerConsumersEnDeCoder.java | 61 - .../binding/notification/encoding/Neighbors.java | 45 - .../notification/encoding/NeighborsEnDeCoder.java | 89 - .../binding/notification/encoding/NewBroker.java | 25 - .../notification/encoding/NewBrokerAck.java | 25 - .../encoding/NewBrokerAckEnDeCoder.java | 77 - .../notification/encoding/NewBrokerEnDeCoder.java | 46 - .../notification/encoding/NewBrokerResponse.java | 62 - .../encoding/NewBrokerResponseEnDeCoder.java | 115 - .../binding/notification/encoding/NewConsumer.java | 26 - .../encoding/NewConsumerEnDeCoder.java | 44 - .../notification/encoding/NewConsumerResponse.java | 26 - .../encoding/NewConsumerResponseEnDeCoder.java | 61 - .../binding/notification/encoding/NewProducer.java | 26 - .../encoding/NewProducerEnDeCoder.java | 44 - .../notification/encoding/NewProducerResponse.java | 26 - .../encoding/NewProducerResponseEnDeCoder.java | 61 - .../notification/encoding/ReferenceProperties.java | 54 - .../encoding/ReferencePropertiesEnDeCoder.java | 87 - .../notification/encoding/RemoveBroker.java | 44 - .../encoding/RemoveBrokerEnDeCoder.java | 99 - .../notification/encoding/RemovedBroker.java | 26 - .../encoding/RemovedBrokerEnDeCoder.java | 44 - .../encoding/ReplaceBrokerConnection.java | 44 - .../encoding/ReplaceBrokerConnectionEnDeCoder.java | 99 - .../binding/notification/encoding/Subscribe.java | 35 - .../notification/encoding/SubscribeEnDeCoder.java | 83 - .../sca/binding/notification/util/IOUtils.java | 176 -- .../notification/util/NotificationServlet.java | 89 - .../sca/binding/notification/util/URIUtil.java | 41 - .../org.apache.tuscany.sca.core.ModuleActivator | 18 - .../notification/encoding/AxiomTestCase.java | 56 - .../notification/encoding/EncodingTestCase.java | 470 ---- .../contrib/modules/binding-rmi-runtime/LICENSE | 205 -- .../sca/contrib/modules/binding-rmi-runtime/NOTICE | 6 - .../contrib/modules/binding-rmi-runtime/pom.xml | 99 - .../rmi/provider/RMIBindingProviderFactory.java | 62 - .../rmi/provider/RMIReferenceBindingProvider.java | 80 - .../binding/rmi/provider/RMIReferenceInvoker.java | 88 - .../rmi/provider/RMIServiceBindingProvider.java | 213 -- ...che.tuscany.sca.provider.BindingProviderFactory | 19 - .../src/test/java/helloworld/HelloException.java | 60 - .../src/test/java/helloworld/HelloWorldImpl.java | 42 - .../test/java/helloworld/HelloWorldRmiImpl.java | 50 - .../test/java/helloworld/HelloWorldRmiService.java | 31 - .../test/java/helloworld/HelloWorldService.java | 31 - .../tuscany/sca/binding/rmi/BindingTestCase.java | 78 - .../test/resources/HelloWorldImpl.componentType | 23 - .../test/resources/HelloWorldRmiImpl.componentType | 27 - .../src/test/resources/RMIBindingTest.composite | 43 - java/sca/contrib/modules/binding-rmi/LICENSE | 205 -- java/sca/contrib/modules/binding-rmi/NOTICE | 6 - java/sca/contrib/modules/binding-rmi/pom.xml | 93 - .../apache/tuscany/sca/binding/rmi/RMIBinding.java | 61 - .../tuscany/sca/binding/rmi/RMIBindingFactory.java | 31 - .../binding/rmi/impl/RMIBindingFactoryImpl.java | 34 - .../sca/binding/rmi/impl/RMIBindingImpl.java | 157 -- ...pache.tuscany.sca.binding.rmi.RMIBindingFactory | 19 - ...ca.contribution.processor.StAXArtifactProcessor | 19 - java/sca/contrib/modules/binding-rss-rome/LICENSE | 205 -- java/sca/contrib/modules/binding-rss-rome/NOTICE | 6 - java/sca/contrib/modules/binding-rss-rome/pom.xml | 171 -- .../sca/binding/rss/collection/Collection.java | 49 - .../binding/rss/collection/MediaCollection.java | 55 - .../binding/rss/collection/NotFoundException.java | 45 - .../binding/rss/provider/RSSBindingInvoker.java | 76 - .../rss/provider/RSSBindingListenerServlet.java | 394 ---- .../rss/provider/RSSBindingProviderFactory.java | 74 - .../rss/provider/RSSReferenceBindingProvider.java | 65 - .../rss/provider/RSSServiceBindingProvider.java | 85 - ...che.tuscany.sca.provider.BindingProviderFactory | 19 - .../apache/tuscany/sca/binding/rss/Consumer.java | 35 - .../tuscany/sca/binding/rss/CustomerClient.java | 25 - .../sca/binding/rss/CustomerClientImpl.java | 45 - .../sca/binding/rss/CustomerCollectionImpl.java | 103 - .../apache/tuscany/sca/binding/rss/Provider.java | 41 - .../tuscany/sca/binding/feed/Consumer.composite | 32 - .../tuscany/sca/binding/feed/Provider.composite | 33 - java/sca/contrib/modules/binding-rss/LICENSE | 205 -- java/sca/contrib/modules/binding-rss/NOTICE | 6 - java/sca/contrib/modules/binding-rss/pom.xml | 98 - .../apache/tuscany/sca/binding/rss/RSSBinding.java | 28 - .../tuscany/sca/binding/rss/RSSBindingFactory.java | 35 - .../binding/rss/impl/RSSBindingFactoryImpl.java | 36 - .../sca/binding/rss/impl/RSSBindingImpl.java | 99 - ...pache.tuscany.sca.binding.rss.RSSBindingFactory | 19 - ...ca.contribution.processor.StAXArtifactProcessor | 19 - java/sca/contrib/modules/binding-sca-axis2/LICENSE | 205 -- java/sca/contrib/modules/binding-sca-axis2/NOTICE | 6 - java/sca/contrib/modules/binding-sca-axis2/pom.xml | 103 - .../sca/axis2/impl/Axis2SCABindingInvoker.java | 100 - .../axis2/impl/Axis2SCABindingProviderFactory.java | 67 - .../impl/Axis2SCAReferenceBindingProvider.java | 184 -- .../axis2/impl/Axis2SCAServiceBindingProvider.java | 122 - .../sca/axis2/impl/Axis2SCAServiceProvider.java | 84 - ...che.tuscany.sca.provider.BindingProviderFactory | 19 - .../sca/binding/sca/axis2/AsynchTestCase.java | 73 - .../BindingScaEndpointResolverFactoryImpl.java | 50 - .../sca/axis2/BindingScaEndpointResolverImpl.java | 69 - .../sca/binding/sca/axis2/CallbackTestCase.java | 77 - .../sca/binding/sca/axis2/PromotionTestCase.java | 66 - .../sca/binding/sca/axis2/SimpleTestCase.java | 105 - .../tuscany/sca/binding/sca/axis2/TestNode.java | 232 -- .../axis2/helloworld/HelloWorldCallbackRemote.java | 29 - .../sca/axis2/helloworld/HelloWorldClient.java | 27 - .../HelloWorldServiceCallbackOnewayRemote.java | 33 - .../HelloWorldServiceCallbackRemote.java | 31 - .../axis2/helloworld/HelloWorldServiceLocal.java | 27 - .../axis2/helloworld/HelloWorldServiceRemote.java | 29 - .../axis2/helloworld/HelloWorldServiceRemote2.java | 29 - .../HelloWorldClientCallbackOnewayRemoteImpl.java | 43 - .../impl/HelloWorldClientCallbackRemoteImpl.java | 42 - .../helloworld/impl/HelloWorldClientLocalImpl.java | 35 - .../impl/HelloWorldClientRemote2Impl.java | 35 - .../impl/HelloWorldClientRemoteImpl.java | 35 - .../HelloWorldServiceCallbackOnewayRemoteImpl.java | 36 - .../impl/HelloWorldServiceCallbackRemoteImpl.java | 35 - .../impl/HelloWorldServiceLocalImpl.java | 30 - .../HelloWorldServiceMultipleServicesImpl.java | 41 - .../impl/HelloWorldServiceRemoteImpl.java | 30 - ...ny.sca.endpointresolver.EndpointResolverFactory | 19 - .../src/test/resources/nodeA/HelloWorld.composite | 75 - .../resources/nodeA/META-INF/sca-contribution.xml | 24 - .../src/test/resources/nodeB/HelloWorld.composite | 84 - .../resources/nodeB/META-INF/sca-contribution.xml | 24 - .../src/test/resources/nodeC/HelloWorld.composite | 35 - .../resources/nodeC/HelloWorldComponent.composite | 37 - .../resources/nodeC/META-INF/sca-contribution.xml | 24 - .../src/test/resources/nodeD/HelloWorld.composite | 35 - .../resources/nodeD/HelloWorldComponent.composite | 37 - .../resources/nodeD/META-INF/sca-contribution.xml | 24 - .../src/test/resources/nodeE/HelloWorld.composite | 36 - .../resources/nodeE/META-INF/sca-contribution.xml | 24 - .../src/test/resources/nodeF/HelloWorld.composite | 43 - .../resources/nodeF/META-INF/sca-contribution.xml | 24 - .../src/test/resources/nodeG/HelloWorld.composite | 36 - .../resources/nodeG/META-INF/sca-contribution.xml | 24 - .../src/test/resources/nodeH/HelloWorld.composite | 38 - .../resources/nodeH/META-INF/sca-contribution.xml | 24 - java/sca/contrib/modules/binding-sca-corba/LICENSE | 205 -- java/sca/contrib/modules/binding-sca-corba/NOTICE | 6 - java/sca/contrib/modules/binding-sca-corba/pom.xml | 114 - .../corba/impl/CorbaSCABindingProviderFactory.java | 64 - .../sca/corba/impl/CorbaSCAInvocationProxy.java | 111 - .../binding/sca/corba/impl/CorbaSCAInvoker.java | 99 - .../impl/CorbaSCAReferenceBindingProvider.java | 95 - .../corba/impl/CorbaSCAServiceBindingProvider.java | 97 - .../sca/corba/impl/WrappedSCAException.java | 56 - ...che.tuscany.sca.provider.BindingProviderFactory | 19 - java/sca/contrib/modules/binding-sca-jms/LICENSE | 205 -- java/sca/contrib/modules/binding-sca-jms/NOTICE | 6 - java/sca/contrib/modules/binding-sca-jms/pom.xml | 109 - .../sca/binding/sca/jms/AMQJMSResourceFactory.java | 39 - .../sca/jms/AMQResourceFactoryExtensionPoint.java | 32 - .../tuscany/sca/binding/sca/jms/JMSBroker.java | 75 - .../sca/jms/JMSSCABindingProviderFactory.java | 103 - .../org.apache.tuscany.sca.core.ModuleActivator | 18 - ...che.tuscany.sca.provider.BindingProviderFactory | 19 - java/sca/contrib/modules/binding-sca-xml/LICENSE | 205 -- .../modules/binding-sca-xml/META-INF/MANIFEST.MF | 26 - java/sca/contrib/modules/binding-sca-xml/NOTICE | 6 - java/sca/contrib/modules/binding-sca-xml/pom.xml | 77 - .../sca/binding/sca/xml/SCABindingProcessor.java | 133 -- ...ca.contribution.processor.StAXArtifactProcessor | 19 - .../tuscany/sca/binding/sca/xml/ReadTestCase.java | 108 - .../tuscany/sca/binding/sca/xml/WriteTestCase.java | 77 - .../src/test/resources/Calculator.composite | 59 - .../resources/CalculatorServiceImpl.componentType | 33 - java/sca/contrib/modules/binding-sca/LICENSE | 205 -- .../modules/binding-sca/META-INF/MANIFEST.MF | 33 - java/sca/contrib/modules/binding-sca/NOTICE | 6 - java/sca/contrib/modules/binding-sca/pom.xml | 93 - .../sca/binding/sca/DistributedSCABinding.java | 37 - .../binding/sca/SCABindingDefinitionsProvider.java | 73 - .../sca/impl/DistributedSCABindingImpl.java | 116 - .../sca/binding/sca/impl/RemoteBindingHelper.java | 44 - .../sca/impl/RuntimeSCABindingProvider.java | 61 - .../sca/impl/RuntimeSCABindingProviderFactory.java | 62 - .../impl/RuntimeSCAReferenceBindingProvider.java | 236 -- .../sca/impl/RuntimeSCAServiceBindingProvider.java | 154 -- .../binding/sca/impl/SCABindingFactoryImpl.java | 40 - .../sca/binding/sca/impl/SCABindingImpl.java | 223 -- .../sca/binding/sca/impl/SCABindingInvoker.java | 71 - ...g.apache.tuscany.sca.assembly.SCABindingFactory | 18 - ...che.tuscany.sca.provider.BindingProviderFactory | 19 - ...che.tuscany.sca.provider.SCADefinitionsProvider | 19 - .../apache/tuscany/sca/binding/sca/definitions.xml | 26 - .../sca/binding/sca/SCABindingTestCase.java | 113 - .../src/test/resources/Calculator.composite | 52 - .../modules/binding-ws-axis2-policy/LICENSE | 205 -- .../contrib/modules/binding-ws-axis2-policy/NOTICE | 6 - .../modules/binding-ws-axis2-policy/pom.xml | 149 -- .../token/Axis2TokenAuthenticationPolicy.java | 56 - .../Axis2TokenAuthenticationPolicyProcessor.java | 112 - ...s2TokenAuthenticationPolicyProviderFactory.java | 75 - ...enAuthenticationReferencePolicyInterceptor.java | 100 - ...TokenAuthenticationReferencePolicyProvider.java | 90 - ...okenAuthenticationServicePolicyInterceptor.java | 94 - ...s2TokenAuthenticationServicePolicyProvider.java | 88 - .../configuration/Axis2ConfigParamPolicy.java | 54 - .../Axis2ConfigParamPolicyHandler.java | 79 - .../Axis2ConfigParamPolicyProcessor.java | 157 -- .../Axis2ConfigParamPolicyProviderFactory.java | 99 - .../ws/axis2/policy/header/Axis2HeaderPolicy.java | 56 - .../policy/header/Axis2HeaderPolicyProcessor.java | 114 - .../header/Axis2HeaderPolicyProviderFactory.java | 75 - .../axis2/policy/header/Axis2HeaderPolicyUtil.java | 50 - .../Axis2HeaderReferencePolicyInterceptor.java | 88 - .../header/Axis2HeaderReferencePolicyProvider.java | 90 - .../Axis2HeaderServicePolicyInterceptor.java | 77 - .../header/Axis2HeaderServicePolicyProvider.java | 88 - .../ws/axis2/policy/header/Axis2SOAPHeader.java | 60 - .../axis2/policy/header/Axis2SOAPHeaderString.java | 60 - ...ca.contribution.processor.StAXArtifactProcessor | 21 - ...ache.tuscany.sca.provider.PolicyProviderFactory | 20 - .../policy/configuration/PolicyReadTestCase.java | 60 - .../axis2/policy/configuration/mock_policies.xml | 36 - java/sca/contrib/modules/binding-ws-axis2/LICENSE | 205 -- java/sca/contrib/modules/binding-ws-axis2/NOTICE | 6 - java/sca/contrib/modules/binding-ws-axis2/pom.xml | 311 --- .../sca/binding/ws/axis2/Axis2BindingInvoker.java | 298 --- .../ws/axis2/Axis2BindingProviderFactory.java | 81 - .../ws/axis2/Axis2OneWayBindingInvoker.java | 71 - .../ws/axis2/Axis2ReferenceBindingProvider.java | 87 - .../ws/axis2/Axis2ServiceBindingProvider.java | 84 - .../sca/binding/ws/axis2/Axis2ServiceClient.java | 503 ---- .../ws/axis2/Axis2ServiceInMessageReceiver.java | 79 - .../Axis2ServiceInOutSyncMessageReceiver.java | 103 - .../sca/binding/ws/axis2/Axis2ServiceProvider.java | 826 ------- .../sca/binding/ws/axis2/Axis2ServiceServlet.java | 295 --- .../sca/binding/ws/axis2/AxisPolicyHelper.java | 79 - .../binding/ws/axis2/TuscanyAxisConfigurator.java | 207 -- .../sca/binding/ws/axis2/TuscanyDispatcher.java | 105 - .../sca/binding/ws/axis2/TuscanyListingAgent.java | 238 -- .../ws/axis2/WSBindingDefinitionsProvider.java | 66 - ...xis2BindingBasicAuthenticationConfigurator.java | 111 - .../Axis2BindingHeaderConfigurator.java | 69 - ...che.tuscany.sca.provider.BindingProviderFactory | 19 - ...che.tuscany.sca.provider.SCADefinitionsProvider | 19 - .../tuscany/sca/binding/ws/axis2/definitions.xml | 54 - .../sca/binding/ws/axis2/engine/config/axis2.xml | 504 ---- .../ws/axis2/engine/config/modules/modules.list | 1 - .../ws/axis2/engine/config/modules/rampart-1.4.mar | Bin 2796 -> 0 bytes .../ws/axis2/engine/config/services/services.list | 0 .../binding/ws/axis2/Axis2ReferenceTestCase.java | 83 - .../sca/binding/ws/axis2/Axis2ServiceTestCase.java | 104 - .../tuscany/sca/binding/ws/axis2/Greeter.java | 31 - .../sca/binding/ws/axis2/GreetingCallback.java | 24 - .../sca/binding/ws/axis2/itests/Account.java | 34 - .../binding/ws/axis2/itests/AccountService.java | 33 - .../tuscany/sca/binding/ws/axis2/itests/Bar.java | 58 - .../ws/axis2/itests/CustomerProfileData.java | 103 - .../tuscany/sca/binding/ws/axis2/itests/Echo.java | 29 - .../sca/binding/ws/axis2/itests/EchoComponent.java | 33 - .../sca/binding/ws/axis2/itests/EchoImpl.java | 29 - .../tuscany/sca/binding/ws/axis2/itests/Foo.java | 36 - .../sca/binding/ws/axis2/itests/HelloWorld.java | 29 - .../ws/axis2/itests/HelloWorldComponent.java | 33 - .../ws/axis2/itests/HelloWorldMultiService.java | 51 - .../ws/axis2/itests/HelloWorldNoWSDLTestCase.java | 77 - .../sca/binding/ws/axis2/itests/HelloWorldOM.java | 30 - .../sca/binding/ws/axis2/itests/HelloWorldOM2.java | 30 - .../ws/axis2/itests/HelloWorldOMComponent.java | 34 - .../ws/axis2/itests/HelloWorldOMService.java | 41 - .../ws/axis2/itests/HelloWorldOMTestCase.java | 58 - .../binding/ws/axis2/itests/HelloWorldService.java | 28 - .../ws/axis2/itests/HelloWorldTestCase.java | 46 - .../axis2/itests/HelloWorldWSDLMergedTestCase.java | 58 - .../itests/QuestionMarkWSDLImportTestCase.java | 96 - .../itests/QuestionMarkWSDLIncludeTestCase.java | 96 - .../ws/axis2/itests/QuestionMarkWSDLTestCase.java | 124 - .../ws/axis2/itests/UriPrecedenceTestCase.java | 68 - .../endpoints/AbstractHelloWorldOMTestCase.java | 64 - .../endpoints/DefaultMultiServiceTestCase.java | 24 - .../endpoints/DefaultSingleServiceTestCase.java | 24 - .../itests/endpoints/WSDLExplicitURITestCase.java | 24 - .../itests/endpoints/WSDLRelativeURITestCase.java | 24 - .../ws/axis2/itests/epr/HelloWorldTestCase.java | 47 - .../ws/axis2/itests/mtom/FileTransferClient.java | 36 - .../itests/mtom/FileTransferMTOMTestCase.java | 49 - .../ws/axis2/itests/mtom/FileTransferService.java | 32 - .../axis2/itests/mtom/FileTransferServiceImpl.java | 51 - .../configparams/AbstractHelloWorldOMTestCase.java | 64 - .../policy/configparams/ClientPWCBHandler.java | 45 - .../policy/configparams/IntegrityPWCBHandler.java | 45 - .../policy/configparams/ServerPWCBHandler.java | 45 - .../WSSecurityAuthenticationTestCaseFIXME.java | 24 - ...onfidentialityTestCaseFIXBouncyCastleIssue.java | 42 - .../configparams/WSSecurityIntegrityTestCase.java | 24 - .../policy/mixed/AbstractHelloWorldOMTestCase.java | 67 - .../itests/policy/mixed/ClientPWCBHandler.java | 50 - .../itests/policy/mixed/IntegrityPWCBHandler.java | 50 - .../itests/policy/mixed/ServerPWCBHandler.java | 49 - .../policy/mixed/WSSecurityMixedTestCase.java | 24 - .../wspolicy/AbstractHelloWorldOMTestCase.java | 64 - .../itests/policy/wspolicy/ClientPWCBHandler.java | 45 - .../policy/wspolicy/IntegrityPWCBHandler.java | 45 - .../itests/policy/wspolicy/ServerPWCBHandler.java | 45 - .../wspolicy/WSSecurityAuthenticationTestCase.java | 24 - ...onfidentialityTestCaseFIXBouncyCastleIssue.java | 42 - .../wspolicy/WSSecurityIntegrityTestCase.java | 24 - .../itests/soap12/HelloWorldSOAP12TestCase.java | 58 - .../itests/soap12/QuestionMarkWSDLTestCase.java | 138 -- ...rg.apache.tuscany.sca.policy.util.PolicyHandler | 20 - .../binding/ws/axis2/itests/HelloWorld.composite | 50 - .../ws/axis2/itests/HelloWorldNoWSDL.composite | 61 - .../sca/binding/ws/axis2/itests/customerdata.xsd | 36 - .../sca/binding/ws/axis2/itests/customerdefs.xsd | 27 - .../sca/binding/ws/axis2/itests/customerinfo.xsd | 31 - .../itests/endpoints/DefaultMultiService.composite | 51 - .../endpoints/DefaultSingleService.composite | 51 - .../itests/endpoints/WSDLExplicitURI.composite | 49 - .../itests/endpoints/WSDLRelativeURI.composite | 49 - .../endpoints/helloworld-om-relative-uri.wsdl | 78 - .../ws/axis2/itests/epr/HelloWorld.composite | 50 - .../ws/axis2/itests/helloworld-om-binding.wsdl | 45 - .../ws/axis2/itests/helloworld-om-merged.composite | 42 - .../ws/axis2/itests/helloworld-om-porttype.wsdl | 59 - .../binding/ws/axis2/itests/helloworld-om-uri.wsdl | 78 - .../ws/axis2/itests/helloworld-om.composite | 43 - .../sca/binding/ws/axis2/itests/helloworld-om.wsdl | 78 - .../ws/axis2/itests/helloworld-prec.composite | 47 - .../binding/ws/axis2/itests/helloworld-prec.wsdl | 81 - .../sca/binding/ws/axis2/itests/helloworld.wsdl | 86 - .../binding/ws/axis2/itests/mtom/filetransfer.wsdl | 84 - .../itests/mtom/filetransferservice.composite | 42 - .../WSSecurityAuthentication.composite | 50 - .../WSSecurityConfidentiality.composite | 49 - .../configparams/WSSecurityIntegrity.composite | 49 - .../itests/policy/configparams/definitions.xml | 101 - .../itests/policy/configparams/security.properties | 20 - .../itests/policy/configparams/tuscanyKeys.jks | Bin 1379 -> 0 bytes .../ws/axis2/itests/policy/intent/definitions.xml | 32 - .../itests/policy/mixed/WSSecurityMixed.composite | 52 - .../ws/axis2/itests/policy/mixed/definitions.xml | 323 --- .../axis2/itests/policy/mixed/security.properties | 20 - .../ws/axis2/itests/policy/mixed/tuscanyKeys.jks | Bin 1379 -> 0 bytes .../wspolicy/WSSecurityAuthentication.composite | 50 - .../wspolicy/WSSecurityConfidentiality.composite | 49 - .../policy/wspolicy/WSSecurityIntegrity.composite | 50 - .../axis2/itests/policy/wspolicy/definitions.xml | 203 -- .../axis2/itests/policy/wspolicy/tuscanyKeys.jks | Bin 1379 -> 0 bytes .../axis2/itests/questionmark-import-nested.wsdl | 70 - .../ws/axis2/itests/questionmark-import.wsdl | 49 - .../ws/axis2/itests/questionmark-include.wsdl | 94 - .../itests/questionmark-wsdl-import.composite | 31 - .../itests/questionmark-wsdl-include.composite | 31 - .../ws/axis2/itests/questionmark-wsdl.composite | 39 - .../axis2/itests/soap12/HelloWorldSOAP12.composite | 71 - .../itests/soap12/questionmark-wsdl.composite | 40 - .../sca/contrib/modules/binding-ws-wsdlgen/LICENSE | 205 -- java/sca/contrib/modules/binding-ws-wsdlgen/NOTICE | 6 - .../sca/contrib/modules/binding-ws-wsdlgen/pom.xml | 108 - .../binding/ws/wsdlgen/BindingWSDLGenerator.java | 345 --- .../ws/wsdlgen/Interface2WSDLGenerator.java | 842 ------- .../ws/wsdlgen/WSDLDefinitionGenerator.java | 305 --- .../ws/wsdlgen/WSDLGenerationException.java | 54 - .../binding/ws/wsdlgen/WSDLServiceGenerator.java | 513 ---- .../wsdlgen-validation-messages.properties | 31 - .../apache/tuscany/sca/binding/ws/other/Other.java | 34 - .../tuscany/sca/binding/ws/other/package-info.java | 21 - .../ws/wsdlgen/BindingWSDLGeneratorTestCase.java | 86 - .../wsdlgen/Interface2WSDLGeneratorTestCase.java | 66 - .../sca/binding/ws/wsdlgen/TestException.java | 47 - .../tuscany/sca/binding/ws/wsdlgen/TestFault.java | 46 - .../sca/binding/ws/wsdlgen/TestFaultBean.java | 54 - .../sca/binding/ws/wsdlgen/TestJavaClass.java | 32 - .../sca/binding/ws/wsdlgen/TestJavaInterface.java | 57 - java/sca/contrib/modules/binding-ws-xml/LICENSE | 205 -- java/sca/contrib/modules/binding-ws-xml/NOTICE | 6 - java/sca/contrib/modules/binding-ws-xml/pom.xml | 100 - .../sca/binding/ws/xml/BindingBuilderImpl.java | 51 - .../binding/ws/xml/EndPointReferenceHelper.java | 230 -- .../binding/ws/xml/WebServiceBindingProcessor.java | 410 ---- .../sca/binding/ws/xml/WebServiceConstants.java | 44 - ...ca.contribution.processor.StAXArtifactProcessor | 19 - .../binding-wsxml-validation-messages.properties | 28 - .../tuscany/sca/binding/ws/xml/ReadTestCase.java | 127 - .../tuscany/sca/binding/ws/xml/WriteTestCase.java | 76 - .../ws/xml/Calculator-bad-wsdlElement.composite | 59 - .../sca/binding/ws/xml/Calculator.composite | 63 - .../binding/ws/xml/CalculatorImpl.componentType | 45 - .../binding/ws/xml/PoliciedCalculator.composite | 60 - .../apache/tuscany/sca/binding/ws/xml/example.wsdl | 26 - .../sca/binding/ws/xml/invalid-stockquote.wsdl | 58 - .../org/apache/tuscany/sca/binding/ws/xml/ipo.xsd | 136 -- .../tuscany/sca/binding/ws/xml/stockquote.wsdl | 58 - .../apache/tuscany/sca/binding/ws/xml/test1.wsdl | 45 - .../apache/tuscany/sca/binding/ws/xml/test1.xsd | 33 - .../apache/tuscany/sca/binding/ws/xml/test2.wsdl | 63 - .../sca/binding/ws/xml/unwrapped-stockquote.wsdl | 76 - java/sca/contrib/modules/binding-ws/LICENSE | 205 -- java/sca/contrib/modules/binding-ws/NOTICE | 6 - java/sca/contrib/modules/binding-ws/pom.xml | 85 - .../ws/DefaultWebServiceBindingFactory.java | 31 - .../tuscany/sca/binding/ws/WebServiceBinding.java | 214 -- .../sca/binding/ws/WebServiceBindingFactory.java | 35 - .../binding/ws/addressing/EndPointReference.java | 62 - .../ws/impl/WebServiceBindingFactoryImpl.java | 35 - .../sca/binding/ws/impl/WebServiceBindingImpl.java | 316 --- ...tuscany.sca.binding.ws.WebServiceBindingFactory | 19 - .../contrib/modules/contribution-groovy/LICENSE | 205 -- .../sca/contrib/modules/contribution-groovy/NOTICE | 8 - .../contrib/modules/contribution-groovy/pom.xml | 84 - .../sca/contribution/groovy/GroovyArtifact.java | 41 - .../groovy/GroovyArtifactProcessor.java | 57 - .../contribution/groovy/GroovyModelResolver.java | 69 - ...sca.contribution.processor.URLArtifactProcessor | 20 - ...tuscany.sca.contribution.resolver.ModelResolver | 18 - .../sca/contribution/groovy/HelloWorld.java | 31 - .../contribution/groovy/HelloWorldTestCase.java | 55 - .../sca/contribution/groovy/HelloWorld.groovy | 27 - .../sca/contribution/groovy/helloworld.composite | 29 - java/sca/contrib/modules/contribution-impl/LICENSE | 205 -- java/sca/contrib/modules/contribution-impl/NOTICE | 6 - java/sca/contrib/modules/contribution-impl/pom.xml | 76 - .../impl/FolderContributionProcessor.java | 156 -- .../processor/impl/JarContributionProcessor.java | 123 - .../service/impl/ContributionRepositoryImpl.java | 399 ---- .../service/impl/ContributionServiceImpl.java | 584 ----- .../service/impl/PackageTypeDescriberImpl.java | 121 - .../sca/contribution/service/util/FileHelper.java | 701 ------ .../sca/contribution/service/util/IOHelper.java | 190 -- ...any.sca.contribution.processor.PackageProcessor | 19 - ...ontribution-impl-validation-messages.properties | 28 - ...FolderContributionPackageProcessorTestCase.java | 46 - .../JarContributionPackageProcessorTestCase.java | 55 - ...URLartifactProcessorExtensionPointTestCase.java | 114 - .../resolver/DefaultModelResolverTestCase.java | 86 - .../resolver/ExtensibleModelResolverTestCase.java | 126 - .../contribution/resolver/TestModelResolver.java | 58 - .../services/ContributionRepositoryTestCase.java | 81 - .../services/PackageTypeDescriberImplTestCase.java | 63 - .../resources/deployables/sample-calculator.jar | Bin 26901 -> 0 bytes .../resources/repository/sample-calculator.jar | Bin 29164 -> 0 bytes .../src/test/resources/test.composite | 22 - .../contribution-impl/src/test/resources/test.ext | 0 java/sca/contrib/modules/contribution-java/LICENSE | 205 -- .../modules/contribution-java/META-INF/MANIFEST.MF | 28 - java/sca/contrib/modules/contribution-java/NOTICE | 6 - java/sca/contrib/modules/contribution-java/pom.xml | 77 - .../java/DefaultJavaImportExportFactory.java | 30 - .../tuscany/sca/contribution/java/JavaExport.java | 43 - .../tuscany/sca/contribution/java/JavaImport.java | 58 - .../contribution/java/JavaImportExportFactory.java | 42 - .../java/impl/ClassLoaderModelResolver.java | 161 -- .../java/impl/ClassReferenceModelResolver.java | 158 -- .../java/impl/ContributionClassLoader.java | 385 --- .../sca/contribution/java/impl/JavaExportImpl.java | 58 - .../java/impl/JavaExportModelResolver.java | 76 - .../java/impl/JavaExportProcessor.java | 163 -- .../java/impl/JavaImportExportFactoryImpl.java | 41 - .../java/impl/JavaImportExportListener.java | 157 -- .../sca/contribution/java/impl/JavaImportImpl.java | 110 - .../java/impl/JavaImportModelResolver.java | 62 - .../java/impl/JavaImportProcessor.java | 168 -- ...y.sca.contribution.java.JavaImportExportFactory | 18 - ...ca.contribution.processor.StAXArtifactProcessor | 19 - ...tuscany.sca.contribution.resolver.ModelResolver | 18 - ...y.sca.contribution.service.ContributionListener | 18 - ...ontribution-java-validation-messages.properties | 23 - .../ClassReferenceArtifactResolverTestCase.java | 70 - .../java/impl/ContributionClassLoaderTestCase.java | 262 -- .../java/impl/JavaExportProcessorTestCase.java | 103 - .../java/impl/JavaImportProcessorTestCase.java | 105 - .../resources/deployables/sample-calculator.jar | Bin 26901 -> 0 bytes java/sca/contrib/modules/contribution-jee/LICENSE | 205 -- java/sca/contrib/modules/contribution-jee/NOTICE | 6 - java/sca/contrib/modules/contribution-jee/pom.xml | 124 - .../sca/contribution/jee/AssemblyHelper.java | 163 -- .../sca/contribution/jee/EJBModuleProcessor.java | 406 ---- .../jee/JavaEEApplicationProcessor.java | 96 - .../sca/contribution/jee/JavaEEModuleHelper.java | 63 - .../sca/contribution/jee/WebModuleProcessor.java | 172 -- .../jee/impl/EarContributionProcessor.java | 140 -- .../jee/impl/WarContributionProcessor.java | 36 - ...any.sca.contribution.processor.PackageProcessor | 19 - .../jee/EJBModuleProcessorTestCase.java | 72 - .../jee/EarContributionProcessorTestCase.java | 57 - .../jee/JavaEEApplicationProcessorTestCase.java | 84 - .../jee/WarContributionProcessorTestCase.java | 57 - .../jee/WebModuleProcessorTestCase.java | 69 - .../src/test/resources/ejb-injection-sample.ear | Bin 19015 -> 0 bytes .../src/test/resources/ejb-injection-sample.jar | Bin 11042 -> 0 bytes .../src/test/resources/sample-web-app.war | Bin 12454 -> 0 bytes .../contrib/modules/contribution-namespace/LICENSE | 205 -- .../contribution-namespace/META-INF/MANIFEST.MF | 25 - .../contrib/modules/contribution-namespace/NOTICE | 6 - .../contrib/modules/contribution-namespace/pom.xml | 76 - .../DefaultNamespaceImportExportFactory.java | 30 - .../contribution/namespace/NamespaceExport.java | 46 - .../contribution/namespace/NamespaceImport.java | 59 - .../namespace/NamespaceImportExportFactory.java | 42 - .../namespace/impl/NamespaceExportImpl.java | 54 - .../impl/NamespaceExportModelResolver.java | 54 - .../namespace/impl/NamespaceExportProcessor.java | 162 -- .../impl/NamespaceImportExportFactoryImpl.java | 41 - .../impl/NamespaceImportExportListener.java | 98 - .../namespace/impl/NamespaceImportImpl.java | 92 - .../namespace/impl/NamespaceImportProcessor.java | 168 -- ...ribution.namespace.NamespaceImportExportFactory | 18 - ...ca.contribution.processor.StAXArtifactProcessor | 19 - ...y.sca.contribution.service.ContributionListener | 18 - ...bution-namespace-validation-messages.properties | 23 - .../impl/NamespaceExportProcessorTestCase.java | 103 - .../impl/NamespaceImportProcessorTestCase.java | 108 - java/sca/contrib/modules/contribution-osgi/LICENSE | 205 -- java/sca/contrib/modules/contribution-osgi/NOTICE | 6 - java/sca/contrib/modules/contribution-osgi/pom.xml | 96 - .../sca/contribution/osgi/BundleReference.java | 161 -- .../osgi/impl/OSGiBundleContributionProcessor.java | 161 -- .../osgi/impl/OSGiBundleProcessor.java | 141 -- .../impl/OSGiBundleReferenceModelResolver.java | 154 -- .../osgi/impl/OSGiClassReferenceModelResolver.java | 137 -- .../osgi/impl/OSGiImportExportListener.java | 215 -- .../osgi/impl/OSGiModelResolverImpl.java | 119 - ...any.sca.contribution.processor.PackageProcessor | 18 - ...tuscany.sca.contribution.resolver.ModelResolver | 18 - ...y.sca.contribution.service.ContributionListener | 18 - .../contrib/modules/contribution-resource/pom.xml | 76 - .../sca/contribution/resource/ResourceExport.java | 46 - .../sca/contribution/resource/ResourceImport.java | 59 - .../resource/ResourceImportExportFactory.java | 42 - .../resource/impl/ArtifactModelResolver.java | 86 - .../resource/impl/ResourceExportImpl.java | 58 - .../resource/impl/ResourceExportModelResolver.java | 65 - .../resource/impl/ResourceExportProcessor.java | 162 -- .../impl/ResourceImportExportFactoryImpl.java | 41 - .../impl/ResourceImportExportListener.java | 97 - .../resource/impl/ResourceImportImpl.java | 107 - .../resource/impl/ResourceImportProcessor.java | 168 -- ...ca.contribution.processor.StAXArtifactProcessor | 19 - ...tuscany.sca.contribution.resolver.ModelResolver | 18 - ...ntribution.resource.ResourceImportExportFactory | 18 - ...y.sca.contribution.service.ContributionListener | 18 - ...ibution-resource-validation-messages.properties | 23 - .../impl/ResourceExportProcessorTestCase.java | 104 - .../impl/ResourceImportProcessorTestCase.java | 106 - .../modules/contribution-updater-impl/LICENSE | 205 -- .../modules/contribution-updater-impl/NOTICE | 6 - .../modules/contribution-updater-impl/pom.xml | 124 - .../contribution/updater/impl/ArtifactsFinder.java | 51 - .../updater/impl/ComponentUpdaterImpl.java | 381 --- .../updater/impl/CompositeUpdaterImpl.java | 156 -- .../impl/ContributionUpdaterFactoryImpl.java | 75 - .../updater/impl/ContributionUpdaterTestCase.java | 129 - .../contribution/updater/impl/GreetService.java | 26 - .../contribution/updater/impl/HelloComponent.java | 39 - .../updater/impl/MetaComponentHello.java | 61 - .../src/test/resources/HelloComposite.composite | 27 - .../resources/repository/sample-calculator.jar | Bin 29164 -> 0 bytes .../contrib/modules/contribution-updater/LICENSE | 205 -- .../contrib/modules/contribution-updater/NOTICE | 6 - .../contrib/modules/contribution-updater/pom.xml | 111 - .../apache/tuscany/sca/assembly/MetaComponent.java | 27 - .../sca/assembly/xml/MetaComponentProcessor.java | 788 ------- .../updater/ComponentNotFoundException.java | 27 - .../sca/contribution/updater/ComponentUpdater.java | 31 - .../updater/ComponentUpdaterException.java | 28 - .../updater/CompositeNotFoundException.java | 25 - .../sca/contribution/updater/CompositeUpdater.java | 31 - .../updater/CompositeUpdaterException.java | 29 - .../contribution/updater/ContributionUpdater.java | 30 - .../src/test/resources/HelloComposite.composite | 27 - .../resources/repository/sample-calculator.jar | Bin 29164 -> 0 bytes java/sca/contrib/modules/contribution-xml/LICENSE | 205 -- .../modules/contribution-xml/META-INF/MANIFEST.MF | 34 - java/sca/contrib/modules/contribution-xml/NOTICE | 6 - java/sca/contrib/modules/contribution-xml/pom.xml | 70 - .../processor/xml/AnyAttributeProcessor.java | 69 - .../processor/xml/AnyElementProcessor.java | 174 -- .../processor/xml/XMLDocumentStreamReader.java | 482 ---- .../processor/xml/XMLEventsStreamReader.java | 448 ---- .../processor/xml/XMLFragmentStreamReader.java | 53 - ...ributionGeneratedMetadataDocumentProcessor.java | 50 - .../xml/ContributionMetadataDocumentProcessor.java | 132 -- .../xml/ContributionMetadataProcessor.java | 237 -- .../xml/ContributionModelResolver.java | 72 - ...ca.contribution.processor.StAXArtifactProcessor | 20 - ...sca.contribution.processor.URLArtifactProcessor | 20 - ...tuscany.sca.contribution.resolver.ModelResolver | 18 - ...contribution-xml-validation-messages.properties | 24 - .../xml/ContributionMetadataProcessorTestCase.java | 141 -- java/sca/contrib/modules/contribution/LICENSE | 205 -- .../modules/contribution/META-INF/MANIFEST.MF | 46 - java/sca/contrib/modules/contribution/NOTICE | 6 - java/sca/contrib/modules/contribution/pom.xml | 69 - .../apache/tuscany/sca/contribution/Artifact.java | 86 - .../apache/tuscany/sca/contribution/Constants.java | 32 - .../tuscany/sca/contribution/ContentType.java | 40 - .../tuscany/sca/contribution/Contribution.java | 116 - .../sca/contribution/ContributionFactory.java | 73 - .../sca/contribution/ContributionMetadata.java | 55 - .../contribution/DefaultContributionFactory.java | 32 - .../tuscany/sca/contribution/DefaultExport.java | 30 - .../tuscany/sca/contribution/DefaultImport.java | 30 - .../DefaultModelFactoryExtensionPoint.java | 130 - .../tuscany/sca/contribution/DeployedArtifact.java | 29 - .../apache/tuscany/sca/contribution/Export.java | 47 - .../apache/tuscany/sca/contribution/Import.java | 56 - .../contribution/ModelFactoryExtensionPoint.java | 54 - .../tuscany/sca/contribution/PackageType.java | 57 - .../sca/contribution/impl/ArtifactImpl.java | 103 - .../contribution/impl/ContributionFactoryImpl.java | 67 - .../sca/contribution/impl/ContributionImpl.java | 154 -- .../impl/ContributionMetadataImpl.java | 64 - .../sca/contribution/impl/DefaultExportImpl.java | 45 - .../sca/contribution/impl/DefaultImportImpl.java | 55 - .../contribution/processor/ArtifactProcessor.java | 48 - .../processor/ArtifactProcessorExtensionPoint.java | 58 - .../processor/BaseStAXArtifactProcessor.java | 539 ----- .../DefaultArtifactProcessorExtensionPoint.java | 66 - .../DefaultPackageProcessorExtensionPoint.java | 129 - ...DefaultStAXArtifactProcessorExtensionPoint.java | 388 --- ...efaultStAXAttributeProcessorExtensionPoint.java | 327 --- .../DefaultURLArtifactProcessorExtensionPoint.java | 242 -- .../DefaultValidatingXMLInputFactory.java | 313 --- .../DefaultValidationSchemaExtensionPoint.java | 95 - .../processor/ExtensiblePackageProcessor.java | 99 - .../processor/ExtensibleStAXArtifactProcessor.java | 264 --- .../ExtensibleStAXAttributeProcessor.java | 247 -- .../processor/ExtensibleURLArtifactProcessor.java | 143 -- .../contribution/processor/PackageProcessor.java | 70 - .../processor/PackageProcessorExtensionPoint.java | 50 - .../processor/StAXArtifactProcessor.java | 61 - .../StAXArtifactProcessorExtensionPoint.java | 29 - .../processor/StAXAttributeProcessor.java | 63 - .../StAXAttributeProcessorExtensionPoint.java | 29 - .../processor/TuscanyNamespaceContext.java | 124 - .../processor/TuscanyXMLStreamReader.java | 112 - .../processor/URLArtifactProcessor.java | 51 - .../URLArtifactProcessorExtensionPoint.java | 29 - .../processor/ValidatingXMLInputFactory.java | 42 - .../processor/ValidatingXMLStreamReader.java | 395 ---- .../processor/ValidatingXMLStreamReader.java.orig | 388 --- .../processor/ValidationSchemaExtensionPoint.java | 52 - .../sca/contribution/resolver/ClassReference.java | 107 - .../resolver/DefaultDelegatingModelResolver.java | 68 - .../resolver/DefaultImportAllModelResolver.java | 80 - .../resolver/DefaultImportModelResolver.java | 69 - .../resolver/DefaultModelResolver.java | 66 - .../DefaultModelResolverExtensionPoint.java | 114 - .../resolver/ExtensibleModelResolver.java | 201 -- .../sca/contribution/resolver/ModelResolver.java | 69 - .../resolver/ModelResolverExtensionPoint.java | 52 - .../contribution/resolver/ResolverExtension.java | 45 - .../contribution/resolver/ResourceReference.java | 103 - .../contribution/scanner/ContributionScanner.java | 65 - .../scanner/ContributionScannerExtensionPoint.java | 50 - .../DefaultContributionScannerExtensionPoint.java | 125 - .../service/ContributionException.java | 45 - .../contribution/service/ContributionListener.java | 58 - .../ContributionListenerExtensionPoint.java | 44 - .../service/ContributionReadException.java | 94 - .../service/ContributionRepository.java | 128 - .../service/ContributionResolveException.java | 41 - .../service/ContributionRuntimeException.java | 44 - .../contribution/service/ContributionService.java | 137 -- .../service/ContributionWriteException.java | 61 - .../DefaultContributionListenerExtensionPoint.java | 118 - .../service/ExtensibleContributionListener.java | 77 - .../sca/contribution/service/TypeDescriber.java | 38 - .../service/UnrecognizedElementException.java | 48 - .../service/UnsupportedContentTypeException.java | 42 - .../service/UnsupportedPackageTypeException.java | 39 - ...he.tuscany.sca.contribution.ContributionFactory | 18 - ...any.sca.contribution.ModelFactoryExtensionPoint | 18 - ...ocessor.ContributionPostProcessorExtensionPoint | 18 - ...bution.processor.PackageProcessorExtensionPoint | 18 - ...n.processor.StAXArtifactProcessorExtensionPoint | 18 - ....processor.StAXAttributeProcessorExtensionPoint | 18 - ...on.processor.URLArtifactProcessorExtensionPoint | 18 - ...bution.processor.ValidationSchemaExtensionPoint | 18 - ...ntribution.resolver.ModelResolverExtensionPoint | 18 - ...ution.scanner.ContributionScannerExtensionPoint | 18 - ...tion.service.ContributionListenerExtensionPoint | 18 - .../contribution-validation-messages.properties | 34 - java/sca/contrib/modules/core-databinding/LICENSE | 205 -- .../modules/core-databinding/META-INF/MANIFEST.MF | 48 - java/sca/contrib/modules/core-databinding/NOTICE | 6 - java/sca/contrib/modules/core-databinding/pom.xml | 108 - .../module/DataBindingModuleActivator.java | 102 - .../DataBindingJavaInterfaceProcessor.java | 210 -- .../transformers/Array2ArrayTransformer.java | 110 - .../CallableReference2XMLStreamReader.java | 75 - .../transformers/CallableReferenceDataBinding.java | 42 - .../transformers/CallableReferenceTypeHelper.java | 75 - .../transformers/CallableReferenceXMLAdapter.java | 61 - .../Exception2ExceptionTransformer.java | 114 - .../transformers/Input2InputTransformer.java | 279 --- .../transformers/Output2OutputTransformer.java | 257 -- .../XMLStreamReader2CallableReference.java | 100 - .../wire/DataBindingRuntimeWireProcessor.java | 195 -- .../wire/DataTransformationInterceptor.java | 264 --- .../databinding/wire/PassByValueInterceptor.java | 268 --- .../org.apache.tuscany.sca.core.ModuleActivator | 18 - .../DataBindingJavaInterfaceProcessorTestCase.java | 89 - .../transformers/IDLTransformerTestCaseFIXME.java | 229 -- java/sca/contrib/modules/core-spi/LICENSE | 205 -- .../contrib/modules/core-spi/META-INF/MANIFEST.MF | 45 - java/sca/contrib/modules/core-spi/NOTICE | 6 - java/sca/contrib/modules/core-spi/pom.xml | 116 - .../modules/core-spi/src/doc/Context Model.emx | 673 ------ .../sca/context/ComponentContextFactory.java | 38 - .../sca/context/ContextFactoryExtensionPoint.java | 50 - .../DefaultContextFactoryExtensionPoint.java | 114 - .../tuscany/sca/context/PropertyValueFactory.java | 40 - .../tuscany/sca/context/RequestContextFactory.java | 33 - ...faultEndpointResolverFactoryExtensionPoint.java | 180 -- .../sca/endpointresolver/EndpointResolver.java | 55 - .../endpointresolver/EndpointResolverFactory.java | 44 - .../EndpointResolverFactoryExtensionPoint.java | 57 - .../java/org/apache/tuscany/sca/event/Event.java | 33 - .../org/apache/tuscany/sca/event/EventFilter.java | 35 - .../apache/tuscany/sca/event/EventPublisher.java | 55 - .../tuscany/sca/event/RuntimeEventListener.java | 35 - .../org/apache/tuscany/sca/event/TrueFilter.java | 37 - .../sca/invocation/DataExchangeSemantics.java | 34 - .../apache/tuscany/sca/invocation/Interceptor.java | 40 - .../tuscany/sca/invocation/InvocationChain.java | 112 - .../org/apache/tuscany/sca/invocation/Invoker.java | 36 - .../org/apache/tuscany/sca/invocation/Message.java | 116 - .../tuscany/sca/invocation/MessageFactory.java | 36 - .../org/apache/tuscany/sca/invocation/Phase.java | 69 - .../tuscany/sca/management/ManagementService.java | 39 - .../sca/provider/BindingProviderFactory.java | 60 - .../DefaultProviderFactoryExtensionPoint.java | 509 ---- ...efaultSCADefinitionsProviderExtensionPoint.java | 91 - .../sca/provider/ImplementationProvider.java | 68 - .../provider/ImplementationProviderFactory.java | 42 - .../sca/provider/OperationSelectorProvider.java | 39 - .../provider/OperationSelectorProviderFactory.java | 53 - .../tuscany/sca/provider/PolicyImplementor.java | 38 - .../tuscany/sca/provider/PolicyProvider.java | 41 - .../sca/provider/PolicyProviderFactory.java | 63 - .../tuscany/sca/provider/PolicyProviderRRB.java | 38 - .../tuscany/sca/provider/ProviderFactory.java | 36 - .../provider/ProviderFactoryExtensionPoint.java | 63 - .../sca/provider/ReferenceBindingProvider.java | 76 - .../sca/provider/ReferenceBindingProviderRRB.java | 35 - .../sca/provider/SCADefinitionsProvider.java | 33 - .../provider/SCADefinitionsProviderException.java | 30 - .../SCADefinitionsProviderExtensionPoint.java | 35 - .../sca/provider/ServiceBindingProvider.java | 63 - .../sca/provider/ServiceBindingProviderRRB.java | 39 - .../tuscany/sca/provider/WireFormatProvider.java | 51 - .../sca/provider/WireFormatProviderFactory.java | 53 - .../DefaultWireProcessorExtensionPoint.java | 63 - .../tuscany/sca/runtime/EndpointReference.java | 93 - .../tuscany/sca/runtime/ReferenceParameters.java | 69 - .../tuscany/sca/runtime/RuntimeComponent.java | 83 - .../sca/runtime/RuntimeComponentContext.java | 104 - .../sca/runtime/RuntimeComponentReference.java | 119 - .../sca/runtime/RuntimeComponentService.java | 138 -- .../apache/tuscany/sca/runtime/RuntimeWire.java | 117 - .../tuscany/sca/runtime/RuntimeWireProcessor.java | 35 - .../RuntimeWireProcessorExtensionPoint.java | 53 - .../sca/store/DuplicateRecordException.java | 56 - .../apache/tuscany/sca/store/RecoveryListener.java | 46 - .../java/org/apache/tuscany/sca/store/Store.java | 96 - .../apache/tuscany/sca/store/StoreException.java | 57 - .../tuscany/sca/store/StoreExpirationEvent.java | 71 - .../org/apache/tuscany/sca/store/StoreMonitor.java | 71 - .../tuscany/sca/store/StoreReadException.java | 56 - .../tuscany/sca/store/StoreWriteException.java | 56 - .../tuscany/sca/work/NotificationListener.java | 67 - .../org/apache/tuscany/sca/work/WorkScheduler.java | 58 - .../tuscany/sca/work/WorkSchedulerException.java | 59 - ...uscany.sca.context.ContextFactoryExtensionPoint | 18 - ...tresolver.EndpointResolverFactoryExtensionPoint | 18 - ...cany.sca.provider.ProviderFactoryExtensionPoint | 18 - ...a.provider.SCADefinitionsProviderExtensionPoint | 19 - ....sca.runtime.RuntimeWireProcessorExtensionPoint | 18 - ...efaultContextFactoryExtensionPointTestCase.java | 208 -- .../tuscany/sca/event/TrueFilterTestCase.java | 63 - java/sca/contrib/modules/core-spring/LICENSE | 205 -- java/sca/contrib/modules/core-spring/NOTICE | 6 - java/sca/contrib/modules/core-spring/pom.xml | 126 - .../spring/assembly/impl/BeanAssemblyFactory.java | 134 -- .../spring/assembly/impl/BeanComponentImpl.java | 233 -- .../spring/assembly/impl/BeanReferenceImpl.java | 70 - .../sca/core/spring/context/ModelResolverImpl.java | 88 - .../sca/core/spring/context/SCADomainContext.java | 192 -- .../java/impl/BeanBaseJavaImplementationImpl.java | 211 -- .../java/impl/BeanJavaImplementationFactory.java | 75 - .../java/impl/BeanJavaImplementationImpl.java | 175 -- .../java/impl/BeanJavaInterfaceContractImpl.java | 34 - .../java/impl/BeanJavaInterfaceFactory.java | 75 - .../java/impl/BeanJavaInterfaceImpl.java | 149 -- .../src/test/java/calculator/AddService.java | 30 - .../src/test/java/calculator/AddServiceImpl.java | 37 - .../src/test/java/calculator/CalculatorClient.java | 43 - .../test/java/calculator/CalculatorService.java | 36 - .../java/calculator/CalculatorServiceImpl.java | 73 - .../src/test/java/calculator/DivideService.java | 30 - .../test/java/calculator/DivideServiceImpl.java | 35 - .../src/test/java/calculator/MultiplyService.java | 30 - .../test/java/calculator/MultiplyServiceImpl.java | 35 - .../java/calculator/NestedCalculatorClient.java | 46 - .../src/test/java/calculator/SubtractService.java | 30 - .../test/java/calculator/SubtractServiceImpl.java | 35 - .../sca/core/spring/CalculatorTestCase.java | 56 - .../core/spring/NestedCalculatorTestCaseFIXME.java | 59 - .../tuscany/sca/core/spring/Calculator.composite | 52 - .../sca/core/spring/InnerCalculator.composite | 42 - .../sca/core/spring/InnerOperations.composite | 57 - .../sca/core/spring/OuterCalculator.composite | 41 - java/sca/contrib/modules/core/LICENSE | 205 -- java/sca/contrib/modules/core/META-INF/MANIFEST.MF | 89 - java/sca/contrib/modules/core/NOTICE | 6 - java/sca/contrib/modules/core/pom.xml | 107 - .../sca/core/assembly/ActivationException.java | 37 - .../sca/core/assembly/CompositeActivator.java | 154 -- .../sca/core/assembly/CompositeActivatorImpl.java | 1101 --------- .../sca/core/assembly/EndpointReferenceImpl.java | 186 -- .../sca/core/assembly/EndpointWireImpl.java | 185 -- .../core/assembly/ReferenceParameterProcessor.java | 101 - .../sca/core/assembly/ReferenceParametersImpl.java | 139 -- .../sca/core/assembly/RuntimeAssemblyFactory.java | 53 - .../sca/core/assembly/RuntimeComponentImpl.java | 111 - .../assembly/RuntimeComponentReferenceImpl.java | 155 -- .../core/assembly/RuntimeComponentServiceImpl.java | 163 -- .../tuscany/sca/core/assembly/RuntimeWireImpl.java | 463 ---- .../sca/core/context/CallableReferenceImpl.java | 605 ----- .../sca/core/context/ComponentContextHelper.java | 320 --- .../sca/core/context/ComponentContextImpl.java | 452 ---- .../context/DefaultComponentContextFactory.java | 70 - .../tuscany/sca/core/context/InstanceWrapper.java | 48 - .../sca/core/context/RequestContextImpl.java | 113 - .../sca/core/context/ServiceReferenceImpl.java | 133 -- .../core/conversation/ConversationListener.java | 40 - .../sca/core/conversation/ConversationManager.java | 71 - .../core/conversation/ConversationManagerImpl.java | 216 -- .../sca/core/conversation/ConversationState.java | 29 - .../core/conversation/ExtendedConversation.java | 66 - .../conversation/ExtendedConversationImpl.java | 265 --- .../tuscany/sca/core/event/BaseEventPublisher.java | 89 - .../tuscany/sca/core/event/ComponentStart.java | 54 - .../tuscany/sca/core/event/ComponentStop.java | 53 - .../tuscany/sca/core/event/ConversationEnd.java | 53 - .../tuscany/sca/core/event/ConversationStart.java | 52 - .../tuscany/sca/core/event/HttpSessionEnd.java | 53 - .../tuscany/sca/core/event/HttpSessionStart.java | 52 - .../apache/tuscany/sca/core/event/RequestEnd.java | 45 - .../tuscany/sca/core/event/RequestStart.java | 45 - .../sca/core/factory/ObjectCreationException.java | 47 - .../tuscany/sca/core/factory/ObjectFactory.java | 35 - .../invocation/CallableReferenceObjectFactory.java | 63 - .../invocation/CallbackInterfaceInterceptor.java | 57 - .../sca/core/invocation/CallbackReferenceImpl.java | 268 --- .../invocation/CallbackReferenceObjectFactory.java | 48 - .../core/invocation/CallbackWireObjectFactory.java | 47 - .../sca/core/invocation/CglibProxyFactory.java | 151 -- .../DefaultProxyFactoryExtensionPoint.java | 74 - .../core/invocation/ExtensibleProxyFactory.java | 113 - .../core/invocation/ExtensibleWireProcessor.java | 44 - .../sca/core/invocation/InvocationChainImpl.java | 191 -- .../invocation/JDKCallbackInvocationHandler.java | 110 - .../sca/core/invocation/JDKInvocationHandler.java | 516 ---- .../sca/core/invocation/JDKProxyFactory.java | 104 - .../sca/core/invocation/MessageFactoryImpl.java | 36 - .../tuscany/sca/core/invocation/MessageImpl.java | 104 - .../invocation/NoMethodForOperationException.java | 43 - .../core/invocation/NonBlockingInterceptor.java | 195 -- .../tuscany/sca/core/invocation/PhaseManager.java | 298 --- .../tuscany/sca/core/invocation/PhaseSorter.java | 236 -- .../core/invocation/ProxyCreationException.java | 48 - .../tuscany/sca/core/invocation/ProxyFactory.java | 87 - .../invocation/ProxyFactoryExtensionPoint.java | 53 - .../sca/core/invocation/RuntimeWireInvoker.java | 264 --- .../tuscany/sca/core/invocation/SCAProxy.java | 74 - .../core/invocation/TargetInvocationException.java | 45 - .../sca/core/invocation/ThreadMessageContext.java | 72 - .../sca/core/invocation/WireObjectFactory.java | 54 - .../sca/core/scope/AbstractScopeContainer.java | 200 -- .../sca/core/scope/CompositeScopeContainer.java | 77 - .../core/scope/CompositeScopeContainerFactory.java | 37 - .../core/scope/ConversationalScopeContainer.java | 290 --- .../scope/ConversationalScopeContainerFactory.java | 44 - .../sca/core/scope/HttpSessionScopeContainer.java | 83 - .../scope/HttpSessionScopeContainerFactory.java | 41 - .../sca/core/scope/RequestScopeContainer.java | 86 - .../core/scope/RequestScopeContainerFactory.java | 37 - .../org/apache/tuscany/sca/core/scope/Scope.java | 66 - .../tuscany/sca/core/scope/ScopeContainer.java | 159 -- .../sca/core/scope/ScopeContainerFactory.java | 32 - .../tuscany/sca/core/scope/ScopeRegistry.java | 43 - .../tuscany/sca/core/scope/ScopeRegistryImpl.java | 62 - .../core/scope/ScopedImplementationProvider.java | 65 - .../sca/core/scope/ScopedRuntimeComponent.java | 40 - .../sca/core/scope/StatelessScopeContainer.java | 55 - .../core/scope/StatelessScopeContainerFactory.java | 37 - .../sca/core/scope/TargetDestructionException.java | 44 - .../core/scope/TargetInitializationException.java | 44 - .../sca/core/scope/TargetNotFoundException.java | 44 - .../sca/core/scope/TargetResolutionException.java | 44 - .../apache/tuscany/sca/core/store/MemoryStore.java | 195 -- .../apache/tuscany/sca/core/work/Jsr237Work.java | 65 - .../tuscany/sca/core/work/Jsr237WorkScheduler.java | 198 -- .../sca/core/work/ThreadPoolWorkManager.java | 235 -- .../tuscany/sca/core/work/WorkEventImpl.java | 76 - .../apache/tuscany/sca/core/work/WorkItemImpl.java | 169 -- ...ca.contribution.processor.StAXArtifactProcessor | 19 - ...scany.sca.core.conversation.ConversationManager | 18 - ....sca.core.invocation.ProxyFactoryExtensionPoint | 18 - ...rg.apache.tuscany.sca.invocation.MessageFactory | 18 - .../org.apache.tuscany.sca.work.WorkScheduler | 18 - .../DefaultExtensionPointRegistryTestCase.java | 52 - .../sca/core/event/BaseEventPublisherTestCase.java | 98 - .../tuscany/sca/core/event/EventTestCase.java | 69 - .../sca/core/invocation/PhaseManagerTestCase.java | 51 - .../sca/core/invocation/PhaseSorterTestCase.java | 63 - .../core/scope/AbstractScopeContainerTestCase.java | 69 - .../sca/core/store/MemoryStoreTestCase.java | 165 -- .../wire/CallbackInterfaceInterceptorTestCase.java | 62 - .../sca/core/wire/InvocationChainImplTestCase.java | 93 - .../core/wire/NonBlockingInterceptorTestCase.java | 74 - .../apache/tuscany/sca/core/work/FailingWork.java | 50 - .../sca/core/work/JSR237MyFailingRunnable.java | 43 - .../tuscany/sca/core/work/JSR237MyRunnable.java | 71 - .../sca/core/work/JSR237MyRunnerListener.java | 154 -- .../sca/core/work/Jsr237WorkSchedulerTestCase.java | 240 -- .../tuscany/sca/core/work/TestWorkListener.java | 156 -- .../core/work/ThreadPoolWorkManagerTestCase.java | 243 -- .../tuscany/sca/core/work/TimeDelayWork.java | 87 - .../apache/tuscany/sca/scope/ScopeTestCase.java | 61 - .../org.apache.tuscany.sca.invocation.PhaseTest | 24 - java/sca/contrib/modules/data-api/LICENSE | 205 -- java/sca/contrib/modules/data-api/NOTICE | 6 - java/sca/contrib/modules/data-api/pom.xml | 58 - .../tuscany/sca/data/collection/Collection.java | 78 - .../apache/tuscany/sca/data/collection/Entry.java | 85 - .../apache/tuscany/sca/data/collection/Item.java | 159 -- .../sca/data/collection/ItemCollection.java | 30 - .../sca/data/collection/LocalItemCollection.java | 28 - .../sca/data/collection/NotFoundException.java | 45 - .../implementation/data/collection/Collection.java | 31 - .../sca/implementation/data/collection/Entry.java | 29 - .../sca/implementation/data/collection/Item.java | 30 - .../data/collection/ItemCollection.java | 31 - .../data/collection/LocalItemCollection.java | 29 - .../data/collection/NotFoundException.java | 30 - .../sca/contrib/modules/data-engine-helper/LICENSE | 205 -- java/sca/contrib/modules/data-engine-helper/NOTICE | 6 - .../sca/contrib/modules/data-engine-helper/pom.xml | 142 -- .../engine/ConnectionInfoArtifactProcessor.java | 197 -- .../tuscany/sca/data/engine/DataAccessEngine.java | 286 --- .../sca/data/engine/DataAccessEngineManager.java | 141 -- .../data/engine/MissingConfigFileException.java | 44 - .../sca/data/engine/config/ConnectionInfo.java | 47 - .../data/engine/config/ConnectionProperties.java | 78 - ...ataengine-helper-validation-messages.properties | 21 - java/sca/contrib/modules/databinding-axiom/LICENSE | 205 -- java/sca/contrib/modules/databinding-axiom/NOTICE | 6 - java/sca/contrib/modules/databinding-axiom/pom.xml | 122 - .../sca/databinding/axiom/AxiomDataBinding.java | 62 - .../tuscany/sca/databinding/axiom/AxiomHelper.java | 142 -- .../sca/databinding/axiom/Exception2OMElement.java | 95 - .../axiom/Externalizable2OMElement.java | 77 - .../sca/databinding/axiom/OMElement2Exception.java | 79 - .../axiom/OMElement2Externalizable.java | 69 - .../sca/databinding/axiom/OMElement2Object.java | 50 - .../sca/databinding/axiom/OMElement2String.java | 64 - .../axiom/OMElement2XMLStreamReader.java | 66 - .../databinding/axiom/OMElementWrapperHandler.java | 251 -- .../sca/databinding/axiom/Object2OMElement.java | 63 - .../sca/databinding/axiom/String2OMElement.java | 64 - .../axiom/XMLStreamReader2OMElement.java | 70 - .../org.apache.tuscany.sca.databinding.DataBinding | 20 - ....apache.tuscany.sca.databinding.PullTransformer | 30 - .../sca/databinding/axiom/OMElementTestCase.java | 129 - .../databinding-axiom/src/test/resources/ipo.xml | 51 - .../databinding-axiom/src/test/resources/ipo.xsd | 137 -- .../src/test/resources/order.wsdl | 76 - .../modules/databinding-fastinfoset/LICENSE | 202 -- .../contrib/modules/databinding-fastinfoset/NOTICE | 6 - .../modules/databinding-fastinfoset/pom.xml | 87 - .../databinding/fastinfoset/FastInfoset2Node.java | 70 - .../databinding/fastinfoset/FastInfoset2SAX.java | 71 - .../fastinfoset/FastInfoset2XMLStreamReader.java | 67 - .../databinding/fastinfoset/Node2FastInfoset.java | 71 - .../fastinfoset/XMLInputStream2FastInfoset.java | 89 - .../fastinfoset/XMLStreamReader2FastInfoset.java | 75 - ....apache.tuscany.sca.databinding.PullTransformer | 22 - ....apache.tuscany.sca.databinding.PushTransformer | 22 - .../FastInfosetTransformerTestCase.java | 127 - .../src/test/resources/ipo.xsd | 136 -- .../contrib/modules/databinding-jaxb-axiom/LICENSE | 205 -- .../contrib/modules/databinding-jaxb-axiom/NOTICE | 6 - .../contrib/modules/databinding-jaxb-axiom/pom.xml | 189 -- .../sca/databinding/jaxb/axiom/AxiomHelper.java | 140 -- .../sca/databinding/jaxb/axiom/JAXB2OMElement.java | 78 - .../sca/databinding/jaxb/axiom/JAXBDataSource.java | 136 -- .../sca/databinding/jaxb/axiom/OMElement2JAXB.java | 92 - .../jaxb/axiom/ext/JAXBCustomBuilder.java | 110 - .../databinding/jaxb/axiom/ext/JAXBDSContext.java | 189 -- .../jaxb/axiom/ext/JAXBDataSourceExt.java | 147 -- .../jaxb/axiom/ext/SourceDataSource.java | 125 - .../jaxb/axiom/ext/XMLStreamWriterWithOS.java | 246 -- .../jaxb/axiom/ext/XMLStringDataSource.java | 88 - ....apache.tuscany.sca.databinding.PullTransformer | 26 - .../databinding/jaxb/axiom/JAXB2OMTestCase.java | 109 - .../jaxb/axiom/OMElement2JAXBTestCase.java | 71 - .../src/test/resources/ipo.xsd | 136 -- java/sca/contrib/modules/databinding-jaxb/LICENSE | 205 -- .../modules/databinding-jaxb/META-INF/MANIFEST.MF | 53 - java/sca/contrib/modules/databinding-jaxb/NOTICE | 6 - java/sca/contrib/modules/databinding-jaxb/pom.xml | 185 -- .../sca/databinding/jaxb/AnyTypeXmlAdapter.java | 39 - .../sca/databinding/jaxb/DOMElementXmlAdapter.java | 57 - .../sca/databinding/jaxb/DataConverter.java | 378 --- .../jaxb/DefaultXMLAdapterExtensionPoint.java | 60 - .../tuscany/sca/databinding/jaxb/JAXB2Node.java | 75 - .../tuscany/sca/databinding/jaxb/JAXB2SAX.java | 70 - .../tuscany/sca/databinding/jaxb/JAXB2String.java | 77 - .../sca/databinding/jaxb/JAXBContextCache.java | 420 ---- .../sca/databinding/jaxb/JAXBContextHelper.java | 442 ---- .../sca/databinding/jaxb/JAXBDataBinding.java | 131 - .../databinding/jaxb/JAXBPropertyDescriptor.java | 302 --- .../sca/databinding/jaxb/JAXBTypeHelper.java | 245 -- .../sca/databinding/jaxb/JAXBWrapperException.java | 56 - .../sca/databinding/jaxb/JAXBWrapperHandler.java | 151 -- .../sca/databinding/jaxb/JAXBWrapperHelper.java | 166 -- .../tuscany/sca/databinding/jaxb/Node2JAXB.java | 73 - .../tuscany/sca/databinding/jaxb/Reader2JAXB.java | 74 - .../tuscany/sca/databinding/jaxb/String2JAXB.java | 80 - .../databinding/jaxb/XMLAdapterExtensionPoint.java | 52 - .../sca/databinding/jaxb/XMLRootElementUtil.java | 286 --- .../sca/databinding/jaxb/XMLStreamReader2JAXB.java | 77 - .../org.apache.tuscany.sca.databinding.DataBinding | 19 - ....apache.tuscany.sca.databinding.PullTransformer | 32 - ...y.sca.databinding.jaxb.XMLAdapterExtensionPoint | 17 - .../java/com/example/stock/StockQuoteOffer.java | 45 - .../databinding/jaxb/BeanXMLStreamReaderImpl.java | 324 --- .../sca/databinding/jaxb/JAXB2XMLStreamReader.java | 84 - .../databinding/jaxb/JAXBContextCacheTestCase.java | 123 - .../databinding/jaxb/JAXBDataBindingTestCase.java | 130 - .../databinding/jaxb/JAXBReflectionTestCase.java | 92 - .../tuscany/sca/databinding/jaxb/JAXBTestCase.java | 175 -- .../jaxb/JAXBWrapperHandlerTestCase.java | 90 - .../tuscany/sca/databinding/jaxb/MyBean.java | 162 -- .../tuscany/sca/databinding/jaxb/MyInterface.java | 29 - .../sca/databinding/jaxb/MyInterfaceImpl.java | 67 - .../tuscany/sca/databinding/jaxb/MyJaxbBean.java | 64 - .../tuscany/sca/databinding/jaxb/MySubBean.java | 35 - .../tuscany/sca/databinding/jaxb/POJOTestCase.java | 268 --- .../databinding-jaxb/src/test/resources/ipo.xsd | 136 -- java/sca/contrib/modules/databinding-job/LICENSE | 205 -- java/sca/contrib/modules/databinding-job/NOTICE | 6 - java/sca/contrib/modules/databinding-job/pom.xml | 129 - .../apache/tuscany/sca/databinding/job/Job.java | 32 - .../tuscany/sca/databinding/job/Job2OMElement.java | 84 - .../sca/databinding/job/JobDataBinding.java | 35 - .../tuscany/sca/databinding/job/JobDataMap.java | 70 - .../sca/databinding/job/JobExecutionContext.java | 45 - .../tuscany/sca/databinding/job/OMElement2Job.java | 69 - .../tuscany/sca/databinding/job/RemoteJob.java | 35 - .../org.apache.tuscany.sca.databinding.DataBinding | 20 - ....apache.tuscany.sca.databinding.PullTransformer | 18 - .../databinding-job/src/test/resources/ipo.xml | 51 - .../databinding-job/src/test/resources/ipo.xsd | 155 -- .../databinding-job/src/test/resources/order.wsdl | 76 - java/sca/contrib/modules/databinding-json/LICENSE | 202 -- java/sca/contrib/modules/databinding-json/NOTICE | 6 - java/sca/contrib/modules/databinding-json/pom.xml | 136 -- .../sca/databinding/json/JSON2JavaBean.java | 73 - .../tuscany/sca/databinding/json/JSON2String.java | 61 - .../sca/databinding/json/JSON2XMLStreamReader.java | 65 - .../sca/databinding/json/JSONDataBinding.java | 74 - .../tuscany/sca/databinding/json/JSONHelper.java | 91 - .../sca/databinding/json/JavaBean2JSON.java | 82 - .../sca/databinding/json/JavaBean2JSONObject.java | 139 -- .../tuscany/sca/databinding/json/String2JSON.java | 64 - .../sca/databinding/json/XMLStreamReader2JSON.java | 77 - .../sca/databinding/json/axiom/JSON2OMElement.java | 94 - .../json/axiom/JSONBadgerfishDataSource.java | 57 - .../sca/databinding/json/axiom/JSONDataSource.java | 176 -- .../org.apache.tuscany.sca.databinding.DataBinding | 19 - ....apache.tuscany.sca.databinding.PullTransformer | 31 - .../databinding/json/JSONTransformerTestCase.java | 128 - .../databinding/json/JavaBean2JSONTestCase.java | 170 -- .../tuscany/sca/databinding/json/MyBean.java | 158 -- .../tuscany/sca/databinding/json/MyInterface.java | 29 - .../sca/databinding/json/MyInterfaceImpl.java | 67 - .../tuscany/sca/databinding/json/POJOTestCase.java | 87 - .../databinding-json/src/test/resources/ipo.xsd | 136 -- java/sca/contrib/modules/databinding-saxon/LICENSE | 202 -- java/sca/contrib/modules/databinding-saxon/NOTICE | 6 - java/sca/contrib/modules/databinding-saxon/pom.xml | 125 - .../saxon/DataObject2NodeInfoTransformer.java | 99 - .../saxon/ItemList2ObjectTransformer.java | 153 -- .../saxon/Node2NodeInfoTransformer.java | 77 - .../saxon/NodeInfo2DataObjectTransformer.java | 91 - .../saxon/NodeInfo2JavaArrayTransformer.java | 76 - .../saxon/NodeInfo2NodeTransformer.java | 71 - .../databinding/saxon/Object2ValueTransformer.java | 65 - .../databinding/saxon/SaxonDataBindingHelper.java | 41 - .../databinding/saxon/SaxonNodeDataBinding.java | 54 - .../databinding/saxon/SaxonValueDataBinding.java | 53 - .../saxon/SimpleType2ValueTransformer.java | 87 - .../sca/databinding/saxon/Value2JavaArray.java | 74 - .../databinding/saxon/Value2ObjectTransformer.java | 66 - .../saxon/Value2SimpleTypeTransformer.java | 65 - .../sca/databinding/saxon/collection/ItemList.java | 34 - .../org.apache.tuscany.sca.databinding.DataBinding | 20 - ....apache.tuscany.sca.databinding.PullTransformer | 34 - .../contrib/modules/databinding-sdo-axiom/LICENSE | 205 -- .../contrib/modules/databinding-sdo-axiom/NOTICE | 6 - .../contrib/modules/databinding-sdo-axiom/pom.xml | 167 -- .../sca/databinding/sdo2om/AxiomHelper.java | 142 -- .../databinding/sdo2om/DataObject2OMElement.java | 86 - .../sca/databinding/sdo2om/SDODataSource.java | 89 - .../databinding/sdo2om/XMLDocument2OMElement.java | 65 - ....apache.tuscany.sca.databinding.PullTransformer | 20 - .../sdo2om/DataObject2OMElementTestCase.java | 78 - .../sdo2om/SDOTransformerTestCaseBase.java | 82 - .../sdo2om/XMLDocument2OMElementTestCase.java | 63 - .../src/test/resources/ipo.xsd | 136 -- .../src/test/resources/stock.xsd | 33 - java/sca/contrib/modules/databinding-sdo/LICENSE | 205 -- java/sca/contrib/modules/databinding-sdo/NOTICE | 6 - java/sca/contrib/modules/databinding-sdo/pom.xml | 133 -- .../sca/databinding/sdo/DataObject2Node.java | 73 - .../sca/databinding/sdo/DataObject2String.java | 64 - .../sdo/DataObject2XMLStreamReader.java | 82 - .../tuscany/sca/databinding/sdo/ImportSDO.java | 78 - .../sca/databinding/sdo/ImportSDOProcessor.java | 212 -- .../sca/databinding/sdo/Node2DataObject.java | 69 - .../sca/databinding/sdo/SDOContextHelper.java | 208 -- .../sca/databinding/sdo/SDODataBinding.java | 146 -- .../sca/databinding/sdo/SDOSimpleTypeMapper.java | 68 - .../tuscany/sca/databinding/sdo/SDOTypeHelper.java | 235 -- .../sca/databinding/sdo/SDOWrapperHandler.java | 177 -- .../sca/databinding/sdo/String2DataObject.java | 61 - .../sca/databinding/sdo/XMLDocument2String.java | 65 - .../sdo/XMLDocument2XMLStreamReader.java | 69 - .../sdo/XMLStreamReader2DataObject.java | 72 - .../sdo/XMLStreamReader2XMLDocument.java | 66 - ...ca.contribution.processor.StAXArtifactProcessor | 18 - .../org.apache.tuscany.sca.databinding.DataBinding | 19 - ....apache.tuscany.sca.databinding.PullTransformer | 27 - .../databinding-sdo-validation-messages.properties | 23 - .../sdo/fault/InvalidSymbolFault_Exception.java | 70 - .../databinding/sdo/DataObject2NodeTestCase.java | 60 - .../databinding/sdo/DataObject2StringTestCase.java | 65 - .../sdo/DataObject2XMLStreamReaderTestCase.java | 75 - .../sdo/ImportSDOProcessorTestCase.java | 89 - .../databinding/sdo/SDOContextHelperTestCase.java | 55 - .../databinding/sdo/SDODataBindingTestCase.java | 114 - .../sdo/SDOTransformerTestCaseBase.java | 82 - .../databinding/sdo/SDOWrapperHandlerTestCase.java | 83 - .../sca/databinding/sdo/TestModelResolver.java | 63 - .../sdo/XMLDocument2XMLStreamReaderTestCase.java | 62 - .../databinding-sdo/src/test/resources/ipo.xsd | 136 -- .../src/test/resources/model/sca-core.xsd | 233 -- .../resources/model/sca-implementation-mock.xsd | 43 - .../databinding-sdo/src/test/resources/stock.xsd | 33 - .../databinding-sdo/src/test/resources/wrapper.xml | 27 - .../databinding-sdo/src/test/resources/wrapper.xsd | 38 - .../contrib/modules/databinding-xmlbeans/LICENSE | 202 -- .../contrib/modules/databinding-xmlbeans/NOTICE | 6 - .../contrib/modules/databinding-xmlbeans/pom.xml | 125 - .../sca/databinding/xmlbeans/Node2XmlObject.java | 61 - .../databinding/xmlbeans/XMLBeansDataBinding.java | 82 - .../xmlbeans/XMLBeansWrapperHandler.java | 110 - .../xmlbeans/XMLStreamReader2XmlObject.java | 62 - .../sca/databinding/xmlbeans/XmlObject2Node.java | 60 - .../xmlbeans/XmlObject2XMLStreamReader.java | 55 - .../org.apache.tuscany.sca.databinding.DataBinding | 19 - ....apache.tuscany.sca.databinding.PullTransformer | 22 - .../databinding/xmlbeans/XmlObjectTestCase.java | 105 - .../src/test/resources/ipo.xsd | 136 -- .../src/test/resources/ipo.xsdconfig | 21 - .../contrib/modules/databinding-xstream/LICENSE | 205 -- .../sca/contrib/modules/databinding-xstream/NOTICE | 6 - .../contrib/modules/databinding-xstream/pom.xml | 121 - .../sca/databinding/xstream/MetaObject.java | 37 - .../sca/databinding/xstream/MetaObjectImpl.java | 95 - .../sca/databinding/xstream/Node2XObject.java | 69 - .../sca/databinding/xstream/OMElement2XObject.java | 76 - .../tuscany/sca/databinding/xstream/Utils.java | 79 - .../tuscany/sca/databinding/xstream/XObject.java | 28 - .../sca/databinding/xstream/XObject2Node.java | 69 - .../sca/databinding/xstream/XObject2OMElement.java | 106 - .../databinding/xstream/XObjectDataBinding.java | 37 - .../org.apache.tuscany.sca.databinding.DataBinding | 20 - ....apache.tuscany.sca.databinding.PullTransformer | 18 - .../databinding-xstream/src/test/resources/ipo.xml | 48 - .../databinding-xstream/src/test/resources/ipo.xsd | 132 -- .../src/test/resources/order.wsdl | 76 - java/sca/contrib/modules/databinding/LICENSE | 244 -- .../modules/databinding/META-INF/MANIFEST.MF | 66 - java/sca/contrib/modules/databinding/NOTICE | 6 - java/sca/contrib/modules/databinding/pom.xml | 108 - .../tuscany/sca/databinding/DataBinding.java | 91 - .../sca/databinding/DataBindingExtensionPoint.java | 74 - .../apache/tuscany/sca/databinding/DataPipe.java | 46 - .../sca/databinding/DataPipeTransformer.java | 29 - .../DefaultDataBindingExtensionPoint.java | 243 -- .../DefaultTransformerExtensionPoint.java | 306 --- .../apache/tuscany/sca/databinding/Mediator.java | 68 - .../tuscany/sca/databinding/PullTransformer.java | 38 - .../tuscany/sca/databinding/PushTransformer.java | 36 - .../tuscany/sca/databinding/SimpleTypeMapper.java | 46 - .../sca/databinding/TransformationContext.java | 95 - .../sca/databinding/TransformationException.java | 65 - .../tuscany/sca/databinding/Transformer.java | 51 - .../sca/databinding/TransformerExtensionPoint.java | 81 - .../tuscany/sca/databinding/WrapperHandler.java | 78 - .../tuscany/sca/databinding/XMLTypeHelper.java | 68 - .../sca/databinding/annotation/DataBinding.java | 56 - .../sca/databinding/annotation/DataType.java | 43 - .../externalizable/ExternalizableDataBinding.java | 39 - .../sca/databinding/impl/BaseDataBinding.java | 111 - .../sca/databinding/impl/BaseTransformer.java | 52 - .../tuscany/sca/databinding/impl/DOMHelper.java | 163 -- .../sca/databinding/impl/DirectedGraph.java | 452 ---- .../databinding/impl/Group2GroupTransformer.java | 94 - .../sca/databinding/impl/GroupDataBinding.java | 103 - .../impl/Java2SimpleTypeTransformer.java | 70 - .../tuscany/sca/databinding/impl/MediatorImpl.java | 182 -- .../sca/databinding/impl/PipedTransformer.java | 70 - .../impl/SimpleType2JavaTransformer.java | 89 - .../sca/databinding/impl/SimpleTypeMapperImpl.java | 401 ---- .../impl/TransformationContextImpl.java | 113 - .../sca/databinding/impl/XSDDataTypeConverter.java | 945 -------- .../javabeans/DOMNode2JavaBeanTransformer.java | 97 - .../javabeans/Java2XMLMapperException.java | 69 - .../javabeans/JavaBean2DOMNodeTransformer.java | 79 - .../JavaBean2XMLStreamReaderTransformer.java | 68 - .../javabeans/JavaBean2XMLTransformer.java | 262 -- .../javabeans/JavaBeansDataBinding.java | 139 -- .../javabeans/JavaExceptionDataBinding.java | 35 - .../javabeans/SimpleJavaDataBinding.java | 79 - .../javabeans/XML2JavaBeanTransformer.java | 329 --- .../javabeans/XML2JavaMapperException.java | 76 - .../sca/databinding/util/DataTypeHelper.java | 165 -- .../tuscany/sca/databinding/util/LRUCache.java | 88 - .../databinding/xml/BeanXMLStreamReaderImpl.java | 296 --- .../sca/databinding/xml/DOMDataBinding.java | 71 - .../sca/databinding/xml/DOMWrapperHandler.java | 141 -- .../sca/databinding/xml/DOMXMLStreamReader.java | 36 - .../sca/databinding/xml/DOMXmlNodeImpl.java | 156 -- .../xml/DelegatingNamespaceContext.java | 310 --- .../sca/databinding/xml/InputSource2Node.java | 67 - .../sca/databinding/xml/InputSource2SAX.java | 65 - .../sca/databinding/xml/InputStream2Node.java | 69 - .../sca/databinding/xml/InputStream2SAX.java | 64 - .../xml/NameValueArrayStreamReader.java | 403 ---- .../databinding/xml/NameValuePairStreamReader.java | 347 --- .../tuscany/sca/databinding/xml/NamedProperty.java | 59 - .../databinding/xml/NilElementStreamReader.java | 279 --- .../sca/databinding/xml/Node2OutputStream.java | 68 - .../sca/databinding/xml/Node2SimpleJavaType.java | 45 - .../databinding/xml/Node2SourceTransformer.java | 61 - .../tuscany/sca/databinding/xml/Node2String.java | 62 - .../tuscany/sca/databinding/xml/Node2Writer.java | 67 - .../sca/databinding/xml/Node2XMLStreamReader.java | 64 - .../tuscany/sca/databinding/xml/Reader2Node.java | 67 - .../tuscany/sca/databinding/xml/Reader2SAX.java | 60 - .../tuscany/sca/databinding/xml/SAX2DOM.java | 246 -- .../tuscany/sca/databinding/xml/SAX2DOMPipe.java | 81 - .../sca/databinding/xml/SimpleJavaType2Node.java | 71 - .../sca/databinding/xml/SimpleXmlNodeImpl.java | 112 - .../databinding/xml/Source2NodeTransformer.java | 69 - .../databinding/xml/Source2ResultTransformer.java | 63 - .../databinding/xml/Source2StringTransformer.java | 68 - .../sca/databinding/xml/StAX2SAXAdapter.java | 256 -- .../sca/databinding/xml/StAXDataBinding.java | 53 - .../tuscany/sca/databinding/xml/StAXHelper.java | 86 - .../sca/databinding/xml/StreamDataPipe.java | 65 - .../tuscany/sca/databinding/xml/String2Node.java | 60 - .../tuscany/sca/databinding/xml/String2SAX.java | 61 - .../databinding/xml/String2SourceTransformer.java | 62 - .../databinding/xml/String2XMLStreamReader.java | 55 - .../databinding/xml/WrappingXMLStreamReader.java | 100 - .../sca/databinding/xml/Writer2ReaderDataPipe.java | 63 - .../databinding/xml/XMLDocumentStreamReader.java | 482 ---- .../databinding/xml/XMLFragmentStreamReader.java | 53 - .../xml/XMLFragmentStreamReaderImpl.java | 857 ------- .../sca/databinding/xml/XMLGroupDataBinding.java | 57 - .../sca/databinding/xml/XMLStreamReader2Node.java | 75 - .../sca/databinding/xml/XMLStreamReader2SAX.java | 70 - .../databinding/xml/XMLStreamReader2String.java | 57 - .../sca/databinding/xml/XMLStreamSerializer.java | 287 --- .../tuscany/sca/databinding/xml/XMLStreamable.java | 37 - .../sca/databinding/xml/XMLStringDataBinding.java | 50 - .../tuscany/sca/databinding/xml/XmlNode.java | 69 - .../sca/databinding/xml/XmlNodeIterator.java | 355 --- .../databinding/xml/XmlTreeStreamReaderImpl.java | 531 ----- .../org.apache.tuscany.sca.databinding.DataBinding | 25 - ...scany.sca.databinding.DataBindingExtensionPoint | 18 - ....apache.tuscany.sca.databinding.PullTransformer | 40 - ....apache.tuscany.sca.databinding.PushTransformer | 26 - ...scany.sca.databinding.TransformerExtensionPoint | 18 - .../databinding/extension/DOMHelperTestCase.java | 58 - .../extension/DataBindingExtensionTestCase.java | 86 - .../SimpleTypeMapperExtensionTestCase.java | 124 - .../extension/TransformerExtensionTestCase.java | 77 - .../extension/XSDDataTypeConverterTestCase.java | 64 - .../impl/DataBindingRegistryImplTestCase.java | 97 - .../sca/databinding/impl/DataBindingTestCase.java | 49 - .../databinding/impl/DirectedGraphTestCase.java | 125 - .../sca/databinding/impl/MediatorImplTestCase.java | 122 - .../impl/TransformerRegistryImplTestCase.java | 109 - .../impl/XMLDocumentStreamReaderTestCase.java | 57 - .../xml/BeanXMLStreamReaderTestCase.java | 192 -- .../sca/databinding/xml/DOM2StAXTestCase.java | 108 - .../sca/databinding/xml/DataPipeTestCase.java | 93 - .../xml/JavaBean2XMLStreamReaderTestCase.java | 144 -- .../sca/databinding/xml/Node2StringTestCase.java | 39 - .../xml/PushTransformationTestCase.java | 86 - .../sca/databinding/xml/StAXHelperTestCase.java | 55 - .../databinding/xml/TraxTransformerTestCase.java | 101 - .../xml/XmlTreeStreamReaderTestCase.java | 199 -- .../apache/tuscany/sca/databinding/impl/ipo.xsd | 136 -- .../apache/tuscany/sca/databinding/impl/order.wsdl | 76 - .../org/apache/tuscany/sca/databinding/xml/foo.xml | 22 - java/sca/contrib/modules/definitions-xml/LICENSE | 205 -- .../modules/definitions-xml/META-INF/MANIFEST.MF | 21 - java/sca/contrib/modules/definitions-xml/NOTICE | 6 - java/sca/contrib/modules/definitions-xml/pom.xml | 82 - .../xml/SCADefinitionsDocumentProcessor.java | 197 -- .../definitions/xml/SCADefinitionsProcessor.java | 257 -- ...ca.contribution.processor.StAXArtifactProcessor | 19 - ...sca.contribution.processor.URLArtifactProcessor | 19 - .../definitions-xml-validation-messages.properties | 22 - .../org/apache/tuscany/sca/definitions/Policy.java | 33 - .../sca/definitions/ReadDocumentTestCase.java | 190 -- .../sca/definitions/TestPolicyProcessor.java | 75 - .../tuscany/sca/definitions/test_definitions.xml | 255 -- java/sca/contrib/modules/definitions/LICENSE | 205 -- .../modules/definitions/META-INF/MANIFEST.MF | 21 - java/sca/contrib/modules/definitions/NOTICE | 6 - java/sca/contrib/modules/definitions/pom.xml | 70 - .../tuscany/sca/definitions/SCADefinitions.java | 82 - .../sca/definitions/SCADefinitionsBuilder.java | 34 - .../SCADefinitionsBuilderException.java | 43 - .../sca/definitions/SCADefinitionsBuilderImpl.java | 309 --- .../sca/definitions/impl/SCADefinitionsImpl.java | 71 - .../sca/definitions/util/SCADefinitionsUtil.java | 87 - java/sca/contrib/modules/domain-manager/LICENSE | 205 -- java/sca/contrib/modules/domain-manager/NOTICE | 6 - java/sca/contrib/modules/domain-manager/pom.xml | 209 -- .../impl/CompositeConfigurationCollectionImpl.java | 127 - .../impl/CompositeConfigurationServiceImpl.java | 518 ---- .../impl/CompositeGeneratorServiceImpl.java | 255 -- .../manager/impl/ContributionCollectionImpl.java | 656 ----- .../manager/impl/ContributionServiceImpl.java | 77 - .../impl/DeployableCompositeCollectionImpl.java | 403 ---- .../impl/DeployableCompositeServiceImpl.java | 128 - .../impl/DeployedCompositeCollectionImpl.java | 378 --- .../manager/impl/DomainManagerConfiguration.java | 53 - .../impl/DomainManagerConfigurationImpl.java | 85 - .../sca/domain/manager/impl/DomainManagerUtil.java | 296 --- .../domain/manager/impl/FileCollectionImpl.java | 136 -- .../sca/domain/manager/impl/FileServiceImpl.java | 153 -- .../manager/impl/NodeConfigurationServiceImpl.java | 96 - .../impl/NodeProcessCollectionFacadeImpl.java | 251 -- .../domain/manager/impl/QuickStartServiceImpl.java | 236 -- .../launcher/DomainManagerLauncherBootstrap.java | 95 - .../src/main/resources/DomainManager.composite | 281 --- .../src/main/resources/cloud-gadget.html | 408 ---- .../domain-manager/src/main/resources/cloud.html | 68 - .../src/main/resources/composite-gadget.html | 277 --- .../src/main/resources/composite.html | 66 - .../src/main/resources/files-gadget.html | 124 - .../domain-manager/src/main/resources/files.html | 64 - .../src/main/resources/home-gadget.html | 45 - .../domain-manager/src/main/resources/home.html | 65 - .../src/main/resources/icons/feed-icon.png | Bin 818 -> 0 bytes .../domain-manager/src/main/resources/manager.css | 104 - .../src/main/resources/toolbar-gadget.html | 47 - .../domain-manager/src/main/resources/utils.js | 246 -- .../src/main/resources/workspace-gadget.html | 232 -- .../src/main/resources/workspace.html | 65 - .../domain/manager/impl/DomainManagerTestCase.java | 117 - .../assets/META-INF/sca-contribution.xml | 27 - .../store/META-INF/sca-contribution.xml | 25 - .../src/test/resources/workspace.xml | 21 - java/sca/contrib/modules/endpoint/LICENSE | 205 -- .../contrib/modules/endpoint/META-INF/MANIFEST.MF | 31 - java/sca/contrib/modules/endpoint/NOTICE | 6 - java/sca/contrib/modules/endpoint/pom.xml | 122 - .../endpoint/impl/EndpointResolverFactoryImpl.java | 49 - .../sca/endpoint/impl/EndpointResolverImpl.java | 112 - ...ny.sca.endpointresolver.EndpointResolverFactory | 19 - .../apache/tuscany/sca/binding/sca/definitions.xml | 26 - .../src/test/java/calculator/AddService.java | 28 - .../src/test/java/calculator/AddServiceImpl.java | 35 - .../test/java/calculator/CalculatorService.java | 35 - .../java/calculator/CalculatorServiceImpl.java | 70 - .../src/test/java/calculator/DivideService.java | 28 - .../test/java/calculator/DivideServiceImpl.java | 35 - .../src/test/java/calculator/MultiplyService.java | 28 - .../test/java/calculator/MultiplyServiceImpl.java | 35 - .../src/test/java/calculator/SubtractService.java | 28 - .../test/java/calculator/SubtractServiceImpl.java | 35 - .../tuscany/sca/binding/sca/EndpointTestCase.java | 212 -- .../src/test/resources/Calculator.composite | 52 - .../contrib/modules/extensibility-equinox/LICENSE | 205 -- .../contrib/modules/extensibility-equinox/NOTICE | 6 - .../contrib/modules/extensibility-equinox/pom.xml | 112 - .../equinox/EquinoxServiceDiscoverer.java | 281 --- .../equinox/EquinoxServiceDiscoveryActivator.java | 46 - .../extensibility/equinox/EquinoxHostTestCase.java | 96 - .../equinox/EquinoxServiceDiscovererTestCase.java | 152 -- .../sca/extensibility/equinox/TestEquinoxHost.java | 100 - .../src/test/resources/test-bundle.jar | Bin 1797 -> 0 bytes .../sca/contrib/modules/extensibility-osgi/LICENSE | 205 -- java/sca/contrib/modules/extensibility-osgi/NOTICE | 6 - .../sca/contrib/modules/extensibility-osgi/pom.xml | 67 - .../extensibility/osgi/OSGiServiceDiscoverer.java | 359 --- .../osgi/OSGiServiceDiscoveryActivator.java | 45 - .../osgi/OSGiServiceDiscovererTestCase.java | 123 - .../src/test/resources/test-bundle.jar | Bin 1797 -> 0 bytes java/sca/contrib/modules/extensibility/LICENSE | 205 -- .../modules/extensibility/META-INF/MANIFEST.MF | 19 - java/sca/contrib/modules/extensibility/NOTICE | 6 - java/sca/contrib/modules/extensibility/pom.xml | 50 - .../sca/core/DefaultExtensionPointRegistry.java | 184 -- .../core/DefaultModuleActivatorExtensionPoint.java | 92 - .../sca/core/DefaultUtilityExtensionPoint.java | 184 -- .../tuscany/sca/core/ExtensionPointRegistry.java | 56 - .../apache/tuscany/sca/core/ModuleActivator.java | 60 - .../sca/core/ModuleActivatorExtensionPoint.java | 53 - .../tuscany/sca/core/UtilityExtensionPoint.java | 54 - .../ContextClassLoaderServiceDiscoverer.java | 248 -- .../sca/extensibility/ServiceDeclaration.java | 68 - .../sca/extensibility/ServiceDiscoverer.java | 37 - .../sca/extensibility/ServiceDiscovery.java | 170 -- ....tuscany.sca.core.ModuleActivatorExtensionPoint | 18 - ...g.apache.tuscany.sca.core.UtilityExtensionPoint | 18 - ...ontextClassLoaderServiceDiscovererTestCase.java | 72 - java/sca/contrib/modules/extension-helper/LICENSE | 205 -- java/sca/contrib/modules/extension-helper/NOTICE | 6 - java/sca/contrib/modules/extension-helper/pom.xml | 95 - .../sca/extension/helper/BindingActivator.java | 69 - .../sca/extension/helper/ComponentLifecycle.java | 32 - .../extension/helper/ImplementationActivator.java | 64 - .../sca/extension/helper/InvokerFactory.java | 34 - .../helper/impl/BindingSCDLProcessor.java | 194 -- .../extension/helper/impl/BindingsActivator.java | 262 -- .../sca/extension/helper/impl/DiscoveryUtils.java | 113 - .../impl/ImplementationImplementationProvider.java | 99 - .../helper/impl/ImplementationsActivator.java | 138 -- .../sca/extension/helper/impl/PojoBinding.java | 40 - .../extension/helper/impl/PojoImplementation.java | 58 - .../sca/extension/helper/impl/SCDLProcessor.java | 248 -- .../extension/helper/utils/AbstractBinding.java | 72 - .../helper/utils/AbstractImplementation.java | 153 -- .../utils/AbstractStAXArtifactProcessor.java | 132 -- .../utils/DefaultPropertyValueObjectFactory.java | 231 -- .../helper/utils/DynamicImplementation.java | 96 - .../helper/utils/PropertyValueObjectFactory.java | 33 - .../sca/extension/helper/utils/ResourceHelper.java | 70 - .../org.apache.tuscany.sca.core.ModuleActivator | 20 - java/sca/contrib/modules/host-corba-jee/LICENSE | 205 -- java/sca/contrib/modules/host-corba-jee/NOTICE | 6 - java/sca/contrib/modules/host-corba-jee/pom.xml | 63 - .../corba/jee/CorbaRuntimeModuleActivator.java | 52 - .../tuscany/sca/host/corba/jee/JEECorbaHost.java | 162 -- .../org.apache.tuscany.sca.core.ModuleActivator | 18 - .../corba/jee/testing/JEECorbaHostTestCase.java | 208 -- .../sca/host/corba/jee/testing/TestContext.java | 174 -- .../jee/testing/TestInitialContextFactory.java | 37 - .../corba/jee/testing/general/TestInterface.java | 30 - .../jee/testing/general/TestInterfaceHelper.java | 100 - .../jee/testing/general/TestInterfaceHolder.java | 51 - .../testing/general/TestInterfaceOperations.java | 31 - .../testing/general/_TestInterfaceImplBase.java | 74 - .../jee/testing/general/_TestInterfaceStub.java | 73 - .../jee/testing/servants/TestInterfaceServant.java | 35 - .../host-corba-jee/src/test/resources/general.idl | 45 - .../sca/contrib/modules/host-corba-jse-tns/LICENSE | 205 -- java/sca/contrib/modules/host-corba-jse-tns/NOTICE | 6 - .../sca/contrib/modules/host-corba-jse-tns/pom.xml | 71 - .../corba/jse/tns/CorbaRuntimeModuleActivator.java | 53 - .../host/corba/jse/tns/TnsDefaultCorbaHost.java | 116 - .../org.apache.tuscany.sca.core.ModuleActivator | 18 - .../corba/testing/TnsDefaultCorbaHostTestCase.java | 97 - java/sca/contrib/modules/host-corba-jse/LICENSE | 205 -- java/sca/contrib/modules/host-corba-jse/NOTICE | 6 - java/sca/contrib/modules/host-corba-jse/pom.xml | 57 - .../corba/jse/CorbaRuntimeModuleActivator.java | 48 - .../sca/host/corba/jse/DefaultCorbaHost.java | 181 -- .../sca/host/corba/naming/NamingContextBase.java | 863 ------- .../sca/host/corba/naming/TransientNameServer.java | 133 -- .../host/corba/naming/TransientNameService.java | 200 -- .../host/corba/naming/TransientNamingContext.java | 440 ---- .../corba/naming/TransientServiceException.java | 44 - .../org.apache.tuscany.sca.core.ModuleActivator | 18 - .../corba/testing/DefaultCorbaHostTestCase.java | 250 -- .../host/corba/testing/general/TestInterface.java | 30 - .../corba/testing/general/TestInterfaceHelper.java | 98 - .../corba/testing/general/TestInterfaceHolder.java | 51 - .../testing/general/TestInterfaceOperations.java | 31 - .../testing/general/_TestInterfaceImplBase.java | 74 - .../corba/testing/general/_TestInterfaceStub.java | 73 - .../testing/servants/TestInterfaceServant.java | 35 - .../host-corba-jse/src/test/resources/general.idl | 43 - java/sca/contrib/modules/host-corba/LICENSE | 205 -- java/sca/contrib/modules/host-corba/NOTICE | 6 - java/sca/contrib/modules/host-corba/pom.xml | 57 - .../apache/tuscany/sca/host/corba/CorbaHost.java | 56 - .../tuscany/sca/host/corba/CorbaHostException.java | 47 - .../sca/host/corba/CorbaHostExtensionPoint.java | 51 - .../tuscany/sca/host/corba/CorbaHostUtils.java | 61 - .../tuscany/sca/host/corba/CorbanameURL.java | 202 -- .../host/corba/DefaultCorbaHostExtensionPoint.java | 48 - .../sca/host/corba/ExtensibleCorbaHost.java | 55 - .../apache/tuscany/sca/host/corba/SocketUtil.java | 226 -- ....tuscany.sca.host.corba.CorbaHostExtensionPoint | 18 - .../tuscany/sca/host/corba/UtilsTestCase.java | 145 -- java/sca/contrib/modules/host-ejb/LICENSE | 205 -- java/sca/contrib/modules/host-ejb/NOTICE | 6 - java/sca/contrib/modules/host-ejb/pom.xml | 57 - .../sca/host/ejb/DefaultEJBHostExtensionPoint.java | 45 - .../org/apache/tuscany/sca/host/ejb/EJBHost.java | 62 - .../sca/host/ejb/EJBHostExtensionPoint.java | 51 - .../sca/host/ejb/EJBRegistrationException.java | 44 - .../tuscany/sca/host/ejb/EJBSessionBean.java | 45 - .../tuscany/sca/host/ejb/ExtensibleEJBHost.java | 69 - ...ache.tuscany.sca.host.ejb.EJBHostExtensionPoint | 18 - java/sca/contrib/modules/host-embedded/LICENSE | 205 -- java/sca/contrib/modules/host-embedded/NOTICE | 6 - java/sca/contrib/modules/host-embedded/pom.xml | 132 -- .../tuscany/sca/host/embedded/SCADomain.java | 226 -- .../tuscany/sca/host/embedded/SCADomainBean.java | 125 - .../sca/host/embedded/SCATestCaseRunner.java | 291 --- .../host/embedded/impl/ComponentManagerImpl.java | 120 - .../sca/host/embedded/impl/DefaultSCADomain.java | 339 --- .../sca/host/embedded/impl/EmbeddedSCADomain.java | 235 -- .../host/embedded/impl/HotUpdatableSCADomain.java | 389 --- .../sca/host/embedded/impl/ReallySmallRuntime.java | 385 --- .../embedded/impl/ReallySmallRuntimeBuilder.java | 275 --- .../embedded/management/ComponentListener.java | 34 - .../host/embedded/management/ComponentManager.java | 48 - .../sca/host/embedded/SCADomainBeanTestCase.java | 57 - .../sca/host/embedded/SCADomainTestCase.java | 56 - .../host/embedded/SCADomainZipsTestCaseFIXME.java | 51 - .../embedded/impl/DefaultSCADomainTestCase.java | 63 - .../embedded/impl/EmbeddedSCADomainTestCase.java | 189 -- .../sca/host/embedded/impl/TestModelResolver.java | 104 - .../DefaultTestImplementationFactory.java | 47 - .../test/extension/TestImplementation.java | 44 - .../test/extension/TestImplementationFactory.java | 37 - .../host/embedded/test/extension/TestService.java | 30 - .../extension/impl/TestImplementationImpl.java | 117 - .../impl/TestImplementationProcessor.java | 96 - .../test/extension/module/TestModuleActivator.java | 65 - .../provider/TestImplementationProvider.java | 64 - .../TestImplementationProviderFactory.java | 47 - .../test/extension/provider/TestInvoker.java | 52 - .../src/test/java/sample/Helloworld.java | 29 - .../org.apache.tuscany.sca.core.ModuleActivator | 18 - .../src/test/resources/helloworld.jar | Bin 4287 -> 0 bytes .../src/test/resources/helloworld.zip | Bin 4287 -> 0 bytes .../src/test/resources/test.composite | 30 - .../host-embedded/src/test/resources/test.txt | 16 - java/sca/contrib/modules/host-http/LICENSE | 205 -- java/sca/contrib/modules/host-http/NOTICE | 6 - java/sca/contrib/modules/host-http/pom.xml | 65 - .../sca/host/http/DefaultResourceServlet.java | 86 - .../http/DefaultServletHostExtensionPoint.java | 45 - .../sca/host/http/ExtensibleServletHost.java | 123 - .../apache/tuscany/sca/host/http/ServletHost.java | 111 - .../sca/host/http/ServletHostExtensionPoint.java | 51 - .../sca/host/http/ServletMappingException.java | 44 - ...tuscany.sca.host.http.ServletHostExtensionPoint | 18 - java/sca/contrib/modules/host-jetty/LICENSE | 205 -- java/sca/contrib/modules/host-jetty/NOTICE | 6 - java/sca/contrib/modules/host-jetty/pom.xml | 76 - .../sca/http/jetty/JettyDefaultServlet.java | 90 - .../apache/tuscany/sca/http/jetty/JettyLogger.java | 87 - .../apache/tuscany/sca/http/jetty/JettyServer.java | 486 ---- .../jetty/module/JettyRuntimeModuleActivator.java | 77 - .../org.apache.tuscany.sca.core.ModuleActivator | 18 - .../sca/http/jetty/JettyServerTestCase.java | 323 --- .../src/test/resources/content/test.html | 21 - .../host-jetty/src/test/resources/tuscany.keyStore | Bin 1265 -> 0 bytes java/sca/contrib/modules/host-openejb/LICENSE | 205 -- java/sca/contrib/modules/host-openejb/NOTICE | 6 - java/sca/contrib/modules/host-openejb/pom.xml | 97 - .../openejb/OpenEJBRuntimeModuleActivator.java | 52 - .../tuscany/sca/host/openejb/OpenEJBServer.java | 127 - .../org.apache.tuscany.sca.core.ModuleActivator | 19 - .../sca/host/openejb/OpenEJBServerTestCase.java | 86 - java/sca/contrib/modules/host-osgi/LICENSE | 251 -- java/sca/contrib/modules/host-osgi/NOTICE | 17 - java/sca/contrib/modules/host-osgi/pom.xml | 76 - .../org.apache.tuscany.sca.core.ModuleActivator | 18 - java/sca/contrib/modules/host-rmi/LICENSE | 205 -- java/sca/contrib/modules/host-rmi/NOTICE | 6 - java/sca/contrib/modules/host-rmi/pom.xml | 57 - .../tuscany/sca/host/rmi/DefaultRMIHost.java | 127 - .../sca/host/rmi/DefaultRMIHostExtensionPoint.java | 49 - .../tuscany/sca/host/rmi/ExtensibleRMIHost.java | 73 - .../org/apache/tuscany/sca/host/rmi/RMIHost.java | 90 - .../tuscany/sca/host/rmi/RMIHostException.java | 45 - .../sca/host/rmi/RMIHostExtensionPoint.java | 51 - .../sca/host/rmi/RMIHostRuntimeException.java | 46 - ...ache.tuscany.sca.host.rmi.RMIHostExtensionPoint | 18 - .../tuscany/sca/host/rmi/RMIHostImplTestCase.java | 90 - java/sca/contrib/modules/host-tomcat/LICENSE | 205 -- java/sca/contrib/modules/host-tomcat/NOTICE | 6 - java/sca/contrib/modules/host-tomcat/pom.xml | 87 - .../tuscany/sca/http/tomcat/ServletWrapper.java | 58 - .../sca/http/tomcat/TomcatDefaultServlet.java | 114 - .../tuscany/sca/http/tomcat/TomcatServer.java | 653 ----- .../module/TomcatRuntimeModuleActivator.java | 69 - .../org.apache.tuscany.sca.core.ModuleActivator | 18 - .../sca/http/tomcat/TomcatServerTestCase.java | 353 --- .../src/test/resources/content/test.html | 21 - .../src/test/resources/tuscany.keyStore | Bin 1265 -> 0 bytes java/sca/contrib/modules/host-webapp-junit/LICENSE | 205 -- java/sca/contrib/modules/host-webapp-junit/NOTICE | 6 - java/sca/contrib/modules/host-webapp-junit/pom.xml | 67 - .../sca/host/webapp/junit/JUnitServletFilter.java | 355 --- .../sca/host/webapp/junit/XMLFormatter.java | 286 --- java/sca/contrib/modules/host-webapp/LICENSE | 241 -- java/sca/contrib/modules/host-webapp/NOTICE | 12 - java/sca/contrib/modules/host-webapp/pom.xml | 85 - .../sca/host/webapp/HotUpdateContextListener.java | 57 - .../tuscany/sca/host/webapp/SCADomainHelper.java | 72 - .../sca/host/webapp/TuscanyContextListener.java | 73 - .../tuscany/sca/host/webapp/TuscanyServlet.java | 67 - .../sca/host/webapp/TuscanyServletFilter.java | 103 - .../sca/host/webapp/WebAppModuleActivator.java | 66 - .../sca/host/webapp/WebAppRequestDispatcher.java | 114 - .../tuscany/sca/host/webapp/WebAppServletHost.java | 338 --- .../tuscany/sca/host/webapp/WebSCADomain.java | 53 - .../tuscany/sca/host/webapp/jsp/ReferenceTEI.java | 45 - .../tuscany/sca/host/webapp/jsp/ReferenceTag.java | 118 - .../src/main/resources/META-INF/sca.tld | 51 - .../org.apache.tuscany.sca.core.ModuleActivator | 18 - .../modules/implementation-bpel-jbpm/LICENSE | 251 -- .../modules/implementation-bpel-jbpm/NOTICE | 17 - .../modules/implementation-bpel-jbpm/pom.xml | 140 -- ...cany.sca.provider.ImplementationProviderFactory | 22 - .../modules/implementation-bpel-ode/LICENSE | 251 -- .../contrib/modules/implementation-bpel-ode/NOTICE | 17 - .../modules/implementation-bpel-ode/pom.xml | 441 ---- .../implementation/bpel/ode/BPELODEDeployFile.java | 226 -- .../implementation/bpel/ode/EmbeddedODEServer.java | 270 --- .../implementation/bpel/ode/GeronimoTxFactory.java | 48 - .../implementation/bpel/ode/ODEBindingContext.java | 79 - .../sca/implementation/bpel/ode/ODEDeployment.java | 44 - .../bpel/ode/ODEDeploymentException.java | 41 - .../bpel/ode/ODEExternalService.java | 285 --- .../bpel/ode/ODEInitializationException.java | 41 - .../bpel/ode/ODEMessageExchangeContext.java | 57 - .../bpel/ode/ODEShutdownException.java | 41 - .../sca/implementation/bpel/ode/TuscanyEPR.java | 54 - .../sca/implementation/bpel/ode/TuscanyPRC.java | 71 - .../bpel/ode/TuscanyProcessConfImpl.java | 434 ---- .../ode/provider/BPELImplementationProvider.java | 145 -- .../BPELImplementationProviderFactory.java | 69 - .../bpel/ode/provider/BPELInvoker.java | 251 -- ...cany.sca.provider.ImplementationProviderFactory | 19 - .../bpel/ode/EmbeddedODEServerTestCase.java | 148 -- .../src/test/resources/helloworld/deploy.xml | 30 - .../src/test/resources/helloworld/greetings.wsdl | 87 - .../src/test/resources/helloworld/helloworld.bpel | 66 - .../src/test/resources/helloworld/helloworld.wsdl | 82 - .../src/test/resources/log4j.properties | 36 - .../contrib/modules/implementation-bpel/LICENSE | 251 -- .../sca/contrib/modules/implementation-bpel/NOTICE | 17 - .../contrib/modules/implementation-bpel/pom.xml | 98 - .../sca/implementation/bpel/BPELFactory.java | 42 - .../implementation/bpel/BPELImplementation.java | 91 - .../implementation/bpel/BPELProcessDefinition.java | 109 - .../implementation/bpel/impl/BPELFactoryImpl.java | 45 - .../bpel/impl/BPELImplementationImpl.java | 132 -- .../bpel/impl/BPELProcessDefinitionImpl.java | 116 - .../bpel/xml/BPELDocumentProcessor.java | 532 ----- .../bpel/xml/BPELImplementationProcessor.java | 518 ---- .../implementation/bpel/xml/BPELImportElement.java | 65 - .../bpel/xml/BPELPartnerLinkElement.java | 130 - .../bpel/xml/BPELPartnerLinkTypeElement.java | 112 - ...ca.contribution.processor.StAXArtifactProcessor | 19 - ...sca.contribution.processor.URLArtifactProcessor | 19 - ...che.tuscany.sca.implementation.bpel.BPELFactory | 18 - .../impl-bpel-validation-messages.properties | 34 - .../bpel/BPELDocumentProcessorTestCase.java | 59 - .../bpel/BPELImplementationProcessorTestCase.java | 111 - .../src/test/resources/helloworld/helloworld.bpel | 66 - .../src/test/resources/helloworld/helloworld.wsdl | 82 - .../sca/contrib/modules/implementation-das/LICENSE | 205 -- java/sca/contrib/modules/implementation-das/NOTICE | 6 - java/sca/contrib/modules/implementation-das/README | 78 - .../contrib/modules/implementation-das/build.xml | 51 - .../contrib/modules/implementation-das/company.sql | 28 - .../sca/contrib/modules/implementation-das/pom.xml | 186 -- .../tuscany/sca/implementation/das/Constants.java | 33 - .../apache/tuscany/sca/implementation/das/DAS.java | 49 - .../sca/implementation/das/DASImplementation.java | 146 -- .../das/DASImplementationFactory.java | 36 - .../das/DASImplementationProcessor.java | 271 --- .../das/DefaultDASImplementationFactory.java | 46 - .../implementation/das/annotations/Command.java | 36 - .../das/provider/DASImplementationProvider.java | 75 - .../provider/DASImplementationProviderFactory.java | 47 - .../implementation/das/provider/DASInvoker.java | 87 - ...ca.contribution.processor.StAXArtifactProcessor | 19 - ...cany.sca.provider.ImplementationProviderFactory | 19 - .../impl-das-validation-messages.properties | 23 - .../das/DASImplementationProcessorTestCase.java | 179 -- .../sca/implementation/das/DASTestCase.java | 73 - .../implementation/das/company/CompanyService.java | 33 - .../das/company/CompanyServiceTestCase.java | 62 - .../src/test/resources/company.componentType | 29 - .../src/test/resources/company.composite | 35 - .../src/test/resources/company.xml | 45 - .../src/test/resources/das.composite | 35 - .../modules/implementation-data-xml/LICENSE | 205 -- .../contrib/modules/implementation-data-xml/NOTICE | 6 - .../contrib/modules/implementation-data-xml/README | 78 - .../modules/implementation-data-xml/build.xml | 51 - .../modules/implementation-data-xml/company.sql | 28 - .../modules/implementation-data-xml/pom.xml | 208 -- .../tuscany/sca/implementation/data/DATA.java | 64 - .../sca/implementation/data/DATACollection.java | 28 - .../implementation/data/DATAImplementation.java | 161 -- .../data/DATAImplementationFactory.java | 44 - .../data/DATAImplementationProcessor.java | 132 -- .../sca/implementation/data/jdbc/JDBCHelper.java | 215 -- .../data/jdbc/JDBCResultSetStreamReader.java | 53 - .../data/jdbc/ResultSetXmlNodeImpl.java | 251 -- .../data/provider/DATAImplementationProvider.java | 98 - .../DATAImplementationProviderFactory.java | 47 - .../implementation/data/provider/DATAInvoker.java | 583 ----- ...ca.contribution.processor.StAXArtifactProcessor | 19 - ...cany.sca.provider.ImplementationProviderFactory | 19 - .../data/DATACollectionTestCaseFIXME.java | 118 - .../data/DATAImplementationProcessorTestCase.java | 133 -- .../sca/implementation/data/DATATestCase.java | 133 -- .../data/companyFeed/CompanyFeed.java | 62 - .../data/companyFeed/CompanyFeedTestCaseFIXME.java | 51 - .../src/test/resources/data-feed.composite | 50 - .../src/test/resources/data.composite | 36 - .../src/test/resources/insert.xml | 9 - .../src/test/resources/update.xml | 7 - .../sca/contrib/modules/implementation-ejb/LICENSE | 205 -- java/sca/contrib/modules/implementation-ejb/NOTICE | 6 - .../sca/contrib/modules/implementation-ejb/pom.xml | 81 - .../sca/implementation/ejb/EJBImplementation.java | 44 - .../ejb/EJBImplementationFactory.java | 36 - .../ejb/impl/EJBImplementationFactoryImpl.java | 39 - .../ejb/impl/EJBImplementationImpl.java | 95 - .../ejb/xml/EJBImplementationProcessor.java | 148 -- ...ca.contribution.processor.StAXArtifactProcessor | 19 - ...sca.implementation.ejb.EJBImplementationFactory | 19 - .../impl-ejb-validation-messages.properties | 21 - .../sca/implementation/ejb/xml/ReadTestCase.java | 84 - .../sca/implementation/ejb/xml/WriteTestCase.java | 68 - .../sca/implementation/ejb/xml/TestEJB.composite | 29 - .../modules/implementation-java-runtime/LICENSE | 205 -- .../META-INF/MANIFEST.MF | 61 - .../modules/implementation-java-runtime/NOTICE | 6 - .../modules/implementation-java-runtime/pom.xml | 81 - .../java/context/InstanceFactory.java | 43 - .../java/context/InstanceFactoryProvider.java | 49 - .../java/context/ReflectiveInstanceFactory.java | 86 - .../java/context/ReflectiveInstanceWrapper.java | 56 - .../injection/ArrayMultiplicityObjectFactory.java | 54 - .../java/injection/ContextInjector.java | 32 - .../injection/ConversationIDObjectFactory.java | 39 - .../java/injection/FieldInjector.java | 67 - .../java/injection/InjectionRuntimeException.java | 45 - .../implementation/java/injection/Injector.java | 35 - .../java/injection/InvalidAccessorException.java | 43 - .../injection/JavaPropertyValueObjectFactory.java | 325 --- .../injection/ListMultiplicityObjectFactory.java | 50 - .../java/injection/MethodInjector.java | 64 - .../injection/RequestContextObjectFactory.java | 55 - .../java/injection/ResourceHost.java | 46 - .../java/injection/ResourceNotFoundException.java | 51 - .../java/injection/ResourceObjectFactory.java | 87 - .../injection/ResourceResolutionException.java | 43 - .../java/invocation/EventInvocationException.java | 47 - .../java/invocation/EventInvoker.java | 34 - .../InvalidConversationSequenceException.java | 46 - .../JavaCallbackRuntimeWireProcessor.java | 106 - .../invocation/JavaComponentContextFactory.java | 40 - .../invocation/JavaComponentContextProvider.java | 404 ---- .../java/invocation/JavaComponentNameFactory.java | 40 - .../java/invocation/JavaImplementationInvoker.java | 199 -- .../invocation/JavaImplementationProvider.java | 204 -- .../JavaImplementationProviderFactory.java | 76 - .../invocation/JavaInstanceFactoryProvider.java | 183 -- .../JavaPolicyHandlingRuntimeWireProcessor.java | 126 - .../java/invocation/MethodEventInvoker.java | 56 - .../NoConversationalContractException.java | 34 - .../java/invocation/PolicyHandlingInterceptor.java | 74 - .../java/module/JavaRuntimeModuleActivator.java | 111 - .../org.apache.tuscany.sca.core.ModuleActivator | 18 - .../java/context/MultiplicityTestCase.java | 34 - .../context/ReflectiveInstanceWrapperTestCase.java | 84 - .../CallbackWireObjectFactoryTestCase.java | 54 - .../java/injection/FieldInjectorTestCase.java | 49 - .../JavaPropertyValueObjectFactoryTestCase.java | 449 ---- .../java/injection/MethodEventInvokerTestCase.java | 76 - .../java/injection/MethodInjectorTestCase.java | 80 - .../RequestContextObjectFactoryTestCase.java | 33 - .../injection/ResourceObjectFactoryTestCase.java | 89 - .../java/injection/SingletonObjectFactory.java | 39 - .../injection/SingletonObjectFactoryTestCase.java | 33 - .../java/injection/TestObjectFactory.java | 120 - .../java/injection/TestObjectFactoryTestCase.java | 77 - .../sca/implementation/java/util/Bean1.java | 50 - .../sca/implementation/java/util/Bean2.java | 51 - .../sca/implementation/java/util/Entry.java | 32 - .../java/util/JavaIntrospectionHelperTestCase.java | 185 -- .../sca/implementation/java/util/SuperBean.java | 48 - .../modules/implementation-java-xml/LICENSE | 205 -- .../implementation-java-xml/META-INF/MANIFEST.MF | 39 - .../contrib/modules/implementation-java-xml/NOTICE | 6 - .../modules/implementation-java-xml/pom.xml | 112 - .../java/xml/JavaImplementationConstants.java | 36 - .../java/xml/JavaImplementationProcessor.java | 315 --- ...ca.contribution.processor.StAXArtifactProcessor | 19 - .../impl-javaxml-validation-messages.properties | 23 - .../src/test/java/calculator/AddService.java | 30 - .../src/test/java/calculator/AddServiceImpl.java | 37 - .../test/java/calculator/CalculatorService.java | 36 - .../java/calculator/CalculatorServiceImpl.java | 73 - .../src/test/java/calculator/DivideService.java | 30 - .../test/java/calculator/DivideServiceImpl.java | 35 - .../src/test/java/calculator/MultiplyService.java | 30 - .../test/java/calculator/MultiplyServiceImpl.java | 35 - .../src/test/java/calculator/SubtractService.java | 30 - .../test/java/calculator/SubtractServiceImpl.java | 35 - .../sca/implementation/java/xml/ReadTestCase.java | 224 -- .../implementation/java/xml/TestModelResolver.java | 88 - .../sca/implementation/java/xml/WriteTestCase.java | 64 - .../implementation/java/xml/Calculator.composite | 66 - .../sca/implementation/java/xml/definitions.xml | 100 - .../java/xml/definitions_with_policysets.xml | 133 -- .../contrib/modules/implementation-java/LICENSE | 205 -- .../implementation-java/META-INF/MANIFEST.MF | 39 - .../sca/contrib/modules/implementation-java/NOTICE | 6 - .../contrib/modules/implementation-java/pom.xml | 84 - .../java/BaseJavaImplementation.java | 59 - .../java/DefaultJavaImplementationFactory.java | 33 - .../java/IntrospectionException.java | 60 - .../implementation/java/JavaImplementation.java | 198 -- .../java/JavaImplementationFactory.java | 75 - .../java/impl/BaseJavaImplementationImpl.java | 89 - .../java/impl/JavaClassIntrospectorImpl.java | 141 -- .../java/impl/JavaConstructorImpl.java | 53 - .../implementation/java/impl/JavaElementImpl.java | 224 -- .../java/impl/JavaImplementationActivator.java | 86 - .../java/impl/JavaImplementationFactoryImpl.java | 70 - .../java/impl/JavaImplementationImpl.java | 168 -- .../java/impl/JavaParameterImpl.java | 35 - .../implementation/java/impl/JavaResourceImpl.java | 85 - .../implementation/java/impl/JavaScopeImpl.java | 66 - .../java/introspect/JavaClassVisitor.java | 126 - .../introspect/impl/AbstractPropertyProcessor.java | 192 -- .../impl/AllowsPassByReferenceProcessor.java | 51 - .../impl/AmbiguousConstructorException.java | 40 - .../java/introspect/impl/BaseJavaClassVisitor.java | 64 - .../introspect/impl/ComponentNameProcessor.java | 80 - .../java/introspect/impl/ConstructorProcessor.java | 83 - .../java/introspect/impl/ContextProcessor.java | 82 - .../introspect/impl/ConversationIDProcessor.java | 70 - .../introspect/impl/ConversationProcessor.java | 132 -- .../java/introspect/impl/DestroyProcessor.java | 61 - .../impl/DuplicateConstructorException.java | 41 - .../impl/DuplicateDestructorException.java | 35 - .../introspect/impl/DuplicateInitException.java | 35 - .../impl/DuplicatePropertyException.java | 34 - .../impl/DuplicateReferenceException.java | 35 - .../impl/DuplicateResourceException.java | 36 - .../java/introspect/impl/EagerInitProcessor.java | 57 - .../introspect/impl/HeuristicPojoProcessor.java | 615 ----- .../impl/IllegalCallbackReferenceException.java | 40 - .../introspect/impl/IllegalContextException.java | 40 - .../impl/IllegalDestructorException.java | 40 - .../java/introspect/impl/IllegalInitException.java | 40 - .../introspect/impl/IllegalPropertyException.java | 40 - .../introspect/impl/IllegalReferenceException.java | 40 - .../introspect/impl/IllegalResourceException.java | 40 - .../impl/IllegalServiceDefinitionException.java | 35 - .../java/introspect/impl/InitProcessor.java | 61 - .../impl/InvalidConstructorException.java | 36 - .../impl/InvalidConversationalImplementation.java | 39 - .../introspect/impl/InvalidPropertyException.java | 35 - .../introspect/impl/InvalidReferenceException.java | 42 - .../introspect/impl/InvalidResourceException.java | 40 - .../java/introspect/impl/InvalidServiceType.java | 48 - .../introspect/impl/JavaIntrospectionHelper.java | 577 ----- .../introspect/impl/NoConstructorException.java | 37 - .../java/introspect/impl/PolicyProcessor.java | 292 --- .../java/introspect/impl/PropertyProcessor.java | 46 - .../java/introspect/impl/ReferenceProcessor.java | 208 -- .../java/introspect/impl/Resource.java | 49 - .../java/introspect/impl/ResourceProcessor.java | 137 -- .../java/introspect/impl/ScopeProcessor.java | 61 - .../java/introspect/impl/ServiceProcessor.java | 184 -- .../impl/ServiceTypeNotFoundException.java | 35 - .../impl/UnknownContextTypeException.java | 33 - .../org.apache.tuscany.sca.core.ModuleActivator | 18 - ...a.implementation.java.JavaImplementationFactory | 18 - .../introspect/impl/AbstractProcessorTest.java | 76 - .../impl/AbstractPropertyProcessorTestCase.java | 169 -- .../AllowsPassByReferenceProcessorTestCase.java | 71 - .../impl/ConstructorProcessorTestCase.java | 192 -- .../impl/ConstructorPropertyTestCase.java | 157 -- .../impl/ConstructorReferenceTestCase.java | 167 -- .../impl/ConstructorResourceTestCase.java | 152 -- .../introspect/impl/ContextProcessorTestCase.java | 201 -- .../impl/ConversationIDProcessorTestCase.java | 94 - .../impl/ConversationProcessorTestCase.java | 144 -- .../introspect/impl/ConvertTimeMillisTestCase.java | 117 - .../introspect/impl/DestroyProcessorTestCase.java | 129 - .../impl/EagerInitProcessorTestCase.java | 59 - .../impl/HeuristicAndPropertyTestCase.java | 71 - .../impl/HeuristicConstructorTestCase.java | 310 --- .../impl/HeuristicPojoProcessorTestCase.java | 562 ----- .../HeutisticExtensibleConstructorTestCase.java | 148 -- .../introspect/impl/InitProcessorTestCase.java | 145 -- .../impl/JavaClassIntrospectorImplTestCase.java | 95 - .../java/introspect/impl/ModelHelper.java | 99 - .../introspect/impl/PolicyProcessorTestCase.java | 418 ---- .../introspect/impl/PropertyProcessorTestCase.java | 212 -- .../impl/ReferenceProcessorTestCase.java | 221 -- .../introspect/impl/ResourceProcessorTestCase.java | 119 - .../introspect/impl/ScopeProcessorTestCase.java | 113 - .../introspect/impl/ServiceCallbackTestCase.java | 183 -- .../introspect/impl/ServiceProcessorTestCase.java | 158 -- .../sca/contrib/modules/implementation-jee/LICENSE | 205 -- java/sca/contrib/modules/implementation-jee/NOTICE | 6 - .../sca/contrib/modules/implementation-jee/pom.xml | 84 - .../sca/implementation/jee/JEEImplementation.java | 43 - .../jee/JEEImplementationFactory.java | 36 - .../jee/impl/JEEImplementationFactoryImpl.java | 38 - .../jee/impl/JEEImplementationImpl.java | 95 - .../jee/xml/JEEImplementationProcessor.java | 120 - ...ca.contribution.processor.StAXArtifactProcessor | 21 - ...sca.implementation.jee.JEEImplementationFactory | 21 - .../sca/implementation/jee/xml/ReadTestCase.java | 83 - .../sca/implementation/jee/xml/WriteTestCase.java | 68 - .../sca/implementation/jee/xml/TestJEE.composite | 31 - .../modules/implementation-node-runtime/LICENSE | 205 -- .../modules/implementation-node-runtime/NOTICE | 6 - .../modules/implementation-node-runtime/pom.xml | 103 - .../NodeImplementationDaemonBootstrap.java | 85 - .../NodeImplementationLauncherBootstrap.java | 149 -- .../launcher/NodeImplementationLauncherUtil.java | 51 - .../node/provider/NodeImplementationInvoker.java | 44 - .../node/provider/NodeImplementationProvider.java | 62 - .../NodeImplementationProviderFactory.java | 49 - .../node/webapp/NodeWebAppRequestDispatcher.java | 119 - .../node/webapp/NodeWebAppServletHost.java | 392 --- ...cany.sca.provider.ImplementationProviderFactory | 19 - .../node/NodeImplementationTestCase.java | 48 - .../src/test/resources/TestComposite.composite | 29 - .../src/test/resources/TestNode.composite | 30 - .../contrib/modules/implementation-node/LICENSE | 205 -- .../implementation-node/META-INF/MANIFEST.MF | 36 - .../sca/contrib/modules/implementation-node/NOTICE | 6 - .../contrib/modules/implementation-node/pom.xml | 93 - .../node/ConfiguredNodeImplementation.java | 54 - .../implementation/node/NodeImplementation.java | 45 - .../node/NodeImplementationFactory.java | 42 - .../builder/impl/NodeCompositeBuilderImpl.java | 109 - .../impl/ConfiguredNodeImplementationImpl.java | 104 - .../node/impl/NodeImplementationFactoryImpl.java | 44 - .../node/impl/NodeImplementationImpl.java | 97 - .../xml/ConfiguredNodeImplementationProcessor.java | 196 -- .../node/xml/NodeImplementationProcessor.java | 119 - ...ca.contribution.processor.StAXArtifactProcessor | 20 - ...a.implementation.node.NodeImplementationFactory | 19 - .../builder/impl/CalculateBindingURITestCase.java | 587 ----- .../sca/implementation/node/xml/ReadTestCase.java | 81 - .../sca/implementation/node/xml/WriteTestCase.java | 65 - .../node/xml/TestComposite.composite | 29 - .../sca/implementation/node/xml/TestNode.composite | 64 - .../modules/implementation-notification/LICENSE | 205 -- .../modules/implementation-notification/NOTICE | 6 - .../modules/implementation-notification/pom.xml | 110 - .../DefaultNotificationImplementationFactory.java | 33 - .../notification/ImmutableMessage.java | 98 - .../notification/NotificationComponentInvoker.java | 112 - .../NotificationImplementationFactory.java | 27 - .../NotificationImplementationImpl.java | 96 - .../NotificationImplementationProcessor.java | 99 - .../NotificationImplementationProvider.java | 67 - .../NotificationImplementationProviderFactory.java | 38 - .../notification/NotificationModuleActivator.java | 49 - .../org.apache.tuscany.sca.core.ModuleActivator | 19 - .../NotificationComponentTestCase.java | 136 -- .../NotificationImplementationLoaderTestCase.java | 56 - ...afficAdvisoryNotificationTestCase.componentType | 30 - .../contrib/modules/implementation-openjpa/LICENSE | 205 -- .../contrib/modules/implementation-openjpa/NOTICE | 6 - .../contrib/modules/implementation-openjpa/README | 33 - .../contrib/modules/implementation-openjpa/pom.xml | 132 -- .../implementation/openjpa/JPAImplementation.java | 36 - .../openjpa/JPAImplementationFactory.java | 24 - .../openjpa/JPAImplementationProcessor.java | 99 - .../openjpa/PersistenceUnitInfoImplProcessor.java | 109 - .../openjpa/TuscanyBrokerFactory.java | 100 - .../implementation/openjpa/TuscanyBrokerImpl.java | 37 - .../openjpa/TuscanyJDBCConfigurationImpl.java | 59 - .../openjpa/TuscanyManagerRuntime.java | 51 - .../openjpa/TuscanyStoreManager.java | 49 - .../openjpa/impl/JPAImplementationFactoryImpl.java | 39 - .../openjpa/impl/JPAImplementationImpl.java | 119 - .../provider/JPAImplementationProvider.java | 101 - .../provider/JPAImplementationProviderFactory.java | 45 - .../openjpa/provider/JPAInvoker.java | 63 - ...ca.contribution.processor.StAXArtifactProcessor | 19 - ...ementation.openjpa.OpenJpaImplementationFactory | 18 - ...cany.sca.provider.ImplementationProviderFactory | 19 - .../implementation/openjpa/ImplJpaTestCase.java | 69 - .../src/test/java/sample/Abc.java | 34 - .../src/test/java/sample/Message.java | 72 - .../src/test/java/sample/MyObject.java | 33 - .../src/test/resources/openjpa.composite | 44 - .../modules/implementation-openjpa/test/db.lck | Bin 38 -> 0 bytes .../implementation-openjpa/test/log/log.ctrl | Bin 48 -> 0 bytes .../implementation-openjpa/test/log/log1.dat | Bin 1048576 -> 0 bytes .../implementation-openjpa/test/log/logmirror.ctrl | Bin 48 -> 0 bytes .../implementation-openjpa/test/seg0/c10.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c101.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c111.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c121.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c130.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c141.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c150.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c161.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c171.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c180.dat | Bin 24576 -> 0 bytes .../implementation-openjpa/test/seg0/c191.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c1a1.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c1b1.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c1c0.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c1d1.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c1e0.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c1f1.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c20.dat | Bin 20480 -> 0 bytes .../implementation-openjpa/test/seg0/c200.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c211.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c221.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c230.dat | Bin 118784 -> 0 bytes .../implementation-openjpa/test/seg0/c241.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c251.dat | Bin 12288 -> 0 bytes .../implementation-openjpa/test/seg0/c260.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c271.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c281.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c290.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c2a1.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c2b1.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c2c1.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c2d0.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c2e1.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c2f0.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c300.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c31.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c311.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c320.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c331.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c41.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c51.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c60.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c71.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c81.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/c90.dat | Bin 20480 -> 0 bytes .../implementation-openjpa/test/seg0/ca1.dat | Bin 20480 -> 0 bytes .../implementation-openjpa/test/seg0/cb1.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/cc0.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/cd1.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/ce1.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/seg0/cf0.dat | Bin 8192 -> 0 bytes .../implementation-openjpa/test/service.properties | 22 - .../contrib/modules/implementation-osgi/LICENSE | 203 -- .../sca/contrib/modules/implementation-osgi/NOTICE | 6 - .../contrib/modules/implementation-osgi/pom.xml | 164 -- .../implementation/osgi/OSGiImplementation.java | 45 - .../osgi/context/OSGiAnnotations.java | 325 --- .../osgi/context/OSGiPropertyInjector.java | 293 --- .../context/OSGiPropertyValueObjectFactory.java | 226 -- .../osgi/impl/OSGiImplementationImpl.java | 168 -- .../osgi/runtime/OSGiImplementationProvider.java | 1254 ---------- .../runtime/OSGiImplementationProviderFactory.java | 111 - .../osgi/runtime/OSGiInstanceWrapper.java | 299 --- .../osgi/runtime/OSGiRemotableInvoker.java | 139 -- .../osgi/runtime/OSGiTargetInvoker.java | 199 -- .../osgi/xml/OSGiImplementationProcessor.java | 550 ----- ...ca.contribution.processor.StAXArtifactProcessor | 19 - ...cany.sca.provider.ImplementationProviderFactory | 19 - .../impl-osgi-validation-messages.properties | 25 - .../osgi/runtime/OSGiPropertyTestCase.java | 49 - .../implementation/osgi/runtime/OSGiTestCase.java | 74 - .../implementation/osgi/test/OSGiTestBundles.java | 116 - .../sca/implementation/osgi/test/OSGiTestImpl.java | 51 - .../osgi/test/OSGiTestInterface.java | 32 - .../osgi/test/OSGiTestWithPropertyImpl.java | 66 - .../osgi/xml/OSGiReadImplTestCase.java | 132 -- .../implementation/osgi/xml/TestModelResolver.java | 106 - .../test/resources/OSGiTestService.componentType | 28 - .../src/test/resources/osgiproptest.composite | 37 - .../src/test/resources/osgitest.composite | 36 - .../implementation-resource-runtime/LICENSE | 205 -- .../modules/implementation-resource-runtime/NOTICE | 6 - .../implementation-resource-runtime/pom.xml | 86 - .../resource/provider/GetResourceInvoker.java | 67 - .../provider/ResourceImplementationProvider.java | 75 - .../ResourceImplementationProviderFactory.java | 47 - ...cany.sca.provider.ImplementationProviderFactory | 19 - .../resource/ResourceImplementationTestCase.java | 77 - .../src/test/resources/content/test.html | 21 - .../src/test/resources/resource.composite | 30 - .../modules/implementation-resource/LICENSE | 205 -- .../contrib/modules/implementation-resource/NOTICE | 6 - .../modules/implementation-resource/pom.xml | 79 - .../sca/implementation/resource/Resource.java | 34 - .../resource/ResourceImplementation.java | 57 - .../resource/ResourceImplementationFactory.java | 35 - .../impl/ResourceImplementationFactoryImpl.java | 47 - .../resource/impl/ResourceImplementationImpl.java | 130 - .../impl/ResourceImplementationProcessor.java | 167 -- ...ca.contribution.processor.StAXArtifactProcessor | 19 - ...entation.resource.ResourceImplementationFactory | 19 - .../impl-resource-validation-messages.properties | 23 - .../contrib/modules/implementation-script/LICENSE | 251 -- .../contrib/modules/implementation-script/NOTICE | 12 - .../contrib/modules/implementation-script/pom.xml | 197 -- .../script/ScriptImplementation.java | 99 - .../script/ScriptImplementationActivator.java | 49 - .../sca/implementation/script/ScriptInvoker.java | 84 - .../script/ScriptInvokerFactory.java | 173 -- .../script/engines/TuscanyJRubyScriptEngine.java | 697 ------ ...ny.sca.extension.helper.ImplementationActivator | 18 - .../script/itests/AbstractSCATestCase.java | 54 - .../itests/dynamic/AbstractHelloWorldTestCase.java | 38 - .../script/itests/dynamic/HelloWorld.java | 31 - .../dynamic/JavaScriptDynamicRefTestCase.java | 29 - .../dynamic/JavaScriptHelloWorldTestCase.java | 34 - .../helloworld/AbstractHelloWorldTestCase.java | 38 - .../helloworld/GroovyHelloWorldTestCase.java | 29 - .../script/itests/helloworld/HelloWorld.java | 30 - .../script/itests/helloworld/HelloWorldProxy.java | 37 - .../itests/helloworld/JRubyHelloWorldTestCase.java | 29 - .../JavaScripInlineHelloWorldTestCase.java | 29 - .../helloworld/JavaScriptHelloWorldTestCase.java | 29 - .../helloworld/JythonHelloWorldTestCase.java | 29 - .../properties/AbstractHelloWorldTestCase.java | 38 - .../properties/GroovyHelloWorldTestCase.java | 29 - .../script/itests/properties/HelloWorld.java | 30 - .../script/itests/properties/HelloWorldProxy.java | 37 - .../itests/properties/JRubyHelloWorldTestCase.java | 28 - .../properties/JavaScriptHelloWorldTestCase.java | 29 - .../properties/JythonHelloWorldTestCase.java | 29 - .../itests/references/GroovyReferenceTestCase.java | 29 - .../script/itests/references/HelloWorldTarget.java | 34 - .../itests/references/JRubyReferenceTestCase.java | 29 - .../references/JavaScriptReferenceTestCase.java | 29 - .../itests/references/JythonReferenceTestCase.java | 29 - .../itests/dynamic/JavaScriptDynamicRef.composite | 35 - .../itests/dynamic/JavaScriptHelloWorld.composite | 30 - .../script/itests/dynamic/helloworld.js | 26 - .../script/itests/dynamic/helloworldProxy.js | 22 - .../itests/helloworld/GroovyHelloWorld.composite | 33 - .../itests/helloworld/JRubyHelloWorld.composite | 33 - .../helloworld/JavaScripInlineHelloWorld.composite | 34 - .../helloworld/JavaScriptHelloWorld.composite | 33 - .../itests/helloworld/JythonHelloWorld.composite | 33 - .../itests/helloworld/helloworld.componentType | 30 - .../script/itests/helloworld/helloworld.groovy | 22 - .../script/itests/helloworld/helloworld.js | 23 - .../script/itests/helloworld/helloworld.py | 20 - .../script/itests/helloworld/helloworld.rb | 21 - .../itests/properties/GroovyHelloWorld.composite | 33 - .../itests/properties/JRubyHelloWorld.composite | 33 - .../properties/JavaScriptHelloWorld.composite | 33 - .../itests/properties/JythonHelloWorld.composite | 33 - .../itests/properties/helloworld.componentType | 32 - .../script/itests/properties/helloworld.groovy | 22 - .../script/itests/properties/helloworld.js | 23 - .../script/itests/properties/helloworld.py | 20 - .../script/itests/properties/helloworld.rb | 21 - .../itests/references/GroovyReference.composite | 38 - .../itests/references/JRubyReference.composite | 38 - .../references/JavaScriptReference.composite | 38 - .../itests/references/JythonReference.composite | 38 - .../itests/references/reference.componentType | 31 - .../script/itests/references/reference.groovy | 22 - .../script/itests/references/reference.js | 22 - .../script/itests/references/reference.py | 20 - .../script/itests/references/reference.rb | 21 - .../contrib/modules/implementation-spring/LICENSE | 205 -- .../contrib/modules/implementation-spring/NOTICE | 6 - .../contrib/modules/implementation-spring/pom.xml | 126 - .../spring/SCAApplicationContext.java | 53 - .../spring/SCANamespaceHandlerResolver.java | 53 - .../spring/SCAParentApplicationContext.java | 271 --- .../implementation/spring/ScaNamespaceHandler.java | 38 - .../spring/ScaPropertyBeanDefinitionParser.java | 35 - .../spring/ScaReferenceBeanDefinitionParser.java | 36 - .../spring/ScaServiceBeanDefinitionParser.java | 36 - .../spring/SpringBeanNotFoundException.java | 39 - .../spring/SpringImplementation.java | 192 -- .../spring/SpringImplementationProcessor.java | 230 -- .../spring/SpringImplementationProvider.java | 119 - .../SpringImplementationProviderFactory.java | 89 - .../spring/SpringInvocationException.java | 40 - .../sca/implementation/spring/SpringInvoker.java | 127 - .../spring/SpringOperationNotFoundException.java | 40 - .../spring/SpringPropertyValueObjectFactory.java | 45 - .../ComponentNameAnnotationProcessor.java | 151 -- .../processor/ConstructorAnnotationProcessor.java | 119 - .../processor/InitDestroyAnnotationProcessor.java | 72 - .../processor/PropertyAnnotationProcessor.java | 220 -- .../processor/ReferenceAnnotationProcessor.java | 186 -- .../sca/implementation/spring/xml/Constants.java | 64 - .../spring/xml/SpringBeanElement.java | 67 - .../spring/xml/SpringBeanIntrospector.java | 147 -- .../spring/xml/SpringConstructorArgElement.java | 60 - .../spring/xml/SpringPropertyElement.java | 61 - .../spring/xml/SpringSCAPropertyElement.java | 52 - .../spring/xml/SpringSCAPropertyElement.java.orig | 44 - .../spring/xml/SpringSCAReferenceElement.java | 54 - .../spring/xml/SpringSCAServiceElement.java | 64 - .../spring/xml/SpringXMLComponentTypeLoader.java | 635 ----- ...ca.contribution.processor.StAXArtifactProcessor | 19 - ...cany.sca.provider.ImplementationProviderFactory | 19 - .../src/main/resources/META-INF/spring.handlers | 1 - .../src/main/resources/META-INF/spring.schemas | 1 - .../impl-spring-validation-messages.properties | 23 - .../org/springframework/sca/xml/spring-sca.xsd | 99 - .../spring/itests/AbstractSCATestCase.java | 55 - .../helloworld/AbstractHelloWorldTestCase.java | 43 - .../spring/itests/helloworld/HelloWorld.java | 35 - .../spring/itests/helloworld/HelloWorldImpl.java | 38 - .../spring/itests/helloworld/HelloWorldProxy.java | 42 - .../helloworld/SpringContextAccessTestCase.java | 35 - .../SpringExplicitHelloWorldTestCase.java | 34 - .../SpringExplicitReferenceTestCase.java | 39 - .../helloworld/SpringHelloWorldTestCase.java | 32 - .../SpringImplicitReferenceTestCase.java | 42 - .../helloworld/SpringImportHelloWorldTestCase.java | 32 - .../helloworld/SpringSCAPropertyTestCase.java | 39 - .../spring/itests/mock/TestBean.java | 31 - .../spring/itests/mock/TestBeanImpl.java | 42 - .../spring/itests/mock/TestContextAccessBean.java | 77 - .../spring/itests/mock/TestHelloWorldBean.java | 39 - .../spring/itests/mock/TestReference.java | 27 - .../spring/itests/mock/TestReferenceBean.java | 57 - .../spring/itests/mock/TestSCAPropertyBean.java | 55 - .../META-INF/sca/SpringContextAccess-context.xml | 31 - .../sca/SpringExplicitHelloWorld-context.xml | 39 - .../sca/SpringExplicitReference-context.xml | 33 - .../sca/SpringHelloWorld-Imported-context.xml | 31 - .../META-INF/sca/SpringHelloWorld-context.xml | 31 - .../sca/SpringImplicitReference-context.xml | 34 - .../sca/SpringImportHelloWorld-context.xml | 29 - .../META-INF/sca/testReferenceContext.xml | 33 - .../resources/META-INF/sca/testServiceContext.xml | 31 - .../SpringHelloWorld-Imported-context.xml | 31 - .../helloworld/SpringContextAccess.composite | 35 - .../helloworld/SpringExplicitHelloWorld.composite | 33 - .../helloworld/SpringExplicitReference.composite | 32 - .../itests/helloworld/SpringHelloWorld.composite | 32 - .../helloworld/SpringImplicitReference.composite | 39 - .../helloworld/SpringImportHelloWorld.composite | 32 - .../itests/helloworld/SpringSCAProperty.composite | 39 - .../src/test/resources/spring/META-INF/MANIFEST.MF | 3 - .../META-INF/spring/SpringSCAProperty-context.xml | 34 - .../src/test/resources/test.xml | 27 - .../modules/implementation-web-runtime/LICENSE | 203 -- .../modules/implementation-web-runtime/NOTICE | 6 - .../modules/implementation-web-runtime/pom.xml | 109 - .../web/ComponentContextServlet.java | 156 -- .../implementation/web/ContextScriptProcessor.java | 32 - .../web/ContextScriptProcessorExtensionPoint.java | 27 - ...efaultContextScriptProcessorExtensionPoint.java | 51 - .../implementation/web/JSONRPCScripProcessor.java | 57 - .../web/runtime/ComponentContextProxy.java | 87 - .../runtime/WebImplementationProviderFactory.java | 78 - .../src/main/resources/META-INF/sca.tld | 59 - ...tation.web.ContextScriptProcessorExtensionPoint | 19 - ...cany.sca.provider.ImplementationProviderFactory | 19 - .../src/main/resources/jsonrpc.js | 493 ---- .../sca/contrib/modules/implementation-web/LICENSE | 205 -- java/sca/contrib/modules/implementation-web/NOTICE | 6 - .../sca/contrib/modules/implementation-web/pom.xml | 88 - .../sca/implementation/web/WebImplementation.java | 42 - .../web/WebImplementationFactory.java | 34 - .../web/impl/WebImplementationFactoryImpl.java | 37 - .../web/impl/WebImplementationImpl.java | 135 -- .../web/xml/WebImplementationProcessor.java | 121 - ...ca.contribution.processor.StAXArtifactProcessor | 19 - ...sca.implementation.web.WebImplementationFactory | 19 - .../sca/implementation/web/xml/ReadTestCase.java | 81 - .../sca/implementation/web/xml/WriteTestCase.java | 66 - .../sca/implementation/web/xml/TestWeb.composite | 29 - .../modules/implementation-widget-runtime/LICENSE | 205 -- .../modules/implementation-widget-runtime/NOTICE | 6 - .../modules/implementation-widget-runtime/pom.xml | 122 - .../provider/WidgetImplementationInvoker.java | 253 -- .../provider/WidgetImplementationProvider.java | 67 - .../WidgetImplementationProviderFactory.java | 47 - .../widget/provider/WidgetProxyHelper.java | 51 - ...cany.sca.provider.ImplementationProviderFactory | 19 - .../src/main/resources/atomModel.js | 1590 ------------- .../src/main/resources/binding-atom.js | 137 -- .../src/main/resources/binding-http.js | 105 - .../src/main/resources/binding-jsonrpc.js | 492 ---- .../widget/WidgetImplementationTestCase.java | 48 - .../src/test/java/store/Catalog.java | 32 - .../src/test/java/store/CatalogImpl.java | 47 - .../src/test/java/store/ShoppingCartImpl.java | 124 - .../src/test/resources/content/atomModel.js | 1590 ------------- .../src/test/resources/content/store.html | 127 - .../src/test/resources/content/storeJS.html | 152 -- .../src/test/resources/content/unitTests.html | 250 -- .../src/test/resources/widget.composite | 54 - .../src/test/resources/widgetJS.composite | 58 - .../contrib/modules/implementation-widget/LICENSE | 205 -- .../contrib/modules/implementation-widget/NOTICE | 6 - .../contrib/modules/implementation-widget/pom.xml | 79 - .../tuscany/sca/implementation/widget/Widget.java | 34 - .../widget/WidgetImplementation.java | 134 -- .../widget/WidgetImplementationFactory.java | 45 - .../widget/WidgetImplementationIntrospector.java | 145 -- .../widget/WidgetImplementationProcessor.java | 176 -- ...ca.contribution.processor.StAXArtifactProcessor | 19 - ...plementation.widget.WidgetImplementationFactory | 19 - .../impl-widget-validation-messages.properties | 23 - .../contrib/modules/implementation-xquery/LICENSE | 202 -- .../contrib/modules/implementation-xquery/NOTICE | 6 - .../contrib/modules/implementation-xquery/pom.xml | 105 - .../xquery/XQueryImplementation.java | 75 - .../xquery/XQueryImplementationFactory.java | 32 - .../xquery/XQueryImplementationProvider.java | 166 -- .../XQueryImplementationProviderFactory.java | 54 - .../xquery/XQueryInvokationException.java | 33 - .../sca/implementation/xquery/XQueryInvoker.java | 318 --- .../impl/XQueryImplementationFactoryImpl.java | 35 - .../xquery/impl/XQueryImplementationImpl.java | 102 - .../xquery/xml/XQueryImplementationProcessor.java | 159 -- .../xquery/xml/XQueryIntrospector.java | 328 --- ...ca.contribution.processor.StAXArtifactProcessor | 19 - ...cany.sca.provider.ImplementationProviderFactory | 19 - .../impl-xquery-validation-messages.properties | 22 - .../contrib/modules/interface-java-jaxws/LICENSE | 205 -- .../interface-java-jaxws/META-INF/MANIFEST.MF | 50 - .../contrib/modules/interface-java-jaxws/NOTICE | 6 - .../contrib/modules/interface-java-jaxws/pom.xml | 274 --- .../interfacedef/java/jaxws/BaseBeanGenerator.java | 539 ----- .../java/jaxws/CodeGenerationHelper.java | 280 --- .../java/jaxws/FaultBeanGenerator.java | 147 -- .../java/jaxws/GeneratedClassLoader.java | 69 - .../java/jaxws/GeneratedDataTypeImpl.java | 143 -- .../java/jaxws/JAXWSFaultExceptionMapper.java | 370 --- .../java/jaxws/JAXWSJavaInterfaceProcessor.java | 379 --- .../java/jaxws/WrapperBeanGenerator.java | 238 -- .../tuscany/sca/interfacedef/java/jaxws/Bean.java | 27 - .../tuscany/sca/interfacedef/java/jaxws/Bean1.java | 40 - .../tuscany/sca/interfacedef/java/jaxws/Bean2.java | 40 - .../java/jaxws/FaultBeanGeneratorTestCase.java | 62 - .../jaxws/JAXWSJavaInterfaceProcessorTestCase.java | 119 - .../java/jaxws/JavaReflectionHelperTestCase.java | 48 - .../sca/interfacedef/java/jaxws/MyException.java | 62 - .../sca/interfacedef/java/jaxws/MyServiceImpl.java | 52 - .../interfacedef/java/jaxws/TestGenericClass.java | 40 - .../sca/interfacedef/java/jaxws/TestInterface.java | 66 - .../java/jaxws/WrapperBeanGeneratorTestCase.java | 79 - .../src/test/resources/wsdl/Stock.wsdl | 142 -- .../test/resources/wsdl/StockExceptionTest.wsdl | 149 -- .../sca/contrib/modules/interface-java-xml/LICENSE | 205 -- .../interface-java-xml/META-INF/MANIFEST.MF | 27 - java/sca/contrib/modules/interface-java-xml/NOTICE | 6 - .../sca/contrib/modules/interface-java-xml/pom.xml | 83 - .../sca/interfacedef/java/xml/JavaConstants.java | 37 - .../java/xml/JavaInterfaceProcessor.java | 193 -- ...ca.contribution.processor.StAXArtifactProcessor | 19 - ...nterface-javaxml-validation-messages.properties | 22 - .../sca/interfacedef/java/xml/ReadTestCase.java | 100 - .../sca/interfacedef/java/xml/WriteTestCase.java | 83 - .../sca/interfacedef/java/xml/Calculator.composite | 53 - .../java/xml/CalculatorComponent.constrainingType | 34 - .../java/xml/CalculatorImpl.componentType | 31 - java/sca/contrib/modules/interface-java/LICENSE | 205 -- .../modules/interface-java/META-INF/MANIFEST.MF | 38 - java/sca/contrib/modules/interface-java/NOTICE | 6 - java/sca/contrib/modules/interface-java/pom.xml | 82 - .../java/DefaultJavaInterfaceFactory.java | 99 - .../sca/interfacedef/java/JavaInterface.java | 87 - .../interfacedef/java/JavaInterfaceContract.java | 32 - .../interfacedef/java/JavaInterfaceFactory.java | 82 - .../sca/interfacedef/java/JavaOperation.java | 57 - .../java/impl/JavaInterfaceContractImpl.java | 39 - .../java/impl/JavaInterfaceFactoryImpl.java | 84 - .../interfacedef/java/impl/JavaInterfaceImpl.java | 111 - .../java/impl/JavaInterfaceIntrospectorImpl.java | 258 -- .../interfacedef/java/impl/JavaInterfaceUtil.java | 173 -- .../interfacedef/java/impl/JavaOperationImpl.java | 83 - .../java/impl/PolicyJavaInterfaceVisitor.java | 159 -- .../java/introspect/JavaInterfaceVisitor.java | 39 - ...cany.sca.interfacedef.java.JavaInterfaceFactory | 18 - ...avaInterfaceUtilDuplicateRemotableTestCase.java | 308 --- .../java/impl/JavaInterfaceUtilTestCase.java | 121 - .../impl/ConversationalIntrospectionTestCase.java | 98 - ...JavaInterfaceProcessorRegistryImplTestCase.java | 107 - .../impl/PolicyProcessorTestCase.java | 108 - .../sca/contrib/modules/interface-wsdl-xml/LICENSE | 205 -- java/sca/contrib/modules/interface-wsdl-xml/NOTICE | 6 - .../sca/contrib/modules/interface-wsdl-xml/pom.xml | 95 - .../wsdl/xml/BPELExtensionHandler.java | 140 -- .../wsdl/xml/BPELPartnerLinkTypeExt.java | 79 - .../sca/interfacedef/wsdl/xml/WSDLConstants.java | 40 - .../wsdl/xml/WSDLDocumentProcessor.java | 230 -- .../wsdl/xml/WSDLInterfaceProcessor.java | 252 -- .../interfacedef/wsdl/xml/WSDLModelResolver.java | 487 ---- ...ca.contribution.processor.StAXArtifactProcessor | 19 - ...sca.contribution.processor.URLArtifactProcessor | 19 - ...tuscany.sca.contribution.resolver.ModelResolver | 18 - ...nterface-wsdlxml-validation-messages.properties | 24 - .../interfacedef/wsdl/AbstractWSDLTestCase.java | 68 - .../WSDLInterfaceIntrospectorTestCase.java | 83 - .../WSDLOperationIntrospectorTestCase.java | 117 - ...licyAnnotatedInterfaceIntrospectorTestCase.java | 87 - .../introspect/WrapperStyleOperationTestCase.java | 70 - .../sca/interfacedef/wsdl/xml/ReadTestCase.java | 97 - .../wsdl/xml/WSDLDocumentProcessorTestCase.java | 86 - .../sca/interfacedef/wsdl/xml/WSDLTestCase.java | 104 - .../sca/interfacedef/wsdl/xml/WriteTestCase.java | 83 - .../wsdl/xml/XMLDocumentHelperTestCase.java | 53 - .../sca/interfacedef/wsdl/xml/Calculator.composite | 55 - .../wsdl/xml/CalculatorComponent.constrainingType | 36 - .../wsdl/xml/CalculatorImpl.componentType | 33 - .../tuscany/sca/interfacedef/wsdl/xml/example.wsdl | 26 - .../interfacedef/wsdl/xml/invalid-stockquote.wsdl | 58 - .../tuscany/sca/interfacedef/wsdl/xml/ipo.xsd | 136 -- .../sca/interfacedef/wsdl/xml/stockquote.wsdl | 58 - .../tuscany/sca/interfacedef/wsdl/xml/test1.wsdl | 45 - .../tuscany/sca/interfacedef/wsdl/xml/test1.xsd | 33 - .../tuscany/sca/interfacedef/wsdl/xml/test2.wsdl | 63 - .../wsdl/xml/unwrapped-stockquote.wsdl | 76 - .../test/resources/policy/stockquote_policy.wsdl | 62 - .../test/resources/wsdl/helloworld-interface.wsdl | 67 - .../test/resources/wsdl/helloworld-service.wsdl | 49 - .../src/test/resources/xsd/greeting.xsd | 29 - .../src/test/resources/xsd/helloworld.xsd | 22 - .../src/test/resources/xsd/name.xsd | 29 - java/sca/contrib/modules/interface-wsdl/LICENSE | 205 -- java/sca/contrib/modules/interface-wsdl/NOTICE | 6 - java/sca/contrib/modules/interface-wsdl/pom.xml | 103 - .../sca/interfacedef/wsdl/DefaultWSDLFactory.java | 35 - .../sca/interfacedef/wsdl/WSDLDefinition.java | 140 -- .../tuscany/sca/interfacedef/wsdl/WSDLFactory.java | 70 - .../sca/interfacedef/wsdl/WSDLInterface.java | 67 - .../interfacedef/wsdl/WSDLInterfaceContract.java | 43 - .../tuscany/sca/interfacedef/wsdl/WSDLObject.java | 54 - .../sca/interfacedef/wsdl/WSDLOperation.java | 40 - .../wsdl/impl/InvalidWSDLException.java | 35 - .../interfacedef/wsdl/impl/WSDLDefinitionImpl.java | 289 --- .../interfacedef/wsdl/impl/WSDLFactoryImpl.java | 75 - .../wsdl/impl/WSDLInterfaceContractImpl.java | 47 - .../interfacedef/wsdl/impl/WSDLInterfaceImpl.java | 99 - .../wsdl/impl/WSDLInterfaceIntrospectorImpl.java | 159 -- .../sca/interfacedef/wsdl/impl/WSDLObjectImpl.java | 61 - .../interfacedef/wsdl/impl/WSDLOperationImpl.java | 81 - .../wsdl/impl/WSDLOperationIntrospectorImpl.java | 602 ----- ...pache.tuscany.sca.interfacedef.wsdl.WSDLFactory | 18 - java/sca/contrib/modules/interface/LICENSE | 205 -- .../contrib/modules/interface/META-INF/MANIFEST.MF | 27 - java/sca/contrib/modules/interface/NOTICE | 6 - java/sca/contrib/modules/interface/pom.xml | 57 - .../sca/interfacedef/ConversationSequence.java | 29 - .../apache/tuscany/sca/interfacedef/DataType.java | 119 - .../sca/interfacedef/FaultExceptionMapper.java | 62 - .../IncompatibleInterfaceContractException.java | 69 - .../apache/tuscany/sca/interfacedef/Interface.java | 95 - .../sca/interfacedef/InterfaceContract.java | 81 - .../sca/interfacedef/InterfaceContractMapper.java | 115 - .../sca/interfacedef/InvalidCallbackException.java | 34 - .../interfacedef/InvalidInterfaceException.java | 41 - .../interfacedef/InvalidOperationException.java | 42 - .../apache/tuscany/sca/interfacedef/Operation.java | 203 -- .../interfacedef/OverloadedOperationException.java | 45 - .../sca/interfacedef/impl/DataTypeImpl.java | 219 -- .../interfacedef/impl/InterfaceContractImpl.java | 128 - .../impl/InterfaceContractMapperImpl.java | 303 --- .../sca/interfacedef/impl/InterfaceImpl.java | 296 --- .../sca/interfacedef/impl/OperationImpl.java | 339 --- .../tuscany/sca/interfacedef/util/ElementInfo.java | 114 - .../sca/interfacedef/util/FaultException.java | 82 - .../sca/interfacedef/util/JavaXMLMapper.java | 143 -- .../tuscany/sca/interfacedef/util/TypeInfo.java | 100 - .../tuscany/sca/interfacedef/util/WrapperInfo.java | 190 -- .../tuscany/sca/interfacedef/util/XMLType.java | 152 -- ...uscany.sca.interfacedef.InterfaceContractMapper | 18 - .../impl/ContractCompatibilityTestCase.java | 380 --- .../impl/InterfaceContractTestCase.java | 69 - java/sca/contrib/modules/monitor-logging/LICENSE | 205 -- java/sca/contrib/modules/monitor-logging/NOTICE | 6 - java/sca/contrib/modules/monitor-logging/pom.xml | 68 - .../logging/impl/DefaultLoggingMonitorImpl.java | 104 - .../monitor/logging/impl/MonitorFactoryImpl.java | 41 - .../org.apache.tuscany.sca.monitor.MonitorFactory | 18 - .../tuscany/sca/monitor/MonitorTestCase.java | 94 - .../tuscany-monitor-test-messages.properties | 24 - .../tuscany-monitor-test-messages_it.properties | 24 - java/sca/contrib/modules/monitor/LICENSE | 205 -- .../contrib/modules/monitor/META-INF/MANIFEST.MF | 16 - java/sca/contrib/modules/monitor/NOTICE | 6 - java/sca/contrib/modules/monitor/pom.xml | 57 - .../org/apache/tuscany/sca/monitor/Monitor.java | 44 - .../apache/tuscany/sca/monitor/MonitorFactory.java | 35 - .../org/apache/tuscany/sca/monitor/Problem.java | 49 - .../monitor/impl/DefaultMonitorFactoryImpl.java | 41 - .../sca/monitor/impl/DefaultMonitorImpl.java | 102 - java/sca/contrib/modules/node-api/LICENSE | 205 -- .../contrib/modules/node-api/META-INF/MANIFEST.MF | 19 - java/sca/contrib/modules/node-api/NOTICE | 6 - java/sca/contrib/modules/node-api/pom.xml | 61 - .../org/apache/tuscany/sca/node/SCAClient.java | 71 - .../apache/tuscany/sca/node/SCAContribution.java | 54 - .../java/org/apache/tuscany/sca/node/SCANode.java | 42 - .../java/org/apache/tuscany/sca/node/SCANode2.java | 33 - .../apache/tuscany/sca/node/SCANode2Factory.java | 203 -- .../apache/tuscany/sca/node/SCANodeFactory.java | 201 -- java/sca/contrib/modules/node-dynamic/LICENSE | 205 -- java/sca/contrib/modules/node-dynamic/NOTICE | 6 - java/sca/contrib/modules/node-dynamic/pom.xml | 87 - .../apache/tuscany/sca/node/DynamicNodeMain.java | 50 - .../src/main/resources/log4j.properties | 51 - java/sca/contrib/modules/node-impl/LICENSE | 205 -- .../contrib/modules/node-impl/META-INF/MANIFEST.MF | 48 - java/sca/contrib/modules/node-impl/NOTICE | 6 - java/sca/contrib/modules/node-impl/pom.xml | 154 -- .../tuscany/sca/node/impl/Node2FactoryImpl.java | 57 - .../apache/tuscany/sca/node/impl/Node2Impl.java | 63 - .../tuscany/sca/node/impl/NodeFactoryImpl.java | 55 - .../org/apache/tuscany/sca/node/impl/NodeImpl.java | 824 ------- .../tuscany/sca/node/impl/RuntimeBootStrapper.java | 392 --- .../tuscany/sca/node/impl/RuntimeBuilder.java | 258 -- .../org.apache.tuscany.sca.node.SCANode2Factory | 17 - .../org.apache.tuscany.sca.node.SCANodeFactory | 17 - .../node-impl/src/test/java/hello/HelloWorld.java | 30 - .../src/test/java/hello/HelloWorldImpl.java | 30 - .../tuscany/sca/node/impl/Node2ImplTestCase.java | 119 - .../tuscany/sca/node/impl/NodeImplTestCase.java | 119 - .../src/test/resources/HelloWorld.composite | 30 - .../test/resources/META-INF/sca-contribution.xml | 23 - .../contrib/modules/node-launcher-equinox/LICENSE | 205 -- .../contrib/modules/node-launcher-equinox/NOTICE | 6 - .../contrib/modules/node-launcher-equinox/pom.xml | 125 - .../sca/node/equinox/launcher/Contribution.java | 48 - .../equinox/launcher/DomainManagerLauncher.java | 172 -- .../equinox/launcher/EquinoxHookConfigurator.java | 72 - .../sca/node/equinox/launcher/EquinoxHost.java | 252 -- .../launcher/EquinoxLauncherBundleHelper.java | 105 - .../sca/node/equinox/launcher/JarFileFinder.java | 373 --- .../node/equinox/launcher/LauncherException.java | 55 - .../launcher/LibrariesBundleFileFactoryHook.java | 148 -- .../node/equinox/launcher/NodeDaemonLauncher.java | 159 -- .../sca/node/equinox/launcher/NodeLauncher.java | 232 -- .../node/equinox/launcher/NodeLauncherUtil.java | 374 --- .../sca/node/equinox/launcher/NodeMain.java | 44 - .../main/resources/hookconfigurators.properties | 16 - .../src/test/java/hello/HelloWorld.java | 30 - .../src/test/java/hello/HelloWorldClient.java | 50 - .../src/test/java/hello/HelloWorldImpl.java | 30 - .../equinox/launcher/EquinoxOSGiHostTestCase.java | 95 - .../equinox/launcher/NodeLauncherTestCase.java | 64 - .../src/test/resources/HelloWorld.composite | 34 - .../sca/contrib/modules/node-launcher-osgi/LICENSE | 205 -- java/sca/contrib/modules/node-launcher-osgi/NOTICE | 6 - .../sca/contrib/modules/node-launcher-osgi/pom.xml | 151 -- .../sca/node/osgi/launcher/Contribution.java | 48 - .../node/osgi/launcher/DomainManagerLauncher.java | 110 - .../sca/node/osgi/launcher/FelixOSGiHost.java | 174 -- .../sca/node/osgi/launcher/JarFileFinder.java | 348 --- .../osgi/launcher/LauncherBundleActivator.java | 457 ---- .../sca/node/osgi/launcher/LauncherException.java | 55 - .../sca/node/osgi/launcher/NodeDaemonLauncher.java | 100 - .../sca/node/osgi/launcher/NodeLauncher.java | 165 -- .../sca/node/osgi/launcher/NodeLauncherUtil.java | 198 -- .../tuscany/sca/node/osgi/launcher/NodeMain.java | 44 - .../sca/node/osgi/launcher/NodeServletFilter.java | 127 - .../tuscany/sca/node/osgi/launcher/OSGiHost.java | 30 - .../src/test/java/hello/HelloWorld.java | 30 - .../src/test/java/hello/HelloWorldImpl.java | 30 - .../node/osgi/launcher/FelixOSGiHostTestCase.java | 95 - .../node/osgi/launcher/NodeLauncherTestCase.java | 69 - .../src/test/resources/HelloWorld.composite | 30 - .../contrib/modules/node-launcher-webapp/LICENSE | 205 -- .../contrib/modules/node-launcher-webapp/NOTICE | 6 - .../contrib/modules/node-launcher-webapp/pom.xml | 62 - .../src/main/webapp/META-INF/sca-contribution.xml | 21 - .../src/main/webapp/WEB-INF/web.xml | 41 - .../node-launcher-webapp/src/main/webapp/index.jsp | 27 - java/sca/contrib/modules/node-launcher/LICENSE | 205 -- java/sca/contrib/modules/node-launcher/NOTICE | 6 - java/sca/contrib/modules/node-launcher/pom.xml | 72 - .../tuscany/sca/node/launcher/Contribution.java | 48 - .../sca/node/launcher/DomainManagerLauncher.java | 179 -- .../sca/node/launcher/LauncherException.java | 55 - .../sca/node/launcher/NodeDaemonLauncher.java | 168 -- .../tuscany/sca/node/launcher/NodeLauncher.java | 230 -- .../sca/node/launcher/NodeLauncherUtil.java | 535 ----- .../apache/tuscany/sca/node/launcher/NodeMain.java | 44 - .../sca/node/launcher/NodeServletFilter.java | 130 - java/sca/contrib/modules/node-manager/LICENSE | 205 -- java/sca/contrib/modules/node-manager/NOTICE | 6 - java/sca/contrib/modules/node-manager/pom.xml | 138 -- .../node/manager/NodeManagerUtil.java | 51 - .../node/manager/NodeProcessCollectionImpl.java | 338 --- .../node/manager/PingServiceImpl.java | 61 - .../src/main/resources/NodeDaemon.composite | 39 - java/sca/contrib/modules/osgi-runtime/LICENSE | 203 -- java/sca/contrib/modules/osgi-runtime/NOTICE | 6 - java/sca/contrib/modules/osgi-runtime/pom.xml | 69 - .../tuscany/sca/osgi/runtime/EquinoxRuntime.java | 117 - .../tuscany/sca/osgi/runtime/FelixRuntime.java | 253 -- .../sca/osgi/runtime/KnopflerfishRuntime.java | 168 -- .../sca/osgi/runtime/OSGiBundleActivator.java | 252 -- .../tuscany/sca/osgi/runtime/OSGiRuntime.java | 275 --- .../osgi/runtime/OSGiRuntimeModuleActivator.java | 47 - .../org.apache.tuscany.sca.core.ModuleActivator | 18 - .../sca/osgi/runtime/OSGiRuntimeTestCase.java | 78 - java/sca/contrib/modules/policy-logging/LICENSE | 205 -- java/sca/contrib/modules/policy-logging/NOTICE | 6 - java/sca/contrib/modules/policy-logging/pom.xml | 77 - .../logging/LoggingPolicyDefinitionsProvider.java | 67 - .../JDKLoggingImplementationPolicyProvider.java | 90 - .../sca/policy/logging/jdk/JDKLoggingPolicy.java | 84 - .../logging/jdk/JDKLoggingPolicyInterceptor.java | 130 - .../logging/jdk/JDKLoggingPolicyProcessor.java | 137 -- .../jdk/JDKLoggingPolicyProviderFactory.java | 75 - .../jdk/JDKLoggingReferencePolicyProvider.java | 89 - .../jdk/JDKLoggingServicePolicyProvider.java | 87 - ...ca.contribution.processor.StAXArtifactProcessor | 19 - ...ache.tuscany.sca.provider.PolicyProviderFactory | 19 - ...che.tuscany.sca.provider.SCADefinitionsProvider | 19 - .../tuscany/sca/policy/logging/definitions.xml | 31 - .../sca/policy/logging/jdk/PolicyReadTestCase.java | 91 - .../sca/policy/logging/jdk/mock_policies.xml | 23 - .../sca/contrib/modules/policy-reliability/LICENSE | 205 -- java/sca/contrib/modules/policy-reliability/NOTICE | 6 - .../sca/contrib/modules/policy-reliability/pom.xml | 70 - .../ReliabilityPolicyDefinitionsProvider.java | 72 - ...che.tuscany.sca.provider.SCADefinitionsProvider | 19 - .../tuscany/sca/policy/reliability/definitions.xml | 62 - .../contrib/modules/policy-security-jsr250/LICENSE | 205 -- .../contrib/modules/policy-security-jsr250/NOTICE | 6 - .../contrib/modules/policy-security-jsr250/pom.xml | 83 - .../implementation/java/impl/JSR250Activator.java | 51 - .../introspect/impl/JSR250PolicyProcessor.java | 178 -- .../org.apache.tuscany.sca.core.ModuleActivator | 18 - .../impl/PolicyProcessorTestCaseFIXME.java | 418 ---- java/sca/contrib/modules/policy-security/LICENSE | 205 -- java/sca/contrib/modules/policy-security/NOTICE | 6 - java/sca/contrib/modules/policy-security/pom.xml | 74 - .../apache/tuscany/sca/policy/SecurityUtil.java | 76 - .../basic/BasicAuthenticationPolicy.java | 66 - .../basic/BasicAuthenticationPolicyProcessor.java | 123 - .../BasicAuthenticationPolicyProviderFactory.java | 75 - .../basic/BasicAuthenticationPrincipal.java | 80 - ...icAuthenticationReferencePolicyInterceptor.java | 95 - ...BasicAuthenticationReferencePolicyProvider.java | 89 - ...asicAuthenticationServicePolicyInterceptor.java | 92 - .../BasicAuthenticationServicePolicyProvider.java | 87 - .../authentication/token/TokenPrincipal.java | 74 - .../policy/authorization/AuthorizationPolicy.java | 84 - .../AuthorizationPolicyProcessor.java | 152 -- ...ityIdentityImplementationPolicyInterceptor.java | 80 - ...curityIdentityImplementationPolicyProvider.java | 88 - .../policy/identity/SecurityIdentityPolicy.java | 76 - .../identity/SecurityIdentityPolicyProcessor.java | 133 -- .../SecurityIdentityPolicyProviderFactory.java | 75 - .../SecurityPolicyDefinitionsProvider.java | 86 - ...AuthenticationImplementationPolicyProvider.java | 90 - .../jaas/JaasAuthenticationInterceptor.java | 76 - .../security/jaas/JaasAuthenticationPolicy.java | 73 - .../jaas/JaasAuthenticationPolicyHandler.java | 72 - .../jaas/JaasAuthenticationPolicyProcessor.java | 151 -- .../JaasAuthenticationPolicyProviderFactory.java | 72 - ...ca.contribution.processor.StAXArtifactProcessor | 27 - ...ache.tuscany.sca.provider.PolicyProviderFactory | 21 - ...che.tuscany.sca.provider.SCADefinitionsProvider | 19 - .../tuscany/sca/policy/security/definitions.xml | 55 - .../sca/policy/security/tuscany_definitions.xml | 32 - .../policy-security-validation-messages.properties | 22 - .../policy/security/PolicyProcessorTestCase.java | 88 - .../policy/security/mock_policy_definitions.xml | 78 - .../sca/contrib/modules/policy-transaction/LICENSE | 205 -- java/sca/contrib/modules/policy-transaction/NOTICE | 6 - .../sca/contrib/modules/policy-transaction/pom.xml | 127 - .../transaction/IncompatibleIntentException.java | 44 - .../TransactionImplementationPolicyProvider.java | 61 - .../sca/policy/transaction/TransactionIntent.java | 28 - .../policy/transaction/TransactionInterceptor.java | 122 - .../transaction/TransactionManagerHelper.java | 243 -- .../transaction/TransactionManagerWrapper.java | 90 - .../transaction/TransactionModuleActivator.java | 84 - .../sca/policy/transaction/TransactionPolicy.java | 46 - .../TransactionPolicyDefinitionsProvider.java | 71 - .../policy/transaction/TransactionPolicyImpl.java | 59 - .../transaction/TransactionPolicyProcessor.java | 96 - .../TransactionPolicyProviderFactory.java | 92 - .../TransactionReferencePolicyProvider.java | 61 - .../TransactionServicePolicyProvider.java | 61 - .../policy/transaction/TransactionalAction.java | 31 - ...ca.contribution.processor.StAXArtifactProcessor | 19 - .../org.apache.tuscany.sca.core.ModuleActivator | 18 - ...ache.tuscany.sca.provider.PolicyProviderFactory | 19 - ...che.tuscany.sca.provider.SCADefinitionsProvider | 19 - .../src/main/resources/log4j.properties | 29 - .../tuscany/sca/policy/transaction/definitions.xml | 66 - .../sca/policy/transaction/tuscany_definitions.xml | 54 - .../sca/policy/transaction/PolicyReadTestCase.java | 54 - .../TransactionManagerHelperTestCase.java | 194 -- java/sca/contrib/modules/policy-xml-ws/LICENSE | 205 -- java/sca/contrib/modules/policy-xml-ws/NOTICE | 6 - java/sca/contrib/modules/policy-xml-ws/pom.xml | 142 -- .../sca/policy/xml/ws/WSPolicyProcessor.java | 162 -- ...ca.contribution.processor.StAXArtifactProcessor | 19 - .../tuscany/sca/policy/xml/TestModelResolver.java | 63 - .../sca/policy/xml/TestPolicyProcessor.java | 74 - .../sca/policy/xml/WSPolicyProcessorTestCase.java | 111 - .../tuscany/sca/policy/xml/test_definitions.xml | 106 - java/sca/contrib/modules/policy-xml/LICENSE | 205 -- .../modules/policy-xml/META-INF/MANIFEST.MF | 20 - java/sca/contrib/modules/policy-xml/NOTICE | 6 - java/sca/contrib/modules/policy-xml/pom.xml | 76 - .../sca/policy/xml/BindingTypeProcessor.java | 68 - .../policy/xml/ImplementationTypeProcessor.java | 68 - .../policy/xml/IntentAttachPointTypeProcessor.java | 248 -- .../tuscany/sca/policy/xml/PolicyConstants.java | 75 - .../sca/policy/xml/PolicyIntentProcessor.java | 417 ---- .../tuscany/sca/policy/xml/PolicySetProcessor.java | 487 ---- .../sca/policy/xml/ProfileIntentProcessor.java | 45 - .../sca/policy/xml/QualifiedIntentProcessor.java | 45 - .../sca/policy/xml/SimpleIntentProcessor.java | 45 - ...ca.contribution.processor.StAXArtifactProcessor | 24 - .../policy-xml-validation-messages.properties | 44 - .../sca/policy/xml/ReadDocumentTestCase.java | 280 --- .../sca/policy/xml/TestPolicyProcessor.java | 74 - .../tuscany/sca/policy/xml/test_definitions.xml | 255 -- java/sca/contrib/modules/policy/LICENSE | 205 -- .../contrib/modules/policy/META-INF/MANIFEST.MF | 32 - java/sca/contrib/modules/policy/NOTICE | 6 - java/sca/contrib/modules/policy/pom.xml | 58 - .../DefaultIntentAttachPointTypeFactory.java | 29 - .../tuscany/sca/policy/DefaultPolicyFactory.java | 30 - .../java/org/apache/tuscany/sca/policy/Intent.java | 116 - .../tuscany/sca/policy/IntentAttachPoint.java | 52 - .../tuscany/sca/policy/IntentAttachPointType.java | 71 - .../sca/policy/IntentAttachPointTypeFactory.java | 43 - .../org/apache/tuscany/sca/policy/IntentMap.java | 89 - .../java/org/apache/tuscany/sca/policy/Policy.java | 33 - .../apache/tuscany/sca/policy/PolicyContext.java | 38 - .../apache/tuscany/sca/policy/PolicyFactory.java | 69 - .../org/apache/tuscany/sca/policy/PolicySet.java | 155 -- .../tuscany/sca/policy/PolicySetAttachPoint.java | 48 - .../tuscany/sca/policy/PolicySetReference.java | 43 - .../apache/tuscany/sca/policy/ProfileIntent.java | 36 - .../apache/tuscany/sca/policy/QualifiedIntent.java | 41 - .../tuscany/sca/policy/impl/BindingTypeImpl.java | 90 - .../sca/policy/impl/ImplementationTypeImpl.java | 88 - .../impl/IntentAttachPointTypeFactoryImpl.java | 39 - .../apache/tuscany/sca/policy/impl/IntentImpl.java | 151 -- .../tuscany/sca/policy/impl/IntentMapImpl.java | 73 - .../tuscany/sca/policy/impl/PolicyContextImpl.java | 93 - .../tuscany/sca/policy/impl/PolicyFactoryImpl.java | 60 - .../tuscany/sca/policy/impl/PolicySetImpl.java | 149 -- .../sca/policy/impl/PolicySetReferenceImpl.java | 48 - .../tuscany/sca/policy/impl/ProfileIntentImpl.java | 39 - .../sca/policy/impl/QualifiedIntentImpl.java | 50 - .../sca/policy/util/PolicyComputationUtils.java | 418 ---- .../tuscany/sca/policy/util/PolicyHandler.java | 38 - .../util/PolicyHandlerDefinitionsLoader.java | 87 - .../sca/policy/util/PolicyHandlerTuple.java | 91 - .../sca/policy/util/PolicyHandlerUtils.java | 64 - .../sca/policy/util/PolicyValidationException.java | 38 - .../sca/policy/util/PolicyValidationUtils.java | 111 - ...tuscany.sca.policy.IntentAttachPointTypeFactory | 18 - .../org.apache.tuscany.sca.policy.PolicyFactory | 18 - .../tuscany/sca/policy/PolicyFactoryTestCase.java | 50 - java/sca/contrib/modules/pom.xml | 240 -- .../sca/contrib/modules/runtime-standalone/LICENSE | 205 -- java/sca/contrib/modules/runtime-standalone/NOTICE | 6 - .../sca/contrib/modules/runtime-standalone/pom.xml | 77 - .../sca/runtime/standalone/StandaloneLauncher.java | 78 - .../sca/runtime/standalone/LauncherTestCase.java | 54 - .../test/resources/repo/bla/helloworld-ws-js.jar | Bin 4723 -> 0 bytes .../src/test/resources/repo/tuscany.properties | 5 - java/sca/contrib/modules/runtime-tomcat/LICENSE | 205 -- java/sca/contrib/modules/runtime-tomcat/NOTICE | 6 - java/sca/contrib/modules/runtime-tomcat/pom.xml | 104 - .../tomcat/EndpointResolverFactoryImpl.java | 49 - .../sca/runtime/tomcat/EndpointResolverImpl.java | 136 -- .../runtime/tomcat/TuscanyAnnotationProcessor.java | 108 - .../tuscany/sca/runtime/tomcat/TuscanyContext.java | 270 --- .../sca/runtime/tomcat/TuscanyContextListener.java | 69 - .../tuscany/sca/runtime/tomcat/TuscanyHost.java | 159 -- .../tuscany/sca/runtime/tomcat/TuscanyServlet.java | 65 - .../tuscany/sca/runtime/tomcat/TuscanyWrapper.java | 51 - ...ny.sca.endpointresolver.EndpointResolverFactory | 19 - .../src/test/resources/content/test.html | 21 - java/sca/contrib/modules/runtime-war/LICENSE | 205 -- java/sca/contrib/modules/runtime-war/NOTICE | 6 - java/sca/contrib/modules/runtime-war/pom.xml | 56 - java/sca/contrib/modules/runtime/LICENSE | 205 -- java/sca/contrib/modules/runtime/NOTICE | 6 - java/sca/contrib/modules/runtime/pom.xml | 381 --- .../org/apache/tuscany/sca/runtime/Launcher.java | 424 ---- java/sca/contrib/modules/runtime2/pom.xml | 334 --- java/sca/contrib/modules/sca-api/LICENSE | 243 -- .../contrib/modules/sca-api/META-INF/MANIFEST.MF | 17 - java/sca/contrib/modules/sca-api/NOTICE | 13 - java/sca/contrib/modules/sca-api/pom.xml | 54 - .../main/java/org/osoa/sca/CallableReference.java | 54 - .../main/java/org/osoa/sca/ComponentContext.java | 122 - .../src/main/java/org/osoa/sca/Constants.java | 34 - .../src/main/java/org/osoa/sca/Conversation.java | 30 - .../org/osoa/sca/ConversationEndedException.java | 56 - .../osoa/sca/NoRegisteredCallbackException.java | 57 - .../src/main/java/org/osoa/sca/RequestContext.java | 55 - .../main/java/org/osoa/sca/ServiceReference.java | 54 - .../java/org/osoa/sca/ServiceRuntimeException.java | 58 - .../org/osoa/sca/ServiceUnavailableException.java | 54 - .../sca/annotations/AllowsPassByReference.java | 28 - .../org/osoa/sca/annotations/Authentication.java | 58 - .../java/org/osoa/sca/annotations/Callback.java | 39 - .../org/osoa/sca/annotations/ComponentName.java | 25 - .../org/osoa/sca/annotations/Confidentiality.java | 58 - .../java/org/osoa/sca/annotations/Constructor.java | 25 - .../java/org/osoa/sca/annotations/Context.java | 28 - .../sca/annotations/ConversationAttributes.java | 46 - .../org/osoa/sca/annotations/ConversationID.java | 25 - .../org/osoa/sca/annotations/Conversational.java | 27 - .../java/org/osoa/sca/annotations/Destroy.java | 25 - .../java/org/osoa/sca/annotations/EagerInit.java | 25 - .../org/osoa/sca/annotations/EndsConversation.java | 24 - .../main/java/org/osoa/sca/annotations/Init.java | 26 - .../java/org/osoa/sca/annotations/Integrity.java | 58 - .../main/java/org/osoa/sca/annotations/Intent.java | 48 - .../main/java/org/osoa/sca/annotations/OneWay.java | 25 - .../java/org/osoa/sca/annotations/PolicySets.java | 35 - .../java/org/osoa/sca/annotations/Property.java | 41 - .../java/org/osoa/sca/annotations/Qualifier.java | 25 - .../java/org/osoa/sca/annotations/Reference.java | 40 - .../java/org/osoa/sca/annotations/Remotable.java | 26 - .../java/org/osoa/sca/annotations/Requires.java | 46 - .../main/java/org/osoa/sca/annotations/Scope.java | 38 - .../java/org/osoa/sca/annotations/Service.java | 37 - java/sca/contrib/modules/scdl4j/pom.xml | 315 --- .../sca/contrib/modules/thirdparty-library/pom.xml | 88 - java/sca/contrib/modules/tracing-aspectj/LICENSE | 205 -- java/sca/contrib/modules/tracing-aspectj/NOTICE | 6 - .../contrib/modules/tracing-aspectj/launcher.bat | 5 - java/sca/contrib/modules/tracing-aspectj/pom.xml | 110 - .../apache/tuscany/sca/aspectj/LoggingAspect.java | 105 - .../tuscany/sca/aspectj/SimpleTracingAspect.java | 87 - .../apache/tuscany/sca/aspectj/TimingAspect.java | 60 - .../apache/tuscany/sca/aspectj/TracingAspect.java | 92 - .../src/main/resources/META-INF/aop.xml | 25 - .../tuscany/sca/aspectj/TracingTestCase.java | 41 - java/sca/contrib/modules/workspace-impl/LICENSE | 205 -- .../modules/workspace-impl/META-INF/MANIFEST.MF | 26 - java/sca/contrib/modules/workspace-impl/NOTICE | 6 - java/sca/contrib/modules/workspace-impl/pom.xml | 83 - .../impl/ContributionDependencyBuilderImpl.java | 145 -- .../impl/ContributionContentProcessor.java | 230 -- .../processor/impl/ContributionInfoProcessor.java | 225 -- .../scanner/impl/DirectoryContributionScanner.java | 107 - .../scanner/impl/JarContributionScanner.java | 121 - ...sca.contribution.processor.URLArtifactProcessor | 20 - .../workspace-validation-messages.properties | 22 - .../workspace-validation-messages_it.properties | 21 - .../ContributionDependencyBuilderTestCase.java | 100 - java/sca/contrib/modules/workspace-xml/LICENSE | 205 -- .../modules/workspace-xml/META-INF/MANIFEST.MF | 23 - java/sca/contrib/modules/workspace-xml/NOTICE | 6 - java/sca/contrib/modules/workspace-xml/pom.xml | 70 - .../workspace/xml/WorkspaceDocumentProcessor.java | 131 - .../sca/workspace/xml/WorkspaceProcessor.java | 167 -- ...ca.contribution.processor.StAXArtifactProcessor | 19 - .../workspace-xml-validation-messages.properties | 22 - .../ContributionWorkspaceProcessorTestCase.java | 89 - java/sca/contrib/modules/workspace/LICENSE | 205 -- .../contrib/modules/workspace/META-INF/MANIFEST.MF | 28 - java/sca/contrib/modules/workspace/NOTICE | 6 - java/sca/contrib/modules/workspace/pom.xml | 64 - .../sca/workspace/DefaultWorkspaceFactory.java | 32 - .../apache/tuscany/sca/workspace/Workspace.java | 39 - .../tuscany/sca/workspace/WorkspaceFactory.java | 36 - .../builder/ContributionDependencyBuilder.java | 42 - .../sca/workspace/impl/WorkspaceFactoryImpl.java | 40 - .../tuscany/sca/workspace/impl/WorkspaceImpl.java | 142 -- ...g.apache.tuscany.sca.workspace.WorkspaceFactory | 18 - java/sca/contrib/modules/xsd-xml/pom.xml | 82 - .../tuscany/sca/xsd/xml/XMLDocumentHelper.java | 184 -- .../tuscany/sca/xsd/xml/XSDDocumentProcessor.java | 102 - .../tuscany/sca/xsd/xml/XSDModelResolver.java | 279 --- ...sca.contribution.processor.URLArtifactProcessor | 19 - ...tuscany.sca.contribution.resolver.ModelResolver | 18 - .../xsd-xml-validation-messages.properties | 23 - .../sca/xsd/xml/XMLDocumentHelperTestCase.java | 51 - .../sca/xsd/xml/XSDDocumentProcessorTestCase.java | 90 - .../xsd-xml/src/test/resources/xsd/greeting.xsd | 29 - .../xsd-xml/src/test/resources/xsd/name.xsd | 29 - java/sca/contrib/modules/xsd/META-INF/MANIFEST.MF | 20 - java/sca/contrib/modules/xsd/pom.xml | 79 - .../apache/tuscany/sca/xsd/DefaultXSDFactory.java | 30 - .../org/apache/tuscany/sca/xsd/XSDFactory.java | 35 - .../org/apache/tuscany/sca/xsd/XSDefinition.java | 117 - .../tuscany/sca/xsd/impl/XSDFactoryImpl.java | 35 - .../tuscany/sca/xsd/impl/XSDefinitionImpl.java | 232 -- .../services/org.apache.tuscany.sca.xsd.XSDFactory | 18 - 3972 files changed, 405007 deletions(-) delete mode 100644 java/sca/contrib/distribution/bundle-minimal/pom.xml delete mode 100644 java/sca/contrib/distribution/bundle/pom.xml delete mode 100644 java/sca/contrib/distribution/features/all/pom.xml delete mode 100644 java/sca/contrib/distribution/features/all/src/main/assembly/bin.xml delete mode 100644 java/sca/contrib/distribution/features/all/src/main/assembly/src.xml delete mode 100644 java/sca/contrib/distribution/features/all/src/main/components/src-modules.xml delete mode 100644 java/sca/contrib/distribution/features/all/src/main/release/CHANGES delete mode 100644 java/sca/contrib/distribution/features/all/src/main/release/DISCLAIMER delete mode 100644 java/sca/contrib/distribution/features/all/src/main/release/README delete mode 100644 java/sca/contrib/distribution/features/all/src/main/release/RELEASE_NOTES delete mode 100644 java/sca/contrib/distribution/features/all/src/main/release/bin/INSTALL delete mode 100644 java/sca/contrib/distribution/features/all/src/main/release/bin/LICENSE delete mode 100644 java/sca/contrib/distribution/features/all/src/main/release/bin/NOTICE delete mode 100644 java/sca/contrib/distribution/features/all/src/main/release/src/BUILDING delete mode 100644 java/sca/contrib/distribution/features/all/src/main/release/src/LICENSE delete mode 100644 java/sca/contrib/distribution/features/all/src/main/release/src/NOTICE delete mode 100644 java/sca/contrib/distribution/features/core/pom.xml delete mode 100644 java/sca/contrib/distribution/features/core/src/main/assembly/bin.xml delete mode 100644 java/sca/contrib/distribution/features/core/src/main/assembly/src.xml delete mode 100644 java/sca/contrib/distribution/features/core/src/main/components/bin-common.xml delete mode 100644 java/sca/contrib/distribution/features/core/src/main/components/bin-dependencies.xml delete mode 100644 java/sca/contrib/distribution/features/core/src/main/components/bin-filtered-dependencies.xml delete mode 100644 java/sca/contrib/distribution/features/core/src/main/components/bin-samples.xml delete mode 100644 java/sca/contrib/distribution/features/core/src/main/components/src-common.xml delete mode 100644 java/sca/contrib/distribution/features/core/src/main/components/src-modules.xml delete mode 100644 java/sca/contrib/distribution/features/core/src/main/release/CHANGES delete mode 100644 java/sca/contrib/distribution/features/core/src/main/release/DISCLAIMER delete mode 100644 java/sca/contrib/distribution/features/core/src/main/release/README delete mode 100644 java/sca/contrib/distribution/features/core/src/main/release/RELEASE_NOTES delete mode 100644 java/sca/contrib/distribution/features/core/src/main/release/bin/INSTALL delete mode 100644 java/sca/contrib/distribution/features/core/src/main/release/bin/LICENSE delete mode 100644 java/sca/contrib/distribution/features/core/src/main/release/bin/NOTICE delete mode 100644 java/sca/contrib/distribution/features/core/src/main/release/src/BUILDING delete mode 100644 java/sca/contrib/distribution/features/core/src/main/release/src/LICENSE delete mode 100644 java/sca/contrib/distribution/features/core/src/main/release/src/NOTICE delete mode 100644 java/sca/contrib/distribution/features/ejava/pom.xml delete mode 100644 java/sca/contrib/distribution/features/ejava/src/main/assembly/bin.xml delete mode 100644 java/sca/contrib/distribution/features/ejava/src/main/assembly/src.xml delete mode 100644 java/sca/contrib/distribution/features/ejava/src/main/components/bin-samples.xml delete mode 100644 java/sca/contrib/distribution/features/ejava/src/main/components/src-modules.xml delete mode 100644 java/sca/contrib/distribution/features/ejava/src/main/release/CHANGES delete mode 100644 java/sca/contrib/distribution/features/ejava/src/main/release/DISCLAIMER delete mode 100644 java/sca/contrib/distribution/features/ejava/src/main/release/README delete mode 100644 java/sca/contrib/distribution/features/ejava/src/main/release/RELEASE_NOTES delete mode 100644 java/sca/contrib/distribution/features/ejava/src/main/release/bin/INSTALL delete mode 100644 java/sca/contrib/distribution/features/ejava/src/main/release/bin/LICENSE delete mode 100644 java/sca/contrib/distribution/features/ejava/src/main/release/bin/NOTICE delete mode 100644 java/sca/contrib/distribution/features/ejava/src/main/release/src/BUILDING delete mode 100644 java/sca/contrib/distribution/features/ejava/src/main/release/src/LICENSE delete mode 100644 java/sca/contrib/distribution/features/ejava/src/main/release/src/NOTICE delete mode 100755 java/sca/contrib/distribution/features/etc/generate-all-maven-files.sh delete mode 100755 java/sca/contrib/distribution/features/etc/generate-filtered-dependencies.sh delete mode 100755 java/sca/contrib/distribution/features/etc/generate-maven-files.sh delete mode 100755 java/sca/contrib/distribution/features/etc/generate-pom.sh delete mode 100755 java/sca/contrib/distribution/features/etc/generate-src-modules.sh delete mode 100644 java/sca/contrib/distribution/features/manager/pom.xml delete mode 100644 java/sca/contrib/distribution/features/manager/src/main/assembly/bin.xml delete mode 100644 java/sca/contrib/distribution/features/manager/src/main/assembly/src.xml delete mode 100644 java/sca/contrib/distribution/features/manager/src/main/components/bin-samples.xml delete mode 100644 java/sca/contrib/distribution/features/manager/src/main/components/src-modules.xml delete mode 100644 java/sca/contrib/distribution/features/manager/src/main/release/CHANGES delete mode 100644 java/sca/contrib/distribution/features/manager/src/main/release/DISCLAIMER delete mode 100644 java/sca/contrib/distribution/features/manager/src/main/release/README delete mode 100644 java/sca/contrib/distribution/features/manager/src/main/release/RELEASE_NOTES delete mode 100644 java/sca/contrib/distribution/features/manager/src/main/release/bin/INSTALL delete mode 100644 java/sca/contrib/distribution/features/manager/src/main/release/bin/LICENSE delete mode 100644 java/sca/contrib/distribution/features/manager/src/main/release/bin/NOTICE delete mode 100644 java/sca/contrib/distribution/features/manager/src/main/release/src/BUILDING delete mode 100644 java/sca/contrib/distribution/features/manager/src/main/release/src/LICENSE delete mode 100644 java/sca/contrib/distribution/features/manager/src/main/release/src/NOTICE delete mode 100644 java/sca/contrib/distribution/features/pom.xml delete mode 100644 java/sca/contrib/distribution/features/process/pom.xml delete mode 100644 java/sca/contrib/distribution/features/process/src/main/assembly/bin.xml delete mode 100644 java/sca/contrib/distribution/features/process/src/main/assembly/src.xml delete mode 100644 java/sca/contrib/distribution/features/process/src/main/components/bin-samples.xml delete mode 100644 java/sca/contrib/distribution/features/process/src/main/components/src-modules.xml delete mode 100644 java/sca/contrib/distribution/features/process/src/main/release/CHANGES delete mode 100644 java/sca/contrib/distribution/features/process/src/main/release/DISCLAIMER delete mode 100644 java/sca/contrib/distribution/features/process/src/main/release/README delete mode 100644 java/sca/contrib/distribution/features/process/src/main/release/RELEASE_NOTES delete mode 100644 java/sca/contrib/distribution/features/process/src/main/release/bin/INSTALL delete mode 100644 java/sca/contrib/distribution/features/process/src/main/release/bin/LICENSE delete mode 100644 java/sca/contrib/distribution/features/process/src/main/release/bin/NOTICE delete mode 100644 java/sca/contrib/distribution/features/process/src/main/release/src/BUILDING delete mode 100644 java/sca/contrib/distribution/features/process/src/main/release/src/LICENSE delete mode 100644 java/sca/contrib/distribution/features/process/src/main/release/src/NOTICE delete mode 100644 java/sca/contrib/distribution/features/repository/pom.xml delete mode 100644 java/sca/contrib/distribution/features/repository/src/main/assembly/repository.xml delete mode 100644 java/sca/contrib/distribution/features/repository/src/main/components/src-modules.xml delete mode 100644 java/sca/contrib/distribution/features/repository/src/main/release/CHANGES delete mode 100644 java/sca/contrib/distribution/features/repository/src/main/release/DISCLAIMER delete mode 100644 java/sca/contrib/distribution/features/repository/src/main/release/README delete mode 100644 java/sca/contrib/distribution/features/repository/src/main/release/RELEASE_NOTES delete mode 100644 java/sca/contrib/distribution/features/repository/src/main/release/bin/INSTALL delete mode 100644 java/sca/contrib/distribution/features/repository/src/main/release/bin/LICENSE delete mode 100644 java/sca/contrib/distribution/features/repository/src/main/release/bin/NOTICE delete mode 100644 java/sca/contrib/distribution/features/repository/src/main/release/src/BUILDING delete mode 100644 java/sca/contrib/distribution/features/repository/src/main/release/src/LICENSE delete mode 100644 java/sca/contrib/distribution/features/repository/src/main/release/src/NOTICE delete mode 100644 java/sca/contrib/distribution/features/web20/pom.xml delete mode 100644 java/sca/contrib/distribution/features/web20/src/main/assembly/bin.xml delete mode 100644 java/sca/contrib/distribution/features/web20/src/main/assembly/src.xml delete mode 100644 java/sca/contrib/distribution/features/web20/src/main/components/bin-samples.xml delete mode 100644 java/sca/contrib/distribution/features/web20/src/main/components/src-modules.xml delete mode 100644 java/sca/contrib/distribution/features/web20/src/main/release/CHANGES delete mode 100644 java/sca/contrib/distribution/features/web20/src/main/release/DISCLAIMER delete mode 100644 java/sca/contrib/distribution/features/web20/src/main/release/README delete mode 100644 java/sca/contrib/distribution/features/web20/src/main/release/RELEASE_NOTES delete mode 100644 java/sca/contrib/distribution/features/web20/src/main/release/bin/INSTALL delete mode 100644 java/sca/contrib/distribution/features/web20/src/main/release/bin/LICENSE delete mode 100644 java/sca/contrib/distribution/features/web20/src/main/release/bin/NOTICE delete mode 100644 java/sca/contrib/distribution/features/web20/src/main/release/src/BUILDING delete mode 100644 java/sca/contrib/distribution/features/web20/src/main/release/src/LICENSE delete mode 100644 java/sca/contrib/distribution/features/web20/src/main/release/src/NOTICE delete mode 100644 java/sca/contrib/distribution/features/webservice/pom.xml delete mode 100644 java/sca/contrib/distribution/features/webservice/src/main/assembly/bin.xml delete mode 100644 java/sca/contrib/distribution/features/webservice/src/main/assembly/src.xml delete mode 100644 java/sca/contrib/distribution/features/webservice/src/main/components/bin-samples.xml delete mode 100644 java/sca/contrib/distribution/features/webservice/src/main/components/src-modules.xml delete mode 100644 java/sca/contrib/distribution/features/webservice/src/main/release/CHANGES delete mode 100644 java/sca/contrib/distribution/features/webservice/src/main/release/DISCLAIMER delete mode 100644 java/sca/contrib/distribution/features/webservice/src/main/release/README delete mode 100644 java/sca/contrib/distribution/features/webservice/src/main/release/RELEASE_NOTES delete mode 100644 java/sca/contrib/distribution/features/webservice/src/main/release/bin/INSTALL delete mode 100644 java/sca/contrib/distribution/features/webservice/src/main/release/bin/LICENSE delete mode 100644 java/sca/contrib/distribution/features/webservice/src/main/release/bin/NOTICE delete mode 100644 java/sca/contrib/distribution/features/webservice/src/main/release/src/BUILDING delete mode 100644 java/sca/contrib/distribution/features/webservice/src/main/release/src/LICENSE delete mode 100644 java/sca/contrib/distribution/features/webservice/src/main/release/src/NOTICE delete mode 100644 java/sca/contrib/distribution/manifest/pom.xml delete mode 100644 java/sca/contrib/distribution/pom.xml delete mode 100644 java/sca/contrib/distribution/src/main/assembly/bin.xml delete mode 100644 java/sca/contrib/distribution/src/main/assembly/src.xml delete mode 100644 java/sca/contrib/distribution/src/main/release/CHANGES delete mode 100644 java/sca/contrib/distribution/src/main/release/README delete mode 100644 java/sca/contrib/distribution/src/main/release/RELEASE_NOTES delete mode 100644 java/sca/contrib/distribution/src/main/release/bin/INSTALL delete mode 100644 java/sca/contrib/distribution/src/main/release/bin/LICENSE delete mode 100644 java/sca/contrib/distribution/src/main/release/bin/NOTICE delete mode 100644 java/sca/contrib/distribution/src/main/release/src/BUILDING delete mode 100644 java/sca/contrib/distribution/src/main/release/src/LICENSE delete mode 100644 java/sca/contrib/distribution/src/main/release/src/NOTICE delete mode 100644 java/sca/contrib/distribution/src/main/xsl/srcbuild_paths.xsl delete mode 100644 java/sca/contrib/distribution/standalone/pom.xml delete mode 100644 java/sca/contrib/distribution/standalone/src/test/resources/repo/tuscany.properties delete mode 100644 java/sca/contrib/distribution/tomcat/pom.xml delete mode 100644 java/sca/contrib/distribution/tomcat/src/main/assembly/bin.xml delete mode 100644 java/sca/contrib/distribution/tomcat/src/main/resources/sca-contributions/tuscany.properties delete mode 100644 java/sca/contrib/distribution/war/pom.xml delete mode 100644 java/sca/contrib/distribution/war/src/main/release/LICENSE delete mode 100644 java/sca/contrib/distribution/war/src/main/release/NOTICE delete mode 100644 java/sca/contrib/distribution/war/src/main/release/README delete mode 100644 java/sca/contrib/distribution/war/src/main/webapp/web.xml delete mode 100644 java/sca/contrib/distribution/war/war.xml delete mode 100644 java/sca/contrib/distribution/webapp/pom.xml delete mode 100644 java/sca/contrib/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/ContributionUploaderServlet.java delete mode 100644 java/sca/contrib/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/WarContextListener.java delete mode 100644 java/sca/contrib/distribution/webapp/src/main/webapp/WEB-INF/web.xml delete mode 100644 java/sca/contrib/distribution/webapp/src/main/webapp/sca-contributions/safeToDelete.tmp delete mode 100644 java/sca/contrib/distribution/webapp/src/main/webapp/sca-contributions/sample-calculator-nodeB.jar delete mode 100644 java/sca/contrib/distribution/webapp/src/main/webapp/sca-contributions/sample-helloworld-ws-service.jar delete mode 100644 java/sca/contrib/distribution/webapp/src/main/webapp/scaDomainInfo.jsp delete mode 100644 java/sca/contrib/modules/api/LICENSE delete mode 100644 java/sca/contrib/modules/api/NOTICE delete mode 100644 java/sca/contrib/modules/api/pom.xml delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/LICENSE delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/NOTICE delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/pom.xml delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/AssemblyBuilder.java delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentBuilder.java delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentPropertyBuilder.java delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentReferenceBuilder.java delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentServiceBuilder.java delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/CompositeBuilder.java delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/AssemblyBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentPropertyBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentReferenceBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentServiceBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/CompositeBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataService.java delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataServiceImpl.java delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountService.java delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountServiceImpl.java delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilder.java delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilderTestCase.java delete mode 100644 java/sca/contrib/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/StockQuoteService.java delete mode 100644 java/sca/contrib/modules/assembly-xml/LICENSE delete mode 100644 java/sca/contrib/modules/assembly-xml/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/assembly-xml/NOTICE delete mode 100644 java/sca/contrib/modules/assembly-xml/pom.xml delete mode 100644 java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/BaseAssemblyProcessor.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ComponentTypeDocumentProcessor.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ComponentTypeModelResolver.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ComponentTypeProcessor.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeModelResolver.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConfiguredOperationProcessor.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/Constants.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeDocumentProcessor.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeModelResolver.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeProcessor.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/DefaultBeanModelProcessor.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/PolicyAttachPointProcessor.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/assembly-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor delete mode 100644 java/sca/contrib/modules/assembly-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver delete mode 100644 java/sca/contrib/modules/assembly-xml/src/main/resources/assembly-xml-validation-messages.properties delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/AnyElementReadWriteTestCase.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/BuildPolicyTestCase.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/MultiplicityReadWriteTestCase.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadAllTestCase.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadDocumentTestCase.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadTestCase.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAttributeTestCase.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteLocalCompositeTestCase.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ResolvePolicyTestCase.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ResolveTestCase.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestAttributeProcessor.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestPolicyProcessor.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestSCABindingFactoryImpl.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestSCABindingImpl.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WireTestCase.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteAllTestCase.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteNamespacesTestCase.java delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/Calculator.composite delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/CalculatorComponent.constrainingType delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/CalculatorExtended.composite delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/CalculatorImpl.componentType delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/JavaScriptReference.composite delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/Multiplicity.composite delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/NestedCalculator.composite delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/RMIBindingTest.composite delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/TestAllCalculator.composite delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/TestAllDivide.composite delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/TestAllPolicyCalculator.composite delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/UnknownElement.composite delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/another_test_definitions.xml delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/local.composite delete mode 100644 java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/test_definitions.xml delete mode 100644 java/sca/contrib/modules/assembly-xsd/LICENSE delete mode 100644 java/sca/contrib/modules/assembly-xsd/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/assembly-xsd/NOTICE delete mode 100644 java/sca/contrib/modules/assembly-xsd/pom.xml delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-all.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-binding-ejb.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-binding-jms.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-binding-sca.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-binding-webservice.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-contributions.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-core.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-definitions.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-bpel.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-composite.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-cpp.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-ejb.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-java.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-spring.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-web.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-interface-cpp.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-interface-java.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-interface-wsdl.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-policy.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/sca.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-atom.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-dwr.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-http.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-jms.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-jsonrpc.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-notification.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-rmi.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-rss.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-data-helper.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-das.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-data-xml.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-node.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-notification.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-osgi.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-resource.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-script.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-widget.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-xquery.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca.xsd delete mode 100644 java/sca/contrib/modules/assembly-xsd/src/main/resources/wsdli.xsd delete mode 100644 java/sca/contrib/modules/assembly/LICENSE delete mode 100644 java/sca/contrib/modules/assembly/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/assembly/NOTICE delete mode 100644 java/sca/contrib/modules/assembly/pom.xml delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractContract.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractProperty.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractReference.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractService.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AssemblyFactory.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Base.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Binding.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/BindingRRB.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Callback.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Component.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentProperty.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentReference.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentService.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentType.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Composite.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/CompositeReference.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/CompositeService.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ConfiguredOperation.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ConstrainingType.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Contract.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/DefaultAssemblyFactory.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/DefaultEndpointFactory.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Endpoint.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/EndpointFactory.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Extensible.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Implementation.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Multiplicity.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/OperationSelector.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/OperationsConfigurator.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/OptimizableBinding.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Property.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Reference.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/SCABinding.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/SCABindingFactory.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Service.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Wire.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/WireFormat.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/AutomaticBinding.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/BindingBuilder.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/BindingBuilderExtension.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/ComponentPreProcessor.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/CompositeBuilder.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/CompositeBuilderException.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/DefaultEndpointBuilder.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/DomainBuilder.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/EndpointBuilder.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseConfigurationBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseWireBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BindingConfigurationUtil.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentConfigurationBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferenceBindingBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferencePromotionWireBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferenceWireBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentServiceBindingBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentServicePromotionBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBindingURIBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeCloneBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeIncludeBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositePolicyBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositePromotionBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeReferenceConfigurationBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeReferenceWireBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServiceBindingBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServiceConfigurationBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServicePromotionBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/EndpointBuilderImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PolicyConfigurationException.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PolicyConfigurationUtil.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PrintUtil.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ProblemImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PropertyConfigurationUtil.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ReferenceConfigurationUtil.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ServiceConfigurationUtil.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AbstractPropertyImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AbstractReferenceImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AbstractServiceImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AssemblyFactoryImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/BaseImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CallbackImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentPropertyImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentReferenceImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentServiceImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentTypeImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeReferenceImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeServiceImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ConfiguredOperationImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ConstrainingTypeImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ContractImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointFactoryImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ExtensibleImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ImplementationImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/PropertyImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ReferenceImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ServiceImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/WireImpl.java delete mode 100644 java/sca/contrib/modules/assembly/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.AssemblyFactory delete mode 100644 java/sca/contrib/modules/assembly/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.EndpointFactory delete mode 100644 java/sca/contrib/modules/assembly/src/main/resources/assembly-validation-messages.properties delete mode 100644 java/sca/contrib/modules/assembly/src/main/resources/assembly-validation-messages_it.properties delete mode 100644 java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/AssemblyFactoryTestCase.java delete mode 100644 java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestBinding.java delete mode 100644 java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestImplementation.java delete mode 100644 java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestInterface.java delete mode 100644 java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestInterfaceContract.java delete mode 100644 java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestOperation.java delete mode 100644 java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderTestCase.java delete mode 100644 java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/builder/impl/PrintUtilTestCase.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/LICENSE delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/NOTICE delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/ReceiptToms.gif delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/ReceiptValue.jpg delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/pom.xml delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/collection/Collection.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/collection/MediaCollection.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/collection/NotFoundException.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingInvoker.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingListenerServlet.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingUtil.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomReferenceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomDeleteTestCase.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomGetTestCase.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomPostTestCase.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomPutTestCase.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomTestCaseUtils.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/Consumer.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/ConsumerProviderAtomTestCase.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/ContentNegotiationTest.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/CustomerClient.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/CustomerClientImpl.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/CustomerCollectionImpl.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/MediaCollectionImpl.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/MediaCollectionTestCase.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/Provider.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/ProviderEntryEntityTagsTestCase.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/ProviderFeedEntityTagsTestCase.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/ProviderServiceDocumentTestCase.java delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/test/resources/org/apache/tuscany/sca/binding/atom/Consumer.composite delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/test/resources/org/apache/tuscany/sca/binding/atom/Provider.composite delete mode 100644 java/sca/contrib/modules/binding-atom-abdera/src/test/resources/org/apache/tuscany/sca/binding/atom/ReceiptProvider.composite delete mode 100644 java/sca/contrib/modules/binding-atom/LICENSE delete mode 100644 java/sca/contrib/modules/binding-atom/NOTICE delete mode 100644 java/sca/contrib/modules/binding-atom/pom.xml delete mode 100644 java/sca/contrib/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/AtomBinding.java delete mode 100644 java/sca/contrib/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/AtomBindingFactory.java delete mode 100644 java/sca/contrib/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/impl/AtomBindingFactoryImpl.java delete mode 100644 java/sca/contrib/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/impl/AtomBindingImpl.java delete mode 100644 java/sca/contrib/modules/binding-atom/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.atom.AtomBindingFactory delete mode 100644 java/sca/contrib/modules/binding-atom/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/binding-atom/src/test/java/org/apache/tuscany/sca/binding/atom/AtomBindingProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/LICENSE delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/NOTICE delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/pom.xml delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaReferenceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/CorbaException.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/RequestConfigurationException.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaRequest.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaResponse.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceInstanceCreator.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceMethodInterceptor.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/ComponentInvocationProxy.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/DynaCorbaServant.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/InvocationException.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/InvocationProxy.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/OperationTypes.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/AnnotationAttributes.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/NodeType.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTree.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeCreator.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeNode.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/UnionAttributes.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ArrayTypeHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/BooleanTypeHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ByteTypeHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/CharTypeHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/DoubleTypeHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/EnumTypeHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/FloatTypeHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/IntTypeHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/LongTypeHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ReferenceTypeHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/SequenceTypeHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ShortTypeHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StringTypeHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StructTypeHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelpersProxy.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/UnionTypeHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/Utils.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/util/MethodFinder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/util/OperationMapper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/meta/CorbaArray.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/meta/CorbaUnionElement.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/meta/CorbaUnionElementType.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/CorbaServantTestCase.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/CorbaTypesTestCase.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/MappingTestInterface.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/MethodFinderTestCase.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/OperationMappingTestCase.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/TestConstants.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTests.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTestsHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTestsHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTestsOperations.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/InnerUnion.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/InnerUnionHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/InnerUnionHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/RichUnion.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/RichUnionHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/RichUnionHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/StringArrayHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/StringArrayHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/TestStruct.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/TestStructHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/TestStructHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/_ArraysUnionsTestsImplBase.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/_ArraysUnionsTestsStub.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/Color.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/ColorHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/ColorHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/EnumManager.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/EnumManagerHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/EnumManagerHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/EnumManagerOperations.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/_EnumManagerImplBase.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/_EnumManagerStub.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcOperations.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/Arguments.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZero.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupported.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcImplBase.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcStub.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterOperations.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterOperations.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObject.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectOperations.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStruct.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStruct.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObject.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectOperations.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterImplBase.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterStub.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterImplBase.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterStub.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectImplBase.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectStub.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectImplBase.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectStub.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/char_listHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/char_listHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/double_listHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/double_listHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/float_listHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/float_listHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_listHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_listHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Helper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Holder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Helper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Holder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Helper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Holder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/short_listHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/short_listHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/string_listHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/string_listHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/ArraysTestStruct.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/Calc.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/DummyObject.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InnerUnion.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidCorbaArray.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidEnum1.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidEnum2.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidEnum3.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidStruct1.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidStruct2.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidStruct3.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion1.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion2.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion3.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion4.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion5.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/NonCorbaException.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/RichUnion.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/SimpleStruct.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/SomeStruct.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObject.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectOperations.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHelper.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHolder.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerOperations.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectImplBase.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectStub.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerImplBase.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerStub.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysSetterServant.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysUnionsServant.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysUnionsTuscanyServant.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/CalcServant.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/DummyObjectServant.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/EnumManagerServant.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/InvalidTestObjectServant.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/InvalidTypesServant.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/NonCorbaServant.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ObjectManagerServant.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/PrimitivesSetterServant.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/TestObjectServant.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestDataType.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestInterface.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestInterfaceContract.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestOperation.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestRuntimeComponentService.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestRuntimeWire.java delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/resources/arrays_unions.idl delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/resources/enums.idl delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/resources/exceptions.idl delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/resources/general_tests.idl delete mode 100644 java/sca/contrib/modules/binding-corba-runtime/src/test/resources/references.idl delete mode 100644 java/sca/contrib/modules/binding-corba/LICENSE delete mode 100644 java/sca/contrib/modules/binding-corba/NOTICE delete mode 100644 java/sca/contrib/modules/binding-corba/pom.xml delete mode 100644 java/sca/contrib/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBinding.java delete mode 100644 java/sca/contrib/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBindingFactory.java delete mode 100644 java/sca/contrib/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingFactoryImpl.java delete mode 100644 java/sca/contrib/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingImpl.java delete mode 100644 java/sca/contrib/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProcessor.java delete mode 100644 java/sca/contrib/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.corba.CorbaBindingFactory delete mode 100644 java/sca/contrib/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/binding-dwr/LICENSE delete mode 100644 java/sca/contrib/modules/binding-dwr/NOTICE delete mode 100644 java/sca/contrib/modules/binding-dwr/pom.xml delete mode 100644 java/sca/contrib/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBinding.java delete mode 100644 java/sca/contrib/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBindingActivator.java delete mode 100644 java/sca/contrib/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvoker.java delete mode 100644 java/sca/contrib/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvokerFactory.java delete mode 100644 java/sca/contrib/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRService.java delete mode 100644 java/sca/contrib/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRServlet.java delete mode 100644 java/sca/contrib/modules/binding-dwr/src/main/resources/META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/LICENSE delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/NOTICE delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/pom.xml delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/ClassLoadingUtil.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/DynamicStubClassLoader.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/Java2IDLUtil.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/ObjectInputStreamExt.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/StubMethodInterceptor.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/UtilInitializer.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/provider/EJBBindingInvoker.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/provider/EJBBindingProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/provider/EJBBindingReferenceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/EJBHandler.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/EJBLocator.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/EJBObjectFactory.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/EJBStubHelper.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/InterfaceInfo.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/JavaReflectionAdapter.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/MethodInfo.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/NamingEndpoint.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/main/resources/binding-ejb-validation-messages.properties delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/test/java/account/BankManagerFacade.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/test/java/account/Customer.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/test/java/account/CustomerImpl.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/test/java/calculator/AddService.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/test/java/calculator/AddServiceHome.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/test/java/org/apache/geronimo/samples/bank/ejb/BankManagerFacade.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/test/java/org/apache/geronimo/samples/bank/ejb/BankManagerFacadeHome.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/test/java/org/apache/tuscany/sca/binding/ejb/tests/EJBReferenceTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/test/java/org/apache/tuscany/sca/binding/ejb/tests/MockServer.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/test/java/org/apache/tuscany/sca/binding/ejb/tests/SocketTracer.java delete mode 100644 java/sca/contrib/modules/binding-ejb-runtime/src/test/resources/account/account.composite delete mode 100644 java/sca/contrib/modules/binding-ejb/LICENSE delete mode 100644 java/sca/contrib/modules/binding-ejb/NOTICE delete mode 100644 java/sca/contrib/modules/binding-ejb/pom.xml delete mode 100644 java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/EJBBinding.java delete mode 100644 java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/EJBBindingException.java delete mode 100644 java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/EJBBindingFactory.java delete mode 100644 java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/impl/EJBBindingFactoryImpl.java delete mode 100644 java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/impl/EJBBindingImpl.java delete mode 100644 java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/impl/EJBBindingProcessor.java delete mode 100644 java/sca/contrib/modules/binding-ejb/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.ejb.EJBBindingFactory delete mode 100644 java/sca/contrib/modules/binding-ejb/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/binding-ejb/src/main/resources/binding-ejb-validation-messages.properties delete mode 100644 java/sca/contrib/modules/binding-feed/LICENSE delete mode 100644 java/sca/contrib/modules/binding-feed/NOTICE delete mode 100644 java/sca/contrib/modules/binding-feed/pom.xml delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBinding.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBindingFactory.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBinding.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBindingFactory.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/Collection.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/MediaCollection.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/NotFoundException.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingFactoryImpl.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingImpl.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingFactoryImpl.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingImpl.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingInvoker.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomFeedEntryUtil.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomReferenceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomServiceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingInvoker.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSReferenceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSServiceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.AtomBindingFactory delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.RSSBindingFactory delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory delete mode 100644 java/sca/contrib/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Consumer.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClient.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClientImpl.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerCollectionImpl.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Provider.java delete mode 100644 java/sca/contrib/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Consumer.composite delete mode 100644 java/sca/contrib/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Provider.composite delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/LICENSE delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/NOTICE delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/pom.xml delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/Collection.java delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/MediaCollection.java delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/NotFoundException.java delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingInvoker.java delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingListenerServlet.java delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingUtil.java delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataReferenceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataServiceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/main/resources/tuscany-binding-gdata.xsd delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/Consumer.java delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/ConsumerProviderTestCase.java delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerClient.java delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerClientImpl.java delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerCollectionImpl.java delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleBloggerServiceTestCase.java delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleCalendarServiceTestCase.java delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleContactsServiceTestCase.java delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleWebAlbumServiceTestCase.java delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/Provider.java delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/StartLocalhostServlet.java delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/log4j.properties delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Consumer.composite delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleBlogger.composite delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleCalendar.composite delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleContacts.composite delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleWebAlbum.composite delete mode 100644 java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Provider.composite delete mode 100644 java/sca/contrib/modules/binding-gdata/LICENSE delete mode 100644 java/sca/contrib/modules/binding-gdata/NOTICE delete mode 100644 java/sca/contrib/modules/binding-gdata/pom.xml delete mode 100644 java/sca/contrib/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/GdataBinding.java delete mode 100644 java/sca/contrib/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/GdataBindingFactory.java delete mode 100644 java/sca/contrib/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingFactoryImpl.java delete mode 100644 java/sca/contrib/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingImpl.java delete mode 100644 java/sca/contrib/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingProcessor.java delete mode 100644 java/sca/contrib/modules/binding-gdata/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.gdata.GdataBindingFactory delete mode 100644 java/sca/contrib/modules/binding-gdata/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/LICENSE delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/NOTICE delete mode 100755 java/sca/contrib/modules/binding-gdata2-runtime/deployGdataToMaven.sh delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/pom.xml delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/Collection.java delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/MediaCollection.java delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingInvoker.java delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingListenerServlet.java delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataReferenceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataServiceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumer.java delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumerImpl.java delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumerTest.java delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/Consumer.java delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerClient.java delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerClientImpl.java delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerCollectionImpl.java delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/Provider.java delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/CalendarConsumer.composite delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Consumer.composite delete mode 100644 java/sca/contrib/modules/binding-gdata2-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Provider.composite delete mode 100644 java/sca/contrib/modules/binding-gdata2/LICENSE delete mode 100644 java/sca/contrib/modules/binding-gdata2/NOTICE delete mode 100644 java/sca/contrib/modules/binding-gdata2/pom.xml delete mode 100644 java/sca/contrib/modules/binding-gdata2/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataBinding.java delete mode 100644 java/sca/contrib/modules/binding-gdata2/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataBindingFactory.java delete mode 100644 java/sca/contrib/modules/binding-gdata2/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataImplementationProcessor.java delete mode 100644 java/sca/contrib/modules/binding-gdata2/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GDataBindingFactoryImpl.java delete mode 100644 java/sca/contrib/modules/binding-gdata2/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GDataBindingImpl.java delete mode 100644 java/sca/contrib/modules/binding-gdata2/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.gdata.GDataBindingFactory delete mode 100644 java/sca/contrib/modules/binding-gdata2/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/binding-http-runtime/LICENSE delete mode 100644 java/sca/contrib/modules/binding-http-runtime/NOTICE delete mode 100644 java/sca/contrib/modules/binding-http-runtime/pom.xml delete mode 100644 java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPBindingListenerServlet.java delete mode 100644 java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPBindingProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPGetListenerServlet.java delete mode 100644 java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPServiceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPServiceListenerServlet.java delete mode 100644 java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/util/HTTPHeadersParser.java delete mode 100644 java/sca/contrib/modules/binding-http-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory delete mode 100644 java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/HTTPBindingCacheTestCase.java delete mode 100644 java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/HTTPBindingTestCase.java delete mode 100644 java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/NotModifiedException.java delete mode 100644 java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/PreconditionFailedException.java delete mode 100644 java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/TestBindingCacheImpl.java delete mode 100644 java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/TestGetImpl.java delete mode 100644 java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/TestServiceCacheImpl.java delete mode 100644 java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/TestServiceImpl.java delete mode 100644 java/sca/contrib/modules/binding-http-runtime/src/test/resources/content/test.html delete mode 100644 java/sca/contrib/modules/binding-http-runtime/src/test/resources/test.composite delete mode 100644 java/sca/contrib/modules/binding-http-runtime/src/test/resources/testCache.composite delete mode 100644 java/sca/contrib/modules/binding-http/LICENSE delete mode 100644 java/sca/contrib/modules/binding-http/NOTICE delete mode 100644 java/sca/contrib/modules/binding-http/pom.xml delete mode 100644 java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPBinding.java delete mode 100644 java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPBindingFactory.java delete mode 100644 java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPCacheContext.java delete mode 100644 java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPHeader.java delete mode 100644 java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/impl/HTTPBindingFactoryImpl.java delete mode 100644 java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/impl/HTTPBindingImpl.java delete mode 100644 java/sca/contrib/modules/binding-http/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.http.HTTPBindingFactory delete mode 100644 java/sca/contrib/modules/binding-http/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/binding-jms-policy/LICENSE delete mode 100644 java/sca/contrib/modules/binding-jms-policy/NOTICE delete mode 100644 java/sca/contrib/modules/binding-jms-policy/pom.xml delete mode 100644 java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/JMSBindingDefinitionsProvider.java delete mode 100644 java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationPolicy.java delete mode 100644 java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationPolicyProcessor.java delete mode 100644 java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationPolicyProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationReferencePolicyInterceptor.java delete mode 100644 java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationReferencePolicyProvider.java delete mode 100644 java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationServicePolicyInterceptor.java delete mode 100644 java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationServicePolicyProvider.java delete mode 100644 java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderPolicy.java delete mode 100644 java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderPolicyProcessor.java delete mode 100644 java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderPolicyProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderReferencePolicyInterceptor.java delete mode 100644 java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderReferencePolicyProvider.java delete mode 100644 java/sca/contrib/modules/binding-jms-policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/binding-jms-policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory delete mode 100644 java/sca/contrib/modules/binding-jms-policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider delete mode 100644 java/sca/contrib/modules/binding-jms-policy/src/main/resources/binding-jms-policy-validation-messages.properties delete mode 100644 java/sca/contrib/modules/binding-jms-policy/src/main/resources/org/apache/tuscany/sca/binding/jms/policy/definitions.xml delete mode 100644 java/sca/contrib/modules/binding-jms-policy/src/test/java/org/apache/tuscany/sca/binding/jms/policy/PolicyProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/binding-jms-policy/src/test/resources/org/apache/tuscany/sca/binding/jms/policy/mock_policy_definitions.xml delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/LICENSE delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/NOTICE delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/pom.xml delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/context/JMSBindingContext.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/headers/HeaderReferenceInterceptor.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/OperationSelectorJMSDefaultProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/OperationSelectorJMSDefaultServiceInterceptor.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/OperationSelectorJMSDefaultServiceProvider.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/AbstractMessageProcessor.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/BytesMessageProcessor.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/DefaultJMSBindingListener.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/DefaultJMSResourceFactoryExtensionPoint.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingInvoker.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingReferenceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingServiceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSMessageProcessor.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSMessageProcessorUtil.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactory.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactoryExtensionPoint.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactoryImpl.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/ObjectMessageProcessor.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingInvoker.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingListener.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/TextMessageProcessor.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/XMLTextMessageProcessor.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportServiceInterceptor.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesReferenceInterceptor.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesReferenceProvider.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesServiceInterceptor.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesServiceProvider.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectReferenceInterceptor.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectReferenceProvider.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectServiceInterceptor.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectServiceProvider.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextReferenceInterceptor.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextReferenceProvider.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextServiceInterceptor.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextServiceProvider.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLReferenceInterceptor.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLReferenceProvider.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLServiceInterceptor.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLServiceProvider.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.OperationSelectorProviderFactory delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.WireFormatProviderFactory delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldClientImpl.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldService.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldServiceImpl.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/test/java/org/apache/tuscany/sca/binding/jms/OperationSelectionTestCaseFIXME.java delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/test/resources/simple/client.composite delete mode 100644 java/sca/contrib/modules/binding-jms-runtime/src/test/resources/simple/service.composite delete mode 100644 java/sca/contrib/modules/binding-jms/LICENSE delete mode 100644 java/sca/contrib/modules/binding-jms/NOTICE delete mode 100644 java/sca/contrib/modules/binding-jms/pom.xml delete mode 100644 java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBinding.java delete mode 100644 java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingConstants.java delete mode 100644 java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingException.java delete mode 100644 java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java delete mode 100644 java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/OperationSelectorJMSDefault.java delete mode 100644 java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/OperationSelectorJMSDefaultProcessor.java delete mode 100644 java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytes.java delete mode 100644 java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesProcessor.java delete mode 100644 java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObject.java delete mode 100644 java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectProcessor.java delete mode 100644 java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSText.java delete mode 100644 java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextProcessor.java delete mode 100644 java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXML.java delete mode 100644 java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLProcessor.java delete mode 100644 java/sca/contrib/modules/binding-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/binding-jms/src/main/resources/binding-jms-validation-messages.properties delete mode 100644 java/sca/contrib/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/binding-jsonrpc-runtime/LICENSE delete mode 100644 java/sca/contrib/modules/binding-jsonrpc-runtime/NOTICE delete mode 100644 java/sca/contrib/modules/binding-jsonrpc-runtime/pom.xml delete mode 100644 java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java delete mode 100644 java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCReferenceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceServlet.java delete mode 100644 java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JavaToSmd.java delete mode 100644 java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/ScaDomainScriptServlet.java delete mode 100644 java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory delete mode 100644 java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/resources/org/apache/tuscany/sca/binding/jsonrpc/provider/jsonrpc.js delete mode 100644 java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/bean/TestBean.java delete mode 100644 java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/echo/Echo.java delete mode 100644 java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/echo/EchoBusinessException.java delete mode 100644 java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/echo/EchoComponentImpl.java delete mode 100644 java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCDataTypeTestCase.java delete mode 100644 java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCExceptionTestCase.java delete mode 100644 java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCServiceTestCase.java delete mode 100644 java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/resources/JSONRPCBinding.composite delete mode 100644 java/sca/contrib/modules/binding-jsonrpc/LICENSE delete mode 100644 java/sca/contrib/modules/binding-jsonrpc/NOTICE delete mode 100644 java/sca/contrib/modules/binding-jsonrpc/pom.xml delete mode 100644 java/sca/contrib/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCBinding.java delete mode 100644 java/sca/contrib/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCBindingFactory.java delete mode 100644 java/sca/contrib/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/impl/JSONRPCBindingFactoryImpl.java delete mode 100644 java/sca/contrib/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/impl/JSONRPCBindingImpl.java delete mode 100644 java/sca/contrib/modules/binding-jsonrpc/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.jsonrpc.JSONRPCBindingFactory delete mode 100644 java/sca/contrib/modules/binding-jsonrpc/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/binding-notification/LICENSE delete mode 100644 java/sca/contrib/modules/binding-notification/NOTICE delete mode 100644 java/sca/contrib/modules/binding-notification/pom.xml delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/DefaultNotificationBindingFactory.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBinding.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingFactory.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingImpl.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingModuleActivator.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProcessor.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBrokerManager.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingInvoker.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationServiceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManager.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManagerImpl.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBroker.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBrokerEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Broker.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReference.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReferenceEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerID.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerIDEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReference.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReferenceEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Brokers.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokersEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverride.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponse.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponseEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Constants.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReference.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReferenceEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/DefaultEncodingRegistry.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingException.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingObject.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingRegistry.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingUtils.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumers.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumersEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducers.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducersEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddress.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddressEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReference.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequence.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequenceEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapper.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapperEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumers.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumersEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Neighbors.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborsEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBroker.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAck.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAckEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponse.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponseEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumer.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponse.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponseEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducer.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponse.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponseEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferenceProperties.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferencePropertiesEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBroker.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBrokerEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBroker.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBrokerEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnection.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnectionEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Subscribe.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/SubscribeEnDeCoder.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/IOUtils.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/NotificationServlet.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/URIUtil.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator delete mode 100644 java/sca/contrib/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/AxiomTestCase.java delete mode 100644 java/sca/contrib/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingTestCase.java delete mode 100644 java/sca/contrib/modules/binding-rmi-runtime/LICENSE delete mode 100644 java/sca/contrib/modules/binding-rmi-runtime/NOTICE delete mode 100644 java/sca/contrib/modules/binding-rmi-runtime/pom.xml delete mode 100644 java/sca/contrib/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIBindingProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIReferenceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIReferenceInvoker.java delete mode 100644 java/sca/contrib/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIServiceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-rmi-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory delete mode 100644 java/sca/contrib/modules/binding-rmi-runtime/src/test/java/helloworld/HelloException.java delete mode 100644 java/sca/contrib/modules/binding-rmi-runtime/src/test/java/helloworld/HelloWorldImpl.java delete mode 100644 java/sca/contrib/modules/binding-rmi-runtime/src/test/java/helloworld/HelloWorldRmiImpl.java delete mode 100644 java/sca/contrib/modules/binding-rmi-runtime/src/test/java/helloworld/HelloWorldRmiService.java delete mode 100644 java/sca/contrib/modules/binding-rmi-runtime/src/test/java/helloworld/HelloWorldService.java delete mode 100644 java/sca/contrib/modules/binding-rmi-runtime/src/test/java/org/apache/tuscany/sca/binding/rmi/BindingTestCase.java delete mode 100644 java/sca/contrib/modules/binding-rmi-runtime/src/test/resources/HelloWorldImpl.componentType delete mode 100644 java/sca/contrib/modules/binding-rmi-runtime/src/test/resources/HelloWorldRmiImpl.componentType delete mode 100644 java/sca/contrib/modules/binding-rmi-runtime/src/test/resources/RMIBindingTest.composite delete mode 100644 java/sca/contrib/modules/binding-rmi/LICENSE delete mode 100644 java/sca/contrib/modules/binding-rmi/NOTICE delete mode 100644 java/sca/contrib/modules/binding-rmi/pom.xml delete mode 100644 java/sca/contrib/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/RMIBinding.java delete mode 100644 java/sca/contrib/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/RMIBindingFactory.java delete mode 100644 java/sca/contrib/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/impl/RMIBindingFactoryImpl.java delete mode 100644 java/sca/contrib/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/impl/RMIBindingImpl.java delete mode 100644 java/sca/contrib/modules/binding-rmi/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.rmi.RMIBindingFactory delete mode 100644 java/sca/contrib/modules/binding-rmi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/binding-rss-rome/LICENSE delete mode 100644 java/sca/contrib/modules/binding-rss-rome/NOTICE delete mode 100644 java/sca/contrib/modules/binding-rss-rome/pom.xml delete mode 100644 java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/collection/Collection.java delete mode 100644 java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/collection/MediaCollection.java delete mode 100644 java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/collection/NotFoundException.java delete mode 100644 java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSBindingInvoker.java delete mode 100644 java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSBindingListenerServlet.java delete mode 100644 java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSBindingProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSReferenceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSServiceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-rss-rome/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory delete mode 100644 java/sca/contrib/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/Consumer.java delete mode 100644 java/sca/contrib/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/CustomerClient.java delete mode 100644 java/sca/contrib/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/CustomerClientImpl.java delete mode 100644 java/sca/contrib/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/CustomerCollectionImpl.java delete mode 100644 java/sca/contrib/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/Provider.java delete mode 100644 java/sca/contrib/modules/binding-rss-rome/src/test/resources/org/apache/tuscany/sca/binding/feed/Consumer.composite delete mode 100644 java/sca/contrib/modules/binding-rss-rome/src/test/resources/org/apache/tuscany/sca/binding/feed/Provider.composite delete mode 100644 java/sca/contrib/modules/binding-rss/LICENSE delete mode 100644 java/sca/contrib/modules/binding-rss/NOTICE delete mode 100644 java/sca/contrib/modules/binding-rss/pom.xml delete mode 100644 java/sca/contrib/modules/binding-rss/src/main/java/org/apache/tuscany/sca/binding/rss/RSSBinding.java delete mode 100644 java/sca/contrib/modules/binding-rss/src/main/java/org/apache/tuscany/sca/binding/rss/RSSBindingFactory.java delete mode 100644 java/sca/contrib/modules/binding-rss/src/main/java/org/apache/tuscany/sca/binding/rss/impl/RSSBindingFactoryImpl.java delete mode 100644 java/sca/contrib/modules/binding-rss/src/main/java/org/apache/tuscany/sca/binding/rss/impl/RSSBindingImpl.java delete mode 100644 java/sca/contrib/modules/binding-rss/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.rss.RSSBindingFactory delete mode 100644 java/sca/contrib/modules/binding-rss/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/LICENSE delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/NOTICE delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/pom.xml delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingInvoker.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceProvider.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/AsynchTestCase.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/BindingScaEndpointResolverFactoryImpl.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/BindingScaEndpointResolverImpl.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/CallbackTestCase.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/PromotionTestCase.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/SimpleTestCase.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestNode.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldCallbackRemote.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldClient.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceCallbackOnewayRemote.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceCallbackRemote.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceLocal.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceRemote.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceRemote2.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientCallbackOnewayRemoteImpl.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientCallbackRemoteImpl.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientLocalImpl.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientRemote2Impl.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientRemoteImpl.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceCallbackOnewayRemoteImpl.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceCallbackRemoteImpl.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceLocalImpl.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceMultipleServicesImpl.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceRemoteImpl.java delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactory delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeA/HelloWorld.composite delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeA/META-INF/sca-contribution.xml delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeB/HelloWorld.composite delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeB/META-INF/sca-contribution.xml delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeC/HelloWorld.composite delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeC/HelloWorldComponent.composite delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeC/META-INF/sca-contribution.xml delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeD/HelloWorld.composite delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeD/HelloWorldComponent.composite delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeD/META-INF/sca-contribution.xml delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeE/HelloWorld.composite delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeE/META-INF/sca-contribution.xml delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeF/HelloWorld.composite delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeF/META-INF/sca-contribution.xml delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeG/HelloWorld.composite delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeG/META-INF/sca-contribution.xml delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeH/HelloWorld.composite delete mode 100644 java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeH/META-INF/sca-contribution.xml delete mode 100644 java/sca/contrib/modules/binding-sca-corba/LICENSE delete mode 100644 java/sca/contrib/modules/binding-sca-corba/NOTICE delete mode 100644 java/sca/contrib/modules/binding-sca-corba/pom.xml delete mode 100644 java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/CorbaSCABindingProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/CorbaSCAInvocationProxy.java delete mode 100644 java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/CorbaSCAInvoker.java delete mode 100644 java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/CorbaSCAReferenceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/CorbaSCAServiceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/WrappedSCAException.java delete mode 100644 java/sca/contrib/modules/binding-sca-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory delete mode 100644 java/sca/contrib/modules/binding-sca-jms/LICENSE delete mode 100644 java/sca/contrib/modules/binding-sca-jms/NOTICE delete mode 100644 java/sca/contrib/modules/binding-sca-jms/pom.xml delete mode 100644 java/sca/contrib/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/AMQJMSResourceFactory.java delete mode 100644 java/sca/contrib/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/AMQResourceFactoryExtensionPoint.java delete mode 100644 java/sca/contrib/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSBroker.java delete mode 100644 java/sca/contrib/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSSCABindingProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-sca-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator delete mode 100644 java/sca/contrib/modules/binding-sca-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory delete mode 100644 java/sca/contrib/modules/binding-sca-xml/LICENSE delete mode 100644 java/sca/contrib/modules/binding-sca-xml/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/binding-sca-xml/NOTICE delete mode 100644 java/sca/contrib/modules/binding-sca-xml/pom.xml delete mode 100644 java/sca/contrib/modules/binding-sca-xml/src/main/java/org/apache/tuscany/sca/binding/sca/xml/SCABindingProcessor.java delete mode 100644 java/sca/contrib/modules/binding-sca-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/binding-sca-xml/src/test/java/org/apace/tuscany/sca/binding/sca/xml/ReadTestCase.java delete mode 100644 java/sca/contrib/modules/binding-sca-xml/src/test/java/org/apace/tuscany/sca/binding/sca/xml/WriteTestCase.java delete mode 100644 java/sca/contrib/modules/binding-sca-xml/src/test/resources/Calculator.composite delete mode 100644 java/sca/contrib/modules/binding-sca-xml/src/test/resources/CalculatorServiceImpl.componentType delete mode 100644 java/sca/contrib/modules/binding-sca/LICENSE delete mode 100644 java/sca/contrib/modules/binding-sca/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/binding-sca/NOTICE delete mode 100644 java/sca/contrib/modules/binding-sca/pom.xml delete mode 100644 java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/DistributedSCABinding.java delete mode 100644 java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/SCABindingDefinitionsProvider.java delete mode 100644 java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/DistributedSCABindingImpl.java delete mode 100644 java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RemoteBindingHelper.java delete mode 100644 java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCABindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCABindingProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCAReferenceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCAServiceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/SCABindingFactoryImpl.java delete mode 100644 java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/SCABindingImpl.java delete mode 100644 java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/SCABindingInvoker.java delete mode 100644 java/sca/contrib/modules/binding-sca/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.SCABindingFactory delete mode 100644 java/sca/contrib/modules/binding-sca/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory delete mode 100644 java/sca/contrib/modules/binding-sca/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider delete mode 100644 java/sca/contrib/modules/binding-sca/src/main/resources/org/apache/tuscany/sca/binding/sca/definitions.xml delete mode 100644 java/sca/contrib/modules/binding-sca/src/test/java/org/apace/tuscany/sca/binding/sca/SCABindingTestCase.java delete mode 100644 java/sca/contrib/modules/binding-sca/src/test/resources/Calculator.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/LICENSE delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/NOTICE delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/pom.xml delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationPolicy.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationPolicyProcessor.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationPolicyProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationReferencePolicyInterceptor.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationReferencePolicyProvider.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationServicePolicyInterceptor.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationServicePolicyProvider.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/Axis2ConfigParamPolicy.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/Axis2ConfigParamPolicyHandler.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/Axis2ConfigParamPolicyProcessor.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/Axis2ConfigParamPolicyProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderPolicy.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderPolicyProcessor.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderPolicyProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderPolicyUtil.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderReferencePolicyInterceptor.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderReferencePolicyProvider.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderServicePolicyInterceptor.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderServicePolicyProvider.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2SOAPHeader.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2SOAPHeaderString.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/PolicyReadTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2-policy/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/mock_policies.xml delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/LICENSE delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/NOTICE delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/pom.xml delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingProviderFactory.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2OneWayBindingInvoker.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ReferenceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceBindingProvider.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceClient.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceInMessageReceiver.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceInOutSyncMessageReceiver.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceServlet.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/AxisPolicyHelper.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/TuscanyAxisConfigurator.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/TuscanyDispatcher.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/TuscanyListingAgent.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/WSBindingDefinitionsProvider.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configurator/Axis2BindingBasicAuthenticationConfigurator.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configurator/Axis2BindingHeaderConfigurator.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/definitions.xml delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/axis2.xml delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/modules/modules.list delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/modules/rampart-1.4.mar delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/services/services.list delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ReferenceTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/Greeter.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/GreetingCallback.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/Account.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/AccountService.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/Bar.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/CustomerProfileData.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/Echo.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/EchoComponent.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/EchoImpl.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/Foo.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorld.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldComponent.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldMultiService.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldNoWSDLTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOM.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOM2.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOMComponent.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOMService.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOMTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldService.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldWSDLMergedTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/QuestionMarkWSDLImportTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/QuestionMarkWSDLIncludeTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/QuestionMarkWSDLTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/UriPrecedenceTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/AbstractHelloWorldOMTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/DefaultMultiServiceTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/DefaultSingleServiceTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/WSDLExplicitURITestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/WSDLRelativeURITestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/epr/HelloWorldTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferClient.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferMTOMTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferService.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferServiceImpl.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/AbstractHelloWorldOMTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/ClientPWCBHandler.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/IntegrityPWCBHandler.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/ServerPWCBHandler.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityAuthenticationTestCaseFIXME.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityConfidentialityTestCaseFIXBouncyCastleIssue.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityIntegrityTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/AbstractHelloWorldOMTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/ClientPWCBHandler.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/IntegrityPWCBHandler.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/ServerPWCBHandler.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/WSSecurityMixedTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/AbstractHelloWorldOMTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/ClientPWCBHandler.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/IntegrityPWCBHandler.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/ServerPWCBHandler.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityAuthenticationTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityConfidentialityTestCaseFIXBouncyCastleIssue.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityIntegrityTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/HelloWorldSOAP12TestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/QuestionMarkWSDLTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorld.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldNoWSDL.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/customerdata.xsd delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/customerdefs.xsd delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/customerinfo.xsd delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/DefaultMultiService.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/DefaultSingleService.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/WSDLExplicitURI.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/WSDLRelativeURI.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/helloworld-om-relative-uri.wsdl delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/epr/HelloWorld.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om-binding.wsdl delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om-merged.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om-porttype.wsdl delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om-uri.wsdl delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om.wsdl delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-prec.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-prec.wsdl delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld.wsdl delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/filetransfer.wsdl delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/filetransferservice.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityAuthentication.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityConfidentiality.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityIntegrity.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/definitions.xml delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/security.properties delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/tuscanyKeys.jks delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/intent/definitions.xml delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/WSSecurityMixed.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/definitions.xml delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/security.properties delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/tuscanyKeys.jks delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityAuthentication.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityConfidentiality.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityIntegrity.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/definitions.xml delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/tuscanyKeys.jks delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-import-nested.wsdl delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-import.wsdl delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-include.wsdl delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-wsdl-import.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-wsdl-include.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-wsdl.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/HelloWorldSOAP12.composite delete mode 100644 java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/questionmark-wsdl.composite delete mode 100644 java/sca/contrib/modules/binding-ws-wsdlgen/LICENSE delete mode 100644 java/sca/contrib/modules/binding-ws-wsdlgen/NOTICE delete mode 100644 java/sca/contrib/modules/binding-ws-wsdlgen/pom.xml delete mode 100644 java/sca/contrib/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/BindingWSDLGenerator.java delete mode 100644 java/sca/contrib/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGenerator.java delete mode 100644 java/sca/contrib/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WSDLDefinitionGenerator.java delete mode 100644 java/sca/contrib/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WSDLGenerationException.java delete mode 100644 java/sca/contrib/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WSDLServiceGenerator.java delete mode 100644 java/sca/contrib/modules/binding-ws-wsdlgen/src/main/resources/wsdlgen-validation-messages.properties delete mode 100644 java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/other/Other.java delete mode 100644 java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/other/package-info.java delete mode 100644 java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/BindingWSDLGeneratorTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGeneratorTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/TestException.java delete mode 100644 java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/TestFault.java delete mode 100644 java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/TestFaultBean.java delete mode 100644 java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/TestJavaClass.java delete mode 100644 java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/TestJavaInterface.java delete mode 100644 java/sca/contrib/modules/binding-ws-xml/LICENSE delete mode 100644 java/sca/contrib/modules/binding-ws-xml/NOTICE delete mode 100644 java/sca/contrib/modules/binding-ws-xml/pom.xml delete mode 100644 java/sca/contrib/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/BindingBuilderImpl.java delete mode 100644 java/sca/contrib/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/EndPointReferenceHelper.java delete mode 100644 java/sca/contrib/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java delete mode 100644 java/sca/contrib/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceConstants.java delete mode 100644 java/sca/contrib/modules/binding-ws-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/binding-ws-xml/src/main/resources/binding-wsxml-validation-messages.properties delete mode 100644 java/sca/contrib/modules/binding-ws-xml/src/test/java/org/apache/tuscany/sca/binding/ws/xml/ReadTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-xml/src/test/java/org/apache/tuscany/sca/binding/ws/xml/WriteTestCase.java delete mode 100644 java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/Calculator-bad-wsdlElement.composite delete mode 100644 java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/Calculator.composite delete mode 100644 java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/CalculatorImpl.componentType delete mode 100644 java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/PoliciedCalculator.composite delete mode 100644 java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/example.wsdl delete mode 100644 java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/invalid-stockquote.wsdl delete mode 100644 java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/ipo.xsd delete mode 100644 java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/stockquote.wsdl delete mode 100644 java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/test1.wsdl delete mode 100644 java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/test1.xsd delete mode 100644 java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/test2.wsdl delete mode 100644 java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/unwrapped-stockquote.wsdl delete mode 100644 java/sca/contrib/modules/binding-ws/LICENSE delete mode 100644 java/sca/contrib/modules/binding-ws/NOTICE delete mode 100644 java/sca/contrib/modules/binding-ws/pom.xml delete mode 100644 java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/DefaultWebServiceBindingFactory.java delete mode 100644 java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/WebServiceBinding.java delete mode 100644 java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/WebServiceBindingFactory.java delete mode 100644 java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/addressing/EndPointReference.java delete mode 100644 java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/impl/WebServiceBindingFactoryImpl.java delete mode 100644 java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/impl/WebServiceBindingImpl.java delete mode 100644 java/sca/contrib/modules/binding-ws/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory delete mode 100644 java/sca/contrib/modules/contribution-groovy/LICENSE delete mode 100644 java/sca/contrib/modules/contribution-groovy/NOTICE delete mode 100644 java/sca/contrib/modules/contribution-groovy/pom.xml delete mode 100644 java/sca/contrib/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifact.java delete mode 100644 java/sca/contrib/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifactProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyModelResolver.java delete mode 100644 java/sca/contrib/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor delete mode 100644 java/sca/contrib/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver delete mode 100644 java/sca/contrib/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorld.java delete mode 100644 java/sca/contrib/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorldTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/HelloWorld.groovy delete mode 100644 java/sca/contrib/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/helloworld.composite delete mode 100644 java/sca/contrib/modules/contribution-impl/LICENSE delete mode 100644 java/sca/contrib/modules/contribution-impl/NOTICE delete mode 100644 java/sca/contrib/modules/contribution-impl/pom.xml delete mode 100644 java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/FolderContributionProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/JarContributionProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionRepositoryImpl.java delete mode 100644 java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java delete mode 100644 java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/PackageTypeDescriberImpl.java delete mode 100644 java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/util/FileHelper.java delete mode 100644 java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/util/IOHelper.java delete mode 100644 java/sca/contrib/modules/contribution-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor delete mode 100644 java/sca/contrib/modules/contribution-impl/src/main/resources/contribution-impl-validation-messages.properties delete mode 100644 java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/processor/FolderContributionPackageProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/processor/JarContributionPackageProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/processor/URLartifactProcessorExtensionPointTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolverTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/TestModelResolver.java delete mode 100644 java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/services/ContributionRepositoryTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/services/PackageTypeDescriberImplTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-impl/src/test/resources/deployables/sample-calculator.jar delete mode 100644 java/sca/contrib/modules/contribution-impl/src/test/resources/repository/sample-calculator.jar delete mode 100644 java/sca/contrib/modules/contribution-impl/src/test/resources/test.composite delete mode 100644 java/sca/contrib/modules/contribution-impl/src/test/resources/test.ext delete mode 100644 java/sca/contrib/modules/contribution-java/LICENSE delete mode 100644 java/sca/contrib/modules/contribution-java/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/contribution-java/NOTICE delete mode 100644 java/sca/contrib/modules/contribution-java/pom.xml delete mode 100644 java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/DefaultJavaImportExportFactory.java delete mode 100644 java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/JavaExport.java delete mode 100644 java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/JavaImport.java delete mode 100644 java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/JavaImportExportFactory.java delete mode 100644 java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ClassLoaderModelResolver.java delete mode 100644 java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ClassReferenceModelResolver.java delete mode 100644 java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ContributionClassLoader.java delete mode 100644 java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportImpl.java delete mode 100644 java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportModelResolver.java delete mode 100644 java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportExportFactoryImpl.java delete mode 100644 java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportExportListener.java delete mode 100644 java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportImpl.java delete mode 100644 java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportModelResolver.java delete mode 100644 java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.java.JavaImportExportFactory delete mode 100644 java/sca/contrib/modules/contribution-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/contribution-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver delete mode 100644 java/sca/contrib/modules/contribution-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener delete mode 100644 java/sca/contrib/modules/contribution-java/src/main/resources/contribution-java-validation-messages.properties delete mode 100644 java/sca/contrib/modules/contribution-java/src/test/java/org/apache/tuscany/sca/contribution/java/impl/ClassReferenceArtifactResolverTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-java/src/test/java/org/apache/tuscany/sca/contribution/java/impl/ContributionClassLoaderTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-java/src/test/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-java/src/test/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-java/src/test/resources/deployables/sample-calculator.jar delete mode 100644 java/sca/contrib/modules/contribution-jee/LICENSE delete mode 100644 java/sca/contrib/modules/contribution-jee/NOTICE delete mode 100644 java/sca/contrib/modules/contribution-jee/pom.xml delete mode 100644 java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/AssemblyHelper.java delete mode 100644 java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEModuleHelper.java delete mode 100644 java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EarContributionProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WarContributionProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor delete mode 100644 java/sca/contrib/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/EarContributionProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/WarContributionProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-jee/src/test/resources/ejb-injection-sample.ear delete mode 100644 java/sca/contrib/modules/contribution-jee/src/test/resources/ejb-injection-sample.jar delete mode 100644 java/sca/contrib/modules/contribution-jee/src/test/resources/sample-web-app.war delete mode 100644 java/sca/contrib/modules/contribution-namespace/LICENSE delete mode 100644 java/sca/contrib/modules/contribution-namespace/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/contribution-namespace/NOTICE delete mode 100644 java/sca/contrib/modules/contribution-namespace/pom.xml delete mode 100644 java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/DefaultNamespaceImportExportFactory.java delete mode 100644 java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceExport.java delete mode 100644 java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceImport.java delete mode 100644 java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceImportExportFactory.java delete mode 100644 java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportImpl.java delete mode 100644 java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportModelResolver.java delete mode 100644 java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportExportFactoryImpl.java delete mode 100644 java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportExportListener.java delete mode 100644 java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportImpl.java delete mode 100644 java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-namespace/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory delete mode 100644 java/sca/contrib/modules/contribution-namespace/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/contribution-namespace/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener delete mode 100644 java/sca/contrib/modules/contribution-namespace/src/main/resources/contribution-namespace-validation-messages.properties delete mode 100644 java/sca/contrib/modules/contribution-namespace/src/test/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-namespace/src/test/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-osgi/LICENSE delete mode 100644 java/sca/contrib/modules/contribution-osgi/NOTICE delete mode 100644 java/sca/contrib/modules/contribution-osgi/pom.xml delete mode 100644 java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/BundleReference.java delete mode 100644 java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleContributionProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleReferenceModelResolver.java delete mode 100644 java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiClassReferenceModelResolver.java delete mode 100644 java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiImportExportListener.java delete mode 100644 java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiModelResolverImpl.java delete mode 100644 java/sca/contrib/modules/contribution-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor delete mode 100644 java/sca/contrib/modules/contribution-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver delete mode 100644 java/sca/contrib/modules/contribution-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener delete mode 100644 java/sca/contrib/modules/contribution-resource/pom.xml delete mode 100644 java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceExport.java delete mode 100644 java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceImport.java delete mode 100644 java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceImportExportFactory.java delete mode 100644 java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ArtifactModelResolver.java delete mode 100644 java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportImpl.java delete mode 100644 java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportModelResolver.java delete mode 100644 java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportExportFactoryImpl.java delete mode 100644 java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportExportListener.java delete mode 100644 java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportImpl.java delete mode 100644 java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver delete mode 100644 java/sca/contrib/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resource.ResourceImportExportFactory delete mode 100644 java/sca/contrib/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener delete mode 100644 java/sca/contrib/modules/contribution-resource/src/main/resources/contribution-resource-validation-messages.properties delete mode 100644 java/sca/contrib/modules/contribution-resource/src/test/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-resource/src/test/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-updater-impl/LICENSE delete mode 100644 java/sca/contrib/modules/contribution-updater-impl/NOTICE delete mode 100644 java/sca/contrib/modules/contribution-updater-impl/pom.xml delete mode 100644 java/sca/contrib/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ArtifactsFinder.java delete mode 100644 java/sca/contrib/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ComponentUpdaterImpl.java delete mode 100644 java/sca/contrib/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/CompositeUpdaterImpl.java delete mode 100644 java/sca/contrib/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterFactoryImpl.java delete mode 100644 java/sca/contrib/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterTestCase.java delete mode 100644 java/sca/contrib/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/GreetService.java delete mode 100644 java/sca/contrib/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/HelloComponent.java delete mode 100644 java/sca/contrib/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/MetaComponentHello.java delete mode 100644 java/sca/contrib/modules/contribution-updater-impl/src/test/resources/HelloComposite.composite delete mode 100644 java/sca/contrib/modules/contribution-updater-impl/src/test/resources/repository/sample-calculator.jar delete mode 100644 java/sca/contrib/modules/contribution-updater/LICENSE delete mode 100644 java/sca/contrib/modules/contribution-updater/NOTICE delete mode 100644 java/sca/contrib/modules/contribution-updater/pom.xml delete mode 100644 java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/MetaComponent.java delete mode 100644 java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/xml/MetaComponentProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentNotFoundException.java delete mode 100644 java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdater.java delete mode 100644 java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdaterException.java delete mode 100644 java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeNotFoundException.java delete mode 100644 java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdater.java delete mode 100644 java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdaterException.java delete mode 100644 java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ContributionUpdater.java delete mode 100644 java/sca/contrib/modules/contribution-updater/src/test/resources/HelloComposite.composite delete mode 100644 java/sca/contrib/modules/contribution-updater/src/test/resources/repository/sample-calculator.jar delete mode 100644 java/sca/contrib/modules/contribution-xml/LICENSE delete mode 100644 java/sca/contrib/modules/contribution-xml/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/contribution-xml/NOTICE delete mode 100644 java/sca/contrib/modules/contribution-xml/pom.xml delete mode 100644 java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyAttributeProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyElementProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/XMLDocumentStreamReader.java delete mode 100644 java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/XMLEventsStreamReader.java delete mode 100644 java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/XMLFragmentStreamReader.java delete mode 100644 java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionGeneratedMetadataDocumentProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataDocumentProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessor.java delete mode 100644 java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionModelResolver.java delete mode 100644 java/sca/contrib/modules/contribution-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/contribution-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor delete mode 100644 java/sca/contrib/modules/contribution-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver delete mode 100644 java/sca/contrib/modules/contribution-xml/src/main/resources/contribution-xml-validation-messages.properties delete mode 100644 java/sca/contrib/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/contribution/LICENSE delete mode 100644 java/sca/contrib/modules/contribution/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/contribution/NOTICE delete mode 100644 java/sca/contrib/modules/contribution/pom.xml delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Artifact.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Constants.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContentType.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Contribution.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContributionFactory.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContributionMetadata.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultContributionFactory.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultExport.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultImport.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultModelFactoryExtensionPoint.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DeployedArtifact.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Export.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Import.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ModelFactoryExtensionPoint.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/PackageType.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ArtifactImpl.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionFactoryImpl.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionImpl.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionMetadataImpl.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/DefaultExportImpl.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/DefaultImportImpl.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ArtifactProcessor.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ArtifactProcessorExtensionPoint.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/BaseStAXArtifactProcessor.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultArtifactProcessorExtensionPoint.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultPackageProcessorExtensionPoint.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultStAXArtifactProcessorExtensionPoint.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultStAXAttributeProcessorExtensionPoint.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultURLArtifactProcessorExtensionPoint.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultValidatingXMLInputFactory.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultValidationSchemaExtensionPoint.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensiblePackageProcessor.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleStAXArtifactProcessor.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleStAXAttributeProcessor.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleURLArtifactProcessor.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/PackageProcessor.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/PackageProcessorExtensionPoint.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/StAXArtifactProcessor.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/StAXArtifactProcessorExtensionPoint.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/StAXAttributeProcessor.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/StAXAttributeProcessorExtensionPoint.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/TuscanyNamespaceContext.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/TuscanyXMLStreamReader.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/URLArtifactProcessor.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/URLArtifactProcessorExtensionPoint.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidatingXMLInputFactory.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidatingXMLStreamReader.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidatingXMLStreamReader.java.orig delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidationSchemaExtensionPoint.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ClassReference.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultDelegatingModelResolver.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultImportAllModelResolver.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultImportModelResolver.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolver.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverExtensionPoint.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolver.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ModelResolver.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ModelResolverExtensionPoint.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ResolverExtension.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ResourceReference.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/scanner/ContributionScanner.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/scanner/ContributionScannerExtensionPoint.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/scanner/DefaultContributionScannerExtensionPoint.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionException.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionListener.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionListenerExtensionPoint.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionReadException.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionRepository.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionResolveException.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionRuntimeException.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionService.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionWriteException.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/DefaultContributionListenerExtensionPoint.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ExtensibleContributionListener.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/TypeDescriber.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/UnrecognizedElementException.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/UnsupportedContentTypeException.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/UnsupportedPackageTypeException.java delete mode 100644 java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.ContributionFactory delete mode 100644 java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint delete mode 100644 java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ContributionPostProcessorExtensionPoint delete mode 100644 java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessorExtensionPoint delete mode 100644 java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint delete mode 100644 java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXAttributeProcessorExtensionPoint delete mode 100644 java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint delete mode 100644 java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchemaExtensionPoint delete mode 100644 java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint delete mode 100644 java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.scanner.ContributionScannerExtensionPoint delete mode 100644 java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListenerExtensionPoint delete mode 100644 java/sca/contrib/modules/contribution/src/main/resources/contribution-validation-messages.properties delete mode 100644 java/sca/contrib/modules/core-databinding/LICENSE delete mode 100644 java/sca/contrib/modules/core-databinding/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/core-databinding/NOTICE delete mode 100644 java/sca/contrib/modules/core-databinding/pom.xml delete mode 100644 java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/module/DataBindingModuleActivator.java delete mode 100644 java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/processor/DataBindingJavaInterfaceProcessor.java delete mode 100644 java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/Array2ArrayTransformer.java delete mode 100644 java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/CallableReference2XMLStreamReader.java delete mode 100644 java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/CallableReferenceDataBinding.java delete mode 100644 java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/CallableReferenceTypeHelper.java delete mode 100644 java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/CallableReferenceXMLAdapter.java delete mode 100644 java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/Exception2ExceptionTransformer.java delete mode 100644 java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/Input2InputTransformer.java delete mode 100644 java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/Output2OutputTransformer.java delete mode 100644 java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/XMLStreamReader2CallableReference.java delete mode 100644 java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/DataBindingRuntimeWireProcessor.java delete mode 100644 java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/DataTransformationInterceptor.java delete mode 100644 java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/PassByValueInterceptor.java delete mode 100644 java/sca/contrib/modules/core-databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator delete mode 100644 java/sca/contrib/modules/core-databinding/src/test/java/org/apache/tuscany/sca/core/databinding/processor/DataBindingJavaInterfaceProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/core-databinding/src/test/java/org/apache/tuscany/sca/core/databinding/transformers/IDLTransformerTestCaseFIXME.java delete mode 100644 java/sca/contrib/modules/core-spi/LICENSE delete mode 100644 java/sca/contrib/modules/core-spi/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/core-spi/NOTICE delete mode 100644 java/sca/contrib/modules/core-spi/pom.xml delete mode 100644 java/sca/contrib/modules/core-spi/src/doc/Context Model.emx delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/ComponentContextFactory.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/ContextFactoryExtensionPoint.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/DefaultContextFactoryExtensionPoint.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/PropertyValueFactory.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/RequestContextFactory.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/DefaultEndpointResolverFactoryExtensionPoint.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolver.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolverFactory.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolverFactoryExtensionPoint.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/Event.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/EventFilter.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/EventPublisher.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/RuntimeEventListener.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/TrueFilter.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/DataExchangeSemantics.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Interceptor.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/InvocationChain.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Invoker.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Message.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/MessageFactory.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Phase.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/management/ManagementService.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/BindingProviderFactory.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultSCADefinitionsProviderExtensionPoint.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProvider.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProviderFactory.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProvider.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProviderFactory.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyImplementor.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProvider.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderFactory.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderRRB.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactory.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactoryExtensionPoint.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProvider.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProviderRRB.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProvider.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProviderException.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProviderExtensionPoint.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProvider.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProviderRRB.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProvider.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProviderFactory.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DefaultWireProcessorExtensionPoint.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointReference.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ReferenceParameters.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponent.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentContext.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentReference.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentService.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWire.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWireProcessor.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWireProcessorExtensionPoint.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/DuplicateRecordException.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/RecoveryListener.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/Store.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreException.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreExpirationEvent.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreMonitor.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreReadException.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreWriteException.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/NotificationListener.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/WorkScheduler.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/WorkSchedulerException.java delete mode 100644 java/sca/contrib/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.context.ContextFactoryExtensionPoint delete mode 100644 java/sca/contrib/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactoryExtensionPoint delete mode 100644 java/sca/contrib/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint delete mode 100644 java/sca/contrib/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProviderExtensionPoint delete mode 100644 java/sca/contrib/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint delete mode 100644 java/sca/contrib/modules/core-spi/src/test/java/org/apache/tuscany/sca/context/DefaultContextFactoryExtensionPointTestCase.java delete mode 100644 java/sca/contrib/modules/core-spi/src/test/java/org/apache/tuscany/sca/event/TrueFilterTestCase.java delete mode 100644 java/sca/contrib/modules/core-spring/LICENSE delete mode 100644 java/sca/contrib/modules/core-spring/NOTICE delete mode 100644 java/sca/contrib/modules/core-spring/pom.xml delete mode 100644 java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanAssemblyFactory.java delete mode 100644 java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanComponentImpl.java delete mode 100644 java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanReferenceImpl.java delete mode 100644 java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/ModelResolverImpl.java delete mode 100644 java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/SCADomainContext.java delete mode 100644 java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanBaseJavaImplementationImpl.java delete mode 100644 java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaImplementationFactory.java delete mode 100644 java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaImplementationImpl.java delete mode 100644 java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceContractImpl.java delete mode 100644 java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceFactory.java delete mode 100644 java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceImpl.java delete mode 100644 java/sca/contrib/modules/core-spring/src/test/java/calculator/AddService.java delete mode 100644 java/sca/contrib/modules/core-spring/src/test/java/calculator/AddServiceImpl.java delete mode 100644 java/sca/contrib/modules/core-spring/src/test/java/calculator/CalculatorClient.java delete mode 100644 java/sca/contrib/modules/core-spring/src/test/java/calculator/CalculatorService.java delete mode 100644 java/sca/contrib/modules/core-spring/src/test/java/calculator/CalculatorServiceImpl.java delete mode 100644 java/sca/contrib/modules/core-spring/src/test/java/calculator/DivideService.java delete mode 100644 java/sca/contrib/modules/core-spring/src/test/java/calculator/DivideServiceImpl.java delete mode 100644 java/sca/contrib/modules/core-spring/src/test/java/calculator/MultiplyService.java delete mode 100644 java/sca/contrib/modules/core-spring/src/test/java/calculator/MultiplyServiceImpl.java delete mode 100644 java/sca/contrib/modules/core-spring/src/test/java/calculator/NestedCalculatorClient.java delete mode 100644 java/sca/contrib/modules/core-spring/src/test/java/calculator/SubtractService.java delete mode 100644 java/sca/contrib/modules/core-spring/src/test/java/calculator/SubtractServiceImpl.java delete mode 100644 java/sca/contrib/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/CalculatorTestCase.java delete mode 100644 java/sca/contrib/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/NestedCalculatorTestCaseFIXME.java delete mode 100644 java/sca/contrib/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/Calculator.composite delete mode 100644 java/sca/contrib/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerCalculator.composite delete mode 100644 java/sca/contrib/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerOperations.composite delete mode 100644 java/sca/contrib/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/OuterCalculator.composite delete mode 100644 java/sca/contrib/modules/core/LICENSE delete mode 100644 java/sca/contrib/modules/core/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/core/NOTICE delete mode 100644 java/sca/contrib/modules/core/pom.xml delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/ActivationException.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/CompositeActivator.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/CompositeActivatorImpl.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/EndpointReferenceImpl.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/EndpointWireImpl.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/ReferenceParameterProcessor.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/ReferenceParametersImpl.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeAssemblyFactory.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeComponentImpl.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeComponentReferenceImpl.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeComponentServiceImpl.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeWireImpl.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/CallableReferenceImpl.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextImpl.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/DefaultComponentContextFactory.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/InstanceWrapper.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/RequestContextImpl.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ServiceReferenceImpl.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ConversationListener.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ConversationManager.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ConversationManagerImpl.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ConversationState.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ExtendedConversation.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ExtendedConversationImpl.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/BaseEventPublisher.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/ComponentStart.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/ComponentStop.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/ConversationEnd.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/ConversationStart.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/HttpSessionEnd.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/HttpSessionStart.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/RequestEnd.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/RequestStart.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/factory/ObjectCreationException.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/factory/ObjectFactory.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallableReferenceObjectFactory.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackInterfaceInterceptor.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackReferenceImpl.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackReferenceObjectFactory.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackWireObjectFactory.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CglibProxyFactory.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/DefaultProxyFactoryExtensionPoint.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ExtensibleProxyFactory.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ExtensibleWireProcessor.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/InvocationChainImpl.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKCallbackInvocationHandler.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKInvocationHandler.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKProxyFactory.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/MessageFactoryImpl.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/MessageImpl.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/NoMethodForOperationException.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/NonBlockingInterceptor.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/PhaseManager.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/PhaseSorter.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ProxyCreationException.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ProxyFactory.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ProxyFactoryExtensionPoint.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/RuntimeWireInvoker.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/SCAProxy.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/TargetInvocationException.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ThreadMessageContext.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/WireObjectFactory.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/AbstractScopeContainer.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/CompositeScopeContainer.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/CompositeScopeContainerFactory.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ConversationalScopeContainer.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ConversationalScopeContainerFactory.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/HttpSessionScopeContainer.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/HttpSessionScopeContainerFactory.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/RequestScopeContainer.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/RequestScopeContainerFactory.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/Scope.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopeContainer.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopeContainerFactory.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopeRegistry.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopeRegistryImpl.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopedImplementationProvider.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopedRuntimeComponent.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/StatelessScopeContainer.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/StatelessScopeContainerFactory.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/TargetDestructionException.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/TargetInitializationException.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/TargetNotFoundException.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/TargetResolutionException.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/store/MemoryStore.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/work/Jsr237Work.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/work/Jsr237WorkScheduler.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/work/ThreadPoolWorkManager.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/work/WorkEventImpl.java delete mode 100644 java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/work/WorkItemImpl.java delete mode 100644 java/sca/contrib/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.conversation.ConversationManager delete mode 100644 java/sca/contrib/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.invocation.ProxyFactoryExtensionPoint delete mode 100644 java/sca/contrib/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.invocation.MessageFactory delete mode 100644 java/sca/contrib/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.work.WorkScheduler delete mode 100644 java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/DefaultExtensionPointRegistryTestCase.java delete mode 100644 java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/event/BaseEventPublisherTestCase.java delete mode 100644 java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/event/EventTestCase.java delete mode 100644 java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/invocation/PhaseManagerTestCase.java delete mode 100644 java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/invocation/PhaseSorterTestCase.java delete mode 100644 java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/scope/AbstractScopeContainerTestCase.java delete mode 100644 java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/store/MemoryStoreTestCase.java delete mode 100644 java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/wire/CallbackInterfaceInterceptorTestCase.java delete mode 100644 java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/wire/InvocationChainImplTestCase.java delete mode 100644 java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/wire/NonBlockingInterceptorTestCase.java delete mode 100644 java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/FailingWork.java delete mode 100644 java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/JSR237MyFailingRunnable.java delete mode 100644 java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/JSR237MyRunnable.java delete mode 100644 java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/JSR237MyRunnerListener.java delete mode 100644 java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/Jsr237WorkSchedulerTestCase.java delete mode 100644 java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/TestWorkListener.java delete mode 100644 java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/ThreadPoolWorkManagerTestCase.java delete mode 100644 java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/TimeDelayWork.java delete mode 100644 java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/scope/ScopeTestCase.java delete mode 100644 java/sca/contrib/modules/core/src/test/resources/META-INF/services/org.apache.tuscany.sca.invocation.PhaseTest delete mode 100644 java/sca/contrib/modules/data-api/LICENSE delete mode 100644 java/sca/contrib/modules/data-api/NOTICE delete mode 100644 java/sca/contrib/modules/data-api/pom.xml delete mode 100644 java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/Collection.java delete mode 100644 java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/Entry.java delete mode 100644 java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/Item.java delete mode 100644 java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/ItemCollection.java delete mode 100644 java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/LocalItemCollection.java delete mode 100644 java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/NotFoundException.java delete mode 100644 java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Collection.java delete mode 100644 java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Entry.java delete mode 100644 java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Item.java delete mode 100644 java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/ItemCollection.java delete mode 100644 java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/LocalItemCollection.java delete mode 100644 java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/NotFoundException.java delete mode 100644 java/sca/contrib/modules/data-engine-helper/LICENSE delete mode 100644 java/sca/contrib/modules/data-engine-helper/NOTICE delete mode 100644 java/sca/contrib/modules/data-engine-helper/pom.xml delete mode 100644 java/sca/contrib/modules/data-engine-helper/src/main/java/org/apache/tuscany/sca/data/engine/ConnectionInfoArtifactProcessor.java delete mode 100644 java/sca/contrib/modules/data-engine-helper/src/main/java/org/apache/tuscany/sca/data/engine/DataAccessEngine.java delete mode 100644 java/sca/contrib/modules/data-engine-helper/src/main/java/org/apache/tuscany/sca/data/engine/DataAccessEngineManager.java delete mode 100644 java/sca/contrib/modules/data-engine-helper/src/main/java/org/apache/tuscany/sca/data/engine/MissingConfigFileException.java delete mode 100644 java/sca/contrib/modules/data-engine-helper/src/main/java/org/apache/tuscany/sca/data/engine/config/ConnectionInfo.java delete mode 100644 java/sca/contrib/modules/data-engine-helper/src/main/java/org/apache/tuscany/sca/data/engine/config/ConnectionProperties.java delete mode 100644 java/sca/contrib/modules/data-engine-helper/src/main/resources/dataengine-helper-validation-messages.properties delete mode 100644 java/sca/contrib/modules/databinding-axiom/LICENSE delete mode 100644 java/sca/contrib/modules/databinding-axiom/NOTICE delete mode 100644 java/sca/contrib/modules/databinding-axiom/pom.xml delete mode 100644 java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/AxiomDataBinding.java delete mode 100644 java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/AxiomHelper.java delete mode 100644 java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/Exception2OMElement.java delete mode 100644 java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/Externalizable2OMElement.java delete mode 100644 java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2Exception.java delete mode 100644 java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2Externalizable.java delete mode 100644 java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2Object.java delete mode 100644 java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2String.java delete mode 100644 java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2XMLStreamReader.java delete mode 100644 java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElementWrapperHandler.java delete mode 100644 java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/Object2OMElement.java delete mode 100644 java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/String2OMElement.java delete mode 100644 java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/XMLStreamReader2OMElement.java delete mode 100644 java/sca/contrib/modules/databinding-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding delete mode 100644 java/sca/contrib/modules/databinding-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer delete mode 100644 java/sca/contrib/modules/databinding-axiom/src/test/java/org/apache/tuscany/sca/databinding/axiom/OMElementTestCase.java delete mode 100644 java/sca/contrib/modules/databinding-axiom/src/test/resources/ipo.xml delete mode 100755 java/sca/contrib/modules/databinding-axiom/src/test/resources/ipo.xsd delete mode 100644 java/sca/contrib/modules/databinding-axiom/src/test/resources/order.wsdl delete mode 100644 java/sca/contrib/modules/databinding-fastinfoset/LICENSE delete mode 100644 java/sca/contrib/modules/databinding-fastinfoset/NOTICE delete mode 100644 java/sca/contrib/modules/databinding-fastinfoset/pom.xml delete mode 100644 java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/FastInfoset2Node.java delete mode 100644 java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/FastInfoset2SAX.java delete mode 100644 java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/FastInfoset2XMLStreamReader.java delete mode 100644 java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/Node2FastInfoset.java delete mode 100644 java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/XMLInputStream2FastInfoset.java delete mode 100644 java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/XMLStreamReader2FastInfoset.java delete mode 100644 java/sca/contrib/modules/databinding-fastinfoset/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer delete mode 100644 java/sca/contrib/modules/databinding-fastinfoset/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PushTransformer delete mode 100644 java/sca/contrib/modules/databinding-fastinfoset/src/test/java/org/apache/tuscany/sca/databinding/fastinfoset/FastInfosetTransformerTestCase.java delete mode 100644 java/sca/contrib/modules/databinding-fastinfoset/src/test/resources/ipo.xsd delete mode 100644 java/sca/contrib/modules/databinding-jaxb-axiom/LICENSE delete mode 100644 java/sca/contrib/modules/databinding-jaxb-axiom/NOTICE delete mode 100644 java/sca/contrib/modules/databinding-jaxb-axiom/pom.xml delete mode 100644 java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/AxiomHelper.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/JAXB2OMElement.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/JAXBDataSource.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/OMElement2JAXB.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBCustomBuilder.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBDSContext.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBDataSourceExt.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/SourceDataSource.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/XMLStreamWriterWithOS.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/XMLStringDataSource.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer delete mode 100644 java/sca/contrib/modules/databinding-jaxb-axiom/src/test/java/org/apache/tuscany/databinding/jaxb/axiom/JAXB2OMTestCase.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb-axiom/src/test/java/org/apache/tuscany/databinding/jaxb/axiom/OMElement2JAXBTestCase.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb-axiom/src/test/resources/ipo.xsd delete mode 100644 java/sca/contrib/modules/databinding-jaxb/LICENSE delete mode 100644 java/sca/contrib/modules/databinding-jaxb/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/databinding-jaxb/NOTICE delete mode 100644 java/sca/contrib/modules/databinding-jaxb/pom.xml delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/AnyTypeXmlAdapter.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/DOMElementXmlAdapter.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/DataConverter.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/DefaultXMLAdapterExtensionPoint.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXB2Node.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXB2SAX.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXB2String.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBContextCache.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBContextHelper.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBDataBinding.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBPropertyDescriptor.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBTypeHelper.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBWrapperException.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBWrapperHandler.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBWrapperHelper.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/Node2JAXB.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/Reader2JAXB.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/String2JAXB.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/XMLAdapterExtensionPoint.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/XMLRootElementUtil.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/XMLStreamReader2JAXB.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.jaxb.XMLAdapterExtensionPoint delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/test/java/com/example/stock/StockQuoteOffer.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/BeanXMLStreamReaderImpl.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXB2XMLStreamReader.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBContextCacheTestCase.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBDataBindingTestCase.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBReflectionTestCase.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBTestCase.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBWrapperHandlerTestCase.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/MyBean.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/MyInterface.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/MyInterfaceImpl.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/MyJaxbBean.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/MySubBean.java delete mode 100644 java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/POJOTestCase.java delete mode 100755 java/sca/contrib/modules/databinding-jaxb/src/test/resources/ipo.xsd delete mode 100644 java/sca/contrib/modules/databinding-job/LICENSE delete mode 100644 java/sca/contrib/modules/databinding-job/NOTICE delete mode 100644 java/sca/contrib/modules/databinding-job/pom.xml delete mode 100644 java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job.java delete mode 100644 java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job2OMElement.java delete mode 100644 java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataBinding.java delete mode 100644 java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataMap.java delete mode 100644 java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobExecutionContext.java delete mode 100644 java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/OMElement2Job.java delete mode 100644 java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/RemoteJob.java delete mode 100644 java/sca/contrib/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding delete mode 100644 java/sca/contrib/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer delete mode 100644 java/sca/contrib/modules/databinding-job/src/test/resources/ipo.xml delete mode 100644 java/sca/contrib/modules/databinding-job/src/test/resources/ipo.xsd delete mode 100644 java/sca/contrib/modules/databinding-job/src/test/resources/order.wsdl delete mode 100644 java/sca/contrib/modules/databinding-json/LICENSE delete mode 100644 java/sca/contrib/modules/databinding-json/NOTICE delete mode 100644 java/sca/contrib/modules/databinding-json/pom.xml delete mode 100644 java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2JavaBean.java delete mode 100644 java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2String.java delete mode 100644 java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2XMLStreamReader.java delete mode 100644 java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONDataBinding.java delete mode 100644 java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONHelper.java delete mode 100644 java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JavaBean2JSON.java delete mode 100644 java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JavaBean2JSONObject.java delete mode 100644 java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/String2JSON.java delete mode 100644 java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/XMLStreamReader2JSON.java delete mode 100644 java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSON2OMElement.java delete mode 100644 java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSONBadgerfishDataSource.java delete mode 100644 java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSONDataSource.java delete mode 100644 java/sca/contrib/modules/databinding-json/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding delete mode 100644 java/sca/contrib/modules/databinding-json/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer delete mode 100644 java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/JSONTransformerTestCase.java delete mode 100644 java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/JavaBean2JSONTestCase.java delete mode 100644 java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/MyBean.java delete mode 100644 java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/MyInterface.java delete mode 100644 java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/MyInterfaceImpl.java delete mode 100644 java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/POJOTestCase.java delete mode 100644 java/sca/contrib/modules/databinding-json/src/test/resources/ipo.xsd delete mode 100644 java/sca/contrib/modules/databinding-saxon/LICENSE delete mode 100644 java/sca/contrib/modules/databinding-saxon/NOTICE delete mode 100644 java/sca/contrib/modules/databinding-saxon/pom.xml delete mode 100644 java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/DataObject2NodeInfoTransformer.java delete mode 100644 java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/ItemList2ObjectTransformer.java delete mode 100644 java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Node2NodeInfoTransformer.java delete mode 100644 java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/NodeInfo2DataObjectTransformer.java delete mode 100644 java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/NodeInfo2JavaArrayTransformer.java delete mode 100644 java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/NodeInfo2NodeTransformer.java delete mode 100644 java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Object2ValueTransformer.java delete mode 100644 java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/SaxonDataBindingHelper.java delete mode 100644 java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/SaxonNodeDataBinding.java delete mode 100644 java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/SaxonValueDataBinding.java delete mode 100644 java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/SimpleType2ValueTransformer.java delete mode 100644 java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Value2JavaArray.java delete mode 100644 java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Value2ObjectTransformer.java delete mode 100644 java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Value2SimpleTypeTransformer.java delete mode 100644 java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/collection/ItemList.java delete mode 100644 java/sca/contrib/modules/databinding-saxon/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding delete mode 100644 java/sca/contrib/modules/databinding-saxon/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer delete mode 100644 java/sca/contrib/modules/databinding-sdo-axiom/LICENSE delete mode 100644 java/sca/contrib/modules/databinding-sdo-axiom/NOTICE delete mode 100644 java/sca/contrib/modules/databinding-sdo-axiom/pom.xml delete mode 100644 java/sca/contrib/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/AxiomHelper.java delete mode 100644 java/sca/contrib/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/DataObject2OMElement.java delete mode 100644 java/sca/contrib/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/SDODataSource.java delete mode 100644 java/sca/contrib/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/XMLDocument2OMElement.java delete mode 100644 java/sca/contrib/modules/databinding-sdo-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer delete mode 100644 java/sca/contrib/modules/databinding-sdo-axiom/src/test/java/org/apache/tuscany/sca/databinding/sdo2om/DataObject2OMElementTestCase.java delete mode 100644 java/sca/contrib/modules/databinding-sdo-axiom/src/test/java/org/apache/tuscany/sca/databinding/sdo2om/SDOTransformerTestCaseBase.java delete mode 100644 java/sca/contrib/modules/databinding-sdo-axiom/src/test/java/org/apache/tuscany/sca/databinding/sdo2om/XMLDocument2OMElementTestCase.java delete mode 100644 java/sca/contrib/modules/databinding-sdo-axiom/src/test/resources/ipo.xsd delete mode 100644 java/sca/contrib/modules/databinding-sdo-axiom/src/test/resources/stock.xsd delete mode 100644 java/sca/contrib/modules/databinding-sdo/LICENSE delete mode 100644 java/sca/contrib/modules/databinding-sdo/NOTICE delete mode 100644 java/sca/contrib/modules/databinding-sdo/pom.xml delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/DataObject2Node.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/DataObject2String.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/DataObject2XMLStreamReader.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/ImportSDO.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/ImportSDOProcessor.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/Node2DataObject.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelper.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDODataBinding.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOSimpleTypeMapper.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOTypeHelper.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOWrapperHandler.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/String2DataObject.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/XMLDocument2String.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/XMLDocument2XMLStreamReader.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/XMLStreamReader2DataObject.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/XMLStreamReader2XMLDocument.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/main/resources/databinding-sdo-validation-messages.properties delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/test/java/com/example/stock/sdo/fault/InvalidSymbolFault_Exception.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/DataObject2NodeTestCase.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/DataObject2StringTestCase.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/DataObject2XMLStreamReaderTestCase.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/ImportSDOProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelperTestCase.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/SDODataBindingTestCase.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/SDOTransformerTestCaseBase.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/SDOWrapperHandlerTestCase.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/TestModelResolver.java delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/XMLDocument2XMLStreamReaderTestCase.java delete mode 100755 java/sca/contrib/modules/databinding-sdo/src/test/resources/ipo.xsd delete mode 100755 java/sca/contrib/modules/databinding-sdo/src/test/resources/model/sca-core.xsd delete mode 100755 java/sca/contrib/modules/databinding-sdo/src/test/resources/model/sca-implementation-mock.xsd delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/test/resources/stock.xsd delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/test/resources/wrapper.xml delete mode 100644 java/sca/contrib/modules/databinding-sdo/src/test/resources/wrapper.xsd delete mode 100755 java/sca/contrib/modules/databinding-xmlbeans/LICENSE delete mode 100644 java/sca/contrib/modules/databinding-xmlbeans/NOTICE delete mode 100644 java/sca/contrib/modules/databinding-xmlbeans/pom.xml delete mode 100644 java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/Node2XmlObject.java delete mode 100644 java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XMLBeansDataBinding.java delete mode 100644 java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XMLBeansWrapperHandler.java delete mode 100644 java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XMLStreamReader2XmlObject.java delete mode 100644 java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XmlObject2Node.java delete mode 100644 java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XmlObject2XMLStreamReader.java delete mode 100644 java/sca/contrib/modules/databinding-xmlbeans/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding delete mode 100644 java/sca/contrib/modules/databinding-xmlbeans/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer delete mode 100644 java/sca/contrib/modules/databinding-xmlbeans/src/test/java/org/apache/tuscany/sca/databinding/xmlbeans/XmlObjectTestCase.java delete mode 100755 java/sca/contrib/modules/databinding-xmlbeans/src/test/resources/ipo.xsd delete mode 100755 java/sca/contrib/modules/databinding-xmlbeans/src/test/resources/ipo.xsdconfig delete mode 100644 java/sca/contrib/modules/databinding-xstream/LICENSE delete mode 100644 java/sca/contrib/modules/databinding-xstream/NOTICE delete mode 100644 java/sca/contrib/modules/databinding-xstream/pom.xml delete mode 100644 java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObject.java delete mode 100644 java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObjectImpl.java delete mode 100644 java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Node2XObject.java delete mode 100644 java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/OMElement2XObject.java delete mode 100644 java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Utils.java delete mode 100644 java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject.java delete mode 100644 java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2Node.java delete mode 100644 java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2OMElement.java delete mode 100644 java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObjectDataBinding.java delete mode 100644 java/sca/contrib/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding delete mode 100644 java/sca/contrib/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer delete mode 100644 java/sca/contrib/modules/databinding-xstream/src/test/resources/ipo.xml delete mode 100644 java/sca/contrib/modules/databinding-xstream/src/test/resources/ipo.xsd delete mode 100644 java/sca/contrib/modules/databinding-xstream/src/test/resources/order.wsdl delete mode 100644 java/sca/contrib/modules/databinding/LICENSE delete mode 100644 java/sca/contrib/modules/databinding/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/databinding/NOTICE delete mode 100644 java/sca/contrib/modules/databinding/pom.xml delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DataBinding.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DataBindingExtensionPoint.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DataPipe.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DataPipeTransformer.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultTransformerExtensionPoint.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/Mediator.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/PullTransformer.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/PushTransformer.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/SimpleTypeMapper.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/TransformationContext.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/TransformationException.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/Transformer.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/TransformerExtensionPoint.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/WrapperHandler.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/XMLTypeHelper.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/annotation/DataBinding.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/annotation/DataType.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/externalizable/ExternalizableDataBinding.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/BaseDataBinding.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/BaseTransformer.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/DOMHelper.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/DirectedGraph.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/Group2GroupTransformer.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/GroupDataBinding.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/Java2SimpleTypeTransformer.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/PipedTransformer.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/SimpleType2JavaTransformer.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/SimpleTypeMapperImpl.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/TransformationContextImpl.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/XSDDataTypeConverter.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/DOMNode2JavaBeanTransformer.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/Java2XMLMapperException.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBean2DOMNodeTransformer.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBean2XMLStreamReaderTransformer.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBean2XMLTransformer.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBeansDataBinding.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaExceptionDataBinding.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/SimpleJavaDataBinding.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/XML2JavaBeanTransformer.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/XML2JavaMapperException.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/util/DataTypeHelper.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/util/LRUCache.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/BeanXMLStreamReaderImpl.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMDataBinding.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMWrapperHandler.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMXMLStreamReader.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMXmlNodeImpl.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DelegatingNamespaceContext.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/InputSource2Node.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/InputSource2SAX.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/InputStream2Node.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/InputStream2SAX.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/NameValueArrayStreamReader.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/NameValuePairStreamReader.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/NamedProperty.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/NilElementStreamReader.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2OutputStream.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2SimpleJavaType.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2SourceTransformer.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2String.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2Writer.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2XMLStreamReader.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Reader2Node.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Reader2SAX.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/SAX2DOM.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/SAX2DOMPipe.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/SimpleJavaType2Node.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/SimpleXmlNodeImpl.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Source2NodeTransformer.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Source2ResultTransformer.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Source2StringTransformer.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/StAX2SAXAdapter.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/StAXDataBinding.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/StAXHelper.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/StreamDataPipe.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/String2Node.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/String2SAX.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/String2SourceTransformer.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/String2XMLStreamReader.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/WrappingXMLStreamReader.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Writer2ReaderDataPipe.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XMLDocumentStreamReader.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XMLFragmentStreamReader.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XMLFragmentStreamReaderImpl.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XMLGroupDataBinding.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XMLStreamReader2Node.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XMLStreamReader2SAX.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XMLStreamReader2String.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XMLStreamSerializer.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XMLStreamable.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XMLStringDataBinding.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XmlNode.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XmlNodeIterator.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/XmlTreeStreamReaderImpl.java delete mode 100644 java/sca/contrib/modules/databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding delete mode 100644 java/sca/contrib/modules/databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBindingExtensionPoint delete mode 100644 java/sca/contrib/modules/databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer delete mode 100644 java/sca/contrib/modules/databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PushTransformer delete mode 100644 java/sca/contrib/modules/databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.TransformerExtensionPoint delete mode 100644 java/sca/contrib/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/extension/DOMHelperTestCase.java delete mode 100644 java/sca/contrib/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/extension/DataBindingExtensionTestCase.java delete mode 100644 java/sca/contrib/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/extension/SimpleTypeMapperExtensionTestCase.java delete mode 100644 java/sca/contrib/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/extension/TransformerExtensionTestCase.java delete mode 100644 java/sca/contrib/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/extension/XSDDataTypeConverterTestCase.java delete mode 100644 java/sca/contrib/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/DataBindingRegistryImplTestCase.java delete mode 100644 java/sca/contrib/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/DataBindingTestCase.java delete mode 100644 java/sca/contrib/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/DirectedGraphTestCase.java delete mode 100644 java/sca/contrib/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/MediatorImplTestCase.java delete mode 100644 java/sca/contrib/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/TransformerRegistryImplTestCase.java delete mode 100644 java/sca/contrib/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/impl/XMLDocumentStreamReaderTestCase.java delete mode 100644 java/sca/contrib/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/xml/BeanXMLStreamReaderTestCase.java delete mode 100644 java/sca/contrib/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/xml/DOM2StAXTestCase.java delete mode 100644 java/sca/contrib/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/xml/DataPipeTestCase.java delete mode 100644 java/sca/contrib/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/xml/JavaBean2XMLStreamReaderTestCase.java delete mode 100644 java/sca/contrib/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/xml/Node2StringTestCase.java delete mode 100644 java/sca/contrib/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/xml/PushTransformationTestCase.java delete mode 100644 java/sca/contrib/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/xml/StAXHelperTestCase.java delete mode 100644 java/sca/contrib/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/xml/TraxTransformerTestCase.java delete mode 100644 java/sca/contrib/modules/databinding/src/test/java/org/apache/tuscany/sca/databinding/xml/XmlTreeStreamReaderTestCase.java delete mode 100644 java/sca/contrib/modules/databinding/src/test/resources/org/apache/tuscany/sca/databinding/impl/ipo.xsd delete mode 100644 java/sca/contrib/modules/databinding/src/test/resources/org/apache/tuscany/sca/databinding/impl/order.wsdl delete mode 100644 java/sca/contrib/modules/databinding/src/test/resources/org/apache/tuscany/sca/databinding/xml/foo.xml delete mode 100644 java/sca/contrib/modules/definitions-xml/LICENSE delete mode 100644 java/sca/contrib/modules/definitions-xml/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/definitions-xml/NOTICE delete mode 100644 java/sca/contrib/modules/definitions-xml/pom.xml delete mode 100644 java/sca/contrib/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsDocumentProcessor.java delete mode 100644 java/sca/contrib/modules/definitions-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/SCADefinitionsProcessor.java delete mode 100644 java/sca/contrib/modules/definitions-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/definitions-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor delete mode 100644 java/sca/contrib/modules/definitions-xml/src/main/resources/definitions-xml-validation-messages.properties delete mode 100644 java/sca/contrib/modules/definitions-xml/src/test/java/org/apache/tuscany/sca/definitions/Policy.java delete mode 100644 java/sca/contrib/modules/definitions-xml/src/test/java/org/apache/tuscany/sca/definitions/ReadDocumentTestCase.java delete mode 100644 java/sca/contrib/modules/definitions-xml/src/test/java/org/apache/tuscany/sca/definitions/TestPolicyProcessor.java delete mode 100644 java/sca/contrib/modules/definitions-xml/src/test/resources/org/apache/tuscany/sca/definitions/test_definitions.xml delete mode 100644 java/sca/contrib/modules/definitions/LICENSE delete mode 100644 java/sca/contrib/modules/definitions/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/definitions/NOTICE delete mode 100644 java/sca/contrib/modules/definitions/pom.xml delete mode 100644 java/sca/contrib/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitions.java delete mode 100644 java/sca/contrib/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsBuilder.java delete mode 100644 java/sca/contrib/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsBuilderException.java delete mode 100644 java/sca/contrib/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsBuilderImpl.java delete mode 100644 java/sca/contrib/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/impl/SCADefinitionsImpl.java delete mode 100644 java/sca/contrib/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/util/SCADefinitionsUtil.java delete mode 100644 java/sca/contrib/modules/domain-manager/LICENSE delete mode 100644 java/sca/contrib/modules/domain-manager/NOTICE delete mode 100644 java/sca/contrib/modules/domain-manager/pom.xml delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/CompositeConfigurationCollectionImpl.java delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/CompositeConfigurationServiceImpl.java delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/CompositeGeneratorServiceImpl.java delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/ContributionCollectionImpl.java delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/ContributionServiceImpl.java delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/DeployableCompositeCollectionImpl.java delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/DeployableCompositeServiceImpl.java delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/DeployedCompositeCollectionImpl.java delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/DomainManagerConfiguration.java delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/DomainManagerConfigurationImpl.java delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/DomainManagerUtil.java delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/FileCollectionImpl.java delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/FileServiceImpl.java delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/NodeConfigurationServiceImpl.java delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/NodeProcessCollectionFacadeImpl.java delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/impl/QuickStartServiceImpl.java delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/java/org/apache/tuscany/sca/domain/manager/launcher/DomainManagerLauncherBootstrap.java delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/resources/DomainManager.composite delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/resources/cloud-gadget.html delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/resources/cloud.html delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/resources/composite-gadget.html delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/resources/composite.html delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/resources/files-gadget.html delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/resources/files.html delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/resources/home-gadget.html delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/resources/home.html delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/resources/icons/feed-icon.png delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/resources/manager.css delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/resources/toolbar-gadget.html delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/resources/utils.js delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/resources/workspace-gadget.html delete mode 100644 java/sca/contrib/modules/domain-manager/src/main/resources/workspace.html delete mode 100644 java/sca/contrib/modules/domain-manager/src/test/java/org/apache/tuscany/sca/domain/manager/impl/DomainManagerTestCase.java delete mode 100644 java/sca/contrib/modules/domain-manager/src/test/resources/contributions/assets/META-INF/sca-contribution.xml delete mode 100644 java/sca/contrib/modules/domain-manager/src/test/resources/contributions/store/META-INF/sca-contribution.xml delete mode 100644 java/sca/contrib/modules/domain-manager/src/test/resources/workspace.xml delete mode 100644 java/sca/contrib/modules/endpoint/LICENSE delete mode 100644 java/sca/contrib/modules/endpoint/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/endpoint/NOTICE delete mode 100644 java/sca/contrib/modules/endpoint/pom.xml delete mode 100644 java/sca/contrib/modules/endpoint/src/main/java/org/apache/tuscany/sca/endpoint/impl/EndpointResolverFactoryImpl.java delete mode 100644 java/sca/contrib/modules/endpoint/src/main/java/org/apache/tuscany/sca/endpoint/impl/EndpointResolverImpl.java delete mode 100644 java/sca/contrib/modules/endpoint/src/main/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactory delete mode 100644 java/sca/contrib/modules/endpoint/src/main/resources/org/apache/tuscany/sca/binding/sca/definitions.xml delete mode 100644 java/sca/contrib/modules/endpoint/src/test/java/calculator/AddService.java delete mode 100644 java/sca/contrib/modules/endpoint/src/test/java/calculator/AddServiceImpl.java delete mode 100644 java/sca/contrib/modules/endpoint/src/test/java/calculator/CalculatorService.java delete mode 100644 java/sca/contrib/modules/endpoint/src/test/java/calculator/CalculatorServiceImpl.java delete mode 100644 java/sca/contrib/modules/endpoint/src/test/java/calculator/DivideService.java delete mode 100644 java/sca/contrib/modules/endpoint/src/test/java/calculator/DivideServiceImpl.java delete mode 100644 java/sca/contrib/modules/endpoint/src/test/java/calculator/MultiplyService.java delete mode 100644 java/sca/contrib/modules/endpoint/src/test/java/calculator/MultiplyServiceImpl.java delete mode 100644 java/sca/contrib/modules/endpoint/src/test/java/calculator/SubtractService.java delete mode 100644 java/sca/contrib/modules/endpoint/src/test/java/calculator/SubtractServiceImpl.java delete mode 100644 java/sca/contrib/modules/endpoint/src/test/java/org/apace/tuscany/sca/binding/sca/EndpointTestCase.java delete mode 100644 java/sca/contrib/modules/endpoint/src/test/resources/Calculator.composite delete mode 100644 java/sca/contrib/modules/extensibility-equinox/LICENSE delete mode 100644 java/sca/contrib/modules/extensibility-equinox/NOTICE delete mode 100644 java/sca/contrib/modules/extensibility-equinox/pom.xml delete mode 100644 java/sca/contrib/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoverer.java delete mode 100644 java/sca/contrib/modules/extensibility-equinox/src/main/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscoveryActivator.java delete mode 100644 java/sca/contrib/modules/extensibility-equinox/src/test/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxHostTestCase.java delete mode 100644 java/sca/contrib/modules/extensibility-equinox/src/test/java/org/apache/tuscany/sca/extensibility/equinox/EquinoxServiceDiscovererTestCase.java delete mode 100644 java/sca/contrib/modules/extensibility-equinox/src/test/java/org/apache/tuscany/sca/extensibility/equinox/TestEquinoxHost.java delete mode 100644 java/sca/contrib/modules/extensibility-equinox/src/test/resources/test-bundle.jar delete mode 100644 java/sca/contrib/modules/extensibility-osgi/LICENSE delete mode 100644 java/sca/contrib/modules/extensibility-osgi/NOTICE delete mode 100644 java/sca/contrib/modules/extensibility-osgi/pom.xml delete mode 100644 java/sca/contrib/modules/extensibility-osgi/src/main/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscoverer.java delete mode 100644 java/sca/contrib/modules/extensibility-osgi/src/main/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscoveryActivator.java delete mode 100644 java/sca/contrib/modules/extensibility-osgi/src/test/java/org/apache/tuscany/sca/extensibility/osgi/OSGiServiceDiscovererTestCase.java delete mode 100644 java/sca/contrib/modules/extensibility-osgi/src/test/resources/test-bundle.jar delete mode 100644 java/sca/contrib/modules/extensibility/LICENSE delete mode 100644 java/sca/contrib/modules/extensibility/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/extensibility/NOTICE delete mode 100644 java/sca/contrib/modules/extensibility/pom.xml delete mode 100644 java/sca/contrib/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultExtensionPointRegistry.java delete mode 100644 java/sca/contrib/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultModuleActivatorExtensionPoint.java delete mode 100644 java/sca/contrib/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/DefaultUtilityExtensionPoint.java delete mode 100644 java/sca/contrib/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/ExtensionPointRegistry.java delete mode 100644 java/sca/contrib/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/ModuleActivator.java delete mode 100644 java/sca/contrib/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/ModuleActivatorExtensionPoint.java delete mode 100644 java/sca/contrib/modules/extensibility/src/main/java/org/apache/tuscany/sca/core/UtilityExtensionPoint.java delete mode 100644 java/sca/contrib/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscoverer.java delete mode 100644 java/sca/contrib/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDeclaration.java delete mode 100644 java/sca/contrib/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscoverer.java delete mode 100644 java/sca/contrib/modules/extensibility/src/main/java/org/apache/tuscany/sca/extensibility/ServiceDiscovery.java delete mode 100644 java/sca/contrib/modules/extensibility/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivatorExtensionPoint delete mode 100644 java/sca/contrib/modules/extensibility/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.UtilityExtensionPoint delete mode 100644 java/sca/contrib/modules/extensibility/src/test/java/org/apache/tuscany/sca/extensibility/ContextClassLoaderServiceDiscovererTestCase.java delete mode 100644 java/sca/contrib/modules/extension-helper/LICENSE delete mode 100644 java/sca/contrib/modules/extension-helper/NOTICE delete mode 100644 java/sca/contrib/modules/extension-helper/pom.xml delete mode 100644 java/sca/contrib/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/BindingActivator.java delete mode 100644 java/sca/contrib/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/ComponentLifecycle.java delete mode 100644 java/sca/contrib/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/ImplementationActivator.java delete mode 100644 java/sca/contrib/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/InvokerFactory.java delete mode 100644 java/sca/contrib/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/impl/BindingSCDLProcessor.java delete mode 100644 java/sca/contrib/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/impl/BindingsActivator.java delete mode 100644 java/sca/contrib/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/impl/DiscoveryUtils.java delete mode 100644 java/sca/contrib/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/impl/ImplementationImplementationProvider.java delete mode 100644 java/sca/contrib/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/impl/ImplementationsActivator.java delete mode 100644 java/sca/contrib/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/impl/PojoBinding.java delete mode 100644 java/sca/contrib/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/impl/PojoImplementation.java delete mode 100644 java/sca/contrib/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/impl/SCDLProcessor.java delete mode 100644 java/sca/contrib/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/utils/AbstractBinding.java delete mode 100644 java/sca/contrib/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/utils/AbstractImplementation.java delete mode 100644 java/sca/contrib/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/utils/AbstractStAXArtifactProcessor.java delete mode 100644 java/sca/contrib/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/utils/DefaultPropertyValueObjectFactory.java delete mode 100644 java/sca/contrib/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/utils/DynamicImplementation.java delete mode 100644 java/sca/contrib/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/utils/PropertyValueObjectFactory.java delete mode 100644 java/sca/contrib/modules/extension-helper/src/main/java/org/apache/tuscany/sca/extension/helper/utils/ResourceHelper.java delete mode 100644 java/sca/contrib/modules/extension-helper/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator delete mode 100644 java/sca/contrib/modules/host-corba-jee/LICENSE delete mode 100644 java/sca/contrib/modules/host-corba-jee/NOTICE delete mode 100644 java/sca/contrib/modules/host-corba-jee/pom.xml delete mode 100644 java/sca/contrib/modules/host-corba-jee/src/main/java/org/apache/tuscany/sca/host/corba/jee/CorbaRuntimeModuleActivator.java delete mode 100644 java/sca/contrib/modules/host-corba-jee/src/main/java/org/apache/tuscany/sca/host/corba/jee/JEECorbaHost.java delete mode 100644 java/sca/contrib/modules/host-corba-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator delete mode 100644 java/sca/contrib/modules/host-corba-jee/src/test/java/org/apache/tuscany/sca/host/corba/jee/testing/JEECorbaHostTestCase.java delete mode 100644 java/sca/contrib/modules/host-corba-jee/src/test/java/org/apache/tuscany/sca/host/corba/jee/testing/TestContext.java delete mode 100644 java/sca/contrib/modules/host-corba-jee/src/test/java/org/apache/tuscany/sca/host/corba/jee/testing/TestInitialContextFactory.java delete mode 100644 java/sca/contrib/modules/host-corba-jee/src/test/java/org/apache/tuscany/sca/host/corba/jee/testing/general/TestInterface.java delete mode 100644 java/sca/contrib/modules/host-corba-jee/src/test/java/org/apache/tuscany/sca/host/corba/jee/testing/general/TestInterfaceHelper.java delete mode 100644 java/sca/contrib/modules/host-corba-jee/src/test/java/org/apache/tuscany/sca/host/corba/jee/testing/general/TestInterfaceHolder.java delete mode 100644 java/sca/contrib/modules/host-corba-jee/src/test/java/org/apache/tuscany/sca/host/corba/jee/testing/general/TestInterfaceOperations.java delete mode 100644 java/sca/contrib/modules/host-corba-jee/src/test/java/org/apache/tuscany/sca/host/corba/jee/testing/general/_TestInterfaceImplBase.java delete mode 100644 java/sca/contrib/modules/host-corba-jee/src/test/java/org/apache/tuscany/sca/host/corba/jee/testing/general/_TestInterfaceStub.java delete mode 100644 java/sca/contrib/modules/host-corba-jee/src/test/java/org/apache/tuscany/sca/host/corba/jee/testing/servants/TestInterfaceServant.java delete mode 100644 java/sca/contrib/modules/host-corba-jee/src/test/resources/general.idl delete mode 100644 java/sca/contrib/modules/host-corba-jse-tns/LICENSE delete mode 100644 java/sca/contrib/modules/host-corba-jse-tns/NOTICE delete mode 100644 java/sca/contrib/modules/host-corba-jse-tns/pom.xml delete mode 100644 java/sca/contrib/modules/host-corba-jse-tns/src/main/java/org/apache/tuscany/sca/host/corba/jse/tns/CorbaRuntimeModuleActivator.java delete mode 100644 java/sca/contrib/modules/host-corba-jse-tns/src/main/java/org/apache/tuscany/sca/host/corba/jse/tns/TnsDefaultCorbaHost.java delete mode 100644 java/sca/contrib/modules/host-corba-jse-tns/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator delete mode 100644 java/sca/contrib/modules/host-corba-jse-tns/src/test/java/org/apache/tuscany/sca/host/corba/testing/TnsDefaultCorbaHostTestCase.java delete mode 100644 java/sca/contrib/modules/host-corba-jse/LICENSE delete mode 100644 java/sca/contrib/modules/host-corba-jse/NOTICE delete mode 100644 java/sca/contrib/modules/host-corba-jse/pom.xml delete mode 100644 java/sca/contrib/modules/host-corba-jse/src/main/java/org/apache/tuscany/sca/host/corba/jse/CorbaRuntimeModuleActivator.java delete mode 100644 java/sca/contrib/modules/host-corba-jse/src/main/java/org/apache/tuscany/sca/host/corba/jse/DefaultCorbaHost.java delete mode 100644 java/sca/contrib/modules/host-corba-jse/src/main/java/org/apache/tuscany/sca/host/corba/naming/NamingContextBase.java delete mode 100644 java/sca/contrib/modules/host-corba-jse/src/main/java/org/apache/tuscany/sca/host/corba/naming/TransientNameServer.java delete mode 100644 java/sca/contrib/modules/host-corba-jse/src/main/java/org/apache/tuscany/sca/host/corba/naming/TransientNameService.java delete mode 100644 java/sca/contrib/modules/host-corba-jse/src/main/java/org/apache/tuscany/sca/host/corba/naming/TransientNamingContext.java delete mode 100644 java/sca/contrib/modules/host-corba-jse/src/main/java/org/apache/tuscany/sca/host/corba/naming/TransientServiceException.java delete mode 100644 java/sca/contrib/modules/host-corba-jse/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator delete mode 100644 java/sca/contrib/modules/host-corba-jse/src/test/java/org/apache/tuscany/sca/host/corba/testing/DefaultCorbaHostTestCase.java delete mode 100644 java/sca/contrib/modules/host-corba-jse/src/test/java/org/apache/tuscany/sca/host/corba/testing/general/TestInterface.java delete mode 100644 java/sca/contrib/modules/host-corba-jse/src/test/java/org/apache/tuscany/sca/host/corba/testing/general/TestInterfaceHelper.java delete mode 100644 java/sca/contrib/modules/host-corba-jse/src/test/java/org/apache/tuscany/sca/host/corba/testing/general/TestInterfaceHolder.java delete mode 100644 java/sca/contrib/modules/host-corba-jse/src/test/java/org/apache/tuscany/sca/host/corba/testing/general/TestInterfaceOperations.java delete mode 100644 java/sca/contrib/modules/host-corba-jse/src/test/java/org/apache/tuscany/sca/host/corba/testing/general/_TestInterfaceImplBase.java delete mode 100644 java/sca/contrib/modules/host-corba-jse/src/test/java/org/apache/tuscany/sca/host/corba/testing/general/_TestInterfaceStub.java delete mode 100644 java/sca/contrib/modules/host-corba-jse/src/test/java/org/apache/tuscany/sca/host/corba/testing/servants/TestInterfaceServant.java delete mode 100644 java/sca/contrib/modules/host-corba-jse/src/test/resources/general.idl delete mode 100644 java/sca/contrib/modules/host-corba/LICENSE delete mode 100644 java/sca/contrib/modules/host-corba/NOTICE delete mode 100644 java/sca/contrib/modules/host-corba/pom.xml delete mode 100644 java/sca/contrib/modules/host-corba/src/main/java/org/apache/tuscany/sca/host/corba/CorbaHost.java delete mode 100644 java/sca/contrib/modules/host-corba/src/main/java/org/apache/tuscany/sca/host/corba/CorbaHostException.java delete mode 100644 java/sca/contrib/modules/host-corba/src/main/java/org/apache/tuscany/sca/host/corba/CorbaHostExtensionPoint.java delete mode 100644 java/sca/contrib/modules/host-corba/src/main/java/org/apache/tuscany/sca/host/corba/CorbaHostUtils.java delete mode 100644 java/sca/contrib/modules/host-corba/src/main/java/org/apache/tuscany/sca/host/corba/CorbanameURL.java delete mode 100644 java/sca/contrib/modules/host-corba/src/main/java/org/apache/tuscany/sca/host/corba/DefaultCorbaHostExtensionPoint.java delete mode 100644 java/sca/contrib/modules/host-corba/src/main/java/org/apache/tuscany/sca/host/corba/ExtensibleCorbaHost.java delete mode 100755 java/sca/contrib/modules/host-corba/src/main/java/org/apache/tuscany/sca/host/corba/SocketUtil.java delete mode 100644 java/sca/contrib/modules/host-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.host.corba.CorbaHostExtensionPoint delete mode 100644 java/sca/contrib/modules/host-corba/src/test/java/org/apache/tuscany/sca/host/corba/UtilsTestCase.java delete mode 100644 java/sca/contrib/modules/host-ejb/LICENSE delete mode 100644 java/sca/contrib/modules/host-ejb/NOTICE delete mode 100644 java/sca/contrib/modules/host-ejb/pom.xml delete mode 100644 java/sca/contrib/modules/host-ejb/src/main/java/org/apache/tuscany/sca/host/ejb/DefaultEJBHostExtensionPoint.java delete mode 100644 java/sca/contrib/modules/host-ejb/src/main/java/org/apache/tuscany/sca/host/ejb/EJBHost.java delete mode 100644 java/sca/contrib/modules/host-ejb/src/main/java/org/apache/tuscany/sca/host/ejb/EJBHostExtensionPoint.java delete mode 100644 java/sca/contrib/modules/host-ejb/src/main/java/org/apache/tuscany/sca/host/ejb/EJBRegistrationException.java delete mode 100644 java/sca/contrib/modules/host-ejb/src/main/java/org/apache/tuscany/sca/host/ejb/EJBSessionBean.java delete mode 100644 java/sca/contrib/modules/host-ejb/src/main/java/org/apache/tuscany/sca/host/ejb/ExtensibleEJBHost.java delete mode 100644 java/sca/contrib/modules/host-ejb/src/main/resources/META-INF/services/org.apache.tuscany.sca.host.ejb.EJBHostExtensionPoint delete mode 100644 java/sca/contrib/modules/host-embedded/LICENSE delete mode 100644 java/sca/contrib/modules/host-embedded/NOTICE delete mode 100644 java/sca/contrib/modules/host-embedded/pom.xml delete mode 100644 java/sca/contrib/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/SCADomain.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/SCADomainBean.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/SCATestCaseRunner.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ComponentManagerImpl.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/DefaultSCADomain.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/EmbeddedSCADomain.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/HotUpdatableSCADomain.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/management/ComponentListener.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/management/ComponentManager.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/SCADomainBeanTestCase.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/SCADomainTestCase.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/SCADomainZipsTestCaseFIXME.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/impl/DefaultSCADomainTestCase.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/impl/EmbeddedSCADomainTestCase.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/impl/TestModelResolver.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/test/extension/DefaultTestImplementationFactory.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/test/extension/TestImplementation.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/test/extension/TestImplementationFactory.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/test/extension/TestService.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/test/extension/impl/TestImplementationImpl.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/test/extension/impl/TestImplementationProcessor.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/test/extension/module/TestModuleActivator.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/test/extension/provider/TestImplementationProvider.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/test/extension/provider/TestImplementationProviderFactory.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/java/org/apache/tuscany/sca/host/embedded/test/extension/provider/TestInvoker.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/java/sample/Helloworld.java delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/resources/helloworld.jar delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/resources/helloworld.zip delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/resources/test.composite delete mode 100644 java/sca/contrib/modules/host-embedded/src/test/resources/test.txt delete mode 100644 java/sca/contrib/modules/host-http/LICENSE delete mode 100644 java/sca/contrib/modules/host-http/NOTICE delete mode 100644 java/sca/contrib/modules/host-http/pom.xml delete mode 100644 java/sca/contrib/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/DefaultResourceServlet.java delete mode 100644 java/sca/contrib/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/DefaultServletHostExtensionPoint.java delete mode 100644 java/sca/contrib/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ExtensibleServletHost.java delete mode 100644 java/sca/contrib/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletHost.java delete mode 100644 java/sca/contrib/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletHostExtensionPoint.java delete mode 100644 java/sca/contrib/modules/host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletMappingException.java delete mode 100644 java/sca/contrib/modules/host-http/src/main/resources/META-INF/services/org.apache.tuscany.sca.host.http.ServletHostExtensionPoint delete mode 100644 java/sca/contrib/modules/host-jetty/LICENSE delete mode 100644 java/sca/contrib/modules/host-jetty/NOTICE delete mode 100644 java/sca/contrib/modules/host-jetty/pom.xml delete mode 100644 java/sca/contrib/modules/host-jetty/src/main/java/org/apache/tuscany/sca/http/jetty/JettyDefaultServlet.java delete mode 100644 java/sca/contrib/modules/host-jetty/src/main/java/org/apache/tuscany/sca/http/jetty/JettyLogger.java delete mode 100644 java/sca/contrib/modules/host-jetty/src/main/java/org/apache/tuscany/sca/http/jetty/JettyServer.java delete mode 100644 java/sca/contrib/modules/host-jetty/src/main/java/org/apache/tuscany/sca/http/jetty/module/JettyRuntimeModuleActivator.java delete mode 100644 java/sca/contrib/modules/host-jetty/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator delete mode 100644 java/sca/contrib/modules/host-jetty/src/test/java/org/apache/tuscany/sca/http/jetty/JettyServerTestCase.java delete mode 100644 java/sca/contrib/modules/host-jetty/src/test/resources/content/test.html delete mode 100644 java/sca/contrib/modules/host-jetty/src/test/resources/tuscany.keyStore delete mode 100644 java/sca/contrib/modules/host-openejb/LICENSE delete mode 100644 java/sca/contrib/modules/host-openejb/NOTICE delete mode 100644 java/sca/contrib/modules/host-openejb/pom.xml delete mode 100644 java/sca/contrib/modules/host-openejb/src/main/java/org/apache/tuscany/sca/host/openejb/OpenEJBRuntimeModuleActivator.java delete mode 100644 java/sca/contrib/modules/host-openejb/src/main/java/org/apache/tuscany/sca/host/openejb/OpenEJBServer.java delete mode 100644 java/sca/contrib/modules/host-openejb/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator delete mode 100644 java/sca/contrib/modules/host-openejb/src/test/java/org/apache/tuscany/sca/host/openejb/OpenEJBServerTestCase.java delete mode 100644 java/sca/contrib/modules/host-osgi/LICENSE delete mode 100644 java/sca/contrib/modules/host-osgi/NOTICE delete mode 100644 java/sca/contrib/modules/host-osgi/pom.xml delete mode 100644 java/sca/contrib/modules/host-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator delete mode 100644 java/sca/contrib/modules/host-rmi/LICENSE delete mode 100644 java/sca/contrib/modules/host-rmi/NOTICE delete mode 100644 java/sca/contrib/modules/host-rmi/pom.xml delete mode 100644 java/sca/contrib/modules/host-rmi/src/main/java/org/apache/tuscany/sca/host/rmi/DefaultRMIHost.java delete mode 100644 java/sca/contrib/modules/host-rmi/src/main/java/org/apache/tuscany/sca/host/rmi/DefaultRMIHostExtensionPoint.java delete mode 100644 java/sca/contrib/modules/host-rmi/src/main/java/org/apache/tuscany/sca/host/rmi/ExtensibleRMIHost.java delete mode 100644 java/sca/contrib/modules/host-rmi/src/main/java/org/apache/tuscany/sca/host/rmi/RMIHost.java delete mode 100644 java/sca/contrib/modules/host-rmi/src/main/java/org/apache/tuscany/sca/host/rmi/RMIHostException.java delete mode 100644 java/sca/contrib/modules/host-rmi/src/main/java/org/apache/tuscany/sca/host/rmi/RMIHostExtensionPoint.java delete mode 100644 java/sca/contrib/modules/host-rmi/src/main/java/org/apache/tuscany/sca/host/rmi/RMIHostRuntimeException.java delete mode 100644 java/sca/contrib/modules/host-rmi/src/main/resources/META-INF/services/org.apache.tuscany.sca.host.rmi.RMIHostExtensionPoint delete mode 100644 java/sca/contrib/modules/host-rmi/src/test/java/org/apache/tuscany/sca/host/rmi/RMIHostImplTestCase.java delete mode 100644 java/sca/contrib/modules/host-tomcat/LICENSE delete mode 100644 java/sca/contrib/modules/host-tomcat/NOTICE delete mode 100644 java/sca/contrib/modules/host-tomcat/pom.xml delete mode 100644 java/sca/contrib/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/ServletWrapper.java delete mode 100644 java/sca/contrib/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/TomcatDefaultServlet.java delete mode 100644 java/sca/contrib/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/TomcatServer.java delete mode 100644 java/sca/contrib/modules/host-tomcat/src/main/java/org/apache/tuscany/sca/http/tomcat/module/TomcatRuntimeModuleActivator.java delete mode 100644 java/sca/contrib/modules/host-tomcat/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator delete mode 100644 java/sca/contrib/modules/host-tomcat/src/test/java/org/apache/tuscany/sca/http/tomcat/TomcatServerTestCase.java delete mode 100644 java/sca/contrib/modules/host-tomcat/src/test/resources/content/test.html delete mode 100644 java/sca/contrib/modules/host-tomcat/src/test/resources/tuscany.keyStore delete mode 100644 java/sca/contrib/modules/host-webapp-junit/LICENSE delete mode 100644 java/sca/contrib/modules/host-webapp-junit/NOTICE delete mode 100644 java/sca/contrib/modules/host-webapp-junit/pom.xml delete mode 100644 java/sca/contrib/modules/host-webapp-junit/src/main/java/org/apache/tuscany/sca/host/webapp/junit/JUnitServletFilter.java delete mode 100644 java/sca/contrib/modules/host-webapp-junit/src/main/java/org/apache/tuscany/sca/host/webapp/junit/XMLFormatter.java delete mode 100644 java/sca/contrib/modules/host-webapp/LICENSE delete mode 100644 java/sca/contrib/modules/host-webapp/NOTICE delete mode 100644 java/sca/contrib/modules/host-webapp/pom.xml delete mode 100644 java/sca/contrib/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/HotUpdateContextListener.java delete mode 100644 java/sca/contrib/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/SCADomainHelper.java delete mode 100644 java/sca/contrib/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/TuscanyContextListener.java delete mode 100644 java/sca/contrib/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/TuscanyServlet.java delete mode 100644 java/sca/contrib/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/TuscanyServletFilter.java delete mode 100644 java/sca/contrib/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppModuleActivator.java delete mode 100644 java/sca/contrib/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppRequestDispatcher.java delete mode 100644 java/sca/contrib/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java delete mode 100644 java/sca/contrib/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebSCADomain.java delete mode 100644 java/sca/contrib/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/jsp/ReferenceTEI.java delete mode 100644 java/sca/contrib/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/jsp/ReferenceTag.java delete mode 100644 java/sca/contrib/modules/host-webapp/src/main/resources/META-INF/sca.tld delete mode 100644 java/sca/contrib/modules/host-webapp/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator delete mode 100644 java/sca/contrib/modules/implementation-bpel-jbpm/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-bpel-jbpm/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-bpel-jbpm/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-bpel-jbpm/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/BPELODEDeployFile.java delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServer.java delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/GeronimoTxFactory.java delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEBindingContext.java delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEDeployment.java delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEDeploymentException.java delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEExternalService.java delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEInitializationException.java delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEMessageExchangeContext.java delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/ODEShutdownException.java delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/TuscanyEPR.java delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/TuscanyPRC.java delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/TuscanyProcessConfImpl.java delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/provider/BPELImplementationProvider.java delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/provider/BPELImplementationProviderFactory.java delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/main/java/org/apache/tuscany/sca/implementation/bpel/ode/provider/BPELInvoker.java delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/test/java/org/apache/tuscany/sca/implementation/bpel/ode/EmbeddedODEServerTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/test/resources/helloworld/deploy.xml delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/test/resources/helloworld/greetings.wsdl delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/test/resources/helloworld/helloworld.bpel delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/test/resources/helloworld/helloworld.wsdl delete mode 100644 java/sca/contrib/modules/implementation-bpel-ode/src/test/resources/log4j.properties delete mode 100644 java/sca/contrib/modules/implementation-bpel/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-bpel/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-bpel/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELFactory.java delete mode 100644 java/sca/contrib/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELImplementation.java delete mode 100644 java/sca/contrib/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/BPELProcessDefinition.java delete mode 100644 java/sca/contrib/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELFactoryImpl.java delete mode 100644 java/sca/contrib/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELImplementationImpl.java delete mode 100644 java/sca/contrib/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/impl/BPELProcessDefinitionImpl.java delete mode 100644 java/sca/contrib/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELDocumentProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELImplementationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELImportElement.java delete mode 100644 java/sca/contrib/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELPartnerLinkElement.java delete mode 100644 java/sca/contrib/modules/implementation-bpel/src/main/java/org/apache/tuscany/sca/implementation/bpel/xml/BPELPartnerLinkTypeElement.java delete mode 100644 java/sca/contrib/modules/implementation-bpel/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/implementation-bpel/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor delete mode 100644 java/sca/contrib/modules/implementation-bpel/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.bpel.BPELFactory delete mode 100644 java/sca/contrib/modules/implementation-bpel/src/main/resources/impl-bpel-validation-messages.properties delete mode 100644 java/sca/contrib/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELDocumentProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-bpel/src/test/java/org/apache/tuscany/sca/implementation/bpel/BPELImplementationProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-bpel/src/test/resources/helloworld/helloworld.bpel delete mode 100644 java/sca/contrib/modules/implementation-bpel/src/test/resources/helloworld/helloworld.wsdl delete mode 100644 java/sca/contrib/modules/implementation-das/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-das/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-das/README delete mode 100644 java/sca/contrib/modules/implementation-das/build.xml delete mode 100644 java/sca/contrib/modules/implementation-das/company.sql delete mode 100644 java/sca/contrib/modules/implementation-das/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-das/src/main/java/org/apache/tuscany/sca/implementation/das/Constants.java delete mode 100644 java/sca/contrib/modules/implementation-das/src/main/java/org/apache/tuscany/sca/implementation/das/DAS.java delete mode 100644 java/sca/contrib/modules/implementation-das/src/main/java/org/apache/tuscany/sca/implementation/das/DASImplementation.java delete mode 100644 java/sca/contrib/modules/implementation-das/src/main/java/org/apache/tuscany/sca/implementation/das/DASImplementationFactory.java delete mode 100644 java/sca/contrib/modules/implementation-das/src/main/java/org/apache/tuscany/sca/implementation/das/DASImplementationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-das/src/main/java/org/apache/tuscany/sca/implementation/das/DefaultDASImplementationFactory.java delete mode 100644 java/sca/contrib/modules/implementation-das/src/main/java/org/apache/tuscany/sca/implementation/das/annotations/Command.java delete mode 100644 java/sca/contrib/modules/implementation-das/src/main/java/org/apache/tuscany/sca/implementation/das/provider/DASImplementationProvider.java delete mode 100644 java/sca/contrib/modules/implementation-das/src/main/java/org/apache/tuscany/sca/implementation/das/provider/DASImplementationProviderFactory.java delete mode 100644 java/sca/contrib/modules/implementation-das/src/main/java/org/apache/tuscany/sca/implementation/das/provider/DASInvoker.java delete mode 100644 java/sca/contrib/modules/implementation-das/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/implementation-das/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory delete mode 100644 java/sca/contrib/modules/implementation-das/src/main/resources/impl-das-validation-messages.properties delete mode 100644 java/sca/contrib/modules/implementation-das/src/test/java/org/apache/tuscany/sca/implementation/das/DASImplementationProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-das/src/test/java/org/apache/tuscany/sca/implementation/das/DASTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-das/src/test/java/org/apache/tuscany/sca/implementation/das/company/CompanyService.java delete mode 100644 java/sca/contrib/modules/implementation-das/src/test/java/org/apache/tuscany/sca/implementation/das/company/CompanyServiceTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-das/src/test/resources/company.componentType delete mode 100644 java/sca/contrib/modules/implementation-das/src/test/resources/company.composite delete mode 100644 java/sca/contrib/modules/implementation-das/src/test/resources/company.xml delete mode 100644 java/sca/contrib/modules/implementation-das/src/test/resources/das.composite delete mode 100644 java/sca/contrib/modules/implementation-data-xml/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-data-xml/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-data-xml/README delete mode 100644 java/sca/contrib/modules/implementation-data-xml/build.xml delete mode 100644 java/sca/contrib/modules/implementation-data-xml/company.sql delete mode 100644 java/sca/contrib/modules/implementation-data-xml/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/DATA.java delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/DATACollection.java delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/DATAImplementation.java delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/DATAImplementationFactory.java delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/DATAImplementationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/jdbc/JDBCHelper.java delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/jdbc/JDBCResultSetStreamReader.java delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/jdbc/ResultSetXmlNodeImpl.java delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/provider/DATAImplementationProvider.java delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/provider/DATAImplementationProviderFactory.java delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/main/java/org/apache/tuscany/sca/implementation/data/provider/DATAInvoker.java delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/test/java/org/apache/tuscany/sca/implementation/data/DATACollectionTestCaseFIXME.java delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/test/java/org/apache/tuscany/sca/implementation/data/DATAImplementationProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/test/java/org/apache/tuscany/sca/implementation/data/DATATestCase.java delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/test/java/org/apache/tuscany/sca/implementation/data/companyFeed/CompanyFeed.java delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/test/java/org/apache/tuscany/sca/implementation/data/companyFeed/CompanyFeedTestCaseFIXME.java delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/test/resources/data-feed.composite delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/test/resources/data.composite delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/test/resources/insert.xml delete mode 100644 java/sca/contrib/modules/implementation-data-xml/src/test/resources/update.xml delete mode 100644 java/sca/contrib/modules/implementation-ejb/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-ejb/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-ejb/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/EJBImplementation.java delete mode 100644 java/sca/contrib/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/EJBImplementationFactory.java delete mode 100644 java/sca/contrib/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/impl/EJBImplementationFactoryImpl.java delete mode 100644 java/sca/contrib/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/impl/EJBImplementationImpl.java delete mode 100644 java/sca/contrib/modules/implementation-ejb/src/main/java/org/apache/tuscany/sca/implementation/ejb/xml/EJBImplementationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-ejb/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/implementation-ejb/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.ejb.EJBImplementationFactory delete mode 100644 java/sca/contrib/modules/implementation-ejb/src/main/resources/impl-ejb-validation-messages.properties delete mode 100644 java/sca/contrib/modules/implementation-ejb/src/test/java/org/apache/tuscany/sca/implementation/ejb/xml/ReadTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-ejb/src/test/java/org/apache/tuscany/sca/implementation/ejb/xml/WriteTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-ejb/src/test/resources/org/apache/tuscany/sca/implementation/ejb/xml/TestEJB.composite delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/context/InstanceFactory.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/context/InstanceFactoryProvider.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/context/ReflectiveInstanceFactory.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/context/ReflectiveInstanceWrapper.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/ArrayMultiplicityObjectFactory.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/ContextInjector.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/ConversationIDObjectFactory.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/FieldInjector.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/InjectionRuntimeException.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/Injector.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/InvalidAccessorException.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/JavaPropertyValueObjectFactory.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/ListMultiplicityObjectFactory.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/MethodInjector.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/RequestContextObjectFactory.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/ResourceHost.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/ResourceNotFoundException.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/ResourceObjectFactory.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/ResourceResolutionException.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/EventInvocationException.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/EventInvoker.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/InvalidConversationSequenceException.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaCallbackRuntimeWireProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextFactory.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentContextProvider.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaComponentNameFactory.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationInvoker.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationProvider.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationProviderFactory.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaInstanceFactoryProvider.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaPolicyHandlingRuntimeWireProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/MethodEventInvoker.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/NoConversationalContractException.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/PolicyHandlingInterceptor.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/module/JavaRuntimeModuleActivator.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/context/MultiplicityTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/context/ReflectiveInstanceWrapperTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/CallbackWireObjectFactoryTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/FieldInjectorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/JavaPropertyValueObjectFactoryTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/MethodEventInvokerTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/MethodInjectorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/RequestContextObjectFactoryTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/ResourceObjectFactoryTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/SingletonObjectFactory.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/SingletonObjectFactoryTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/TestObjectFactory.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/injection/TestObjectFactoryTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/util/Bean1.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/util/Bean2.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/util/Entry.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/util/JavaIntrospectionHelperTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/sca/implementation/java/util/SuperBean.java delete mode 100644 java/sca/contrib/modules/implementation-java-xml/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-java-xml/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/implementation-java-xml/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-java-xml/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationConstants.java delete mode 100644 java/sca/contrib/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-java-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/implementation-java-xml/src/main/resources/impl-javaxml-validation-messages.properties delete mode 100644 java/sca/contrib/modules/implementation-java-xml/src/test/java/calculator/AddService.java delete mode 100644 java/sca/contrib/modules/implementation-java-xml/src/test/java/calculator/AddServiceImpl.java delete mode 100644 java/sca/contrib/modules/implementation-java-xml/src/test/java/calculator/CalculatorService.java delete mode 100644 java/sca/contrib/modules/implementation-java-xml/src/test/java/calculator/CalculatorServiceImpl.java delete mode 100644 java/sca/contrib/modules/implementation-java-xml/src/test/java/calculator/DivideService.java delete mode 100644 java/sca/contrib/modules/implementation-java-xml/src/test/java/calculator/DivideServiceImpl.java delete mode 100644 java/sca/contrib/modules/implementation-java-xml/src/test/java/calculator/MultiplyService.java delete mode 100644 java/sca/contrib/modules/implementation-java-xml/src/test/java/calculator/MultiplyServiceImpl.java delete mode 100644 java/sca/contrib/modules/implementation-java-xml/src/test/java/calculator/SubtractService.java delete mode 100644 java/sca/contrib/modules/implementation-java-xml/src/test/java/calculator/SubtractServiceImpl.java delete mode 100644 java/sca/contrib/modules/implementation-java-xml/src/test/java/org/apache/tuscany/sca/implementation/java/xml/ReadTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java-xml/src/test/java/org/apache/tuscany/sca/implementation/java/xml/TestModelResolver.java delete mode 100644 java/sca/contrib/modules/implementation-java-xml/src/test/java/org/apache/tuscany/sca/implementation/java/xml/WriteTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java-xml/src/test/resources/org/apache/tuscany/sca/implementation/java/xml/Calculator.composite delete mode 100644 java/sca/contrib/modules/implementation-java-xml/src/test/resources/org/apache/tuscany/sca/implementation/java/xml/definitions.xml delete mode 100644 java/sca/contrib/modules/implementation-java-xml/src/test/resources/org/apache/tuscany/sca/implementation/java/xml/definitions_with_policysets.xml delete mode 100644 java/sca/contrib/modules/implementation-java/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-java/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/implementation-java/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-java/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/BaseJavaImplementation.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/DefaultJavaImplementationFactory.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/IntrospectionException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/JavaImplementation.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/JavaImplementationFactory.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/BaseJavaImplementationImpl.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaClassIntrospectorImpl.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaConstructorImpl.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaElementImpl.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaImplementationActivator.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaImplementationFactoryImpl.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaImplementationImpl.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaParameterImpl.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaResourceImpl.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JavaScopeImpl.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/JavaClassVisitor.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AllowsPassByReferenceProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AmbiguousConstructorException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/BaseJavaClassVisitor.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ComponentNameProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ConstructorProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ContextProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ConversationIDProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ConversationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/DestroyProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/DuplicateConstructorException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/DuplicateDestructorException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/DuplicateInitException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/DuplicatePropertyException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/DuplicateReferenceException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/DuplicateResourceException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/EagerInitProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/IllegalCallbackReferenceException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/IllegalContextException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/IllegalDestructorException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/IllegalInitException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/IllegalPropertyException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/IllegalReferenceException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/IllegalResourceException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/IllegalServiceDefinitionException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/InitProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/InvalidConstructorException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/InvalidConversationalImplementation.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/InvalidPropertyException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/InvalidReferenceException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/InvalidResourceException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/InvalidServiceType.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/JavaIntrospectionHelper.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/NoConstructorException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PolicyProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/Resource.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ResourceProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ScopeProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceTypeNotFoundException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/UnknownContextTypeException.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator delete mode 100644 java/sca/contrib/modules/implementation-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.java.JavaImplementationFactory delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractProcessorTest.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AllowsPassByReferenceProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ConstructorProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ConstructorPropertyTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ConstructorReferenceTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ConstructorResourceTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ContextProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ConversationIDProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ConversationProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ConvertTimeMillisTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/DestroyProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/EagerInitProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicAndPropertyTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicConstructorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeuristicPojoProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/HeutisticExtensibleConstructorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/InitProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/JavaClassIntrospectorImplTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ModelHelper.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PolicyProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PropertyProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ReferenceProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ResourceProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ScopeProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceCallbackTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-java/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/ServiceProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-jee/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-jee/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-jee/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/JEEImplementation.java delete mode 100644 java/sca/contrib/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/JEEImplementationFactory.java delete mode 100644 java/sca/contrib/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/impl/JEEImplementationFactoryImpl.java delete mode 100644 java/sca/contrib/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/impl/JEEImplementationImpl.java delete mode 100644 java/sca/contrib/modules/implementation-jee/src/main/java/org/apache/tuscany/sca/implementation/jee/xml/JEEImplementationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/implementation-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.jee.JEEImplementationFactory delete mode 100644 java/sca/contrib/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/ReadTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-jee/src/test/java/org/apache/tuscany/sca/implementation/jee/xml/WriteTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-jee/src/test/resources/org/apache/tuscany/sca/implementation/jee/xml/TestJEE.composite delete mode 100644 java/sca/contrib/modules/implementation-node-runtime/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-node-runtime/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-node-runtime/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeImplementationDaemonBootstrap.java delete mode 100644 java/sca/contrib/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeImplementationLauncherBootstrap.java delete mode 100644 java/sca/contrib/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeImplementationLauncherUtil.java delete mode 100644 java/sca/contrib/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/provider/NodeImplementationInvoker.java delete mode 100644 java/sca/contrib/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/provider/NodeImplementationProvider.java delete mode 100644 java/sca/contrib/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/provider/NodeImplementationProviderFactory.java delete mode 100644 java/sca/contrib/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/webapp/NodeWebAppRequestDispatcher.java delete mode 100644 java/sca/contrib/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/webapp/NodeWebAppServletHost.java delete mode 100644 java/sca/contrib/modules/implementation-node-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory delete mode 100644 java/sca/contrib/modules/implementation-node-runtime/src/test/java/org/apache/tuscany/sca/implementation/node/NodeImplementationTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-node-runtime/src/test/resources/TestComposite.composite delete mode 100644 java/sca/contrib/modules/implementation-node-runtime/src/test/resources/TestNode.composite delete mode 100644 java/sca/contrib/modules/implementation-node/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-node/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/implementation-node/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-node/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/ConfiguredNodeImplementation.java delete mode 100644 java/sca/contrib/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/NodeImplementation.java delete mode 100644 java/sca/contrib/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/NodeImplementationFactory.java delete mode 100644 java/sca/contrib/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/builder/impl/NodeCompositeBuilderImpl.java delete mode 100644 java/sca/contrib/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/impl/ConfiguredNodeImplementationImpl.java delete mode 100644 java/sca/contrib/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/impl/NodeImplementationFactoryImpl.java delete mode 100644 java/sca/contrib/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/impl/NodeImplementationImpl.java delete mode 100644 java/sca/contrib/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/xml/ConfiguredNodeImplementationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-node/src/main/java/org/apache/tuscany/sca/implementation/node/xml/NodeImplementationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-node/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/implementation-node/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.node.NodeImplementationFactory delete mode 100644 java/sca/contrib/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/builder/impl/CalculateBindingURITestCase.java delete mode 100644 java/sca/contrib/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/xml/ReadTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-node/src/test/java/org/apache/tuscany/sca/implementation/node/xml/WriteTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-node/src/test/resources/org/apache/tuscany/sca/implementation/node/xml/TestComposite.composite delete mode 100644 java/sca/contrib/modules/implementation-node/src/test/resources/org/apache/tuscany/sca/implementation/node/xml/TestNode.composite delete mode 100644 java/sca/contrib/modules/implementation-notification/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-notification/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-notification/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/DefaultNotificationImplementationFactory.java delete mode 100644 java/sca/contrib/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/ImmutableMessage.java delete mode 100644 java/sca/contrib/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentInvoker.java delete mode 100644 java/sca/contrib/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationFactory.java delete mode 100644 java/sca/contrib/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationImpl.java delete mode 100644 java/sca/contrib/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProvider.java delete mode 100644 java/sca/contrib/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationProviderFactory.java delete mode 100644 java/sca/contrib/modules/implementation-notification/src/main/java/org/apache/tuscany/sca/implementation/notification/NotificationModuleActivator.java delete mode 100644 java/sca/contrib/modules/implementation-notification/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator delete mode 100644 java/sca/contrib/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationComponentTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-notification/src/test/java/org/apache/tuscany/sca/implementation/notification/NotificationImplementationLoaderTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-notification/src/test/resources/TrafficAdvisoryNotificationTestCase.componentType delete mode 100644 java/sca/contrib/modules/implementation-openjpa/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-openjpa/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-openjpa/README delete mode 100644 java/sca/contrib/modules/implementation-openjpa/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementation.java delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementationFactory.java delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/JPAImplementationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/PersistenceUnitInfoImplProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyBrokerFactory.java delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyBrokerImpl.java delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyJDBCConfigurationImpl.java delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyManagerRuntime.java delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/TuscanyStoreManager.java delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/impl/JPAImplementationFactoryImpl.java delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/impl/JPAImplementationImpl.java delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAImplementationProvider.java delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAImplementationProviderFactory.java delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/main/java/org/apache/tuscany/sca/implementation/openjpa/provider/JPAInvoker.java delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.openjpa.OpenJpaImplementationFactory delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/test/java/org/apache/tuscany/sca/implementation/openjpa/ImplJpaTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/test/java/sample/Abc.java delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/test/java/sample/Message.java delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/test/java/sample/MyObject.java delete mode 100644 java/sca/contrib/modules/implementation-openjpa/src/test/resources/openjpa.composite delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/db.lck delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/log/log.ctrl delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/log/log1.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/log/logmirror.ctrl delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c10.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c101.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c111.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c121.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c130.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c141.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c150.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c161.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c171.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c180.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c191.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c1a1.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c1b1.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c1c0.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c1d1.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c1e0.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c1f1.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c20.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c200.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c211.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c221.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c230.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c241.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c251.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c260.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c271.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c281.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c290.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c2a1.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c2b1.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c2c1.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c2d0.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c2e1.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c2f0.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c300.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c31.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c311.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c320.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c331.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c41.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c51.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c60.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c71.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c81.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/c90.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/ca1.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/cb1.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/cc0.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/cd1.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/ce1.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/seg0/cf0.dat delete mode 100644 java/sca/contrib/modules/implementation-openjpa/test/service.properties delete mode 100644 java/sca/contrib/modules/implementation-osgi/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-osgi/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-osgi/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/OSGiImplementation.java delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/context/OSGiAnnotations.java delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/context/OSGiPropertyInjector.java delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/context/OSGiPropertyValueObjectFactory.java delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/impl/OSGiImplementationImpl.java delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/runtime/OSGiImplementationProvider.java delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/runtime/OSGiImplementationProviderFactory.java delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/runtime/OSGiInstanceWrapper.java delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/runtime/OSGiRemotableInvoker.java delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/runtime/OSGiTargetInvoker.java delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/main/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiImplementationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/main/resources/impl-osgi-validation-messages.properties delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/runtime/OSGiPropertyTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/runtime/OSGiTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/test/OSGiTestBundles.java delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/test/OSGiTestImpl.java delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/test/OSGiTestInterface.java delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/test/OSGiTestWithPropertyImpl.java delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/OSGiReadImplTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/test/java/org/apache/tuscany/sca/implementation/osgi/xml/TestModelResolver.java delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/test/resources/OSGiTestService.componentType delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/test/resources/osgiproptest.composite delete mode 100644 java/sca/contrib/modules/implementation-osgi/src/test/resources/osgitest.composite delete mode 100644 java/sca/contrib/modules/implementation-resource-runtime/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-resource-runtime/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-resource-runtime/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-resource-runtime/src/main/java/org/apache/tuscany/sca/implementation/resource/provider/GetResourceInvoker.java delete mode 100644 java/sca/contrib/modules/implementation-resource-runtime/src/main/java/org/apache/tuscany/sca/implementation/resource/provider/ResourceImplementationProvider.java delete mode 100644 java/sca/contrib/modules/implementation-resource-runtime/src/main/java/org/apache/tuscany/sca/implementation/resource/provider/ResourceImplementationProviderFactory.java delete mode 100644 java/sca/contrib/modules/implementation-resource-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory delete mode 100644 java/sca/contrib/modules/implementation-resource-runtime/src/test/java/org/apache/tuscany/sca/implementation/resource/ResourceImplementationTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-resource-runtime/src/test/resources/content/test.html delete mode 100644 java/sca/contrib/modules/implementation-resource-runtime/src/test/resources/resource.composite delete mode 100644 java/sca/contrib/modules/implementation-resource/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-resource/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-resource/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/Resource.java delete mode 100644 java/sca/contrib/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/ResourceImplementation.java delete mode 100644 java/sca/contrib/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/ResourceImplementationFactory.java delete mode 100644 java/sca/contrib/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/impl/ResourceImplementationFactoryImpl.java delete mode 100644 java/sca/contrib/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/impl/ResourceImplementationImpl.java delete mode 100644 java/sca/contrib/modules/implementation-resource/src/main/java/org/apache/tuscany/sca/implementation/resource/impl/ResourceImplementationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/implementation-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.resource.ResourceImplementationFactory delete mode 100644 java/sca/contrib/modules/implementation-resource/src/main/resources/impl-resource-validation-messages.properties delete mode 100644 java/sca/contrib/modules/implementation-script/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-script/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-script/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-script/src/main/java/org/apache/tuscany/sca/implementation/script/ScriptImplementation.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/main/java/org/apache/tuscany/sca/implementation/script/ScriptImplementationActivator.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/main/java/org/apache/tuscany/sca/implementation/script/ScriptInvoker.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/main/java/org/apache/tuscany/sca/implementation/script/ScriptInvokerFactory.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/main/java/org/apache/tuscany/sca/implementation/script/engines/TuscanyJRubyScriptEngine.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/main/resources/META-INF/services/org.apache.tuscany.sca.extension.helper.ImplementationActivator delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/AbstractSCATestCase.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/dynamic/AbstractHelloWorldTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/dynamic/HelloWorld.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/dynamic/JavaScriptDynamicRefTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/dynamic/JavaScriptHelloWorldTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/helloworld/AbstractHelloWorldTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/helloworld/GroovyHelloWorldTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/helloworld/HelloWorld.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/helloworld/HelloWorldProxy.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/helloworld/JRubyHelloWorldTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/helloworld/JavaScripInlineHelloWorldTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/helloworld/JavaScriptHelloWorldTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/helloworld/JythonHelloWorldTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/properties/AbstractHelloWorldTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/properties/GroovyHelloWorldTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/properties/HelloWorld.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/properties/HelloWorldProxy.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/properties/JRubyHelloWorldTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/properties/JavaScriptHelloWorldTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/properties/JythonHelloWorldTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/references/GroovyReferenceTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/references/HelloWorldTarget.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/references/JRubyReferenceTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/references/JavaScriptReferenceTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/java/org/apache/tuscany/sca/implementation/script/itests/references/JythonReferenceTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/dynamic/JavaScriptDynamicRef.composite delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/dynamic/JavaScriptHelloWorld.composite delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/dynamic/helloworld.js delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/dynamic/helloworldProxy.js delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/helloworld/GroovyHelloWorld.composite delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/helloworld/JRubyHelloWorld.composite delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/helloworld/JavaScripInlineHelloWorld.composite delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/helloworld/JavaScriptHelloWorld.composite delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/helloworld/JythonHelloWorld.composite delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/helloworld/helloworld.componentType delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/helloworld/helloworld.groovy delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/helloworld/helloworld.js delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/helloworld/helloworld.py delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/helloworld/helloworld.rb delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/properties/GroovyHelloWorld.composite delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/properties/JRubyHelloWorld.composite delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/properties/JavaScriptHelloWorld.composite delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/properties/JythonHelloWorld.composite delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/properties/helloworld.componentType delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/properties/helloworld.groovy delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/properties/helloworld.js delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/properties/helloworld.py delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/properties/helloworld.rb delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/references/GroovyReference.composite delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/references/JRubyReference.composite delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/references/JavaScriptReference.composite delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/references/JythonReference.composite delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/references/reference.componentType delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/references/reference.groovy delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/references/reference.js delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/references/reference.py delete mode 100644 java/sca/contrib/modules/implementation-script/src/test/resources/org/apache/tuscany/sca/implementation/script/itests/references/reference.rb delete mode 100644 java/sca/contrib/modules/implementation-spring/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-spring/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-spring/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SCAApplicationContext.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SCANamespaceHandlerResolver.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SCAParentApplicationContext.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaNamespaceHandler.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaPropertyBeanDefinitionParser.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaReferenceBeanDefinitionParser.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/ScaServiceBeanDefinitionParser.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringBeanNotFoundException.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementation.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationProvider.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringImplementationProviderFactory.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringInvocationException.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringInvoker.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringOperationNotFoundException.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/SpringPropertyValueObjectFactory.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/processor/ComponentNameAnnotationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/processor/ConstructorAnnotationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/processor/InitDestroyAnnotationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/processor/PropertyAnnotationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/processor/ReferenceAnnotationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/Constants.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringBeanElement.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringBeanIntrospector.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringConstructorArgElement.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringPropertyElement.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringSCAPropertyElement.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringSCAPropertyElement.java.orig delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringSCAReferenceElement.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringSCAServiceElement.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/java/org/apache/tuscany/sca/implementation/spring/xml/SpringXMLComponentTypeLoader.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/resources/META-INF/spring.handlers delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/resources/META-INF/spring.schemas delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/resources/impl-spring-validation-messages.properties delete mode 100644 java/sca/contrib/modules/implementation-spring/src/main/resources/org/springframework/sca/xml/spring-sca.xsd delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/AbstractSCATestCase.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/helloworld/AbstractHelloWorldTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/helloworld/HelloWorld.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/helloworld/HelloWorldImpl.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/helloworld/HelloWorldProxy.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringContextAccessTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringExplicitHelloWorldTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringExplicitReferenceTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringHelloWorldTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringImplicitReferenceTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringImportHelloWorldTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringSCAPropertyTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/mock/TestBean.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/mock/TestBeanImpl.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/mock/TestContextAccessBean.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/mock/TestHelloWorldBean.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/mock/TestReference.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/mock/TestReferenceBean.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/java/org/apache/tuscany/sca/implementation/spring/itests/mock/TestSCAPropertyBean.java delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/resources/META-INF/sca/SpringContextAccess-context.xml delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/resources/META-INF/sca/SpringExplicitHelloWorld-context.xml delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/resources/META-INF/sca/SpringExplicitReference-context.xml delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/resources/META-INF/sca/SpringHelloWorld-Imported-context.xml delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/resources/META-INF/sca/SpringHelloWorld-context.xml delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/resources/META-INF/sca/SpringImplicitReference-context.xml delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/resources/META-INF/sca/SpringImportHelloWorld-context.xml delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/resources/META-INF/sca/testReferenceContext.xml delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/resources/META-INF/sca/testServiceContext.xml delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/resources/SpringHelloWorld-Imported-context.xml delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/resources/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringContextAccess.composite delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/resources/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringExplicitHelloWorld.composite delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/resources/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringExplicitReference.composite delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/resources/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringHelloWorld.composite delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/resources/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringImplicitReference.composite delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/resources/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringImportHelloWorld.composite delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/resources/org/apache/tuscany/sca/implementation/spring/itests/helloworld/SpringSCAProperty.composite delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/resources/spring/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/resources/spring/META-INF/spring/SpringSCAProperty-context.xml delete mode 100644 java/sca/contrib/modules/implementation-spring/src/test/resources/test.xml delete mode 100644 java/sca/contrib/modules/implementation-web-runtime/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-web-runtime/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-web-runtime/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ComponentContextServlet.java delete mode 100644 java/sca/contrib/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ContextScriptProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/ContextScriptProcessorExtensionPoint.java delete mode 100644 java/sca/contrib/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/DefaultContextScriptProcessorExtensionPoint.java delete mode 100644 java/sca/contrib/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/JSONRPCScripProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/ComponentContextProxy.java delete mode 100644 java/sca/contrib/modules/implementation-web-runtime/src/main/java/org/apache/tuscany/sca/implementation/web/runtime/WebImplementationProviderFactory.java delete mode 100644 java/sca/contrib/modules/implementation-web-runtime/src/main/resources/META-INF/sca.tld delete mode 100644 java/sca/contrib/modules/implementation-web-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.web.ContextScriptProcessorExtensionPoint delete mode 100644 java/sca/contrib/modules/implementation-web-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory delete mode 100644 java/sca/contrib/modules/implementation-web-runtime/src/main/resources/jsonrpc.js delete mode 100644 java/sca/contrib/modules/implementation-web/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-web/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-web/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/WebImplementation.java delete mode 100644 java/sca/contrib/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/WebImplementationFactory.java delete mode 100644 java/sca/contrib/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/impl/WebImplementationFactoryImpl.java delete mode 100644 java/sca/contrib/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/impl/WebImplementationImpl.java delete mode 100644 java/sca/contrib/modules/implementation-web/src/main/java/org/apache/tuscany/sca/implementation/web/xml/WebImplementationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-web/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/implementation-web/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.web.WebImplementationFactory delete mode 100644 java/sca/contrib/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/ReadTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-web/src/test/java/org/apache/tuscany/sca/implementation/web/xml/WriteTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-web/src/test/resources/org/apache/tuscany/sca/implementation/web/xml/TestWeb.composite delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationInvoker.java delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProvider.java delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetImplementationProviderFactory.java delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/src/main/java/org/apache/tuscany/sca/implementation/widget/provider/WidgetProxyHelper.java delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/src/main/resources/atomModel.js delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/src/main/resources/binding-atom.js delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/src/main/resources/binding-http.js delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/src/main/resources/binding-jsonrpc.js delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/src/test/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationTestCase.java delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/src/test/java/store/Catalog.java delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/src/test/java/store/CatalogImpl.java delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/src/test/java/store/ShoppingCartImpl.java delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/src/test/resources/content/atomModel.js delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/src/test/resources/content/store.html delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/src/test/resources/content/storeJS.html delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/src/test/resources/content/unitTests.html delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/src/test/resources/widget.composite delete mode 100644 java/sca/contrib/modules/implementation-widget-runtime/src/test/resources/widgetJS.composite delete mode 100644 java/sca/contrib/modules/implementation-widget/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-widget/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-widget/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/Widget.java delete mode 100644 java/sca/contrib/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementation.java delete mode 100644 java/sca/contrib/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationFactory.java delete mode 100644 java/sca/contrib/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationIntrospector.java delete mode 100644 java/sca/contrib/modules/implementation-widget/src/main/java/org/apache/tuscany/sca/implementation/widget/WidgetImplementationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-widget/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/implementation-widget/src/main/resources/META-INF/services/org.apache.tuscany.sca.implementation.widget.WidgetImplementationFactory delete mode 100644 java/sca/contrib/modules/implementation-widget/src/main/resources/impl-widget-validation-messages.properties delete mode 100644 java/sca/contrib/modules/implementation-xquery/LICENSE delete mode 100644 java/sca/contrib/modules/implementation-xquery/NOTICE delete mode 100644 java/sca/contrib/modules/implementation-xquery/pom.xml delete mode 100644 java/sca/contrib/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/XQueryImplementation.java delete mode 100644 java/sca/contrib/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/XQueryImplementationFactory.java delete mode 100644 java/sca/contrib/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/XQueryImplementationProvider.java delete mode 100644 java/sca/contrib/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/XQueryImplementationProviderFactory.java delete mode 100644 java/sca/contrib/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/XQueryInvokationException.java delete mode 100644 java/sca/contrib/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/XQueryInvoker.java delete mode 100644 java/sca/contrib/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/impl/XQueryImplementationFactoryImpl.java delete mode 100644 java/sca/contrib/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/impl/XQueryImplementationImpl.java delete mode 100644 java/sca/contrib/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/xml/XQueryImplementationProcessor.java delete mode 100644 java/sca/contrib/modules/implementation-xquery/src/main/java/org/apache/tuscany/sca/implementation/xquery/xml/XQueryIntrospector.java delete mode 100644 java/sca/contrib/modules/implementation-xquery/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/implementation-xquery/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory delete mode 100644 java/sca/contrib/modules/implementation-xquery/src/main/resources/impl-xquery-validation-messages.properties delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/LICENSE delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/NOTICE delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/pom.xml delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/BaseBeanGenerator.java delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/CodeGenerationHelper.java delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/FaultBeanGenerator.java delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/GeneratedClassLoader.java delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/GeneratedDataTypeImpl.java delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSFaultExceptionMapper.java delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessor.java delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/WrapperBeanGenerator.java delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean.java delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean1.java delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean2.java delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/FaultBeanGeneratorTestCase.java delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JavaReflectionHelperTestCase.java delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/MyException.java delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/MyServiceImpl.java delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/TestGenericClass.java delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/TestInterface.java delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/WrapperBeanGeneratorTestCase.java delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/src/test/resources/wsdl/Stock.wsdl delete mode 100644 java/sca/contrib/modules/interface-java-jaxws/src/test/resources/wsdl/StockExceptionTest.wsdl delete mode 100644 java/sca/contrib/modules/interface-java-xml/LICENSE delete mode 100644 java/sca/contrib/modules/interface-java-xml/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/interface-java-xml/NOTICE delete mode 100644 java/sca/contrib/modules/interface-java-xml/pom.xml delete mode 100644 java/sca/contrib/modules/interface-java-xml/src/main/java/org/apache/tuscany/sca/interfacedef/java/xml/JavaConstants.java delete mode 100644 java/sca/contrib/modules/interface-java-xml/src/main/java/org/apache/tuscany/sca/interfacedef/java/xml/JavaInterfaceProcessor.java delete mode 100644 java/sca/contrib/modules/interface-java-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/interface-java-xml/src/main/resources/interface-javaxml-validation-messages.properties delete mode 100644 java/sca/contrib/modules/interface-java-xml/src/test/java/org/apache/tuscany/sca/interfacedef/java/xml/ReadTestCase.java delete mode 100644 java/sca/contrib/modules/interface-java-xml/src/test/java/org/apache/tuscany/sca/interfacedef/java/xml/WriteTestCase.java delete mode 100644 java/sca/contrib/modules/interface-java-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/java/xml/Calculator.composite delete mode 100644 java/sca/contrib/modules/interface-java-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/java/xml/CalculatorComponent.constrainingType delete mode 100644 java/sca/contrib/modules/interface-java-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/java/xml/CalculatorImpl.componentType delete mode 100644 java/sca/contrib/modules/interface-java/LICENSE delete mode 100644 java/sca/contrib/modules/interface-java/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/interface-java/NOTICE delete mode 100644 java/sca/contrib/modules/interface-java/pom.xml delete mode 100644 java/sca/contrib/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/DefaultJavaInterfaceFactory.java delete mode 100644 java/sca/contrib/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/JavaInterface.java delete mode 100644 java/sca/contrib/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/JavaInterfaceContract.java delete mode 100644 java/sca/contrib/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/JavaInterfaceFactory.java delete mode 100644 java/sca/contrib/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/JavaOperation.java delete mode 100644 java/sca/contrib/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceContractImpl.java delete mode 100644 java/sca/contrib/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceFactoryImpl.java delete mode 100644 java/sca/contrib/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceImpl.java delete mode 100644 java/sca/contrib/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceIntrospectorImpl.java delete mode 100644 java/sca/contrib/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceUtil.java delete mode 100644 java/sca/contrib/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaOperationImpl.java delete mode 100644 java/sca/contrib/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/PolicyJavaInterfaceVisitor.java delete mode 100644 java/sca/contrib/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/introspect/JavaInterfaceVisitor.java delete mode 100644 java/sca/contrib/modules/interface-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory delete mode 100644 java/sca/contrib/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceUtilDuplicateRemotableTestCase.java delete mode 100644 java/sca/contrib/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceUtilTestCase.java delete mode 100644 java/sca/contrib/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/introspection/impl/ConversationalIntrospectionTestCase.java delete mode 100644 java/sca/contrib/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/introspection/impl/JavaInterfaceProcessorRegistryImplTestCase.java delete mode 100644 java/sca/contrib/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/introspection/impl/PolicyProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/LICENSE delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/NOTICE delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/pom.xml delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/BPELExtensionHandler.java delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/BPELPartnerLinkTypeExt.java delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLConstants.java delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLDocumentProcessor.java delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLInterfaceProcessor.java delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLModelResolver.java delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/main/resources/interface-wsdlxml-validation-messages.properties delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/AbstractWSDLTestCase.java delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/WSDLInterfaceIntrospectorTestCase.java delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/WSDLOperationIntrospectorTestCase.java delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/WSDLPolicyAnnotatedInterfaceIntrospectorTestCase.java delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/introspect/WrapperStyleOperationTestCase.java delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/ReadTestCase.java delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLDocumentProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WSDLTestCase.java delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/WriteTestCase.java delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/java/org/apache/tuscany/sca/interfacedef/wsdl/xml/XMLDocumentHelperTestCase.java delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/Calculator.composite delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/CalculatorComponent.constrainingType delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/CalculatorImpl.componentType delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/example.wsdl delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/invalid-stockquote.wsdl delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/ipo.xsd delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/stockquote.wsdl delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/test1.wsdl delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/test1.xsd delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/test2.wsdl delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/resources/org/apache/tuscany/sca/interfacedef/wsdl/xml/unwrapped-stockquote.wsdl delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/resources/policy/stockquote_policy.wsdl delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/resources/wsdl/helloworld-interface.wsdl delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/resources/wsdl/helloworld-service.wsdl delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/resources/xsd/greeting.xsd delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/resources/xsd/helloworld.xsd delete mode 100644 java/sca/contrib/modules/interface-wsdl-xml/src/test/resources/xsd/name.xsd delete mode 100644 java/sca/contrib/modules/interface-wsdl/LICENSE delete mode 100644 java/sca/contrib/modules/interface-wsdl/NOTICE delete mode 100644 java/sca/contrib/modules/interface-wsdl/pom.xml delete mode 100644 java/sca/contrib/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/DefaultWSDLFactory.java delete mode 100644 java/sca/contrib/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLDefinition.java delete mode 100644 java/sca/contrib/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLFactory.java delete mode 100644 java/sca/contrib/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLInterface.java delete mode 100644 java/sca/contrib/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLInterfaceContract.java delete mode 100644 java/sca/contrib/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLObject.java delete mode 100644 java/sca/contrib/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/WSDLOperation.java delete mode 100644 java/sca/contrib/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/InvalidWSDLException.java delete mode 100644 java/sca/contrib/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLDefinitionImpl.java delete mode 100644 java/sca/contrib/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLFactoryImpl.java delete mode 100644 java/sca/contrib/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceContractImpl.java delete mode 100644 java/sca/contrib/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceImpl.java delete mode 100644 java/sca/contrib/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLInterfaceIntrospectorImpl.java delete mode 100644 java/sca/contrib/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLObjectImpl.java delete mode 100644 java/sca/contrib/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationImpl.java delete mode 100644 java/sca/contrib/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java delete mode 100644 java/sca/contrib/modules/interface-wsdl/src/main/resources/META-INF/services/org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory delete mode 100644 java/sca/contrib/modules/interface/LICENSE delete mode 100644 java/sca/contrib/modules/interface/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/interface/NOTICE delete mode 100644 java/sca/contrib/modules/interface/pom.xml delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/ConversationSequence.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/DataType.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/FaultExceptionMapper.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/IncompatibleInterfaceContractException.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/Interface.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/InterfaceContract.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/InterfaceContractMapper.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/InvalidCallbackException.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/InvalidInterfaceException.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/InvalidOperationException.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/Operation.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/OverloadedOperationException.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/DataTypeImpl.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractImpl.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractMapperImpl.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceImpl.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/ElementInfo.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/FaultException.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/JavaXMLMapper.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/TypeInfo.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/WrapperInfo.java delete mode 100644 java/sca/contrib/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/XMLType.java delete mode 100644 java/sca/contrib/modules/interface/src/main/resources/META-INF/services/org.apache.tuscany.sca.interfacedef.InterfaceContractMapper delete mode 100644 java/sca/contrib/modules/interface/src/test/java/org/apache/tuscany/sca/interfacedef/impl/ContractCompatibilityTestCase.java delete mode 100644 java/sca/contrib/modules/interface/src/test/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractTestCase.java delete mode 100644 java/sca/contrib/modules/monitor-logging/LICENSE delete mode 100644 java/sca/contrib/modules/monitor-logging/NOTICE delete mode 100644 java/sca/contrib/modules/monitor-logging/pom.xml delete mode 100644 java/sca/contrib/modules/monitor-logging/src/main/java/org/apache/tuscany/sca/monitor/logging/impl/DefaultLoggingMonitorImpl.java delete mode 100644 java/sca/contrib/modules/monitor-logging/src/main/java/org/apache/tuscany/sca/monitor/logging/impl/MonitorFactoryImpl.java delete mode 100644 java/sca/contrib/modules/monitor-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.monitor.MonitorFactory delete mode 100644 java/sca/contrib/modules/monitor-logging/src/test/java/org/apache/tuscany/sca/monitor/MonitorTestCase.java delete mode 100644 java/sca/contrib/modules/monitor-logging/src/test/resources/tuscany-monitor-test-messages.properties delete mode 100644 java/sca/contrib/modules/monitor-logging/src/test/resources/tuscany-monitor-test-messages_it.properties delete mode 100644 java/sca/contrib/modules/monitor/LICENSE delete mode 100644 java/sca/contrib/modules/monitor/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/monitor/NOTICE delete mode 100644 java/sca/contrib/modules/monitor/pom.xml delete mode 100644 java/sca/contrib/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/Monitor.java delete mode 100644 java/sca/contrib/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/MonitorFactory.java delete mode 100644 java/sca/contrib/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/Problem.java delete mode 100644 java/sca/contrib/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/impl/DefaultMonitorFactoryImpl.java delete mode 100644 java/sca/contrib/modules/monitor/src/main/java/org/apache/tuscany/sca/monitor/impl/DefaultMonitorImpl.java delete mode 100644 java/sca/contrib/modules/node-api/LICENSE delete mode 100644 java/sca/contrib/modules/node-api/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/node-api/NOTICE delete mode 100644 java/sca/contrib/modules/node-api/pom.xml delete mode 100644 java/sca/contrib/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCAClient.java delete mode 100644 java/sca/contrib/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCAContribution.java delete mode 100644 java/sca/contrib/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode.java delete mode 100644 java/sca/contrib/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode2.java delete mode 100644 java/sca/contrib/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode2Factory.java delete mode 100644 java/sca/contrib/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANodeFactory.java delete mode 100644 java/sca/contrib/modules/node-dynamic/LICENSE delete mode 100644 java/sca/contrib/modules/node-dynamic/NOTICE delete mode 100644 java/sca/contrib/modules/node-dynamic/pom.xml delete mode 100644 java/sca/contrib/modules/node-dynamic/src/main/java/org/apache/tuscany/sca/node/DynamicNodeMain.java delete mode 100644 java/sca/contrib/modules/node-dynamic/src/main/resources/log4j.properties delete mode 100644 java/sca/contrib/modules/node-impl/LICENSE delete mode 100644 java/sca/contrib/modules/node-impl/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/node-impl/NOTICE delete mode 100644 java/sca/contrib/modules/node-impl/pom.xml delete mode 100644 java/sca/contrib/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/Node2FactoryImpl.java delete mode 100644 java/sca/contrib/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/Node2Impl.java delete mode 100644 java/sca/contrib/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeFactoryImpl.java delete mode 100644 java/sca/contrib/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeImpl.java delete mode 100644 java/sca/contrib/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBootStrapper.java delete mode 100644 java/sca/contrib/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/RuntimeBuilder.java delete mode 100644 java/sca/contrib/modules/node-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.node.SCANode2Factory delete mode 100644 java/sca/contrib/modules/node-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.node.SCANodeFactory delete mode 100644 java/sca/contrib/modules/node-impl/src/test/java/hello/HelloWorld.java delete mode 100644 java/sca/contrib/modules/node-impl/src/test/java/hello/HelloWorldImpl.java delete mode 100644 java/sca/contrib/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/Node2ImplTestCase.java delete mode 100644 java/sca/contrib/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeImplTestCase.java delete mode 100644 java/sca/contrib/modules/node-impl/src/test/resources/HelloWorld.composite delete mode 100644 java/sca/contrib/modules/node-impl/src/test/resources/META-INF/sca-contribution.xml delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/LICENSE delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/NOTICE delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/pom.xml delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/Contribution.java delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/DomainManagerLauncher.java delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/EquinoxHookConfigurator.java delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/EquinoxHost.java delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/EquinoxLauncherBundleHelper.java delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/JarFileFinder.java delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/LauncherException.java delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/LibrariesBundleFileFactoryHook.java delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeDaemonLauncher.java delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncher.java delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncherUtil.java delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/src/main/java/org/apache/tuscany/sca/node/equinox/launcher/NodeMain.java delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/src/main/resources/hookconfigurators.properties delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/src/test/java/hello/HelloWorld.java delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/src/test/java/hello/HelloWorldClient.java delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/src/test/java/hello/HelloWorldImpl.java delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/src/test/java/org/apache/tuscany/sca/node/equinox/launcher/EquinoxOSGiHostTestCase.java delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/src/test/java/org/apache/tuscany/sca/node/equinox/launcher/NodeLauncherTestCase.java delete mode 100644 java/sca/contrib/modules/node-launcher-equinox/src/test/resources/HelloWorld.composite delete mode 100644 java/sca/contrib/modules/node-launcher-osgi/LICENSE delete mode 100644 java/sca/contrib/modules/node-launcher-osgi/NOTICE delete mode 100644 java/sca/contrib/modules/node-launcher-osgi/pom.xml delete mode 100644 java/sca/contrib/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/Contribution.java delete mode 100644 java/sca/contrib/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/DomainManagerLauncher.java delete mode 100644 java/sca/contrib/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHost.java delete mode 100644 java/sca/contrib/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/JarFileFinder.java delete mode 100644 java/sca/contrib/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/LauncherBundleActivator.java delete mode 100644 java/sca/contrib/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/LauncherException.java delete mode 100644 java/sca/contrib/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeDaemonLauncher.java delete mode 100644 java/sca/contrib/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncher.java delete mode 100644 java/sca/contrib/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncherUtil.java delete mode 100644 java/sca/contrib/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeMain.java delete mode 100644 java/sca/contrib/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/NodeServletFilter.java delete mode 100644 java/sca/contrib/modules/node-launcher-osgi/src/main/java/org/apache/tuscany/sca/node/osgi/launcher/OSGiHost.java delete mode 100644 java/sca/contrib/modules/node-launcher-osgi/src/test/java/hello/HelloWorld.java delete mode 100644 java/sca/contrib/modules/node-launcher-osgi/src/test/java/hello/HelloWorldImpl.java delete mode 100644 java/sca/contrib/modules/node-launcher-osgi/src/test/java/org/apache/tuscany/sca/node/osgi/launcher/FelixOSGiHostTestCase.java delete mode 100644 java/sca/contrib/modules/node-launcher-osgi/src/test/java/org/apache/tuscany/sca/node/osgi/launcher/NodeLauncherTestCase.java delete mode 100644 java/sca/contrib/modules/node-launcher-osgi/src/test/resources/HelloWorld.composite delete mode 100644 java/sca/contrib/modules/node-launcher-webapp/LICENSE delete mode 100644 java/sca/contrib/modules/node-launcher-webapp/NOTICE delete mode 100644 java/sca/contrib/modules/node-launcher-webapp/pom.xml delete mode 100644 java/sca/contrib/modules/node-launcher-webapp/src/main/webapp/META-INF/sca-contribution.xml delete mode 100644 java/sca/contrib/modules/node-launcher-webapp/src/main/webapp/WEB-INF/web.xml delete mode 100644 java/sca/contrib/modules/node-launcher-webapp/src/main/webapp/index.jsp delete mode 100644 java/sca/contrib/modules/node-launcher/LICENSE delete mode 100644 java/sca/contrib/modules/node-launcher/NOTICE delete mode 100644 java/sca/contrib/modules/node-launcher/pom.xml delete mode 100644 java/sca/contrib/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/Contribution.java delete mode 100644 java/sca/contrib/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainManagerLauncher.java delete mode 100644 java/sca/contrib/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/LauncherException.java delete mode 100644 java/sca/contrib/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeDaemonLauncher.java delete mode 100644 java/sca/contrib/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeLauncher.java delete mode 100644 java/sca/contrib/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeLauncherUtil.java delete mode 100644 java/sca/contrib/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeMain.java delete mode 100644 java/sca/contrib/modules/node-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeServletFilter.java delete mode 100644 java/sca/contrib/modules/node-manager/LICENSE delete mode 100644 java/sca/contrib/modules/node-manager/NOTICE delete mode 100644 java/sca/contrib/modules/node-manager/pom.xml delete mode 100644 java/sca/contrib/modules/node-manager/src/main/java/org/apache/tuscany/sca/implementation/node/manager/NodeManagerUtil.java delete mode 100644 java/sca/contrib/modules/node-manager/src/main/java/org/apache/tuscany/sca/implementation/node/manager/NodeProcessCollectionImpl.java delete mode 100644 java/sca/contrib/modules/node-manager/src/main/java/org/apache/tuscany/sca/implementation/node/manager/PingServiceImpl.java delete mode 100644 java/sca/contrib/modules/node-manager/src/main/resources/NodeDaemon.composite delete mode 100644 java/sca/contrib/modules/osgi-runtime/LICENSE delete mode 100644 java/sca/contrib/modules/osgi-runtime/NOTICE delete mode 100644 java/sca/contrib/modules/osgi-runtime/pom.xml delete mode 100644 java/sca/contrib/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/EquinoxRuntime.java delete mode 100644 java/sca/contrib/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/FelixRuntime.java delete mode 100644 java/sca/contrib/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/KnopflerfishRuntime.java delete mode 100644 java/sca/contrib/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiBundleActivator.java delete mode 100644 java/sca/contrib/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntime.java delete mode 100644 java/sca/contrib/modules/osgi-runtime/src/main/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntimeModuleActivator.java delete mode 100644 java/sca/contrib/modules/osgi-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator delete mode 100644 java/sca/contrib/modules/osgi-runtime/src/test/java/org/apache/tuscany/sca/osgi/runtime/OSGiRuntimeTestCase.java delete mode 100644 java/sca/contrib/modules/policy-logging/LICENSE delete mode 100644 java/sca/contrib/modules/policy-logging/NOTICE delete mode 100644 java/sca/contrib/modules/policy-logging/pom.xml delete mode 100644 java/sca/contrib/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/LoggingPolicyDefinitionsProvider.java delete mode 100644 java/sca/contrib/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/jdk/JDKLoggingImplementationPolicyProvider.java delete mode 100644 java/sca/contrib/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/jdk/JDKLoggingPolicy.java delete mode 100644 java/sca/contrib/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/jdk/JDKLoggingPolicyInterceptor.java delete mode 100644 java/sca/contrib/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/jdk/JDKLoggingPolicyProcessor.java delete mode 100644 java/sca/contrib/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/jdk/JDKLoggingPolicyProviderFactory.java delete mode 100644 java/sca/contrib/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/jdk/JDKLoggingReferencePolicyProvider.java delete mode 100644 java/sca/contrib/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/jdk/JDKLoggingServicePolicyProvider.java delete mode 100644 java/sca/contrib/modules/policy-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/policy-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory delete mode 100644 java/sca/contrib/modules/policy-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider delete mode 100644 java/sca/contrib/modules/policy-logging/src/main/resources/org/apache/tuscany/sca/policy/logging/definitions.xml delete mode 100644 java/sca/contrib/modules/policy-logging/src/test/java/org/apache/tuscany/sca/policy/logging/jdk/PolicyReadTestCase.java delete mode 100644 java/sca/contrib/modules/policy-logging/src/test/resources/org/apache/tuscany/sca/policy/logging/jdk/mock_policies.xml delete mode 100644 java/sca/contrib/modules/policy-reliability/LICENSE delete mode 100644 java/sca/contrib/modules/policy-reliability/NOTICE delete mode 100644 java/sca/contrib/modules/policy-reliability/pom.xml delete mode 100644 java/sca/contrib/modules/policy-reliability/src/main/java/org/apache/tuscany/sca/policy/reliability/ReliabilityPolicyDefinitionsProvider.java delete mode 100644 java/sca/contrib/modules/policy-reliability/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider delete mode 100644 java/sca/contrib/modules/policy-reliability/src/main/resources/org/apache/tuscany/sca/policy/reliability/definitions.xml delete mode 100644 java/sca/contrib/modules/policy-security-jsr250/LICENSE delete mode 100644 java/sca/contrib/modules/policy-security-jsr250/NOTICE delete mode 100644 java/sca/contrib/modules/policy-security-jsr250/pom.xml delete mode 100644 java/sca/contrib/modules/policy-security-jsr250/src/main/java/org/apache/tuscany/sca/implementation/java/impl/JSR250Activator.java delete mode 100644 java/sca/contrib/modules/policy-security-jsr250/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/JSR250PolicyProcessor.java delete mode 100644 java/sca/contrib/modules/policy-security-jsr250/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator delete mode 100644 java/sca/contrib/modules/policy-security-jsr250/src/test/java/org/apache/tuscany/sca/implementation/java/introspect/impl/PolicyProcessorTestCaseFIXME.java delete mode 100644 java/sca/contrib/modules/policy-security/LICENSE delete mode 100644 java/sca/contrib/modules/policy-security/NOTICE delete mode 100644 java/sca/contrib/modules/policy-security/pom.xml delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/SecurityUtil.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationPolicy.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationPolicyProcessor.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationPolicyProviderFactory.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationPrincipal.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationReferencePolicyInterceptor.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationReferencePolicyProvider.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationServicePolicyInterceptor.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/basic/BasicAuthenticationServicePolicyProvider.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authentication/token/TokenPrincipal.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authorization/AuthorizationPolicy.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/authorization/AuthorizationPolicyProcessor.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityImplementationPolicyInterceptor.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityImplementationPolicyProvider.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityPolicy.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityPolicyProcessor.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/identity/SecurityIdentityPolicyProviderFactory.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/SecurityPolicyDefinitionsProvider.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationImplementationPolicyProvider.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationInterceptor.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationPolicy.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationPolicyHandler.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationPolicyProcessor.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/jaas/JaasAuthenticationPolicyProviderFactory.java delete mode 100644 java/sca/contrib/modules/policy-security/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/policy-security/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory delete mode 100644 java/sca/contrib/modules/policy-security/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider delete mode 100644 java/sca/contrib/modules/policy-security/src/main/resources/org/apache/tuscany/sca/policy/security/definitions.xml delete mode 100644 java/sca/contrib/modules/policy-security/src/main/resources/org/apache/tuscany/sca/policy/security/tuscany_definitions.xml delete mode 100644 java/sca/contrib/modules/policy-security/src/main/resources/policy-security-validation-messages.properties delete mode 100644 java/sca/contrib/modules/policy-security/src/test/java/org/apache/tuscany/sca/policy/security/PolicyProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/policy-security/src/test/resources/org/apache/tuscany/sca/policy/security/mock_policy_definitions.xml delete mode 100644 java/sca/contrib/modules/policy-transaction/LICENSE delete mode 100644 java/sca/contrib/modules/policy-transaction/NOTICE delete mode 100644 java/sca/contrib/modules/policy-transaction/pom.xml delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/IncompatibleIntentException.java delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionImplementationPolicyProvider.java delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionIntent.java delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionInterceptor.java delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionManagerHelper.java delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionManagerWrapper.java delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionModuleActivator.java delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionPolicy.java delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionPolicyDefinitionsProvider.java delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionPolicyImpl.java delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionPolicyProcessor.java delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionPolicyProviderFactory.java delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionReferencePolicyProvider.java delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionServicePolicyProvider.java delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionalAction.java delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/resources/log4j.properties delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/resources/org/apache/tuscany/sca/policy/transaction/definitions.xml delete mode 100644 java/sca/contrib/modules/policy-transaction/src/main/resources/org/apache/tuscany/sca/policy/transaction/tuscany_definitions.xml delete mode 100644 java/sca/contrib/modules/policy-transaction/src/test/java/org/apache/tuscany/sca/policy/transaction/PolicyReadTestCase.java delete mode 100644 java/sca/contrib/modules/policy-transaction/src/test/java/org/apache/tuscany/sca/policy/transaction/TransactionManagerHelperTestCase.java delete mode 100644 java/sca/contrib/modules/policy-xml-ws/LICENSE delete mode 100644 java/sca/contrib/modules/policy-xml-ws/NOTICE delete mode 100644 java/sca/contrib/modules/policy-xml-ws/pom.xml delete mode 100644 java/sca/contrib/modules/policy-xml-ws/src/main/java/org/apache/tuscany/sca/policy/xml/ws/WSPolicyProcessor.java delete mode 100644 java/sca/contrib/modules/policy-xml-ws/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/TestModelResolver.java delete mode 100644 java/sca/contrib/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/TestPolicyProcessor.java delete mode 100644 java/sca/contrib/modules/policy-xml-ws/src/test/java/org/apache/tuscany/sca/policy/xml/WSPolicyProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/policy-xml-ws/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml delete mode 100644 java/sca/contrib/modules/policy-xml/LICENSE delete mode 100644 java/sca/contrib/modules/policy-xml/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/policy-xml/NOTICE delete mode 100644 java/sca/contrib/modules/policy-xml/pom.xml delete mode 100644 java/sca/contrib/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/BindingTypeProcessor.java delete mode 100644 java/sca/contrib/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/ImplementationTypeProcessor.java delete mode 100644 java/sca/contrib/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/IntentAttachPointTypeProcessor.java delete mode 100644 java/sca/contrib/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicyConstants.java delete mode 100644 java/sca/contrib/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicyIntentProcessor.java delete mode 100644 java/sca/contrib/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/PolicySetProcessor.java delete mode 100644 java/sca/contrib/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/ProfileIntentProcessor.java delete mode 100644 java/sca/contrib/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/QualifiedIntentProcessor.java delete mode 100644 java/sca/contrib/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/SimpleIntentProcessor.java delete mode 100644 java/sca/contrib/modules/policy-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/policy-xml/src/main/resources/policy-xml-validation-messages.properties delete mode 100644 java/sca/contrib/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/ReadDocumentTestCase.java delete mode 100644 java/sca/contrib/modules/policy-xml/src/test/java/org/apache/tuscany/sca/policy/xml/TestPolicyProcessor.java delete mode 100644 java/sca/contrib/modules/policy-xml/src/test/resources/org/apache/tuscany/sca/policy/xml/test_definitions.xml delete mode 100644 java/sca/contrib/modules/policy/LICENSE delete mode 100644 java/sca/contrib/modules/policy/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/policy/NOTICE delete mode 100644 java/sca/contrib/modules/policy/pom.xml delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/DefaultIntentAttachPointTypeFactory.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/DefaultPolicyFactory.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/Intent.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentAttachPoint.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentAttachPointType.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentAttachPointTypeFactory.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/IntentMap.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/Policy.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicyContext.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicyFactory.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicySet.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicySetAttachPoint.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/PolicySetReference.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/ProfileIntent.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/QualifiedIntent.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/BindingTypeImpl.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/ImplementationTypeImpl.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentAttachPointTypeFactoryImpl.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentImpl.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/IntentMapImpl.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicyContextImpl.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicyFactoryImpl.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicySetImpl.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/PolicySetReferenceImpl.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/ProfileIntentImpl.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/impl/QualifiedIntentImpl.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyComputationUtils.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyHandler.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyHandlerDefinitionsLoader.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyHandlerTuple.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyHandlerUtils.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyValidationException.java delete mode 100644 java/sca/contrib/modules/policy/src/main/java/org/apache/tuscany/sca/policy/util/PolicyValidationUtils.java delete mode 100644 java/sca/contrib/modules/policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory delete mode 100644 java/sca/contrib/modules/policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.policy.PolicyFactory delete mode 100644 java/sca/contrib/modules/policy/src/test/java/org/apache/tuscany/sca/policy/PolicyFactoryTestCase.java delete mode 100644 java/sca/contrib/modules/pom.xml delete mode 100644 java/sca/contrib/modules/runtime-standalone/LICENSE delete mode 100644 java/sca/contrib/modules/runtime-standalone/NOTICE delete mode 100644 java/sca/contrib/modules/runtime-standalone/pom.xml delete mode 100644 java/sca/contrib/modules/runtime-standalone/src/main/java/org/apache/tuscany/sca/runtime/standalone/StandaloneLauncher.java delete mode 100644 java/sca/contrib/modules/runtime-standalone/src/test/java/org/apache/tuscany/sca/runtime/standalone/LauncherTestCase.java delete mode 100644 java/sca/contrib/modules/runtime-standalone/src/test/resources/repo/bla/helloworld-ws-js.jar delete mode 100644 java/sca/contrib/modules/runtime-standalone/src/test/resources/repo/tuscany.properties delete mode 100644 java/sca/contrib/modules/runtime-tomcat/LICENSE delete mode 100644 java/sca/contrib/modules/runtime-tomcat/NOTICE delete mode 100644 java/sca/contrib/modules/runtime-tomcat/pom.xml delete mode 100644 java/sca/contrib/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/EndpointResolverFactoryImpl.java delete mode 100644 java/sca/contrib/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/EndpointResolverImpl.java delete mode 100644 java/sca/contrib/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyAnnotationProcessor.java delete mode 100644 java/sca/contrib/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyContext.java delete mode 100644 java/sca/contrib/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyContextListener.java delete mode 100644 java/sca/contrib/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyHost.java delete mode 100644 java/sca/contrib/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyServlet.java delete mode 100644 java/sca/contrib/modules/runtime-tomcat/src/main/java/org/apache/tuscany/sca/runtime/tomcat/TuscanyWrapper.java delete mode 100644 java/sca/contrib/modules/runtime-tomcat/src/main/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactory delete mode 100644 java/sca/contrib/modules/runtime-tomcat/src/test/resources/content/test.html delete mode 100644 java/sca/contrib/modules/runtime-war/LICENSE delete mode 100644 java/sca/contrib/modules/runtime-war/NOTICE delete mode 100644 java/sca/contrib/modules/runtime-war/pom.xml delete mode 100644 java/sca/contrib/modules/runtime/LICENSE delete mode 100644 java/sca/contrib/modules/runtime/NOTICE delete mode 100644 java/sca/contrib/modules/runtime/pom.xml delete mode 100644 java/sca/contrib/modules/runtime/src/main/java/org/apache/tuscany/sca/runtime/Launcher.java delete mode 100644 java/sca/contrib/modules/runtime2/pom.xml delete mode 100644 java/sca/contrib/modules/sca-api/LICENSE delete mode 100644 java/sca/contrib/modules/sca-api/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/sca-api/NOTICE delete mode 100644 java/sca/contrib/modules/sca-api/pom.xml delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/CallableReference.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/ComponentContext.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/Constants.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/Conversation.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/ConversationEndedException.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/NoRegisteredCallbackException.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/RequestContext.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/ServiceReference.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/ServiceRuntimeException.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/ServiceUnavailableException.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/AllowsPassByReference.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/Authentication.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/Callback.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/ComponentName.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/Confidentiality.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/Constructor.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/Context.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/ConversationAttributes.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/ConversationID.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/Conversational.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/Destroy.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/EagerInit.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/EndsConversation.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/Init.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/Integrity.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/Intent.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/OneWay.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/PolicySets.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/Property.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/Qualifier.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/Reference.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/Remotable.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/Requires.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/Scope.java delete mode 100644 java/sca/contrib/modules/sca-api/src/main/java/org/osoa/sca/annotations/Service.java delete mode 100644 java/sca/contrib/modules/scdl4j/pom.xml delete mode 100644 java/sca/contrib/modules/thirdparty-library/pom.xml delete mode 100644 java/sca/contrib/modules/tracing-aspectj/LICENSE delete mode 100644 java/sca/contrib/modules/tracing-aspectj/NOTICE delete mode 100644 java/sca/contrib/modules/tracing-aspectj/launcher.bat delete mode 100644 java/sca/contrib/modules/tracing-aspectj/pom.xml delete mode 100644 java/sca/contrib/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/LoggingAspect.java delete mode 100644 java/sca/contrib/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/SimpleTracingAspect.java delete mode 100644 java/sca/contrib/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/TimingAspect.java delete mode 100644 java/sca/contrib/modules/tracing-aspectj/src/main/java/org/apache/tuscany/sca/aspectj/TracingAspect.java delete mode 100644 java/sca/contrib/modules/tracing-aspectj/src/main/resources/META-INF/aop.xml delete mode 100644 java/sca/contrib/modules/tracing-aspectj/src/test/java/org/apache/tuscany/sca/aspectj/TracingTestCase.java delete mode 100644 java/sca/contrib/modules/workspace-impl/LICENSE delete mode 100644 java/sca/contrib/modules/workspace-impl/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/workspace-impl/NOTICE delete mode 100644 java/sca/contrib/modules/workspace-impl/pom.xml delete mode 100644 java/sca/contrib/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/builder/impl/ContributionDependencyBuilderImpl.java delete mode 100644 java/sca/contrib/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionContentProcessor.java delete mode 100644 java/sca/contrib/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/processor/impl/ContributionInfoProcessor.java delete mode 100644 java/sca/contrib/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/scanner/impl/DirectoryContributionScanner.java delete mode 100644 java/sca/contrib/modules/workspace-impl/src/main/java/org/apache/tuscany/sca/workspace/scanner/impl/JarContributionScanner.java delete mode 100644 java/sca/contrib/modules/workspace-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor delete mode 100644 java/sca/contrib/modules/workspace-impl/src/main/resources/workspace-validation-messages.properties delete mode 100644 java/sca/contrib/modules/workspace-impl/src/main/resources/workspace-validation-messages_it.properties delete mode 100644 java/sca/contrib/modules/workspace-impl/src/test/java/org/apache/tuscany/sca/workspace/builder/impl/ContributionDependencyBuilderTestCase.java delete mode 100644 java/sca/contrib/modules/workspace-xml/LICENSE delete mode 100644 java/sca/contrib/modules/workspace-xml/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/workspace-xml/NOTICE delete mode 100644 java/sca/contrib/modules/workspace-xml/pom.xml delete mode 100644 java/sca/contrib/modules/workspace-xml/src/main/java/org/apache/tuscany/sca/workspace/xml/WorkspaceDocumentProcessor.java delete mode 100644 java/sca/contrib/modules/workspace-xml/src/main/java/org/apache/tuscany/sca/workspace/xml/WorkspaceProcessor.java delete mode 100644 java/sca/contrib/modules/workspace-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor delete mode 100644 java/sca/contrib/modules/workspace-xml/src/main/resources/workspace-xml-validation-messages.properties delete mode 100644 java/sca/contrib/modules/workspace-xml/src/test/java/org/apache/tuscany/sca/workspace/xml/ContributionWorkspaceProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/workspace/LICENSE delete mode 100644 java/sca/contrib/modules/workspace/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/workspace/NOTICE delete mode 100644 java/sca/contrib/modules/workspace/pom.xml delete mode 100644 java/sca/contrib/modules/workspace/src/main/java/org/apache/tuscany/sca/workspace/DefaultWorkspaceFactory.java delete mode 100644 java/sca/contrib/modules/workspace/src/main/java/org/apache/tuscany/sca/workspace/Workspace.java delete mode 100644 java/sca/contrib/modules/workspace/src/main/java/org/apache/tuscany/sca/workspace/WorkspaceFactory.java delete mode 100644 java/sca/contrib/modules/workspace/src/main/java/org/apache/tuscany/sca/workspace/builder/ContributionDependencyBuilder.java delete mode 100644 java/sca/contrib/modules/workspace/src/main/java/org/apache/tuscany/sca/workspace/impl/WorkspaceFactoryImpl.java delete mode 100644 java/sca/contrib/modules/workspace/src/main/java/org/apache/tuscany/sca/workspace/impl/WorkspaceImpl.java delete mode 100644 java/sca/contrib/modules/workspace/src/main/resources/META-INF/services/org.apache.tuscany.sca.workspace.WorkspaceFactory delete mode 100644 java/sca/contrib/modules/xsd-xml/pom.xml delete mode 100644 java/sca/contrib/modules/xsd-xml/src/main/java/org/apache/tuscany/sca/xsd/xml/XMLDocumentHelper.java delete mode 100644 java/sca/contrib/modules/xsd-xml/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDDocumentProcessor.java delete mode 100644 java/sca/contrib/modules/xsd-xml/src/main/java/org/apache/tuscany/sca/xsd/xml/XSDModelResolver.java delete mode 100644 java/sca/contrib/modules/xsd-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor delete mode 100644 java/sca/contrib/modules/xsd-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver delete mode 100644 java/sca/contrib/modules/xsd-xml/src/main/resources/xsd-xml-validation-messages.properties delete mode 100644 java/sca/contrib/modules/xsd-xml/src/test/java/org/apache/tuscany/sca/xsd/xml/XMLDocumentHelperTestCase.java delete mode 100644 java/sca/contrib/modules/xsd-xml/src/test/java/org/apache/tuscany/sca/xsd/xml/XSDDocumentProcessorTestCase.java delete mode 100644 java/sca/contrib/modules/xsd-xml/src/test/resources/xsd/greeting.xsd delete mode 100644 java/sca/contrib/modules/xsd-xml/src/test/resources/xsd/name.xsd delete mode 100644 java/sca/contrib/modules/xsd/META-INF/MANIFEST.MF delete mode 100644 java/sca/contrib/modules/xsd/pom.xml delete mode 100644 java/sca/contrib/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/DefaultXSDFactory.java delete mode 100644 java/sca/contrib/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/XSDFactory.java delete mode 100644 java/sca/contrib/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/XSDefinition.java delete mode 100644 java/sca/contrib/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/impl/XSDFactoryImpl.java delete mode 100644 java/sca/contrib/modules/xsd/src/main/java/org/apache/tuscany/sca/xsd/impl/XSDefinitionImpl.java delete mode 100644 java/sca/contrib/modules/xsd/src/main/resources/META-INF/services/org.apache.tuscany.sca.xsd.XSDFactory (limited to 'java/sca') diff --git a/java/sca/contrib/distribution/bundle-minimal/pom.xml b/java/sca/contrib/distribution/bundle-minimal/pom.xml deleted file mode 100644 index 95e017c3e9..0000000000 --- a/java/sca/contrib/distribution/bundle-minimal/pom.xml +++ /dev/null @@ -1,474 +0,0 @@ - - - - 4.0.0 - - - org.apache.tuscany.sca - tuscany-sca - 2.0-SNAPSHOT - ../../pom.xml - - - tuscany-minimal - Apache Tuscany SCA Minimal Bundle Jar - jar - - - true - ${pom.version} - - - - - ${pom.groupId} - tuscany-assembly - ${pom.version} - - - ${pom.groupId} - tuscany-assembly-xml - ${pom.version} - - - ${pom.groupId} - tuscany-binding-jms-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-databinding-axiom - - - ${pom.groupId} - tuscany-binding-ws-wsdlgen - - - - - ${pom.groupId} - tuscany-binding-sca - ${pom.version} - - - ${pom.groupId} - tuscany-binding-sca-jms - ${pom.version} - - - ${pom.groupId} - tuscany-binding-sca-xml - ${pom.version} - - - ${pom.groupId} - tuscany-contribution - ${pom.version} - - - ${pom.groupId} - tuscany-contribution-impl - ${pom.version} - - - ${pom.groupId} - tuscany-contribution-java - ${pom.version} - - - ${pom.groupId} - tuscany-contribution-namespace - ${pom.version} - - - ${pom.groupId} - tuscany-contribution-resource - ${pom.version} - - - ${pom.groupId} - tuscany-core - ${pom.version} - - - ${pom.groupId} - tuscany-core-databinding - ${pom.version} - - - ${pom.groupId} - tuscany-core-spi - ${pom.version} - - - ${pom.groupId} - tuscany-databinding - ${pom.version} - - - ${pom.groupId} - tuscany-databinding-jaxb - ${pom.version} - - - ${pom.groupId} - tuscany-host-embedded - ${pom.version} - - - ${pom.groupId} - tuscany-host-http - ${pom.version} - - - ${pom.groupId} - tuscany-host-webapp - ${pom.version} - - - ${pom.groupId} - tuscany-interface - ${pom.version} - - - ${pom.groupId} - tuscany-interface-java - ${pom.version} - - - ${pom.groupId} - tuscany-interface-java-xml - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-java - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-java-xml - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-java-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-web - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-web-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-node-api - ${pom.version} - - - ${pom.groupId} - tuscany-node-dynamic - ${pom.version} - - - ${pom.groupId} - tuscany-node-impl - ${pom.version} - - - ${pom.groupId} - tuscany-node-launcher - ${pom.version} - - - ${pom.groupId} - tuscany-policy - ${pom.version} - - - ${pom.groupId} - tuscany-policy-logging - ${pom.version} - - - ${pom.groupId} - tuscany-policy-security - ${pom.version} - - - ${pom.groupId} - tuscany-policy-xml - ${pom.version} - - - ${pom.groupId} - tuscany-definitions - ${pom.version} - - - ${pom.groupId} - tuscany-sca-api - ${pom.version} - - - - - - org.apache.geronimo.specs - geronimo-commonj_1.1_spec - 1.0 - - - - org.apache.activemq - activemq-all - 5.1.0 - - - - - - - - src/main/resources - - **/* - - - - - - - - org.apache.maven.plugins - maven-shade-plugin - - - - package - - shade - - - org.apache.tuscany.sca - - false - ${createSourcesJar} - false - true - - - org.apache.tuscany.sca:tuscany-interface-java-jaxws - - com/example/** - - - - org.apache.tuscany.sca:tuscany-databinding-jaxb - - com/example/** - - - - org.apache.tuscany.sca:tuscany-databinding-sdo - - com/example/** - - - - ${project.groupId}:${project.artifactId} - - - org/** - - - - - - - META-INF/services/org.apache.tuscany.sca.assembly.AssemblyFactory - - - META-INF/services/org.apache.tuscany.sca.assembly.SCABindingFactory - - - META-INF/services/org.apache.tuscany.sca.binding.feed.AtomBindingFactory - - - META-INF/services/org.apache.tuscany.sca.binding.feed.RSSBindingFactory - - - META-INF/services/org.apache.tuscany.sca.binding.atom.AtomBindingFactory - - - META-INF/services/org.apache.tuscany.sca.binding.rss.RSSBindingFactory - - - META-INF/services/org.apache.tuscany.sca.binding.http.HTTPResourceBindingFactory - - - META-INF/services/org.apache.tuscany.sca.contribution.ContributionFactory - - - META-INF/services/org.apache.tuscany.sca.contribution.java.JavaImportExportFactory - - - META-INF/services/org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory - - - META-INF/services/org.apache.tuscany.sca.contribution.processor.ContributionPostProcessorExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor - - - META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessorExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor - - - META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor - - - META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver - - - META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener - - - META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListenerExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.core.ModuleActivator - - - META-INF/services/org.apache.tuscany.sca.databinding.DataBinding - - - META-INF/services/org.apache.tuscany.sca.databinding.DataBindingExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer - - - META-INF/services/org.apache.tuscany.sca.databinding.PushTransformer - - - META-INF/services/org.apache.tuscany.sca.databinding.TransformerExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator - - - META-INF/services/org.apache.tuscany.sca.extension.helper.ImplementationActivator - - - META-INF/services/org.apache.tuscany.sca.host.http.ServletHostExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.host.rmi.RMIHostExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.implementation.java.JavaImplementationFactory - - - META-INF/services/org.apache.tuscany.sca.implementation.resource.ResourceImplementationFactory - - - META-INF/services/org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceVisitor - - - META-INF/services/org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory - - - META-INF/services/org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory - - - META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory - - - META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory - - - META-INF/services/org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.spi.ImplementationActivator - - - META-INF/services/org.apache.tuscany.sca.work.WorkScheduler - - - META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler - - - META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory - - - META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider - - - - - - - - org.apache.maven.plugins - maven-jar-plugin - - - - org.apache.tuscany.sca.node.DynamicNodeMain - - - activemq-all-5.1.0.jar geronimo-commonj_1.1_spec-1.0.jar jaxb-api-2.1.jar jaxb-impl-2.1.3.jar jaxws-api-2.1.jar jsr181-api-1.0-MR1.jar stax-api-1.0.1.jar stax-api-1.0-2.jar wstx-asl-3.2.1.jar - ${tuscany.version} - org.apache.tuscany.sca.minimal - ${pom.name} - org.apache.tuscany.sca* - - - - - - - - diff --git a/java/sca/contrib/distribution/bundle/pom.xml b/java/sca/contrib/distribution/bundle/pom.xml deleted file mode 100644 index f83f8f9d1c..0000000000 --- a/java/sca/contrib/distribution/bundle/pom.xml +++ /dev/null @@ -1,730 +0,0 @@ - - - - 4.0.0 - - - org.apache.tuscany.sca - tuscany-sca - 2.0-SNAPSHOT - ../../pom.xml - - - tuscany-bundle - Apache Tuscany SCA Bundle Jar - jar - - - true - ${pom.version} - - - - - ${pom.groupId} - tuscany-assembly - ${pom.version} - - - ${pom.groupId} - tuscany-assembly-xml - ${pom.version} - - - ${pom.groupId} - tuscany-binding-atom-abdera - ${pom.version} - - - ${pom.groupId} - tuscany-binding-dwr - ${pom.version} - - - ${pom.groupId} - tuscany-binding-ejb-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-binding-atom - ${pom.version} - - - ${pom.groupId} - tuscany-binding-http-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-binding-jms-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-binding-jsonrpc-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-binding-notification - ${pom.version} - - - ${pom.groupId} - tuscany-binding-rmi - ${pom.version} - - - ${pom.groupId} - tuscany-binding-rmi-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-binding-rss - ${pom.version} - - - ${pom.groupId} - tuscany-binding-rss-rome - ${pom.version} - - - ${pom.groupId} - tuscany-binding-sca - ${pom.version} - - - ${pom.groupId} - tuscany-binding-sca-axis2 - ${pom.version} - - - ${pom.groupId} - tuscany-binding-sca-xml - ${pom.version} - - - ${pom.groupId} - tuscany-binding-ws - ${pom.version} - - - ${pom.groupId} - tuscany-binding-ws-axis2 - ${pom.version} - - - org.apache.ant - ant-nodeps - - - org.apache.axis2 - addressing - - - org.apache.axis2 - axis2-xmlbeans - - - org.apache.axis2 - axis2-adb-codegen - - - bouncycastle - bcprov-jdk15 - - - opensaml - opensaml - - - - - ${pom.groupId} - tuscany-binding-ws-xml - ${pom.version} - - - ${pom.groupId} - tuscany-binding-ws-wsdlgen - ${pom.version} - - - ${pom.groupId} - tuscany-contribution - ${pom.version} - - - ${pom.groupId} - tuscany-contribution-groovy - ${pom.version} - - - ${pom.groupId} - tuscany-contribution-impl - ${pom.version} - - - ${pom.groupId} - tuscany-contribution-java - ${pom.version} - - - ${pom.groupId} - tuscany-contribution-namespace - ${pom.version} - - - ${pom.groupId} - tuscany-contribution-resource - ${pom.version} - - - ${pom.groupId} - tuscany-contribution-groovy - ${pom.version} - - - ${pom.groupId} - tuscany-core - ${pom.version} - - - ${pom.groupId} - tuscany-core-databinding - ${pom.version} - - - ${pom.groupId} - tuscany-core-spi - ${pom.version} - - - ${pom.groupId} - tuscany-databinding - ${pom.version} - - - ${pom.groupId} - tuscany-databinding-axiom - ${pom.version} - - - ${pom.groupId} - tuscany-databinding-jaxb - ${pom.version} - - - - ${pom.groupId} - tuscany-databinding-sdo-axiom - ${pom.version} - - - ${pom.groupId} - tuscany-host-embedded - ${pom.version} - - - ${pom.groupId} - tuscany-host-http - ${pom.version} - - - ${pom.groupId} - tuscany-host-rmi - ${pom.version} - - - ${pom.groupId} - tuscany-host-webapp - ${pom.version} - - - ${pom.groupId} - tuscany-host-jetty - ${pom.version} - - - - ${pom.groupId} - tuscany-interface - ${pom.version} - - - ${pom.groupId} - tuscany-interface-java - ${pom.version} - - - ${pom.groupId} - tuscany-interface-java-xml - ${pom.version} - - - ${pom.groupId} - tuscany-interface-wsdl - ${pom.version} - - - ${pom.groupId} - tuscany-interface-wsdl-xml - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-bpel - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-bpel-ode - ${pom.version} - - - ${pom.groupId} - tuscany-data-api - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-ejb - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-ejb - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-java - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-java-xml - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-java-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-node - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-node-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-host-tomcat - - - - - ${pom.groupId} - tuscany-implementation-osgi - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-resource-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-script - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-spring - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-xquery - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-widget-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-node-api - ${pom.version} - - - ${pom.groupId} - tuscany-node-dynamic - ${pom.version} - - - ${pom.groupId} - tuscany-node-impl - ${pom.version} - - - ${pom.groupId} - tuscany-node-launcher - ${pom.version} - - - ${pom.groupId} - tuscany-policy - ${pom.version} - - - ${pom.groupId} - tuscany-policy-logging - ${pom.version} - - - ${pom.groupId} - tuscany-policy-security - ${pom.version} - - - ${pom.groupId} - tuscany-policy-xml - ${pom.version} - - - ${pom.groupId} - tuscany-definitions - ${pom.version} - - - - ${pom.groupId} - tuscany-workspace - ${pom.version} - - - ${pom.groupId} - tuscany-domain-manager - ${pom.version} - - - ${pom.groupId} - tuscany-host-tomcat - - - - - ${pom.groupId} - tuscany-workspace-impl - ${pom.version} - - - ${pom.groupId} - tuscany-workspace-xml - ${pom.version} - - - ${pom.groupId} - tuscany-sca-api - ${pom.version} - - - ${pom.groupId} - tuscany-wsdl2java - ${pom.version} - - - - org.apache.geronimo.specs - - geronimo-activation_1.1_spec - - - - - - - - - stax - stax-api - 1.0.1 - - - - org.codehaus.woodstox - wstx-asl - 3.2.4 - runtime - - - - org.apache.geronimo.specs - geronimo-commonj_1.1_spec - 1.0 - - - - org.apache.neethi - neethi - 2.0.4 - - - - - - - - - - src/main/resources - - **/* - - - - - - - - org.apache.maven.plugins - maven-shade-plugin - - - - package - - shade - - - org.apache.tuscany.sca - - false - ${createSourcesJar} - false - true - - - org.apache.tuscany.sca:tuscany-interface-java-jaxws - - com/example/** - - - - org.apache.tuscany.sca:tuscany-databinding-jaxb - - com/example/** - - - - org.apache.tuscany.sca:tuscany-databinding-sdo - - com/example/** - - - - ${project.groupId}:${project.artifactId} - - - org/** - - - - - - - META-INF/services/org.apache.tuscany.sca.assembly.AssemblyFactory - - - META-INF/services/org.apache.tuscany.sca.assembly.SCABindingFactory - - - META-INF/services/org.apache.tuscany.sca.binding.feed.AtomBindingFactory - - - META-INF/services/org.apache.tuscany.sca.binding.feed.RSSBindingFactory - - - META-INF/services/org.apache.tuscany.sca.binding.atom.AtomBindingFactory - - - META-INF/services/org.apache.tuscany.sca.binding.rss.RSSBindingFactory - - - META-INF/services/org.apache.tuscany.sca.binding.http.HTTPResourceBindingFactory - - - META-INF/services/org.apache.tuscany.sca.contribution.ContributionFactory - - - META-INF/services/org.apache.tuscany.sca.contribution.java.JavaImportExportFactory - - - META-INF/services/org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory - - - META-INF/services/org.apache.tuscany.sca.contribution.processor.ContributionPostProcessorExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor - - - META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessorExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor - - - META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor - - - META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver - - - META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener - - - META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListenerExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.core.ModuleActivator - - - META-INF/services/org.apache.tuscany.sca.databinding.DataBinding - - - META-INF/services/org.apache.tuscany.sca.databinding.DataBindingExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer - - - META-INF/services/org.apache.tuscany.sca.databinding.PushTransformer - - - META-INF/services/org.apache.tuscany.sca.databinding.TransformerExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator - - - META-INF/services/org.apache.tuscany.sca.extension.helper.ImplementationActivator - - - META-INF/services/org.apache.tuscany.sca.host.http.ServletHostExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.host.rmi.RMIHostExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.implementation.java.JavaImplementationFactory - - - META-INF/services/org.apache.tuscany.sca.implementation.resource.ResourceImplementationFactory - - - META-INF/services/org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceVisitor - - - META-INF/services/org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory - - - META-INF/services/org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory - - - META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory - - - META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory - - - META-INF/services/org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.spi.ImplementationActivator - - - META-INF/services/org.apache.tuscany.sca.work.WorkScheduler - - - META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler - - - META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory - - - META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider - - - - - - - - - - diff --git a/java/sca/contrib/distribution/features/all/pom.xml b/java/sca/contrib/distribution/features/all/pom.xml deleted file mode 100644 index 51d51ba3a8..0000000000 --- a/java/sca/contrib/distribution/features/all/pom.xml +++ /dev/null @@ -1,240 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-distribution-features - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-distribution-all - Apache Tuscany SCA All-in-one Distribution - pom - - - - - org.apache.tuscany.sca - tuscany-distribution-core - pom - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-distribution-ejava - pom - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-distribution-manager - pom - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-distribution-process - pom - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-distribution-web20 - pom - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-distribution-webservice - pom - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-maven-ant-generator - pom - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-maven-java2wsdl - pom - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-maven-wsdl2java - pom - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-maven-incremental-build - pom - 2.0-SNAPSHOT - - - - - - - - - default - - true - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - distribution-package - package - - single - - - - src/main/assembly/bin.xml - src/main/assembly/src.xml - - gnu - apache-tuscany-sca-all-1.4-SNAPSHOT - - - - - - - - - - - modules - - ../../../modules/assembly - ../../../modules/assembly-xml - ../../../modules/assembly-xsd - ../../../modules/binding-atom - ../../../modules/binding-atom-abdera - ../../../modules/binding-corba - ../../../modules/binding-corba-runtime - ../../../modules/binding-ejb - ../../../modules/binding-ejb-runtime - ../../../modules/binding-http - ../../../modules/binding-http-runtime - ../../../modules/binding-jms - ../../../modules/binding-jms-runtime - ../../../modules/binding-jsonrpc - ../../../modules/binding-jsonrpc-runtime - ../../../modules/binding-rss - ../../../modules/binding-rss-rome - ../../../modules/binding-sca - ../../../modules/binding-sca-axis2 - ../../../modules/binding-sca-xml - ../../../modules/binding-ws - ../../../modules/binding-ws-axis2 - ../../../modules/binding-ws-wsdlgen - ../../../modules/binding-ws-xml - ../../../modules/contribution - ../../../modules/contribution-impl - ../../../modules/contribution-java - ../../../modules/contribution-namespace - ../../../modules/contribution-resource - ../../../modules/contribution-xml - ../../../modules/core - ../../../modules/core-databinding - ../../../modules/core-spi - ../../../modules/data-api - ../../../modules/databinding - ../../../modules/databinding-axiom - ../../../modules/databinding-jaxb - ../../../modules/databinding-jaxb-axiom - ../../../modules/databinding-json - ../../../modules/databinding-saxon - ../../../modules/databinding-sdo - ../../../modules/databinding-sdo-axiom - ../../../modules/definitions - ../../../modules/definitions-xml - ../../../modules/domain-manager - ../../../modules/endpoint - ../../../modules/extensibility - ../../../modules/extensibility-equinox - ../../../modules/extension-helper - ../../../modules/host-corba - ../../../modules/host-corba-jse - ../../../modules/host-ejb - ../../../modules/host-embedded - ../../../modules/host-http - ../../../modules/host-jetty - ../../../modules/implementation-bpel - ../../../modules/implementation-bpel-ode - ../../../modules/implementation-ejb - ../../../modules/implementation-java - ../../../modules/implementation-java-runtime - ../../../modules/implementation-java-xml - ../../../modules/implementation-node - ../../../modules/implementation-node-runtime - ../../../modules/implementation-resource - ../../../modules/implementation-resource-runtime - ../../../modules/implementation-script - ../../../modules/implementation-spring - ../../../modules/implementation-widget - ../../../modules/implementation-widget-runtime - ../../../modules/implementation-xquery - ../../../modules/interface - ../../../modules/interface-java - ../../../modules/interface-java-jaxws - ../../../modules/interface-java-xml - ../../../modules/interface-wsdl - ../../../modules/interface-wsdl-xml - ../../../modules/monitor - ../../../modules/monitor-logging - ../../../modules/node-api - ../../../modules/node-impl - ../../../modules/node-launcher - ../../../modules/node-launcher-equinox - ../../../modules/node-launcher-webapp - ../../../modules/node-manager - ../../../modules/policy - ../../../modules/policy-security - ../../../modules/policy-security-ws - ../../../modules/policy-xml - ../../../modules/policy-xml-ws - ../../../modules/sca-api - ../../../modules/workspace - ../../../modules/workspace-impl - ../../../modules/workspace-xml - ../../../modules/xsd - ../../../modules/xsd-xml - - - - - diff --git a/java/sca/contrib/distribution/features/all/src/main/assembly/bin.xml b/java/sca/contrib/distribution/features/all/src/main/assembly/bin.xml deleted file mode 100644 index 5e21cc7a0f..0000000000 --- a/java/sca/contrib/distribution/features/all/src/main/assembly/bin.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - true - tuscany-sca-1.4-SNAPSHOT - - - zip - - - - ../core/src/main/components/bin-common.xml - ../core/src/main/components/bin-dependencies.xml - ../core/src/main/components/bin-samples.xml - ../ejava/src/main/components/bin-samples.xml - ../manager/src/main/components/bin-samples.xml - ../process/src/main/components/bin-samples.xml - ../web20/src/main/components/bin-samples.xml - ../webservice/src/main/components/bin-samples.xml - - diff --git a/java/sca/contrib/distribution/features/all/src/main/assembly/src.xml b/java/sca/contrib/distribution/features/all/src/main/assembly/src.xml deleted file mode 100644 index 7a57773572..0000000000 --- a/java/sca/contrib/distribution/features/all/src/main/assembly/src.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - src - true - tuscany-sca-1.4-SNAPSHOT-src - - - zip - - - - ../core/src/main/components/src-common.xml - ../core/src/main/components/src-modules.xml - ../ejava/src/main/components/src-modules.xml - ../manager/src/main/components/src-modules.xml - ../process/src/main/components/src-modules.xml - ../web20/src/main/components/src-modules.xml - ../webservice/src/main/components/src-modules.xml - - diff --git a/java/sca/contrib/distribution/features/all/src/main/components/src-modules.xml b/java/sca/contrib/distribution/features/all/src/main/components/src-modules.xml deleted file mode 100644 index b886263676..0000000000 --- a/java/sca/contrib/distribution/features/all/src/main/components/src-modules.xml +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - ../../../modules - modules - - assembly/**/* - assembly-xml/**/* - assembly-xsd/**/* - binding-atom/**/* - binding-atom-abdera/**/* - binding-corba/**/* - binding-corba-runtime/**/* - binding-ejb/**/* - binding-ejb-runtime/**/* - binding-http/**/* - binding-http-runtime/**/* - binding-jms/**/* - binding-jms-runtime/**/* - binding-jsonrpc/**/* - binding-jsonrpc-runtime/**/* - binding-rss/**/* - binding-rss-rome/**/* - binding-sca/**/* - binding-sca-axis2/**/* - binding-sca-xml/**/* - binding-ws/**/* - binding-ws-axis2/**/* - binding-ws-wsdlgen/**/* - binding-ws-xml/**/* - contribution/**/* - contribution-impl/**/* - contribution-java/**/* - contribution-namespace/**/* - contribution-resource/**/* - contribution-xml/**/* - core/**/* - core-databinding/**/* - core-spi/**/* - data-api/**/* - databinding/**/* - databinding-axiom/**/* - databinding-jaxb/**/* - databinding-jaxb-axiom/**/* - databinding-json/**/* - databinding-saxon/**/* - databinding-sdo/**/* - databinding-sdo-axiom/**/* - definitions/**/* - definitions-xml/**/* - distribution-core/**/* - distribution-ejava/**/* - distribution-manager/**/* - distribution-process/**/* - distribution-web20/**/* - distribution-webservice/**/* - domain-manager/**/* - endpoint/**/* - extensibility/**/* - extensibility-equinox/**/* - extension-helper/**/* - host-corba/**/* - host-corba-jse/**/* - host-ejb/**/* - host-embedded/**/* - host-http/**/* - host-jetty/**/* - implementation-bpel/**/* - implementation-bpel-ode/**/* - implementation-ejb/**/* - implementation-java/**/* - implementation-java-runtime/**/* - implementation-java-xml/**/* - implementation-node/**/* - implementation-node-runtime/**/* - implementation-resource/**/* - implementation-resource-runtime/**/* - implementation-script/**/* - implementation-spring/**/* - implementation-widget/**/* - implementation-widget-runtime/**/* - implementation-xquery/**/* - interface/**/* - interface-java/**/* - interface-java-jaxws/**/* - interface-java-xml/**/* - interface-wsdl/**/* - interface-wsdl-xml/**/* - java2wsdl/**/* - maven-ant-generator/**/* - maven-incremental-build/**/* - maven-java2wsdl/**/* - maven-wsdl2java/**/* - monitor/**/* - monitor-logging/**/* - node-api/**/* - node-impl/**/* - node-launcher/**/* - node-launcher-equinox/**/* - node-launcher-webapp/**/* - node-manager/**/* - policy/**/* - policy-security/**/* - policy-security-ws/**/* - policy-xml/**/* - policy-xml-ws/**/* - sca-api/**/* - workspace/**/* - workspace-impl/**/* - workspace-xml/**/* - wsdl2java/**/* - xsd/**/* - xsd-xml/**/* - - - - **/.* - **/.*/** - **/*.log - - - pom.xml - **/target - **/target/**/* - - - - diff --git a/java/sca/contrib/distribution/features/all/src/main/release/CHANGES b/java/sca/contrib/distribution/features/all/src/main/release/CHANGES deleted file mode 100644 index 3de7358ec6..0000000000 --- a/java/sca/contrib/distribution/features/all/src/main/release/CHANGES +++ /dev/null @@ -1,431 +0,0 @@ -Changes With Apache Tuscany SCA 1.2 (incubating) April 2008 -=========================================================== - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-2027 - * TUSCANY-1999 - * TUSCANY-2037 - * TUSCANY-2034 - * TUSCANY-2038 - * TUSCANY-2043 - * TUSCANY-2046 - * TUSCANY-2047 - * TUSCANY-2028 - * TUSCANY-1873 - * TUSCANY-2049 - * TUSCANY-2035 - * TUSCANY-1206 - * TUSCANY-2036 - * TUSCANY-1771 - * TUSCANY-2013 - * TUSCANY-1926 - * TUSCANY-1917 - * TUSCANY-1949 - * TUSCANY-1941 - * TUSCANY-2045 - * TUSCANY-2057 - * TUSCANY-2055 - * TUSCANY-2056 - * TUSCANY-2072 - * TUSCANY-2047 - * TUSCANY-2073 - * TUSCANY-1977 - * TUSCANY-2075 - * TUSCANY-1894 - * TUSCANY-2079 - * TUSCANY-2078 - * TUSCANY-2080 - * TUSCANY-2068 - * TUSCANY-1950 - * TUSCANY-2077 - * TUSCANY-2056 - * TUSCANY-2088 - * TUSCANY-2086 - * TUSCANY-2094 - * TUSCANY-2106 - - Features and/or Enhancements - - * Core - - Interceptor Enhancements - - Phase-based interceptor ordering to allow contribution of new interceptors and also define the order in witch they should be invoked - - Pass-by-reference SPI to allow interceptors to indicate if they support pass-by-reference - - PolicyProvider SPIs to allow extensions to plugin policy interceptors - - Support for JAXWS annotations and mapping of faults to Java exceptions according to JAXWS specification - - Improvement of contribution service to allow it to be used outside of the runtime environment - - Support for Contribution Import/Export resource - - Enhanced Distributed Domain story using Workspace - - Implementation of a SCA domain allowing a system administrator to manage contributions, composites and sca nodes that run these composites - - Set of core services providing management capabilities - - Administration web interface - - This is a work in progress and you can see it in action in samples/calculator-distributed. Other samples that use distributed operation are yet to move over to the workspace. - - Enhanced support for SCA Policy spec - - Ability to apply external policy definitions to a SCA composition - - Ability to spread policy definitions to multiple definitions.xml files available across the sca domain - - Bug fixes - - Improvements of http binding to support servlet components - - Enable Tuscany to run inside an OSGi runtime - - * Web 2.0 Extensions - - Enhancements to implementation.widget (support for properties) - - New atom binding based on Apache Abdera - - Refactoring of rss-rome binding - * Other Extensions - - Binding JMS - - greatly simplified the use of the JMS binding, support locating JMS resources from JNDI, and better compliance with the SCA JMS binding spec - - see the doc page for more details: http://incubator.apache.org/tuscany/sca-java-bindingjms.html - - Enhancements to Binding RMI - - Support shared RMI registry and use 999x as the ports in test case to avoid 1099 conflict - - Enhancements to Groovy extension - - Support for 'native' groovy classes - - Enhancements to OSGi bundle contributions - - Support Bundle URLs to be added as contributions - - * Tools - - Eclipse plugin providing a Tuscany runtime Library and Tuscany launcher in Eclipse environment - - An updatesite is also available to facilitate the plugin installation using the Eclipse update manager - - * Samples/Tutorial/Demos - - calculator-distributed migrated to use new Tuscany Distributed Workspace - - sample-calculator-ws-secure-webapp - - sample-helloworld-jms-webapp - - new jms samples - - improve bigbank demo to include support for policies - - tutorial store changes - - use of import/export - - development of contribution without requiring dependencies on the Tuscany runtime - - usage of new sca domain infrastructure - - * Testing - - Web Container Testing Framework integrated with (Tomcat, Jetty, Geronimo and Websphere) - - -Changes With Apache Tuscany SCA 1.1 (incubating) January 2008 -=============================================================== - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-1939 - * TUSCANY-1914 - * TUSCANY-1854 - * TUSCANY-1931 - * TUSCANY-1547 - * TUSCANY-1909 - * TUSCANY-1919 - * TUSCANY-1930 - * TUSCANY-1806 - * TUSCANY-1804 - * TUSCANY-1916 - * TUSCANY-1913 - * TUSCANY-1834 - * TUSCANY-1857 - * TUSCANY-1687 - * TUSCANY-1801 - * TUSCANY-1742 - * TUSCANY-1762 - * TUSCANY-1945 - * TUSCANY-1595 - * TUSCANY-1594 - * TUSCANY-1849 - * TUSCANY-1836 - * TUSCANY-1934 - * TUSCANY-1902 - * TUSCANY-1608 - * TUSCANY-1943 - * TUSCANY-1896 - * TUSCANY-1626 - * TUSCANY-1797 - * TUSCANY-1601 - * TUSCANY-1415 - -- Better JMS support - * binding.jms supporting point to point text based messaging only - * New SOAP/JMS sample (helloworld-ws-reference/service-jms) - -- Improvements in PolicyFramework Support - * Support for policy specifications on operation elements in a composite definition - * Separate sample (calculator-implementation-policies) to demonstrate use of Implementation Policies - (uses logging and JAAS Authentication) - -- Modeling of client side java script components - * See implementation.widget - -- Evolving support for doman API suggested by assembly spec including a standalone node and nodes running - connected together in a domain. This is still experimental. - -- Class loading and OSGI improvements - * Enable Tuscany to be run in a multi-classloader environment including inside OSGi. By default, - Tuscany continues to run using a single CLASSPATH-based classloader. - * Contributions no longer need to be in the CLASSPATH. All import/export dependencies across contributions should be - explicitly specified (as described in the spec). - -- JAXB based POJO transformations - -Changes With Apache Tuscany SCA 1.0.1 (incubating) November 2007 -================================================================ - -The Tuscany SCA Java 1.0.1 is mainly a bug-fix release. It also comes with some improvements as listed below. - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-1848 - * TUSCANY-1857 - * TUSCANY-1859 - * TUSCANY-1801 - * TUSCANY-1823 - * TUSCANY-1839 - * TUSCANY-1814 - * TUSCANY-1818 - * TUSCANY-1834 - * TUSCANY-1637 - * TUSCANY-1826 - * TUSCANY-1823 - * TUSCANY-1819 - * TUSCANY-1821 - * TUSCANY-1822 - * TUSCANY-1806 - * TUSCANY-1808 - * TUSCANY-1756 - * TUSCANY-1757 - -- Fix build issues with Maven 2.0.7 and JDK 6 - -- Reduce memory consumption for WSDLs that import large XSDs - -- Add more logging statements for better servicibility - -- Add an extension point to allow extensions to plug-in extension schemas. - -- Add a demo application to showcase XML integration story - -- Improve in databinding framework - * Add support for JSON Databindings and other refactoring - * Set databinding for introspected data type and enhance the checking of wrapper style - * Improve the tree-based XMLStreamReader and convert Bean & DOM to use this approach - * Add a tree-iterator based XMLStreamReader base impl - * Add default element info to java interface - * Rename Interface.setDefaultDataBinding to resetDataBinding - -- Limit the method injection to setters and allow the setter annotation to override field annotation - -- Evolving support in Intent and Policy handling - * Add support for policies in implementation - * Fix the algorithm for macthing policySets defined on bindings for the wire - * Add policy intent for implementation.java - * Extend java implementation type to recognize and apply policies, adding util support for this in Policy module - * Add policy module for logging - -- Evolving development in the SCA Domain/Node - -- Update NOTICE files with missing dependencies - - -Changes With Apache Tuscany SCA 1.0 (incubating) September 2007 -=============================================================== - -- Tuscany Java SCA now implements V1.0 of the core SCA - specifications - SCA Assembly Model V1.0 - SCA Java Common Annotations and APIs V1.0 - SCA Java Component Implementation V1.0 - SCA Web Services Binding V1.0 - Including callbacks, conversations and callable references - - -- Support for ws-security configurable in the web services binding - thro Tuscany SCA policy intents and policysets using the policy framework - introduced in the last release. - - Note : This release supports specifications of policies around axis2 - config params - see helloworld-ws-service-secure sample. The policy - intents that have been tested are authentication, integrity and - confidentiality. - There is no sample or test that exercises confidentiality since there - are some unresolved licensing issue around bouncycastle libraries. - However, users who are not encumbered by the bouncycastle license - restrictions can try the 'confidentiality' intent. See FAQ - - http://incubator.apache.org/tuscany/tuscany-sca-java-faq.html - - This release does not include support for WS-Policy - attachments in Tuscany Policysets for ws-security. - - -- An XQuery component implementation type - implementation-xquery - - -- A Databinding for converting data to and from nodes for XQuery - processing - databinding-saxon - - -- OSGI support has been extended to allow Tuscany contributions - packaged as OSGI bundles hence taking advantage of OSGI's bundle - loading an dependency management capabilities - - -- A BPEL component implementation type experimental implementation -based on SCA BPEL Client and Implementation V1.0. At the moment only -supports BPEL process as services. - implementation-bpel - - -- The distributed runtime implementation has been separated out - into - *) domain - *) node - It is now wrapped by a SCADomain interface as is the standalone - runtime. - - Note: This release does not include support for WebApp host deployment - for a distributed SCA Domain - - - -- The web service binding will now generate WSDL automatically - based on the service interface if no WSDL is provided - - -- A new "store" sample and associated document show how a - simple store front application can be constructed - samples/store - -- The following features of this release are still experimental: - - BPEL implementation type, integrating with Apache ODE - - OSGI implementation type, integrating with Apache Felix - - XQuery implementation type - - - -Changes With Apache Tuscany SCA 0.99 (incubating) August 2007 -============================================================= - -The following are the significant additions to release 0.99 -over and above all of what was offered in release 0.91. - -- A version of the default sca binding that works between - components runing in separate Java virtual machines - binding-sca-axis - -- A simple node implementation and a service discovery - function for running sca applications distributed - across more than one node - distributed - distributed-impl - -- integration with OSGi runtimes is now supported with - a new implementation-osgi component type - -- PUB/SUB interactions are now supported by using new - notification binding and implementation types, and - samples demonstrating the feature. - -- The Tuscany runtime now has a policy framework supporting - the SCA policy specification - -- the endpoint URIs used by SCA bindings has been rationalized - and now follows the SCA Assembly specification - -- binding-ajax has been renamed to binding-dwr - -Changes With Apache Tuscany SCA 0.91 (incubating) July 2007 -=========================================================== - -The following are the significant additions to release 0.91 -over and above all of what was offered in release 0.90. - - -- Enhancements to support multiple contributions to the SCA Domain - -- The inclusion of a alternative simplified extensions-helper -SPI layer to faciliate rapid development of extensions - -- More Implementation Extenstions - Spring - WebResource - -- More Binding Extensions - AJAX - EJB - RSS/ATOM Feeds - -- Demos that demonstrate the use of a mix of extensions - alert-aggregator-webapp - bigbank-account - bigbank-calculator - bigbank-stockquote - - -- Samples - Samples to demostrate use of Spring, Resource, AJAX extensions - -Changes With Apache Tuscany SCA 0.90 (incubating) June 2007 -=========================================================== - -- Implementations for all of the Java Annotations and API Specification V1.0 found at - (http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications) - apart from the following. - @ComponentName - Conversation - RequestContext - -- New assembly model implementation taking into account SCA 1.0 artifacts - Data duplication between assembly model and runtime removed - -- Simple single process domain support - Contribution support to scope items being deployed into the runtime - -- Improved Package/Class naming consistency across modules - -- Extensions now loaded via Java service mechanism - Refactored extensions to use new SPIs (see below) - -- Maven and Ant based sample builds in the binary distribution - -- Implementation Extensions - Java - Script supporting (Ruby, Python, Groovy, JavaScript) - -- Binding Extensions - Axis2 - RMI - JSONRPC - --Databinding Extensions - Axiom - JAXB - SDO - -- Host environments - Embedded - Tomcat - Jetty - RMI - -- A clear set of SPIs intended to be stable over future releases - SCA assembly model - org.apache.tuscany.sca.assembly - org.apache.tuscany.sca.interfacedef - org.apache.tuscany.sca.interfacedef.java - org.apache.tuscany.sca.interfacedef.wsdl - org.apache.tuscany.sca.policy - - SCA contribution model - org.apache.tuscany.sca.contribution - - Runtime extensions - org.apache.tuscany.sca.core - org.apache.tuscany.sca.invocation - org.apache.tuscany.sca.provider - org.apache.tuscany.sca.runtime - org.apache.tuscany.sca.work - - Data binding support - org.apache.tuscany.sca.databinding - - Embedding Tuscany - org.apache.tuscany.sca.host.embedded - - Servlet container integration - org.apache.tuscany.sca.http - -- For this point release a partial set of JavaDoc is provided to - be filled out as we close on release 1.0 diff --git a/java/sca/contrib/distribution/features/all/src/main/release/DISCLAIMER b/java/sca/contrib/distribution/features/all/src/main/release/DISCLAIMER deleted file mode 100644 index a65af91c5a..0000000000 --- a/java/sca/contrib/distribution/features/all/src/main/release/DISCLAIMER +++ /dev/null @@ -1,7 +0,0 @@ -Apache Tuscany is an effort undergoing incubation at The Apache Software -Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is -required of all newly accepted projects until a further review indicates that -the infrastructure, communications, and decision making process have stabilized -in a manner consistent with other successful ASF projects. While incubation -status is not necessarily a reflection of the completeness or stability of the -code, it does indicate that the project has yet to be fully endorsed by the ASF. \ No newline at end of file diff --git a/java/sca/contrib/distribution/features/all/src/main/release/README b/java/sca/contrib/distribution/features/all/src/main/release/README deleted file mode 100644 index 4d83dcfde9..0000000000 --- a/java/sca/contrib/distribution/features/all/src/main/release/README +++ /dev/null @@ -1,19 +0,0 @@ -Apache Tuscany SCA 1.2 (incubating) April 2008 README -===================================================== - -Welcome to the Tuscany SCA 1.2 release. - -See the RELEASE_NOTES file for information specific to this release. - -In the binary release see the INSTALL file for information on how to -install the release. - -In the source distribution see the BUILDING file for information on -building the source code. - - - - - - - diff --git a/java/sca/contrib/distribution/features/all/src/main/release/RELEASE_NOTES b/java/sca/contrib/distribution/features/all/src/main/release/RELEASE_NOTES deleted file mode 100644 index a04ef5c553..0000000000 --- a/java/sca/contrib/distribution/features/all/src/main/release/RELEASE_NOTES +++ /dev/null @@ -1,83 +0,0 @@ -Apache Tuscany SCA 1.2 (incubating) April 2008 Release Notes -============================================================ - -Apache Tuscany provides a runtime based on the Service Component -Architecture. SCA is a set of specifications aimed at simplifying SOA -Application Development which are being standardized at OASIS as part -of Open Composite Services Architecture (Open CSA) - http://www.oasis-opencsa.org/. - -Overview --------- - - The Apache Tuscany SCA 1.2 release includes implementations of the - main SCA specifications including: - - SCA Assembly Model V1.0 - SCA Policy Framework V1.0 - SCA Java Common Annotations and APIs V1.0 - SCA Java Component Implementation V1.0 - SCA Spring Component Implementation V1.0 - SCA BPEL Client and Implementation V1.0 - SCA Web Services Binding V1.0 - SCA EJB Session Bean Binding V1.0 - - It also includes implementations of many features not yet defined - by SCA specifications, including: - - - SCA bindings for Direct Web Remoting, RSS and ATOM Feeds, - HTTP resources, JSON-RPC, PUB/SUB Notifications, and RMI. - - SCA implementation types for OSGI, XQuery, BPEL, Widget and various - dynamic languages including Groovy, Javascript, Python and Ruby - - Databindings for Service Data Objects (SDO), JAXB, XmlBeans, - Axis2's AXIOM, JSON, SAXON, DOM, SAX and StAX - - The Tuscany SCA Runtime can be configured as a single node SCA domain or - as an SCA domain distributed across multiple nodes. - In addition Tuscany SCA supports the following host-deployment options: - - - running standalone - - running with distributed nodes across multiple JVMs - - running with embedded Jetty or Tomcat - - running as part of a standard web application - - The Wepapp samples included in this release have been tried and tested on - - Tomcat 5.5.20 and Tomcat 6.0.14 - - Jetty 6.1.3 - - Geronimo 2.0.2 Tomcat6 jee5 - - WebSphere 6.1 fix pack 9 - -See the CHANGES file for a detailed list of the features in this release. - -Support -------- - -For more information on Apache Tuscany visit the website at: - - http://incubator.apache.org/tuscany/ - -Any issues with this release can be reported to Apache Tuscany -using the mailing lists or in the JIRA issue tracker. - - Mailing list archives: - - http://mail-archives.apache.org/mod_mbox/ws-tuscany-user/ - http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev/ - - Jira: - - http://issues.apache.org/jira/browse/TUSCANY - -To join the project's mailing lists follow the instructions at: - - http://incubator.apache.org/tuscany/mailing-lists.html - -To find out more about OASIS Open CSA go to: - - http://www.oasis-opencsa.org. - -Apache Tuscany welcomes your help. Any contribution, including code, -testing, improving the documentation, or bug reporting is always -appreciated. - -Thank you for using Apache Tuscany! - -- The Tuscany Team. diff --git a/java/sca/contrib/distribution/features/all/src/main/release/bin/INSTALL b/java/sca/contrib/distribution/features/all/src/main/release/bin/INSTALL deleted file mode 100644 index 2da53a2b44..0000000000 --- a/java/sca/contrib/distribution/features/all/src/main/release/bin/INSTALL +++ /dev/null @@ -1,27 +0,0 @@ -Installing the Apache Tuscany SCA 1.2 (incubating) April 2008 Release binary distribution -========================================================================================= - -Unzip Tuscany binary distribution archive and you get the following: - -tuscany-sca-1.1-incubating - DISCLAIMER - the ASF incubation disclaimer - INSTALL - this help file - LICENSE - the Apache License and any dependecy licenses - NOTICE - attribution notices associated with the licenses - README - readme for the release - RELEASE_NOTES - description of this release - CHANGES - A note of the major changes in this release - - /demos - Demo applications showcasing the use of Apache Tuscany - - /lib - The tuscany-sca-all and tuscany-sca-manifest jars and all their dependencies - - /modules - all of the individual Tuscany jars - - /samples - all the Tuscany samples, see the README in that directory - - /tutorial - The store tutorial, see the README in that directory - - - - diff --git a/java/sca/contrib/distribution/features/all/src/main/release/bin/LICENSE b/java/sca/contrib/distribution/features/all/src/main/release/bin/LICENSE deleted file mode 100644 index 5e1f585d46..0000000000 --- a/java/sca/contrib/distribution/features/all/src/main/release/bin/LICENSE +++ /dev/null @@ -1,2366 +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 SUBCOMPONENTS: - -The Apache Tuscany binary distribution includes a number of subcomponents -with separate copyright notices and license terms. Your use of the -code for the these subcomponents is subject to the terms and -conditions of the following licenses. - -=============================================================================== - -The following components come under Apache Software License 1.1 - - commons-discovery-0.2.jar - commons-primitives-1.0.jar - -The following components come under Apache Software License 2.0 - - abdera-core-0.3.0-incubating.jar - abdera-i18n-0.3.0-incubating.jar - abdera-parser-0.3.0-incubating.jar - activeio-2.0-r118.jar - activeio-core-3.0.0-incubator.jar - apache-activemq-4.1.1.jar - addressing-1.3.mar - annogen-0.1.0.jar - annotations-api-6.0.14.jar - aopalliance-1.0.jar - axiom-api-1.2.5.jar - axiom-dom-1.2.5.jar - axiom-impl-1.2.5.jar - axis2-adb-1.3.jar - axis2-codegen-1.3.jar - axis2-java2wsdl-1.3.jar - axis2-kernel-1.3.jar - axis2-mtompolicy-1.3.jar - bsf-all-3.0-beta2.jar - catalina-6.0.14.jar - cglib-nodep-2.1_3.jar - commons-collections-3.1.jar - commons-codec-1.3.jar - commons-fileupload-1.1.1.jar - commons-httpclient-3.0.1.jar - commons-io-1.2.jar - commons-jexl-1.1.jar - commons-lang-2.1.jar - commons-logging-1.1.jar - coyote-6.0.14.jar - derby-10.1.3.1.jar - geronimo-activation_1.1_spec-1.0-M1.jar - geronimo-common-1.2-beta.jar - geronimo-commonj_1.1_spec-1.0.jar - geronimo-connector-1.2-beta.jar - geronimo-core-1.2-beta.jar - geronimo-deployment-1.2-beta.jar - geronimo-ejb_3.0_spec-1.0.jar - geronimo-interceptor-1.2-beta.jar - geronimo-j2ee-1.2-beta.jar - geronimo-j2ee-connector_1.5_spec-1.1.jar - geronimo-j2ee-jacc_1.0_spec-1.1.jar - geronimo-j2ee-management_1.0_spec-1.1.jar - geronimo-javamail_1.4_spec-1.0-M1.jar - geronimo-jms_1.1_spec-1.1.jar - geronimo-jpa_3.0_spec-1.0.jar - geronimo-jta_1.0.1B_spec-1.0.jar - geronimo-kernel-1.2-beta.jar - geronimo-management-1.2-beta.jar - geronimo-naming-1.2-beta.jar - geronimo-security-1.2-beta.jar - geronimo-spec-j2ee-connector-1.5-rc4.jar - geronimo-spec-jta-1.0.1B-rc4.jar - geronimo-system-1.2-beta.jar - geronimo-transaction-1.2-beta.jar - geronimo-util-1.2-beta.jar - httpcore-4.0-alpha5.jar - httpcore-nio-4.0-alpha5.jar - httpcore-niossl-4.0-alpha5.jar - jettison-1.0-RC2.jar - jetty-6.1.7.jar - jetty-util-6.1.7.jar - json-rpc-1.0.jar - juli-6.0.14.jar - log4j-1.2.12.jar - logkit-1.0.1.jar - neethi-2.0.2.jar - ode-bpel-api-1.1.jar - ode-bpel-compiler-1.1.jar - ode-bpel-dao-1.1.jar - ode-bpel-epr-1.1.jar - ode-bpel-obj-1.1.jar - ode-bpel-runtime-1.1.jar - ode-bpel-schemas-1.1.jar - ode-bpel-store-1.1.jar - ode-dao-jpa-1.1.jar - ode-dao-jpa-ojpa-derby-1.1.zip - ode-jacob-1.1.jar - ode-jacob-ap-1.1.jar - ode-scheduler-simple-1.1.jar - ode-utils-1.1.jar - openjpa-all-0.9.7-incubating.jar - openjpa-persistence-0.9.7-incubating.jar - org.apache.felix.bundlerepository-1.0.2.jar - org.apache.felix.framework-1.0.3.jar - org.apache.felix.main-1.0.3.jar - org.apache.felix.shell-1.0.0.jar - org.apache.felix.shell.tui-1.0.0.jar - rampart-core-1.3.jar - rampart-policy-1.3.jar - rampart-trust-1.3.jar - regexp-1.3.jar - spring-beans-2.0.6.jar - spring-context-2.0.6.jar - spring-core-2.0.6.jar - tranql-connector-1.1.jar - tuscany-sdo-api-r2.1-1.0-incubating.jar - tuscany-sdo-impl-1.0-incubating.jar - tuscany-sdo-lib-1.0-incubating.jar - tuscany-sdo-tools-1.0-incubating.jar - woden-1.0-incubating-M7b.jar - wss4j-1.5.3.jar - wstx-asl-3.2.1.jar - xalan-2.7.0.jar - xbean-naming-2.7.jar - xercesImpl-2.8.1.jar - xml-apis-1.3.03.jar - xmlbeans-2.3.0.jar - xml-resolver-1.1.jar - xmlsec-1.4.0.jar - XmlSchema-1.3.2.jar - -=============================================================================== -axion-1.0-M3-dev.jar - -Copyright (c) 2002-2003 Axion Development Team. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - -2. 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. - -3. The names "Tigris", "Axion", nor the names of its contributors may - not be used to endorse or promote products derived from this - software without specific prior written permission. - -4. Products derived from this software may not be called "Axion", nor - may "Tigris" or "Axion" appear in their names 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. - -The "Axion Development Team" is defined to be: - - * Chuck Burdick - * James Burke - * Morgan Delagrange - * Geir Magnusson Jr. - * Martin Poeschl - * Steve Polyak - * Daniel Rall - * Ahimanikya Satapathy - * Doug Sale - * James Strachan - * Rodney Waldhoff - * Jason van Zyl - -License changes are to be determined by a simple majority vote of the -Axion Development Team. - -=============================================================================== -dom4j-1.6.1.jar - -Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. - -Redistribution and use of this software and associated documentation -("Software"), with or without modification, are permitted provided -that the following conditions are met: - -1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - -2. 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. - -3. The name "DOM4J" must not be used to endorse or promote - products derived from this Software without prior written - permission of MetaStuff, Ltd. For written permission, - please contact dom4j-info@metastuff.com. - -4. Products derived from this Software may not be called "DOM4J" - nor may "DOM4J" appear in their names without prior written - permission of MetaStuff, Ltd. DOM4J is a registered - trademark of MetaStuff, Ltd. - -5. Due credit should be given to the DOM4J Project - - http://www.dom4j.org - -THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS -``AS IS'' AND ANY EXPRESSED 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 -METASTUFF, LTD. OR ITS 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. - -=============================================================================== - -The EMF jars; - codegen-2.2.3.jar - codegen-ecore-2.2.3.jar - common-2.2.3.jar - ecore-2.2.3.jar - ecore-change-2.2.3.jar - ecore-xmi-2.2.3.jar - xsd-2.2.3.jar - -Eclipse Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF -THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - -a) in the case of the initial Contributor, the initial code and -documentation distributed under this Agreement, and -b) in the case of each subsequent Contributor: - -i) changes to the Program, and - -ii) additions to the Program; - -where such changes and/or additions to the Program originate from and -are distributed by that particular Contributor. A Contribution -'originates' from a Contributor if it was added to the Program by such -Contributor itself or anyone acting on such Contributor's behalf. -Contributions do not include additions to the Program which: (i) are -separate modules of software distributed in conjunction with the -Program under their own license agreement, and (ii) are not derivative -works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor -which are necessarily infringed by the use or sale of its Contribution -alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this -Agreement. - -"Recipient" means anyone who receives the Program under this -Agreement, including all Contributors. - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free copyright -license to reproduce, prepare derivative works of, publicly display, -publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and -object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free patent -license under Licensed Patents to make, use, sell, offer to sell, -import and otherwise transfer the Contribution of such Contributor, if -any, in source code and object code form. This patent license shall -apply to the combination of the Contribution and the Program if, at -the time the Contribution is added by the Contributor, such addition -of the Contribution causes such combination to be covered by the -Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder. - -c) Recipient understands that although each Contributor grants the -licenses to its Contributions set forth herein, no assurances are -provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow -Recipient to distribute the Program, it is Recipient's responsibility -to acquire that license before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient -copyright rights in its Contribution, if any, to grant the copyright -license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form -under its own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties -and conditions, express and implied, including warranties or -conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability -for damages, including direct, indirect, special, incidental and -consequential damages, such as lost profits; - -iii) states that any provisions which differ from this Agreement are -offered by that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such -Contributor, and informs licensees how to obtain it in a reasonable -manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the -Program. - -Contributors may not remove or alter any copyright notices contained -within the Program. - -Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a -commercial product offering should do so in a manner which does not -create potential liability for other Contributors. Therefore, if a -Contributor includes the Program in a commercial product offering, -such Contributor ("Commercial Contributor") hereby agrees to defend -and indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") arising -from claims, lawsuits and other legal actions brought by a third party -against the Indemnified Contributor to the extent caused by the acts -or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. -In order to qualify, an Indemnified Contributor must: a) promptly -notify the Commercial Contributor in writing of such claim, and b) -allow the Commercial Contributor to control, and cooperate with the -Commercial Contributor in, the defense and any related settlement -negotiations. The Indemnified Contributor may participate in any such -claim at its own expense. - -For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED 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. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable -laws, damage to or loss of data, programs or equipment, and -unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR -ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), 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 OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further -action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that -the Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of -the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of -time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use -and distribution of the Program as soon as reasonably practicable. -However, Recipient's obligations under this Agreement and any licenses -granted by Recipient relating to the Program shall continue and -survive. - -Everyone is permitted to copy and distribute copies of this Agreement, -but in order to avoid inconsistency the Agreement is copyrighted and -may only be modified in the following manner. The Agreement Steward -reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement -Steward has the right to modify this Agreement. The Eclipse Foundation -is the initial Agreement Steward. The Eclipse Foundation may assign -the responsibility to serve as the Agreement Steward to a suitable -separate entity. Each new version of the Agreement will be given a -distinguishing version number. The Program (including Contributions) -may always be distributed subject to the version of the Agreement -under which it was received. In addition, after a new version of the -Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives -no rights or licenses to the intellectual property of any Contributor -under this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No -party to this Agreement will bring a legal action under this Agreement -more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation. - -=============================================================================== -For Saxon including - saxon-8.7.jar - saxon-dom-8.7.jar - saxon-xpath-8.7.jar - - MOZILLA PUBLIC LICENSE -Version 1.0 - -1. Definitions. - - 1.1. ``Contributor'' means each entity that creates or contributes to the creation of Modifications. - - 1.2. ``Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor. - - 1.3. ``Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof. - - 1.4. ``Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data. - - 1.5. ``Executable'' means Covered Code in any form other than Source Code. - - 1.6. ``Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A. - - 1.7. ``Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License. - - 1.8. ``License'' means this document. - - 1.9. ``Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is: - - A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or previous Modifications. - - 1.10. ``Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License. - - 1.11. ``Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge. - - 1.12. ``You'' means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, ``You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, ``control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (``Utilize'') the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - - 2.2. Contributor Grant. - Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - - (a) Third Party Claims. - If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled ``LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation (``Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License. - - 6.3. Derivative Works. - If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a ``commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer software'' and ``commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the United States of America: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Santa Clara County, California, under the auspices of JAMS/EndDispute; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. - -12. RESPONSIBILITY FOR CLAIMS. - - Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis. - -EXHIBIT A. - - ``The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved. - - Contributor(s): ______________________________________.'' - -=============================================================================== - -For the Rhino JavaScript engine js-1.6R7.jar: - - MOZILLA PUBLIC LICENSE - Version 1.1 - - --------------- - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Code, prior Modifications used by a Contributor, and the Modifications - made by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified - as the Initial Developer in the Source Code notice required by Exhibit - A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - A. Any addition to or deletion from the contents of a file - containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, - and apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated interface definition files, scripts used to control - compilation and installation of an Executable, or source code - differential comparisons against either the Original Code or another - well known, available Covered Code of the Contributor's choice. The - Source Code can be in a compressed or archival form, provided the - appropriate decompression or de-archiving software is widely available - for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - For legal entities, "You" includes any entity which controls, is - controlled by, or is under common control with You. For purposes of - this definition, "control" means (a) the power, direct or indirect, - to cause the direction or management of such entity, whether by - contract or otherwise, or (b) ownership of more than fifty percent - (50%) of the outstanding shares or beneficial ownership of such - entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer to use, reproduce, - modify, display, perform, sublicense and distribute the Original - Code (or portions thereof) with or without Modifications, and/or - as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or - selling of Original Code, to make, have made, use, practice, - sell, and offer for sale, and/or otherwise dispose of the - Original Code (or portions thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are - effective on the date Initial Developer first distributes - Original Code under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: 1) for code that You delete from the Original Code; 2) - separate from the Original Code; or 3) for infringements caused - by: i) the modification of the Original Code or ii) the - combination of the Original Code with other software or devices. - - 2.2. Contributor Grant. - Subject to third party intellectual property claims, each Contributor - hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor, to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications - created by such Contributor (or portions thereof) either on an - unmodified basis, with other Modifications, as Covered Code - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or - selling of Modifications made by that Contributor either alone - and/or in combination with its Contributor Version (or portions - of such combination), to make, use, sell, offer for sale, have - made, and/or otherwise dispose of: 1) Modifications made by that - Contributor (or portions thereof); and 2) the combination of - Modifications made by that Contributor with its Contributor - Version (or portions of such combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are - effective on the date Contributor first makes Commercial Use of - the Covered Code. - - (d) Notwithstanding Section 2.2(b) above, no patent license is - granted: 1) for any code that Contributor has deleted from the - Contributor Version; 2) separate from the Contributor Version; - 3) for infringements caused by: i) third party modifications of - Contributor Version or ii) the combination of Modifications made - by that Contributor with other software (except as part of the - Contributor Version) or other devices; or 4) under Patent Claims - infringed by Covered Code in the absence of Modifications made by - that Contributor. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, - Contributor must include a text file with the Source Code - distribution titled "LEGAL" which describes the claim and the - party making the claim in sufficient detail that a recipient will - know whom to contact. If Contributor obtains such knowledge after - the Modification is made available as described in Section 3.2, - Contributor shall promptly modify the LEGAL file in all copies - Contributor makes available thereafter and shall take other steps - (such as notifying appropriate mailing lists or newsgroups) - reasonably calculated to inform those who received the Covered - Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming - interface and Contributor has knowledge of patent licenses which - are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to - Section 3.4(a) above, Contributor believes that Contributor's - Modifications are Contributor's original creation(s) and/or - Contributor has sufficient rights to grant the rights conveyed by - this License. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. However, You - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear than - any such warranty, support, indemnity or liability obligation is - offered by You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred by the - Initial Developer or such Contributor as a result of warranty, - support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under a license of Your choice, which may - contain terms different from this License, provided that You are in - compliance with the terms of this License and that the license for the - Executable version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version under a different - license You must make it absolutely clear that any terms which differ - from this License are offered by You alone, not by the Initial - Developer or any Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such - terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code - not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised - and/or new versions of the License from time to time. Each version - will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Netscape. No one - other than Netscape has the right to modify the terms applicable to - Covered Code created under this License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must (a) rename Your license so that - the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", - "MPL", "NPL" or any confusingly similar phrase do not appear in your - license (except to note that your license differs from this License) - and (b) otherwise make it clear that Your version of the license - contains terms which differ from the Mozilla Public License and - Netscape Public License. (Filling in the name of the Initial - Developer, Original Code or Contributor in the notice described in - Exhibit A shall not of themselves be deemed to be modifications of - this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE - IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, - YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE - COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER - OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, - all end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, - OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR - ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY - CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, - WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" and "commercial computer software documentation," as such - terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 - C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), - all U.S. Government End Users acquire Covered Code with only those - rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, with the losing party responsible for costs, including - without limitation, court costs and reasonable attorneys' fees and - expenses. The application of the United Nations Convention on - Contracts for the International Sale of Goods is expressly excluded. - Any law or regulation which provides that the language of a contract - shall be construed against the drafter shall not apply to this - License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the NPL or the alternative licenses, if any, specified - by the Initial Developer in the file described in Exhibit A. - -EXHIBIT A -Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License - Version 1.1 (the "License"); you may not use this file except in - compliance with the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - License for the specific language governing rights and limitations - under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. - Portions created by ______________________ are Copyright (C) ______ - _______________________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those - above. If you wish to allow use of your version of this file only - under the terms of the [____] License and not to allow others to use - your version of this file under the MPL, indicate your decision by - deleting the provisions above and replace them with the notice and - other provisions required by the [___] License. If you do not delete - the provisions above, a recipient may use your version of this file - under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] - - -=============================================================================== -Groovy (groovy-all-minimal-1.5.4.jar): - -/* - $Id: LICENSE.txt 156 2003-09-26 17:36:37Z jstrachan $ - - Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - - Redistribution and use of this software and associated documentation - ("Software"), with or without modification, are permitted provided - that the following conditions are met: - - 1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - - 2. 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. - - 3. The name "groovy" must not be used to endorse or promote - products derived from this Software without prior written - permission of The Codehaus. For written permission, - please contact info@codehaus.org. - - 4. Products derived from this Software may not be called "groovy" - nor may "groovy" appear in their names without prior written - permission of The Codehaus. "groovy" is a registered - trademark of The Codehaus. - - 5. Due credit should be given to The Codehaus - - http://groovy.codehaus.org/ - - THIS SOFTWARE IS PROVIDED BY THE CODEHAUS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESSED 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 CODEHAUS OR ITS 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. - - */ - -=============================================================================== - -Jython (jython-2.2.jar): - -A. HISTORY OF THE SOFTWARE -======================= - -JPython was created in late 1997 by Jim Hugunin. Jim was also the -primary developer while he was at CNRI. In February 1999 Barry Warsaw -took over as primary developer and released JPython version 1.1. - -In October 2000 Barry helped move the software to SourceForge -where it was renamed to Jython. Jython 2.0 and on are licensed under -the Jython specific license below. - -The standard library is covered by the Python Software Foundation -license. See the LICENSE_CPython.txt file for details. - -The zxJDBC package was written by Brian Zimmer and originally licensed -under the GNU Public License. The package is now covered by the Jython -Software License. - -The command line interpreter is covered by the Apache Software -License. See the LICENSE_Apache.txt file for details. - -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING JYTHON -================================ - -Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Jython Developers -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 Jython Developers nor the names of - its 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 REGENTS 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. - - - - -JPython 1.1.x Software License. -========================= - -______________________________________________________________________ - -IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. - -BY CLICKING ON THE "ACCEPT" BUTTON WHERE INDICATED, OR BY INSTALLING, -COPYING OR OTHERWISE USING THE SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO -THE TERMS AND CONDITIONS OF THIS AGREEMENT. - -______________________________________________________________________ - -JPython version 1.1.x - - 1. This LICENSE AGREEMENT is between the Corporation for National Research - Initiatives, having an office at 1895 Preston White Drive, Reston, VA - 20191 ("CNRI"), and the Individual or Organization ("Licensee") - accessing and using JPython version 1.1.x in source or binary form and - its associated documentation as provided herein ("Software"). - - 2. Subject to the terms and conditions of this License Agreement, CNRI - hereby grants Licensee a non-exclusive, non-transferable, royalty-free, - world-wide license to reproduce, analyze, test, perform and/or display - publicly, prepare derivative works, distribute, and otherwise use the - Software alone or in any derivative version, provided, however, that - CNRI's License Agreement and CNRI's notice of copyright, i.e., - "Copyright ©1996-1999 Corporation for National Research Initiatives; - All Rights Reserved" are both retained in the Software, alone or in any - derivative version prepared by Licensee. - - Alternatively, in lieu of CNRI's License Agreement, Licensee may - substitute the following text (omitting the quotes), provided, however, - that such text is displayed prominently in the Software alone or in any - derivative version prepared by Licensee: "JPython (Version 1.1.x) is - made available subject to the terms and conditions in CNRI's License - Agreement. This Agreement may be located on the Internet using the - following unique, persistent identifier (known as a handle): - 1895.22/1006. The License may also be obtained from a proxy server on - the Web using the following URL: http://hdl.handle.net/1895.22/1006." - - 3. In the event Licensee prepares a derivative work that is based on or - incorporates the Software or any part thereof, and wants to make the - derivative work available to the public as provided herein, then - Licensee hereby agrees to indicate in any such work, in a prominently - visible way, the nature of the modifications made to CNRI's Software. - - 4. Licensee may not use CNRI trademarks or trade name, including JPython - or CNRI, in a trademark sense to endorse or promote products or - services of Licensee, or any third party. Licensee may use the mark - JPython in connection with Licensee's derivative versions that are - based on or incorporate the Software, but only in the form - "JPython-based ___________________," or equivalent. - - 5. CNRI is making the Software available to Licensee on an "AS IS" basis. - CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY - OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY - REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY - PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE - ANY THIRD PARTY RIGHTS. - - 6. CNRI SHALL NOT BE LIABLE TO LICENSEE OR OTHER USERS OF THE SOFTWARE FOR - ANY INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE - THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. SOME STATES DO NOT - ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY SO THE ABOVE DISCLAIMER - MAY NOT APPLY TO LICENSEE. - - 7. This License Agreement may be terminated by CNRI (i) immediately upon - written notice from CNRI of any material breach by the Licensee, if the - nature of the breach is such that it cannot be promptly remedied; or - (ii) sixty (60) days following notice from CNRI to Licensee of a - material remediable breach, if Licensee has not remedied such breach - within that sixty-day period. - - 8. This License Agreement shall be governed by and interpreted in all - respects by the law of the State of Virginia, excluding conflict of law - provisions. Nothing in this Agreement shall be deemed to create any - relationship of agency, partnership, or joint venture between CNRI and - Licensee. - - 9. By clicking on the "ACCEPT" button where indicated, or by installing, - copying or otherwise using the Software, Licensee agrees to be bound by - the terms and conditions of this License Agreement. - - -=============================================================================== - -The jars; -activation-1.1.jar, -jaxb-api-2.1.jar, -jaxb-impl-2.1.6.jar, -jaxb-xjc-2.1.4.jar, -jaxb2-reflection-2.1.4.jar, -jsr181-api-1.0-MR1.jar, -jsr250-api-1.0.jar, -jaxws-api-2.1-1.jar, -mail-1.4.jar, -saaj-api-1.3.jar, -servlet-api-2.5.jar, -stax-api-1.0-commons-cli-1.0.jar2.jar - -COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 - - - 1. Definitions. - - 1.1. "Contributor" means each individual or entity that - creates or contributes to the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the - Original Software, prior Modifications used by a - Contributor (if any), and the Modifications made by that - particular Contributor. - - 1.3. "Covered Software" means (a) the Original Software, or - (b) Modifications, or (c) the combination of files - containing Original Software with files containing - Modifications, in each case including portions thereof. - - 1.4. "Executable" means the Covered Software in any form - other than Source Code. - - 1.5. "Initial Developer" means the individual or entity - that first makes Original Software available under this - License. - - 1.6. "Larger Work" means a work which combines Covered - Software or portions thereof with code not governed by the - terms of this License. - - 1.7. "License" means this document. - - 1.8. "Licensable" means having the right to grant, to the - maximum extent possible, whether at the time of the initial - grant or subsequently acquired, any and all of the rights - conveyed herein. - - 1.9. "Modifications" means the Source Code and Executable - form of any of the following: - - A. Any file that results from an addition to, - deletion from or modification of the contents of a - file containing Original Software or previous - Modifications; - - B. Any new file that contains any part of the - Original Software or previous Modification; or - - C. Any new file that is contributed or otherwise made - available under the terms of this License. - - 1.10. "Original Software" means the Source Code and - Executable form of computer software code that is - originally released under this License. - - 1.11. "Patent Claims" means any patent claim(s), now owned - or hereafter acquired, including without limitation, - method, process, and apparatus claims, in any patent - Licensable by grantor. - - 1.12. "Source Code" means (a) the common form of computer - software code in which modifications are made and (b) - associated documentation included in or with such code. - - 1.13. "You" (or "Your") means an individual or a legal - entity exercising rights under, and complying with all of - the terms of, this License. For legal entities, "You" - includes any entity which controls, is controlled by, or is - under common control with You. For purposes of this - definition, "control" means (a) the power, direct or - indirect, to cause the direction or management of such - entity, whether by contract or otherwise, or (b) ownership - of more than fifty percent (50%) of the outstanding shares - or beneficial ownership of such entity. - - 2. License Grants. - - 2.1. The Initial Developer Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, the - Initial Developer hereby grants You a world-wide, - royalty-free, non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Initial Developer, - to use, reproduce, modify, display, perform, - sublicense and distribute the Original Software (or - portions thereof), with or without Modifications, - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, - using or selling of Original Software, to make, have - made, use, practice, sell, and offer for sale, and/or - otherwise dispose of the Original Software (or - portions thereof). - - (c) The licenses granted in Sections 2.1(a) and (b) - are effective on the date Initial Developer first - distributes or otherwise makes the Original Software - available to a third party under the terms of this - License. - - (d) Notwithstanding Section 2.1(b) above, no patent - license is granted: (1) for code that You delete from - the Original Software, or (2) for infringements - caused by: (i) the modification of the Original - Software, or (ii) the combination of the Original - Software with other software or devices. - - 2.2. Contributor Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, each - Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Contributor to - use, reproduce, modify, display, perform, sublicense - and distribute the Modifications created by such - Contributor (or portions thereof), either on an - unmodified basis, with other Modifications, as - Covered Software and/or as part of a Larger Work; and - - - (b) under Patent Claims infringed by the making, - using, or selling of Modifications made by that - Contributor either alone and/or in combination with - its Contributor Version (or portions of such - combination), to make, use, sell, offer for sale, - have made, and/or otherwise dispose of: (1) - Modifications made by that Contributor (or portions - thereof); and (2) the combination of Modifications - made by that Contributor with its Contributor Version - (or portions of such combination). - - (c) The licenses granted in Sections 2.2(a) and - 2.2(b) are effective on the date Contributor first - distributes or otherwise makes the Modifications - available to a third party. - - (d) Notwithstanding Section 2.2(b) above, no patent - license is granted: (1) for any code that Contributor - has deleted from the Contributor Version; (2) for - infringements caused by: (i) third party - modifications of Contributor Version, or (ii) the - combination of Modifications made by that Contributor - with other software (except as part of the - Contributor Version) or other devices; or (3) under - Patent Claims infringed by Covered Software in the - absence of Modifications made by that Contributor. - - 3. Distribution Obligations. - - 3.1. Availability of Source Code. - - Any Covered Software that You distribute or otherwise make - available in Executable form must also be made available in - Source Code form and that Source Code form must be - distributed only under the terms of this License. You must - include a copy of this License with every copy of the - Source Code form of the Covered Software You distribute or - otherwise make available. You must inform recipients of any - such Covered Software in Executable form as to how they can - obtain such Covered Software in Source Code form in a - reasonable manner on or through a medium customarily used - for software exchange. - - 3.2. Modifications. - - The Modifications that You create or to which You - contribute are governed by the terms of this License. You - represent that You believe Your Modifications are Your - original creation(s) and/or You have sufficient rights to - grant the rights conveyed by this License. - - 3.3. Required Notices. - - You must include a notice in each of Your Modifications - that identifies You as the Contributor of the Modification. - You may not remove or alter any copyright, patent or - trademark notices contained within the Covered Software, or - any notices of licensing or any descriptive text giving - attribution to any Contributor or the Initial Developer. - - 3.4. Application of Additional Terms. - - You may not offer or impose any terms on any Covered - Software in Source Code form that alters or restricts the - applicable version of this License or the recipients' - rights hereunder. You may choose to offer, and to charge a - fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Software. - However, you may do so only on Your own behalf, and not on - behalf of the Initial Developer or any Contributor. You - must make it absolutely clear that any such warranty, - support, indemnity or liability obligation is offered by - You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred - by the Initial Developer or such Contributor as a result of - warranty, support, indemnity or liability terms You offer. - - - 3.5. Distribution of Executable Versions. - - You may distribute the Executable form of the Covered - Software under the terms of this License or under the terms - of a license of Your choice, which may contain terms - different from this License, provided that You are in - compliance with the terms of this License and that the - license for the Executable form does not attempt to limit - or alter the recipient's rights in the Source Code form - from the rights set forth in this License. If You - distribute the Covered Software in Executable form under a - different license, You must make it absolutely clear that - any terms which differ from this License are offered by You - alone, not by the Initial Developer or Contributor. You - hereby agree to indemnify the Initial Developer and every - Contributor for any liability incurred by the Initial - Developer or such Contributor as a result of any such terms - You offer. - - 3.6. Larger Works. - - You may create a Larger Work by combining Covered Software - with other code not governed by the terms of this License - and distribute the Larger Work as a single product. In such - a case, You must make sure the requirements of this License - are fulfilled for the Covered Software. - - 4. Versions of the License. - - 4.1. New Versions. - - Sun Microsystems, Inc. is the initial license steward and - may publish revised and/or new versions of this License - from time to time. Each version will be given a - distinguishing version number. Except as provided in - Section 4.3, no one other than the license steward has the - right to modify this License. - - 4.2. Effect of New Versions. - - You may always continue to use, distribute or otherwise - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. If the Initial Developer includes a - notice in the Original Software prohibiting it from being - distributed or otherwise made available under any - subsequent version of the License, You must distribute and - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. Otherwise, You may also choose to - use, distribute or otherwise make the Covered Software - available under the terms of any subsequent version of the - License published by the license steward. - - 4.3. Modified Versions. - - When You are an Initial Developer and You want to create a - new license for Your Original Software, You may create and - use a modified version of this License if You: (a) rename - the license and remove any references to the name of the - license steward (except to note that the license differs - from this License); and (b) otherwise make it clear that - the license contains terms which differ from this License. - - - 5. DISCLAIMER OF WARRANTY. - - COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" - BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, - INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED - SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR - PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND - PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY - COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE - INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF - ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF - WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS - DISCLAIMER. - - 6. TERMINATION. - - 6.1. This License and the rights granted hereunder will - terminate automatically if You fail to comply with terms - herein and fail to cure such breach within 30 days of - becoming aware of the breach. Provisions which, by their - nature, must remain in effect beyond the termination of - this License shall survive. - - 6.2. If You assert a patent infringement claim (excluding - declaratory judgment actions) against Initial Developer or - a Contributor (the Initial Developer or Contributor against - whom You assert such claim is referred to as "Participant") - alleging that the Participant Software (meaning the - Contributor Version where the Participant is a Contributor - or the Original Software where the Participant is the - Initial Developer) directly or indirectly infringes any - patent, then any and all rights granted directly or - indirectly to You by such Participant, the Initial - Developer (if the Initial Developer is not the Participant) - and all Contributors under Sections 2.1 and/or 2.2 of this - License shall, upon 60 days notice from Participant - terminate prospectively and automatically at the expiration - of such 60 day notice period, unless if within such 60 day - period You withdraw Your claim with respect to the - Participant Software against such Participant either - unilaterally or pursuant to a written agreement with - Participant. - - 6.3. In the event of termination under Sections 6.1 or 6.2 - above, all end user licenses that have been validly granted - by You or any distributor hereunder prior to termination - (excluding licenses granted to You by any distributor) - shall survive termination. - - 7. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE - INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF - COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE - LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR - CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT - LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK - STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL - INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT - APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO - NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR - CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT - APPLY TO YOU. - - 8. U.S. GOVERNMENT END USERS. - - The Covered Software is a "commercial item," as that term is - defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial - computer software" (as that term is defined at 48 C.F.R. - 252.227-7014(a)(1)) and "commercial computer software - documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. - 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 - through 227.7202-4 (June 1995), all U.S. Government End Users - acquire Covered Software with only those rights set forth herein. - This U.S. Government Rights clause is in lieu of, and supersedes, - any other FAR, DFAR, or other clause or provision that addresses - Government rights in computer software under this License. - - 9. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the - extent necessary to make it enforceable. This License shall be - governed by the law of the jurisdiction specified in a notice - contained within the Original Software (except to the extent - applicable law, if any, provides otherwise), excluding such - jurisdiction's conflict-of-law provisions. Any litigation - relating to this License shall be subject to the jurisdiction of - the courts located in the jurisdiction and venue specified in a - notice contained within the Original Software, with the losing - party responsible for costs, including, without limitation, court - costs and reasonable attorneys' fees and expenses. The - application of the United Nations Convention on Contracts for the - International Sale of Goods is expressly excluded. Any law or - regulation which provides that the language of a contract shall - be construed against the drafter shall not apply to this License. - You agree that You alone are responsible for compliance with the - United States export administration regulations (and the export - control laws and regulation of any other countries) when You use, - distribute or otherwise make available any Covered Software. - - 10. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or - indirectly, out of its utilization of rights under this License - and You agree to work with Initial Developer and Contributors to - distribute such responsibility on an equitable basis. Nothing - herein is intended or shall be deemed to constitute any admission - of liability. - -=============================================================================== - -JRuby (jruby-complete-1.0.jar), wsdl4j (wsdl4j-1.6.2.jar): - -Common Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - - a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and - b) in the case of each subsequent Contributor: - - i) changes to the Program, and - - ii) additions to the Program; - - where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. - -2. GRANT OF RIGHTS - - a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. - - b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. - - c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. - - d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: - - a) it complies with the terms and conditions of this Agreement; and - - b) its license agreement: - - i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; - - ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; - - iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and - - iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - - a) it must be made available under this Agreement; and - - b) a copy of this Agreement must be included with each copy of the Program. - -Contributors may not remove or alter any copyright notices contained within the Program. - -Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 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. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. - -=============================================================================== - -backport-util-concurrent-2.2.jar: - -The software comprising backport-util-concurrent is based in large -part on the code from JSR166, and the package dl.util.concurrent. -The software has been released to the public domain, as explained at: -http://creativecommons.org/licenses/publicdomain, excepting portions -of the class -edu.emory.mathcs.backport.java.util.concurrent.CopyOnWriteArrayList, -which were adapted from class java.util.ArrayList, written by Sun -Microsystems, Inc, which are used with kind permission, and subject -to the following: - -Copyright 2002-2004 Sun Microsystems, Inc. All rights reserved. Use is -subject to the following license terms. - - "Sun hereby grants you a non-exclusive, worldwide, non-transferrable - license to use and distribute the Java Software technologies as part - of a larger work in source and binary forms, with or without - modification, provided that the following conditions are met: - - -Neither the name of or trademarks of Sun may be used to endorse or - promote products derived from the Java Software technology without - specific prior written permission. - - -Redistributions of source or binary code must be accompanied by the - following notice and disclaimers: - - Portions copyright Sun Microsystems, Inc. Used with kind permission. - - This software is provided AS IS, without a warranty of any kind. ALL - EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PUPOSE OR - NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN - MICROSYSTEMS, INC. AND ITS LICENSORS SHALL NOT BE LIABLE - FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS - DERIVATIVES. IN NO EVENT WILL SUN MICROSYSTEMS, INC. OR - ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR - DATA, OR FOR DIRECT, INDIRECT,CONSQUENTIAL, INCIDENTAL - OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF - THE THEORY OR LIABILITY, ARISING OUT OF THE USE OF OR - INABILITY TO USE SOFTWARE, EVEN IF SUN MICROSYSTEMS, INC. - HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - You acknowledge that Software is not designed, licensed or intended for - use in the design, construction, operation or maintenance of any nuclear - facility." - -=============================================================================== -rome-0.9.jar - -Copyright 2004 Sun Microsystems, Inc. - -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. - -=============================================================================== -jdom-1.0.jar : - -$Id: LICENSE.txt,v 1.11 2004/02/06 09:32:57 jhunter Exp $ - - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions, and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions, and the disclaimer that follows - these conditions in the documentation and/or other materials - provided with the distribution. - - 3. The name "JDOM" must not be used to endorse or promote products - derived from this software without prior written permission. For - written permission, please contact . - - 4. Products derived from this software may not be called "JDOM", nor - may "JDOM" appear in their name, without prior written permission - from the JDOM Project Management . - - In addition, we request (but do not require) that you include in the - end-user documentation provided with the redistribution and/or in the - software itself an acknowledgement equivalent to the following: - "This product includes software developed by the - JDOM Project (http://www.jdom.org/)." - Alternatively, the acknowledgment may be graphical using the logos - available at http://www.jdom.org/images/logos. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 JDOM AUTHORS OR THE PROJECT - 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. - - This software consists of voluntary contributions made by many - individuals on behalf of the JDOM Project and was originally - created by Jason Hunter and - Brett McLaughlin . For more information - on the JDOM Project, please see . - -======================================================================== - -dwr-2.0.1.jar : - -/* -* Copyright 2005 Joe Walker -* -* 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. -*/ - -========================================================================== - -dojotoolkit V1.0.0: - -The "New" BSD License: -********************** - -Copyright (c) 2005, The Dojo Foundation -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 Dojo Foundation nor the names of its 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. - -================================================================================ - -The module tuscany-implementation-script-1.0-incubating.jar temporarily includes -one file under the below BSD license with the following copyright: - - Copyright (c) 2006, Sun Microsystems, Inc. - All rights reserved. - -BSD license: - - 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. - -================================================================================ - -The serp-1.12.0.jar is distributed under the BSD license with the following copyright: - - Copyright (c) 2002, A. Abram White - All rights reserved. - -BSD license: - - 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. - -================================================================================ -The javacc-3.2.jar, and howl-1.0.1-1.jar are distributed under the BSD license: - -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. - -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. - -================================================================================ - -The tuscany-assembly-xsd jar includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================ -License for the Service Data Objects JavaDoc and Interface Definition files. (tuscany-sdo-api-r2.1-1.0-incubating.jar) - -These files being ... -commonj/sdo/ChangeSummary$Setting.class -commonj/sdo/ChangeSummary.class -commonj/sdo/DataGraph.class -commonj/sdo/DataObject.class -commonj/sdo/helper/CopyHelper.class -commonj/sdo/helper/DataFactory.class -commonj/sdo/helper/DataHelper.class -commonj/sdo/helper/EqualityHelper.class -commonj/sdo/helper/HelperContext.class -commonj/sdo/helper/TypeHelper.class -commonj/sdo/helper/XMLDocument.class -commonj/sdo/helper/XMLHelper.class -commonj/sdo/helper/XSDHelper.class -commonj/sdo/impl/ExternalizableDelegator$Resolvable.class -commonj/sdo/impl/ExternalizableDelegator.class -commonj/sdo/Property.class -commonj/sdo/Sequence.class -commonj/sdo/Type.class -xml/datagraph.xsd -xml/sdoJava.xml -xml/sdoJava.xsd -xml/sdoModel.xml -xml/sdoModel.xsd -xml/sdoXML.xml -xml/sdoXML.xsd - - -License for the Service Data Objects JavaDoc and Interface Definition files. - -The Service Data Objects Specification is being provided by the copyright holders under the following -license. By using and/or copying this work, you agree that you have read, understood and will comply with -the following terms and conditions: - -Permission to copy, display and distribute the Service Data Objects Specification and/or portions thereof, without -modification, in any medium without fee or royalty is hereby granted, provided that you include the -following on ALL copies of the Service Data Objects Specification, or portions thereof, that you make: - -1. A link or URL to the Service Data Objects Specification at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Service Data Objects Specification. - -BEA, IBM, Oracle, Primeton Technologies, Rogue Wave Software, SAP, Software AG, Sun Microsystems, Xcalia, -Zend Technologies (collectively, the “Authors”) agree to grant you a royalty-free license, under reasonable, -non-discriminatory terms and conditions to patents that they deem necessary to implement the Service Data -Objects Specification. - -THE Service Data Objects SPECIFICATION IS PROVIDED "AS IS," AND THE AUTHORS MAKE NO REPRESENTATIONS OR -WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SPECIFICATION AND THE IMPLEMENTATION OF ITS CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, -NON-INFRINGEMENT OR TITLE. THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL -OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THE SERVICE DATA OBJECTS -SPECIFICATION. - -The name and trademarks of the Authors may NOT be used in any manner, including advertising or publicity -pertaining to the Service Data Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects Specification will at all times remain with the -Authors. - -No other rights are granted by implication, estoppel or otherwise. -================================================================================ - diff --git a/java/sca/contrib/distribution/features/all/src/main/release/bin/NOTICE b/java/sca/contrib/distribution/features/all/src/main/release/bin/NOTICE deleted file mode 100644 index 5daa9a3dfe..0000000000 --- a/java/sca/contrib/distribution/features/all/src/main/release/bin/NOTICE +++ /dev/null @@ -1,95 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses XmlSchema developed at -The Apache Software Foundation (http://ws.apache.org/commons/XmlSchema) - Portions Copyright 2006 International Business Machines Corp. - -This product includes/uses ode-bpel-api-1.1 developed at -The Apache Software Foundation (http://ode.apache.org) - - Copyright 1999-2006 Intalio - This product includes software developed by Intalio (http://www.intalio.com) - - Copyright 2006 Sybase - This product includes software developed by Sybase.(http://www.sybase.com) - -"This product includes software developed by the Spring Framework - Project (http://www.springframework.org)." - -This product includes/uses the Jetty Servlet Engine (http://jetty.mortbay.org), -developed by Mort Bay Consulting (http://www.mortbay.com) - -This product includes/uses the Groovy Script Engine (http://groovy.codehaus.org/), -Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - -This product includes/uses the Axion : the Open Source Java Database (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. All rights reserved. - -This product includes/uses DOM4J : the flexible XML framework for java (http://www.dom4j.org/) - Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. - -This product includes/uses software, AOP alliance (http://aopalliance.sourceforge.net) -License: Public Domain - -This product includes/uses JSON-RPC-Java (http://oss.metaparadigm.com/jsonrpc/) - -This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) - Copyright (c) 2003-2004 Jan-Klaas Kollhof - Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd - -This product includes software from the GlassFish project (https://glassfish.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes software from the Rome project (https://rome.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes/uses the Eclipse Modeling Framework project (http://www.eclipse.org/emf/) - -This product includes/uses the Mozilla Rhino project (http://www.mozilla.org/rhino/) - -This product includes/uses the Sourceforge wsdl4j project (http://sourceforge.net/projects/wsdl4j/)i - -This product includes/uses the Codehaus JRuby project (http://jruby.codehaus.org/) - -This product includes/uses JDOM (http://www.jdom.org/) - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. All rights reserved. - -This product includes/uses DWR (http://getahead.org/dwr) - Copyright 2005 Joe Walker. All rights reserved. - -This product includes/uses dojotoolkit (http://dojotoolkit.org/) - Copyright (c) 2005, The Dojo Foundation. All rights reserved. - -This product includes/uses Howl (http://howl.objectweb.org/) - Copyright (c) 2004, Bull S.A. - -This product includes/uses axion (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. - -This product includes/uses javacc (https://javacc.dev.java.net/) - Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved. - -The Program includes all or portions of the following software: "The -Saxon XSLT and XQuery Processor from Saxonica Limited" distributed under -an MPL v1.0 license. Please refer to the homepage URL at -http://www.saxonica.com/. - -This product includes/uses Serp (http://serp.sourceforge.net/) under the BSD license: - Copyright (c) 2002, A. Abram White. All rights reserved. - -This product also includes software under the BSD license -with the following copyright: - Copyright (c) 2006, Sun Microsystems, Inc. All rights reserved. - -This product includes software under the Service Component Architecture JavaDoc, -Interface Definition files and XSD files license. - (c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - diff --git a/java/sca/contrib/distribution/features/all/src/main/release/src/BUILDING b/java/sca/contrib/distribution/features/all/src/main/release/src/BUILDING deleted file mode 100644 index 65d09c5eae..0000000000 --- a/java/sca/contrib/distribution/features/all/src/main/release/src/BUILDING +++ /dev/null @@ -1,55 +0,0 @@ -Building the Apache Tuscany SCA 1.2 (incubating) April 2008 Release source distribution -======================================================================================= - -Initial Setup -------------- - -1) Install J2SE 5.0 SDK, which can be downloaded from - http://java.sun.com/j2se/1.5.0/download.jsp. Use version of 1.5.0_06 JDK or higher. - -2) Make sure that your JAVA_HOME environment variable is set to the newly installed - JDK location, and that your PATH includes %JAVA_HOME%\bin (windows) or - $JAVA_HOME$/bin (unix). - -3) Install Maven 2.0.7 or higher, which can be downloaded from - http://maven.apache.org/download.html. Make sure that your PATH includes - the MVN_HOME/bin directory. - -4) Make sure that your MAVEN_OPTS environment variable has -Xmx128M (or more), - you can manually do this by executing the following in your prompt : - Windows users: - set MAVEN_OPTS=-Xmx128M - Unix users: - export MAVEN_OPTS=-Xmx128M - - -Building --------- - -1) Change to the top level directory of Apache Tuscany source distribution. -2) Run - - $> mvn - - This will compile Apache Tuscany and run all of the tests in the source - distribution. - - Depending on the load of remote Maven 2.0 repositories, you may have - to run "mvn" several times utill the required dependencies are - all located in your local maven repository. It usually takes some time for - maven to download required dependencies in the first build. Once all the - dependencies have been downloaded you may use the -o option to run maven - in offline mode, for example, 'mvn clean install -o'. - - -Building the distributions --------------------------- - -1) Change to the distribution folder -2) Run - - $> mvn - - This will build the binary and source distribution with .zip and .gz - formats in the distribution/target directory. - diff --git a/java/sca/contrib/distribution/features/all/src/main/release/src/LICENSE b/java/sca/contrib/distribution/features/all/src/main/release/src/LICENSE deleted file mode 100644 index 144d8ae692..0000000000 --- a/java/sca/contrib/distribution/features/all/src/main/release/src/LICENSE +++ /dev/null @@ -1,397 +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. - -=============================================================================================================== - -The module itest/databindings/common includes the test schema; datagraph.xsd, sdoJava.xsd, and sdoModel.xsd -under the following license: - -License for the Service Data Objects JavaDoc, Interface Definition files -and XSD files. - -The Service Data Objects JavaDoc, Interface Definition files and XSD files -are being provided by the copyright holders under the following license. -By using and/or copying this work, you agree that you have read, -understood and will comply with the following terms and conditions: - -Permission to copy, display, make derivative works of and distribute -the Service Data Objects JavaDoc, Interface Definition files and XSD files -(the "Artifacts") in any medium without fee or royalty is hereby granted, -provided that you include the following on ALL copies of the Artifacts, -or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - - - -THE ARTIFACTS ARE PROVIDED "AS IS" AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Data -Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects -Specification will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.11, last updated on 2007/12/21 - -================================================================================================================= - -The 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. - -================================================================================================================= - -The module assembly-xsd includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================================================= -The modules - -binding-ws-xml -databinding -databinding-axiom -databinding-jaxb -databinding-json -databinding-sdo -databinding-sdo-axiom -databinding-xmlbeans -interface-wsdl-xml - -Include the ipo.xsd and address.xsd information from the XML Schema Primer -(http://www.w3.org/TR/2004/PER-xmlschema-0-20040318/) combined into the -file ipo.xsd and extended with UK postcode structures. - -The ipo.xsd file is include under the following license: - -W3C(c) SOFTWARE NOTICE AND LICENSE -http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - -This work (and included software, documentation such as READMEs, or other -related items) is being provided by the copyright holders under the following -license. By obtaining, using and/or copying this work, you (the licensee) agree -that you have read, understood, and will comply with the following terms and conditions. - -Permission to copy, modify, and distribute this software and its documentation, -with or without modification, for any purpose and without fee or royalty is -hereby granted, provided that you include the following on ALL copies of the -software and documentation or portions thereof, including modifications: - - 1. The full text of this NOTICE in a location viewable to users of the - redistributed or derivative work. - 2. Any pre-existing intellectual property disclaimers, notices, or terms - and conditions. If none exist, the W3C Software Short Notice should be - included (hypertext is preferred, text is permitted) within the body of - any redistributed or derivative code. - 3. Notice of any changes or modifications to the files, including the date - changes were made. (We recommend you provide URIs to the location from which - the code is derived.) - -THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE -NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, -WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE -USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, -COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. - -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. - -The name and trademarks of copyright holders may NOT be used in advertising or -publicity pertaining to the software without specific, written prior permission. -Title to copyright in this software and any associated documentation will at all -times remain with copyright holders. diff --git a/java/sca/contrib/distribution/features/all/src/main/release/src/NOTICE b/java/sca/contrib/distribution/features/all/src/main/release/src/NOTICE deleted file mode 100644 index 31540fd607..0000000000 --- a/java/sca/contrib/distribution/features/all/src/main/release/src/NOTICE +++ /dev/null @@ -1,39 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) - Copyright (c) 2003-2004 Jan-Klaas Kollhof - Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd - -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. - -This product includes software under the Service Component Architecture JavaDoc, -Interface Definition files and XSD files license. - (c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - -This product includes software under the W3C(c) Software License -with the following copyright: - -Copyright (c) 2008 World Wide Web Consortium, (Massachusetts Institute of Technology, -European Research Consortium for Informatics and Mathematics, Keio University). -All Rights Reserved. This work is distributed under the W3C(c) Software License [1] in -the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied -warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - - diff --git a/java/sca/contrib/distribution/features/core/pom.xml b/java/sca/contrib/distribution/features/core/pom.xml deleted file mode 100644 index 6cf324c889..0000000000 --- a/java/sca/contrib/distribution/features/core/pom.xml +++ /dev/null @@ -1,340 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-distribution-features - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-distribution-core - Apache Tuscany SCA Core Distribution - pom - - - - - - org.apache.tuscany.sca - tuscany-assembly-xml - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-assembly-xsd - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-binding-corba-runtime - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-contribution-impl - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-contribution-java - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-contribution-namespace - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-core - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-core-databinding - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-databinding - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-databinding-jaxb - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-data-api - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-definitions-xml - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-endpoint - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-extensibility - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-extensibility-equinox - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-host-corba-jse - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-implementation-node-runtime - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-interface-java-xml - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-interface-java-jaxws - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-interface-wsdl-xml - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-node-api - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-node-impl - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-node-launcher - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-node-launcher-equinox - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-node-launcher-webapp - 2.0-SNAPSHOT - war - - - - - org.apache.tuscany.sca - tuscany-monitor - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-monitor-logging - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-policy - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-policy-security - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-policy-xml - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-sca-api - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-xsd - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-xsd-xml - 2.0-SNAPSHOT - - - - - - - - default - - true - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - distribution-package - package - - single - - - - src/main/assembly/bin.xml - src/main/assembly/src.xml - - gnu - apache-tuscany-sca-1.4-SNAPSHOT - - - - - - - - - - - modules - - ../../../modules/assembly - ../../../modules/assembly-xml - ../../../modules/assembly-xsd - ../../../modules/binding-corba - ../../../modules/binding-corba-runtime - ../../../modules/binding-sca - ../../../modules/binding-sca-xml - ../../../modules/contribution - ../../../modules/contribution-impl - ../../../modules/contribution-java - ../../../modules/contribution-namespace - ../../../modules/contribution-xml - ../../../modules/core - ../../../modules/core-databinding - ../../../modules/core-spi - ../../../modules/data-api - ../../../modules/databinding - ../../../modules/databinding-jaxb - ../../../modules/definitions - ../../../modules/definitions-xml - ../../../modules/endpoint - ../../../modules/extensibility - ../../../modules/extensibility-equinox - ../../../modules/host-corba - ../../../modules/host-corba-jse - ../../../modules/host-embedded - ../../../modules/host-http - ../../../modules/implementation-java - ../../../modules/implementation-java-runtime - ../../../modules/implementation-java-xml - ../../../modules/implementation-node - ../../../modules/implementation-node-runtime - ../../../modules/interface - ../../../modules/interface-java - ../../../modules/interface-java-jaxws - ../../../modules/interface-java-xml - ../../../modules/interface-wsdl - ../../../modules/interface-wsdl-xml - ../../../modules/monitor - ../../../modules/monitor-logging - ../../../modules/node-api - ../../../modules/node-impl - ../../../modules/node-launcher - ../../../modules/node-launcher-equinox - ../../../modules/node-launcher-webapp - ../../../modules/policy - ../../../modules/policy-security - ../../../modules/policy-xml - ../../../modules/sca-api - ../../../modules/xsd - ../../../modules/xsd-xml - - - - - diff --git a/java/sca/contrib/distribution/features/core/src/main/assembly/bin.xml b/java/sca/contrib/distribution/features/core/src/main/assembly/bin.xml deleted file mode 100644 index 200cc91080..0000000000 --- a/java/sca/contrib/distribution/features/core/src/main/assembly/bin.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - true - tuscany-sca-1.4-SNAPSHOT - - - zip - - - - src/main/components/bin-common.xml - src/main/components/bin-dependencies.xml - src/main/components/bin-samples.xml - - diff --git a/java/sca/contrib/distribution/features/core/src/main/assembly/src.xml b/java/sca/contrib/distribution/features/core/src/main/assembly/src.xml deleted file mode 100644 index 6fe3e2dae1..0000000000 --- a/java/sca/contrib/distribution/features/core/src/main/assembly/src.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - src - true - tuscany-sca-1.4-SNAPSHOT-src - - - zip - - - - src/main/components/src-common.xml - src/main/components/src-modules.xml - - diff --git a/java/sca/contrib/distribution/features/core/src/main/components/bin-common.xml b/java/sca/contrib/distribution/features/core/src/main/components/bin-common.xml deleted file mode 100644 index c69e8e3699..0000000000 --- a/java/sca/contrib/distribution/features/core/src/main/components/bin-common.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - src/main/release - - - CHANGES - DISCLAIMER - README - RELEASE_NOTES - - - - src/main/release/bin - - - INSTALL - LICENSE - NOTICE - - - - - diff --git a/java/sca/contrib/distribution/features/core/src/main/components/bin-dependencies.xml b/java/sca/contrib/distribution/features/core/src/main/components/bin-dependencies.xml deleted file mode 100644 index a1bde3932b..0000000000 --- a/java/sca/contrib/distribution/features/core/src/main/components/bin-dependencies.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - modules - false - - org.apache.tuscany.sca:* - - - - - - lib - false - - org.apache.tuscany.sca:* - - - - - diff --git a/java/sca/contrib/distribution/features/core/src/main/components/bin-filtered-dependencies.xml b/java/sca/contrib/distribution/features/core/src/main/components/bin-filtered-dependencies.xml deleted file mode 100644 index 58d8ca1407..0000000000 --- a/java/sca/contrib/distribution/features/core/src/main/components/bin-filtered-dependencies.xml +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - modules - false - - org.apache.tuscany.sca:* - - - org.apache.tuscany.sca:tuscany-assembly - org.apache.tuscany.sca:tuscany-assembly-xml - org.apache.tuscany.sca:tuscany-assembly-xsd - org.apache.tuscany.sca:tuscany-binding-corba - org.apache.tuscany.sca:tuscany-binding-corba-runtime - org.apache.tuscany.sca:tuscany-binding-sca - org.apache.tuscany.sca:tuscany-binding-sca-xml - org.apache.tuscany.sca:tuscany-contribution - org.apache.tuscany.sca:tuscany-contribution-impl - org.apache.tuscany.sca:tuscany-contribution-java - org.apache.tuscany.sca:tuscany-contribution-namespace - org.apache.tuscany.sca:tuscany-contribution-xml - org.apache.tuscany.sca:tuscany-core - org.apache.tuscany.sca:tuscany-core-databinding - org.apache.tuscany.sca:tuscany-core-spi - org.apache.tuscany.sca:tuscany-data-api - org.apache.tuscany.sca:tuscany-databinding - org.apache.tuscany.sca:tuscany-databinding-jaxb - org.apache.tuscany.sca:tuscany-definitions - org.apache.tuscany.sca:tuscany-definitions-xml - org.apache.tuscany.sca:tuscany-endpoint - org.apache.tuscany.sca:tuscany-extensibility - org.apache.tuscany.sca:tuscany-extensibility-equinox - org.apache.tuscany.sca:tuscany-host-corba - org.apache.tuscany.sca:tuscany-host-corba-jse - org.apache.tuscany.sca:tuscany-host-embedded - org.apache.tuscany.sca:tuscany-host-http - org.apache.tuscany.sca:tuscany-implementation-java - org.apache.tuscany.sca:tuscany-implementation-java-runtime - org.apache.tuscany.sca:tuscany-implementation-java-xml - org.apache.tuscany.sca:tuscany-implementation-node - org.apache.tuscany.sca:tuscany-implementation-node-runtime - org.apache.tuscany.sca:tuscany-interface - org.apache.tuscany.sca:tuscany-interface-java - org.apache.tuscany.sca:tuscany-interface-java-jaxws - org.apache.tuscany.sca:tuscany-interface-java-xml - org.apache.tuscany.sca:tuscany-interface-wsdl - org.apache.tuscany.sca:tuscany-interface-wsdl-xml - org.apache.tuscany.sca:tuscany-monitor - org.apache.tuscany.sca:tuscany-monitor-logging - org.apache.tuscany.sca:tuscany-node-api - org.apache.tuscany.sca:tuscany-node-impl - org.apache.tuscany.sca:tuscany-node-launcher - org.apache.tuscany.sca:tuscany-node-launcher-equinox - org.apache.tuscany.sca:tuscany-node-launcher-webapp - org.apache.tuscany.sca:tuscany-policy - org.apache.tuscany.sca:tuscany-policy-security - org.apache.tuscany.sca:tuscany-policy-xml - org.apache.tuscany.sca:tuscany-sca-api - org.apache.tuscany.sca:tuscany-xsd - org.apache.tuscany.sca:tuscany-xsd-xml - - - - - - lib - false - - asm:asm-all - cglib:cglib-nodep - com.sun.xml.bind:jaxb-impl - javax.activation:activation - javax.annotation:jsr250-api - javax.jws:jsr181-api - javax.xml.bind:jaxb-api - javax.xml.stream:stax-api - javax.xml.ws:jaxws-api - org.apache.geronimo.specs:geronimo-commonj_1.1_spec - org.apache.ws.commons.schema:XmlSchema - org.codehaus.woodstox:wstx-asl - org.eclipse.core:contenttype - org.eclipse.core:jobs - org.eclipse.core:runtime - org.eclipse.equinox:app - org.eclipse.equinox:common - org.eclipse.equinox:preferences - org.eclipse.equinox:registry - org.eclipse:osgi - wsdl4j:wsdl4j - org.apache.tuscany.sca:* - - - - diff --git a/java/sca/contrib/distribution/features/core/src/main/components/bin-samples.xml b/java/sca/contrib/distribution/features/core/src/main/components/bin-samples.xml deleted file mode 100644 index fbe46a296c..0000000000 --- a/java/sca/contrib/distribution/features/core/src/main/components/bin-samples.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - ../../../samples - samples - - calculator/**/* - calculator-lean/**/* - binding-echo/**/* - binding-echo-extension/**/* - databinding-echo/**/* - implementation-composite/**/* - implementation-crud/**/* - implementation-crud-extension/**/* - implementation-pojo-extension/**/* - loanapplication/**/* - simple-bigbank/**/* - simple-callback/**/* - supplychain/**/* - - - - **/.* - **/.*/** - **/*.log - - - pom.xml - **/target - **/target/**/* - - - - diff --git a/java/sca/contrib/distribution/features/core/src/main/components/src-common.xml b/java/sca/contrib/distribution/features/core/src/main/components/src-common.xml deleted file mode 100644 index 002df33fc7..0000000000 --- a/java/sca/contrib/distribution/features/core/src/main/components/src-common.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - src/main/release - - - CHANGES - DISCLAIMER - README - RELEASE_NOTES - - - - src/main/release/src - - - BUILDING - LICENSE - NOTICE - - - - - diff --git a/java/sca/contrib/distribution/features/core/src/main/components/src-modules.xml b/java/sca/contrib/distribution/features/core/src/main/components/src-modules.xml deleted file mode 100644 index f3e34d10f3..0000000000 --- a/java/sca/contrib/distribution/features/core/src/main/components/src-modules.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - ../../../modules - modules - - assembly/**/* - assembly-xml/**/* - assembly-xsd/**/* - binding-corba/**/* - binding-corba-runtime/**/* - binding-sca/**/* - binding-sca-xml/**/* - contribution/**/* - contribution-impl/**/* - contribution-java/**/* - contribution-namespace/**/* - contribution-xml/**/* - core/**/* - core-databinding/**/* - core-spi/**/* - data-api/**/* - databinding/**/* - databinding-jaxb/**/* - definitions/**/* - definitions-xml/**/* - endpoint/**/* - extensibility/**/* - extensibility-equinox/**/* - host-corba/**/* - host-corba-jse/**/* - host-embedded/**/* - host-http/**/* - implementation-java/**/* - implementation-java-runtime/**/* - implementation-java-xml/**/* - implementation-node/**/* - implementation-node-runtime/**/* - interface/**/* - interface-java/**/* - interface-java-jaxws/**/* - interface-java-xml/**/* - interface-wsdl/**/* - interface-wsdl-xml/**/* - monitor/**/* - monitor-logging/**/* - node-api/**/* - node-impl/**/* - node-launcher/**/* - node-launcher-equinox/**/* - node-launcher-webapp/**/* - policy/**/* - policy-security/**/* - policy-xml/**/* - sca-api/**/* - xsd/**/* - xsd-xml/**/* - - - - **/.* - **/.*/** - **/*.log - - - pom.xml - **/target - **/target/**/* - - - - diff --git a/java/sca/contrib/distribution/features/core/src/main/release/CHANGES b/java/sca/contrib/distribution/features/core/src/main/release/CHANGES deleted file mode 100644 index 3de7358ec6..0000000000 --- a/java/sca/contrib/distribution/features/core/src/main/release/CHANGES +++ /dev/null @@ -1,431 +0,0 @@ -Changes With Apache Tuscany SCA 1.2 (incubating) April 2008 -=========================================================== - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-2027 - * TUSCANY-1999 - * TUSCANY-2037 - * TUSCANY-2034 - * TUSCANY-2038 - * TUSCANY-2043 - * TUSCANY-2046 - * TUSCANY-2047 - * TUSCANY-2028 - * TUSCANY-1873 - * TUSCANY-2049 - * TUSCANY-2035 - * TUSCANY-1206 - * TUSCANY-2036 - * TUSCANY-1771 - * TUSCANY-2013 - * TUSCANY-1926 - * TUSCANY-1917 - * TUSCANY-1949 - * TUSCANY-1941 - * TUSCANY-2045 - * TUSCANY-2057 - * TUSCANY-2055 - * TUSCANY-2056 - * TUSCANY-2072 - * TUSCANY-2047 - * TUSCANY-2073 - * TUSCANY-1977 - * TUSCANY-2075 - * TUSCANY-1894 - * TUSCANY-2079 - * TUSCANY-2078 - * TUSCANY-2080 - * TUSCANY-2068 - * TUSCANY-1950 - * TUSCANY-2077 - * TUSCANY-2056 - * TUSCANY-2088 - * TUSCANY-2086 - * TUSCANY-2094 - * TUSCANY-2106 - - Features and/or Enhancements - - * Core - - Interceptor Enhancements - - Phase-based interceptor ordering to allow contribution of new interceptors and also define the order in witch they should be invoked - - Pass-by-reference SPI to allow interceptors to indicate if they support pass-by-reference - - PolicyProvider SPIs to allow extensions to plugin policy interceptors - - Support for JAXWS annotations and mapping of faults to Java exceptions according to JAXWS specification - - Improvement of contribution service to allow it to be used outside of the runtime environment - - Support for Contribution Import/Export resource - - Enhanced Distributed Domain story using Workspace - - Implementation of a SCA domain allowing a system administrator to manage contributions, composites and sca nodes that run these composites - - Set of core services providing management capabilities - - Administration web interface - - This is a work in progress and you can see it in action in samples/calculator-distributed. Other samples that use distributed operation are yet to move over to the workspace. - - Enhanced support for SCA Policy spec - - Ability to apply external policy definitions to a SCA composition - - Ability to spread policy definitions to multiple definitions.xml files available across the sca domain - - Bug fixes - - Improvements of http binding to support servlet components - - Enable Tuscany to run inside an OSGi runtime - - * Web 2.0 Extensions - - Enhancements to implementation.widget (support for properties) - - New atom binding based on Apache Abdera - - Refactoring of rss-rome binding - * Other Extensions - - Binding JMS - - greatly simplified the use of the JMS binding, support locating JMS resources from JNDI, and better compliance with the SCA JMS binding spec - - see the doc page for more details: http://incubator.apache.org/tuscany/sca-java-bindingjms.html - - Enhancements to Binding RMI - - Support shared RMI registry and use 999x as the ports in test case to avoid 1099 conflict - - Enhancements to Groovy extension - - Support for 'native' groovy classes - - Enhancements to OSGi bundle contributions - - Support Bundle URLs to be added as contributions - - * Tools - - Eclipse plugin providing a Tuscany runtime Library and Tuscany launcher in Eclipse environment - - An updatesite is also available to facilitate the plugin installation using the Eclipse update manager - - * Samples/Tutorial/Demos - - calculator-distributed migrated to use new Tuscany Distributed Workspace - - sample-calculator-ws-secure-webapp - - sample-helloworld-jms-webapp - - new jms samples - - improve bigbank demo to include support for policies - - tutorial store changes - - use of import/export - - development of contribution without requiring dependencies on the Tuscany runtime - - usage of new sca domain infrastructure - - * Testing - - Web Container Testing Framework integrated with (Tomcat, Jetty, Geronimo and Websphere) - - -Changes With Apache Tuscany SCA 1.1 (incubating) January 2008 -=============================================================== - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-1939 - * TUSCANY-1914 - * TUSCANY-1854 - * TUSCANY-1931 - * TUSCANY-1547 - * TUSCANY-1909 - * TUSCANY-1919 - * TUSCANY-1930 - * TUSCANY-1806 - * TUSCANY-1804 - * TUSCANY-1916 - * TUSCANY-1913 - * TUSCANY-1834 - * TUSCANY-1857 - * TUSCANY-1687 - * TUSCANY-1801 - * TUSCANY-1742 - * TUSCANY-1762 - * TUSCANY-1945 - * TUSCANY-1595 - * TUSCANY-1594 - * TUSCANY-1849 - * TUSCANY-1836 - * TUSCANY-1934 - * TUSCANY-1902 - * TUSCANY-1608 - * TUSCANY-1943 - * TUSCANY-1896 - * TUSCANY-1626 - * TUSCANY-1797 - * TUSCANY-1601 - * TUSCANY-1415 - -- Better JMS support - * binding.jms supporting point to point text based messaging only - * New SOAP/JMS sample (helloworld-ws-reference/service-jms) - -- Improvements in PolicyFramework Support - * Support for policy specifications on operation elements in a composite definition - * Separate sample (calculator-implementation-policies) to demonstrate use of Implementation Policies - (uses logging and JAAS Authentication) - -- Modeling of client side java script components - * See implementation.widget - -- Evolving support for doman API suggested by assembly spec including a standalone node and nodes running - connected together in a domain. This is still experimental. - -- Class loading and OSGI improvements - * Enable Tuscany to be run in a multi-classloader environment including inside OSGi. By default, - Tuscany continues to run using a single CLASSPATH-based classloader. - * Contributions no longer need to be in the CLASSPATH. All import/export dependencies across contributions should be - explicitly specified (as described in the spec). - -- JAXB based POJO transformations - -Changes With Apache Tuscany SCA 1.0.1 (incubating) November 2007 -================================================================ - -The Tuscany SCA Java 1.0.1 is mainly a bug-fix release. It also comes with some improvements as listed below. - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-1848 - * TUSCANY-1857 - * TUSCANY-1859 - * TUSCANY-1801 - * TUSCANY-1823 - * TUSCANY-1839 - * TUSCANY-1814 - * TUSCANY-1818 - * TUSCANY-1834 - * TUSCANY-1637 - * TUSCANY-1826 - * TUSCANY-1823 - * TUSCANY-1819 - * TUSCANY-1821 - * TUSCANY-1822 - * TUSCANY-1806 - * TUSCANY-1808 - * TUSCANY-1756 - * TUSCANY-1757 - -- Fix build issues with Maven 2.0.7 and JDK 6 - -- Reduce memory consumption for WSDLs that import large XSDs - -- Add more logging statements for better servicibility - -- Add an extension point to allow extensions to plug-in extension schemas. - -- Add a demo application to showcase XML integration story - -- Improve in databinding framework - * Add support for JSON Databindings and other refactoring - * Set databinding for introspected data type and enhance the checking of wrapper style - * Improve the tree-based XMLStreamReader and convert Bean & DOM to use this approach - * Add a tree-iterator based XMLStreamReader base impl - * Add default element info to java interface - * Rename Interface.setDefaultDataBinding to resetDataBinding - -- Limit the method injection to setters and allow the setter annotation to override field annotation - -- Evolving support in Intent and Policy handling - * Add support for policies in implementation - * Fix the algorithm for macthing policySets defined on bindings for the wire - * Add policy intent for implementation.java - * Extend java implementation type to recognize and apply policies, adding util support for this in Policy module - * Add policy module for logging - -- Evolving development in the SCA Domain/Node - -- Update NOTICE files with missing dependencies - - -Changes With Apache Tuscany SCA 1.0 (incubating) September 2007 -=============================================================== - -- Tuscany Java SCA now implements V1.0 of the core SCA - specifications - SCA Assembly Model V1.0 - SCA Java Common Annotations and APIs V1.0 - SCA Java Component Implementation V1.0 - SCA Web Services Binding V1.0 - Including callbacks, conversations and callable references - - -- Support for ws-security configurable in the web services binding - thro Tuscany SCA policy intents and policysets using the policy framework - introduced in the last release. - - Note : This release supports specifications of policies around axis2 - config params - see helloworld-ws-service-secure sample. The policy - intents that have been tested are authentication, integrity and - confidentiality. - There is no sample or test that exercises confidentiality since there - are some unresolved licensing issue around bouncycastle libraries. - However, users who are not encumbered by the bouncycastle license - restrictions can try the 'confidentiality' intent. See FAQ - - http://incubator.apache.org/tuscany/tuscany-sca-java-faq.html - - This release does not include support for WS-Policy - attachments in Tuscany Policysets for ws-security. - - -- An XQuery component implementation type - implementation-xquery - - -- A Databinding for converting data to and from nodes for XQuery - processing - databinding-saxon - - -- OSGI support has been extended to allow Tuscany contributions - packaged as OSGI bundles hence taking advantage of OSGI's bundle - loading an dependency management capabilities - - -- A BPEL component implementation type experimental implementation -based on SCA BPEL Client and Implementation V1.0. At the moment only -supports BPEL process as services. - implementation-bpel - - -- The distributed runtime implementation has been separated out - into - *) domain - *) node - It is now wrapped by a SCADomain interface as is the standalone - runtime. - - Note: This release does not include support for WebApp host deployment - for a distributed SCA Domain - - - -- The web service binding will now generate WSDL automatically - based on the service interface if no WSDL is provided - - -- A new "store" sample and associated document show how a - simple store front application can be constructed - samples/store - -- The following features of this release are still experimental: - - BPEL implementation type, integrating with Apache ODE - - OSGI implementation type, integrating with Apache Felix - - XQuery implementation type - - - -Changes With Apache Tuscany SCA 0.99 (incubating) August 2007 -============================================================= - -The following are the significant additions to release 0.99 -over and above all of what was offered in release 0.91. - -- A version of the default sca binding that works between - components runing in separate Java virtual machines - binding-sca-axis - -- A simple node implementation and a service discovery - function for running sca applications distributed - across more than one node - distributed - distributed-impl - -- integration with OSGi runtimes is now supported with - a new implementation-osgi component type - -- PUB/SUB interactions are now supported by using new - notification binding and implementation types, and - samples demonstrating the feature. - -- The Tuscany runtime now has a policy framework supporting - the SCA policy specification - -- the endpoint URIs used by SCA bindings has been rationalized - and now follows the SCA Assembly specification - -- binding-ajax has been renamed to binding-dwr - -Changes With Apache Tuscany SCA 0.91 (incubating) July 2007 -=========================================================== - -The following are the significant additions to release 0.91 -over and above all of what was offered in release 0.90. - - -- Enhancements to support multiple contributions to the SCA Domain - -- The inclusion of a alternative simplified extensions-helper -SPI layer to faciliate rapid development of extensions - -- More Implementation Extenstions - Spring - WebResource - -- More Binding Extensions - AJAX - EJB - RSS/ATOM Feeds - -- Demos that demonstrate the use of a mix of extensions - alert-aggregator-webapp - bigbank-account - bigbank-calculator - bigbank-stockquote - - -- Samples - Samples to demostrate use of Spring, Resource, AJAX extensions - -Changes With Apache Tuscany SCA 0.90 (incubating) June 2007 -=========================================================== - -- Implementations for all of the Java Annotations and API Specification V1.0 found at - (http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications) - apart from the following. - @ComponentName - Conversation - RequestContext - -- New assembly model implementation taking into account SCA 1.0 artifacts - Data duplication between assembly model and runtime removed - -- Simple single process domain support - Contribution support to scope items being deployed into the runtime - -- Improved Package/Class naming consistency across modules - -- Extensions now loaded via Java service mechanism - Refactored extensions to use new SPIs (see below) - -- Maven and Ant based sample builds in the binary distribution - -- Implementation Extensions - Java - Script supporting (Ruby, Python, Groovy, JavaScript) - -- Binding Extensions - Axis2 - RMI - JSONRPC - --Databinding Extensions - Axiom - JAXB - SDO - -- Host environments - Embedded - Tomcat - Jetty - RMI - -- A clear set of SPIs intended to be stable over future releases - SCA assembly model - org.apache.tuscany.sca.assembly - org.apache.tuscany.sca.interfacedef - org.apache.tuscany.sca.interfacedef.java - org.apache.tuscany.sca.interfacedef.wsdl - org.apache.tuscany.sca.policy - - SCA contribution model - org.apache.tuscany.sca.contribution - - Runtime extensions - org.apache.tuscany.sca.core - org.apache.tuscany.sca.invocation - org.apache.tuscany.sca.provider - org.apache.tuscany.sca.runtime - org.apache.tuscany.sca.work - - Data binding support - org.apache.tuscany.sca.databinding - - Embedding Tuscany - org.apache.tuscany.sca.host.embedded - - Servlet container integration - org.apache.tuscany.sca.http - -- For this point release a partial set of JavaDoc is provided to - be filled out as we close on release 1.0 diff --git a/java/sca/contrib/distribution/features/core/src/main/release/DISCLAIMER b/java/sca/contrib/distribution/features/core/src/main/release/DISCLAIMER deleted file mode 100644 index a65af91c5a..0000000000 --- a/java/sca/contrib/distribution/features/core/src/main/release/DISCLAIMER +++ /dev/null @@ -1,7 +0,0 @@ -Apache Tuscany is an effort undergoing incubation at The Apache Software -Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is -required of all newly accepted projects until a further review indicates that -the infrastructure, communications, and decision making process have stabilized -in a manner consistent with other successful ASF projects. While incubation -status is not necessarily a reflection of the completeness or stability of the -code, it does indicate that the project has yet to be fully endorsed by the ASF. \ No newline at end of file diff --git a/java/sca/contrib/distribution/features/core/src/main/release/README b/java/sca/contrib/distribution/features/core/src/main/release/README deleted file mode 100644 index 4d83dcfde9..0000000000 --- a/java/sca/contrib/distribution/features/core/src/main/release/README +++ /dev/null @@ -1,19 +0,0 @@ -Apache Tuscany SCA 1.2 (incubating) April 2008 README -===================================================== - -Welcome to the Tuscany SCA 1.2 release. - -See the RELEASE_NOTES file for information specific to this release. - -In the binary release see the INSTALL file for information on how to -install the release. - -In the source distribution see the BUILDING file for information on -building the source code. - - - - - - - diff --git a/java/sca/contrib/distribution/features/core/src/main/release/RELEASE_NOTES b/java/sca/contrib/distribution/features/core/src/main/release/RELEASE_NOTES deleted file mode 100644 index a04ef5c553..0000000000 --- a/java/sca/contrib/distribution/features/core/src/main/release/RELEASE_NOTES +++ /dev/null @@ -1,83 +0,0 @@ -Apache Tuscany SCA 1.2 (incubating) April 2008 Release Notes -============================================================ - -Apache Tuscany provides a runtime based on the Service Component -Architecture. SCA is a set of specifications aimed at simplifying SOA -Application Development which are being standardized at OASIS as part -of Open Composite Services Architecture (Open CSA) - http://www.oasis-opencsa.org/. - -Overview --------- - - The Apache Tuscany SCA 1.2 release includes implementations of the - main SCA specifications including: - - SCA Assembly Model V1.0 - SCA Policy Framework V1.0 - SCA Java Common Annotations and APIs V1.0 - SCA Java Component Implementation V1.0 - SCA Spring Component Implementation V1.0 - SCA BPEL Client and Implementation V1.0 - SCA Web Services Binding V1.0 - SCA EJB Session Bean Binding V1.0 - - It also includes implementations of many features not yet defined - by SCA specifications, including: - - - SCA bindings for Direct Web Remoting, RSS and ATOM Feeds, - HTTP resources, JSON-RPC, PUB/SUB Notifications, and RMI. - - SCA implementation types for OSGI, XQuery, BPEL, Widget and various - dynamic languages including Groovy, Javascript, Python and Ruby - - Databindings for Service Data Objects (SDO), JAXB, XmlBeans, - Axis2's AXIOM, JSON, SAXON, DOM, SAX and StAX - - The Tuscany SCA Runtime can be configured as a single node SCA domain or - as an SCA domain distributed across multiple nodes. - In addition Tuscany SCA supports the following host-deployment options: - - - running standalone - - running with distributed nodes across multiple JVMs - - running with embedded Jetty or Tomcat - - running as part of a standard web application - - The Wepapp samples included in this release have been tried and tested on - - Tomcat 5.5.20 and Tomcat 6.0.14 - - Jetty 6.1.3 - - Geronimo 2.0.2 Tomcat6 jee5 - - WebSphere 6.1 fix pack 9 - -See the CHANGES file for a detailed list of the features in this release. - -Support -------- - -For more information on Apache Tuscany visit the website at: - - http://incubator.apache.org/tuscany/ - -Any issues with this release can be reported to Apache Tuscany -using the mailing lists or in the JIRA issue tracker. - - Mailing list archives: - - http://mail-archives.apache.org/mod_mbox/ws-tuscany-user/ - http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev/ - - Jira: - - http://issues.apache.org/jira/browse/TUSCANY - -To join the project's mailing lists follow the instructions at: - - http://incubator.apache.org/tuscany/mailing-lists.html - -To find out more about OASIS Open CSA go to: - - http://www.oasis-opencsa.org. - -Apache Tuscany welcomes your help. Any contribution, including code, -testing, improving the documentation, or bug reporting is always -appreciated. - -Thank you for using Apache Tuscany! - -- The Tuscany Team. diff --git a/java/sca/contrib/distribution/features/core/src/main/release/bin/INSTALL b/java/sca/contrib/distribution/features/core/src/main/release/bin/INSTALL deleted file mode 100644 index 2da53a2b44..0000000000 --- a/java/sca/contrib/distribution/features/core/src/main/release/bin/INSTALL +++ /dev/null @@ -1,27 +0,0 @@ -Installing the Apache Tuscany SCA 1.2 (incubating) April 2008 Release binary distribution -========================================================================================= - -Unzip Tuscany binary distribution archive and you get the following: - -tuscany-sca-1.1-incubating - DISCLAIMER - the ASF incubation disclaimer - INSTALL - this help file - LICENSE - the Apache License and any dependecy licenses - NOTICE - attribution notices associated with the licenses - README - readme for the release - RELEASE_NOTES - description of this release - CHANGES - A note of the major changes in this release - - /demos - Demo applications showcasing the use of Apache Tuscany - - /lib - The tuscany-sca-all and tuscany-sca-manifest jars and all their dependencies - - /modules - all of the individual Tuscany jars - - /samples - all the Tuscany samples, see the README in that directory - - /tutorial - The store tutorial, see the README in that directory - - - - diff --git a/java/sca/contrib/distribution/features/core/src/main/release/bin/LICENSE b/java/sca/contrib/distribution/features/core/src/main/release/bin/LICENSE deleted file mode 100644 index 5e1f585d46..0000000000 --- a/java/sca/contrib/distribution/features/core/src/main/release/bin/LICENSE +++ /dev/null @@ -1,2366 +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 SUBCOMPONENTS: - -The Apache Tuscany binary distribution includes a number of subcomponents -with separate copyright notices and license terms. Your use of the -code for the these subcomponents is subject to the terms and -conditions of the following licenses. - -=============================================================================== - -The following components come under Apache Software License 1.1 - - commons-discovery-0.2.jar - commons-primitives-1.0.jar - -The following components come under Apache Software License 2.0 - - abdera-core-0.3.0-incubating.jar - abdera-i18n-0.3.0-incubating.jar - abdera-parser-0.3.0-incubating.jar - activeio-2.0-r118.jar - activeio-core-3.0.0-incubator.jar - apache-activemq-4.1.1.jar - addressing-1.3.mar - annogen-0.1.0.jar - annotations-api-6.0.14.jar - aopalliance-1.0.jar - axiom-api-1.2.5.jar - axiom-dom-1.2.5.jar - axiom-impl-1.2.5.jar - axis2-adb-1.3.jar - axis2-codegen-1.3.jar - axis2-java2wsdl-1.3.jar - axis2-kernel-1.3.jar - axis2-mtompolicy-1.3.jar - bsf-all-3.0-beta2.jar - catalina-6.0.14.jar - cglib-nodep-2.1_3.jar - commons-collections-3.1.jar - commons-codec-1.3.jar - commons-fileupload-1.1.1.jar - commons-httpclient-3.0.1.jar - commons-io-1.2.jar - commons-jexl-1.1.jar - commons-lang-2.1.jar - commons-logging-1.1.jar - coyote-6.0.14.jar - derby-10.1.3.1.jar - geronimo-activation_1.1_spec-1.0-M1.jar - geronimo-common-1.2-beta.jar - geronimo-commonj_1.1_spec-1.0.jar - geronimo-connector-1.2-beta.jar - geronimo-core-1.2-beta.jar - geronimo-deployment-1.2-beta.jar - geronimo-ejb_3.0_spec-1.0.jar - geronimo-interceptor-1.2-beta.jar - geronimo-j2ee-1.2-beta.jar - geronimo-j2ee-connector_1.5_spec-1.1.jar - geronimo-j2ee-jacc_1.0_spec-1.1.jar - geronimo-j2ee-management_1.0_spec-1.1.jar - geronimo-javamail_1.4_spec-1.0-M1.jar - geronimo-jms_1.1_spec-1.1.jar - geronimo-jpa_3.0_spec-1.0.jar - geronimo-jta_1.0.1B_spec-1.0.jar - geronimo-kernel-1.2-beta.jar - geronimo-management-1.2-beta.jar - geronimo-naming-1.2-beta.jar - geronimo-security-1.2-beta.jar - geronimo-spec-j2ee-connector-1.5-rc4.jar - geronimo-spec-jta-1.0.1B-rc4.jar - geronimo-system-1.2-beta.jar - geronimo-transaction-1.2-beta.jar - geronimo-util-1.2-beta.jar - httpcore-4.0-alpha5.jar - httpcore-nio-4.0-alpha5.jar - httpcore-niossl-4.0-alpha5.jar - jettison-1.0-RC2.jar - jetty-6.1.7.jar - jetty-util-6.1.7.jar - json-rpc-1.0.jar - juli-6.0.14.jar - log4j-1.2.12.jar - logkit-1.0.1.jar - neethi-2.0.2.jar - ode-bpel-api-1.1.jar - ode-bpel-compiler-1.1.jar - ode-bpel-dao-1.1.jar - ode-bpel-epr-1.1.jar - ode-bpel-obj-1.1.jar - ode-bpel-runtime-1.1.jar - ode-bpel-schemas-1.1.jar - ode-bpel-store-1.1.jar - ode-dao-jpa-1.1.jar - ode-dao-jpa-ojpa-derby-1.1.zip - ode-jacob-1.1.jar - ode-jacob-ap-1.1.jar - ode-scheduler-simple-1.1.jar - ode-utils-1.1.jar - openjpa-all-0.9.7-incubating.jar - openjpa-persistence-0.9.7-incubating.jar - org.apache.felix.bundlerepository-1.0.2.jar - org.apache.felix.framework-1.0.3.jar - org.apache.felix.main-1.0.3.jar - org.apache.felix.shell-1.0.0.jar - org.apache.felix.shell.tui-1.0.0.jar - rampart-core-1.3.jar - rampart-policy-1.3.jar - rampart-trust-1.3.jar - regexp-1.3.jar - spring-beans-2.0.6.jar - spring-context-2.0.6.jar - spring-core-2.0.6.jar - tranql-connector-1.1.jar - tuscany-sdo-api-r2.1-1.0-incubating.jar - tuscany-sdo-impl-1.0-incubating.jar - tuscany-sdo-lib-1.0-incubating.jar - tuscany-sdo-tools-1.0-incubating.jar - woden-1.0-incubating-M7b.jar - wss4j-1.5.3.jar - wstx-asl-3.2.1.jar - xalan-2.7.0.jar - xbean-naming-2.7.jar - xercesImpl-2.8.1.jar - xml-apis-1.3.03.jar - xmlbeans-2.3.0.jar - xml-resolver-1.1.jar - xmlsec-1.4.0.jar - XmlSchema-1.3.2.jar - -=============================================================================== -axion-1.0-M3-dev.jar - -Copyright (c) 2002-2003 Axion Development Team. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - -2. 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. - -3. The names "Tigris", "Axion", nor the names of its contributors may - not be used to endorse or promote products derived from this - software without specific prior written permission. - -4. Products derived from this software may not be called "Axion", nor - may "Tigris" or "Axion" appear in their names 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. - -The "Axion Development Team" is defined to be: - - * Chuck Burdick - * James Burke - * Morgan Delagrange - * Geir Magnusson Jr. - * Martin Poeschl - * Steve Polyak - * Daniel Rall - * Ahimanikya Satapathy - * Doug Sale - * James Strachan - * Rodney Waldhoff - * Jason van Zyl - -License changes are to be determined by a simple majority vote of the -Axion Development Team. - -=============================================================================== -dom4j-1.6.1.jar - -Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. - -Redistribution and use of this software and associated documentation -("Software"), with or without modification, are permitted provided -that the following conditions are met: - -1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - -2. 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. - -3. The name "DOM4J" must not be used to endorse or promote - products derived from this Software without prior written - permission of MetaStuff, Ltd. For written permission, - please contact dom4j-info@metastuff.com. - -4. Products derived from this Software may not be called "DOM4J" - nor may "DOM4J" appear in their names without prior written - permission of MetaStuff, Ltd. DOM4J is a registered - trademark of MetaStuff, Ltd. - -5. Due credit should be given to the DOM4J Project - - http://www.dom4j.org - -THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS -``AS IS'' AND ANY EXPRESSED 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 -METASTUFF, LTD. OR ITS 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. - -=============================================================================== - -The EMF jars; - codegen-2.2.3.jar - codegen-ecore-2.2.3.jar - common-2.2.3.jar - ecore-2.2.3.jar - ecore-change-2.2.3.jar - ecore-xmi-2.2.3.jar - xsd-2.2.3.jar - -Eclipse Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF -THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - -a) in the case of the initial Contributor, the initial code and -documentation distributed under this Agreement, and -b) in the case of each subsequent Contributor: - -i) changes to the Program, and - -ii) additions to the Program; - -where such changes and/or additions to the Program originate from and -are distributed by that particular Contributor. A Contribution -'originates' from a Contributor if it was added to the Program by such -Contributor itself or anyone acting on such Contributor's behalf. -Contributions do not include additions to the Program which: (i) are -separate modules of software distributed in conjunction with the -Program under their own license agreement, and (ii) are not derivative -works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor -which are necessarily infringed by the use or sale of its Contribution -alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this -Agreement. - -"Recipient" means anyone who receives the Program under this -Agreement, including all Contributors. - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free copyright -license to reproduce, prepare derivative works of, publicly display, -publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and -object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free patent -license under Licensed Patents to make, use, sell, offer to sell, -import and otherwise transfer the Contribution of such Contributor, if -any, in source code and object code form. This patent license shall -apply to the combination of the Contribution and the Program if, at -the time the Contribution is added by the Contributor, such addition -of the Contribution causes such combination to be covered by the -Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder. - -c) Recipient understands that although each Contributor grants the -licenses to its Contributions set forth herein, no assurances are -provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow -Recipient to distribute the Program, it is Recipient's responsibility -to acquire that license before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient -copyright rights in its Contribution, if any, to grant the copyright -license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form -under its own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties -and conditions, express and implied, including warranties or -conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability -for damages, including direct, indirect, special, incidental and -consequential damages, such as lost profits; - -iii) states that any provisions which differ from this Agreement are -offered by that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such -Contributor, and informs licensees how to obtain it in a reasonable -manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the -Program. - -Contributors may not remove or alter any copyright notices contained -within the Program. - -Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a -commercial product offering should do so in a manner which does not -create potential liability for other Contributors. Therefore, if a -Contributor includes the Program in a commercial product offering, -such Contributor ("Commercial Contributor") hereby agrees to defend -and indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") arising -from claims, lawsuits and other legal actions brought by a third party -against the Indemnified Contributor to the extent caused by the acts -or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. -In order to qualify, an Indemnified Contributor must: a) promptly -notify the Commercial Contributor in writing of such claim, and b) -allow the Commercial Contributor to control, and cooperate with the -Commercial Contributor in, the defense and any related settlement -negotiations. The Indemnified Contributor may participate in any such -claim at its own expense. - -For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED 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. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable -laws, damage to or loss of data, programs or equipment, and -unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR -ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), 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 OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further -action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that -the Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of -the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of -time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use -and distribution of the Program as soon as reasonably practicable. -However, Recipient's obligations under this Agreement and any licenses -granted by Recipient relating to the Program shall continue and -survive. - -Everyone is permitted to copy and distribute copies of this Agreement, -but in order to avoid inconsistency the Agreement is copyrighted and -may only be modified in the following manner. The Agreement Steward -reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement -Steward has the right to modify this Agreement. The Eclipse Foundation -is the initial Agreement Steward. The Eclipse Foundation may assign -the responsibility to serve as the Agreement Steward to a suitable -separate entity. Each new version of the Agreement will be given a -distinguishing version number. The Program (including Contributions) -may always be distributed subject to the version of the Agreement -under which it was received. In addition, after a new version of the -Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives -no rights or licenses to the intellectual property of any Contributor -under this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No -party to this Agreement will bring a legal action under this Agreement -more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation. - -=============================================================================== -For Saxon including - saxon-8.7.jar - saxon-dom-8.7.jar - saxon-xpath-8.7.jar - - MOZILLA PUBLIC LICENSE -Version 1.0 - -1. Definitions. - - 1.1. ``Contributor'' means each entity that creates or contributes to the creation of Modifications. - - 1.2. ``Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor. - - 1.3. ``Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof. - - 1.4. ``Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data. - - 1.5. ``Executable'' means Covered Code in any form other than Source Code. - - 1.6. ``Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A. - - 1.7. ``Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License. - - 1.8. ``License'' means this document. - - 1.9. ``Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is: - - A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or previous Modifications. - - 1.10. ``Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License. - - 1.11. ``Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge. - - 1.12. ``You'' means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, ``You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, ``control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (``Utilize'') the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - - 2.2. Contributor Grant. - Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - - (a) Third Party Claims. - If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled ``LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation (``Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License. - - 6.3. Derivative Works. - If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a ``commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer software'' and ``commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the United States of America: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Santa Clara County, California, under the auspices of JAMS/EndDispute; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. - -12. RESPONSIBILITY FOR CLAIMS. - - Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis. - -EXHIBIT A. - - ``The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved. - - Contributor(s): ______________________________________.'' - -=============================================================================== - -For the Rhino JavaScript engine js-1.6R7.jar: - - MOZILLA PUBLIC LICENSE - Version 1.1 - - --------------- - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Code, prior Modifications used by a Contributor, and the Modifications - made by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified - as the Initial Developer in the Source Code notice required by Exhibit - A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - A. Any addition to or deletion from the contents of a file - containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, - and apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated interface definition files, scripts used to control - compilation and installation of an Executable, or source code - differential comparisons against either the Original Code or another - well known, available Covered Code of the Contributor's choice. The - Source Code can be in a compressed or archival form, provided the - appropriate decompression or de-archiving software is widely available - for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - For legal entities, "You" includes any entity which controls, is - controlled by, or is under common control with You. For purposes of - this definition, "control" means (a) the power, direct or indirect, - to cause the direction or management of such entity, whether by - contract or otherwise, or (b) ownership of more than fifty percent - (50%) of the outstanding shares or beneficial ownership of such - entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer to use, reproduce, - modify, display, perform, sublicense and distribute the Original - Code (or portions thereof) with or without Modifications, and/or - as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or - selling of Original Code, to make, have made, use, practice, - sell, and offer for sale, and/or otherwise dispose of the - Original Code (or portions thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are - effective on the date Initial Developer first distributes - Original Code under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: 1) for code that You delete from the Original Code; 2) - separate from the Original Code; or 3) for infringements caused - by: i) the modification of the Original Code or ii) the - combination of the Original Code with other software or devices. - - 2.2. Contributor Grant. - Subject to third party intellectual property claims, each Contributor - hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor, to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications - created by such Contributor (or portions thereof) either on an - unmodified basis, with other Modifications, as Covered Code - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or - selling of Modifications made by that Contributor either alone - and/or in combination with its Contributor Version (or portions - of such combination), to make, use, sell, offer for sale, have - made, and/or otherwise dispose of: 1) Modifications made by that - Contributor (or portions thereof); and 2) the combination of - Modifications made by that Contributor with its Contributor - Version (or portions of such combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are - effective on the date Contributor first makes Commercial Use of - the Covered Code. - - (d) Notwithstanding Section 2.2(b) above, no patent license is - granted: 1) for any code that Contributor has deleted from the - Contributor Version; 2) separate from the Contributor Version; - 3) for infringements caused by: i) third party modifications of - Contributor Version or ii) the combination of Modifications made - by that Contributor with other software (except as part of the - Contributor Version) or other devices; or 4) under Patent Claims - infringed by Covered Code in the absence of Modifications made by - that Contributor. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, - Contributor must include a text file with the Source Code - distribution titled "LEGAL" which describes the claim and the - party making the claim in sufficient detail that a recipient will - know whom to contact. If Contributor obtains such knowledge after - the Modification is made available as described in Section 3.2, - Contributor shall promptly modify the LEGAL file in all copies - Contributor makes available thereafter and shall take other steps - (such as notifying appropriate mailing lists or newsgroups) - reasonably calculated to inform those who received the Covered - Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming - interface and Contributor has knowledge of patent licenses which - are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to - Section 3.4(a) above, Contributor believes that Contributor's - Modifications are Contributor's original creation(s) and/or - Contributor has sufficient rights to grant the rights conveyed by - this License. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. However, You - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear than - any such warranty, support, indemnity or liability obligation is - offered by You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred by the - Initial Developer or such Contributor as a result of warranty, - support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under a license of Your choice, which may - contain terms different from this License, provided that You are in - compliance with the terms of this License and that the license for the - Executable version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version under a different - license You must make it absolutely clear that any terms which differ - from this License are offered by You alone, not by the Initial - Developer or any Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such - terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code - not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised - and/or new versions of the License from time to time. Each version - will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Netscape. No one - other than Netscape has the right to modify the terms applicable to - Covered Code created under this License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must (a) rename Your license so that - the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", - "MPL", "NPL" or any confusingly similar phrase do not appear in your - license (except to note that your license differs from this License) - and (b) otherwise make it clear that Your version of the license - contains terms which differ from the Mozilla Public License and - Netscape Public License. (Filling in the name of the Initial - Developer, Original Code or Contributor in the notice described in - Exhibit A shall not of themselves be deemed to be modifications of - this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE - IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, - YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE - COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER - OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, - all end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, - OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR - ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY - CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, - WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" and "commercial computer software documentation," as such - terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 - C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), - all U.S. Government End Users acquire Covered Code with only those - rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, with the losing party responsible for costs, including - without limitation, court costs and reasonable attorneys' fees and - expenses. The application of the United Nations Convention on - Contracts for the International Sale of Goods is expressly excluded. - Any law or regulation which provides that the language of a contract - shall be construed against the drafter shall not apply to this - License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the NPL or the alternative licenses, if any, specified - by the Initial Developer in the file described in Exhibit A. - -EXHIBIT A -Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License - Version 1.1 (the "License"); you may not use this file except in - compliance with the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - License for the specific language governing rights and limitations - under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. - Portions created by ______________________ are Copyright (C) ______ - _______________________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those - above. If you wish to allow use of your version of this file only - under the terms of the [____] License and not to allow others to use - your version of this file under the MPL, indicate your decision by - deleting the provisions above and replace them with the notice and - other provisions required by the [___] License. If you do not delete - the provisions above, a recipient may use your version of this file - under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] - - -=============================================================================== -Groovy (groovy-all-minimal-1.5.4.jar): - -/* - $Id: LICENSE.txt 156 2003-09-26 17:36:37Z jstrachan $ - - Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - - Redistribution and use of this software and associated documentation - ("Software"), with or without modification, are permitted provided - that the following conditions are met: - - 1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - - 2. 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. - - 3. The name "groovy" must not be used to endorse or promote - products derived from this Software without prior written - permission of The Codehaus. For written permission, - please contact info@codehaus.org. - - 4. Products derived from this Software may not be called "groovy" - nor may "groovy" appear in their names without prior written - permission of The Codehaus. "groovy" is a registered - trademark of The Codehaus. - - 5. Due credit should be given to The Codehaus - - http://groovy.codehaus.org/ - - THIS SOFTWARE IS PROVIDED BY THE CODEHAUS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESSED 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 CODEHAUS OR ITS 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. - - */ - -=============================================================================== - -Jython (jython-2.2.jar): - -A. HISTORY OF THE SOFTWARE -======================= - -JPython was created in late 1997 by Jim Hugunin. Jim was also the -primary developer while he was at CNRI. In February 1999 Barry Warsaw -took over as primary developer and released JPython version 1.1. - -In October 2000 Barry helped move the software to SourceForge -where it was renamed to Jython. Jython 2.0 and on are licensed under -the Jython specific license below. - -The standard library is covered by the Python Software Foundation -license. See the LICENSE_CPython.txt file for details. - -The zxJDBC package was written by Brian Zimmer and originally licensed -under the GNU Public License. The package is now covered by the Jython -Software License. - -The command line interpreter is covered by the Apache Software -License. See the LICENSE_Apache.txt file for details. - -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING JYTHON -================================ - -Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Jython Developers -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 Jython Developers nor the names of - its 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 REGENTS 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. - - - - -JPython 1.1.x Software License. -========================= - -______________________________________________________________________ - -IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. - -BY CLICKING ON THE "ACCEPT" BUTTON WHERE INDICATED, OR BY INSTALLING, -COPYING OR OTHERWISE USING THE SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO -THE TERMS AND CONDITIONS OF THIS AGREEMENT. - -______________________________________________________________________ - -JPython version 1.1.x - - 1. This LICENSE AGREEMENT is between the Corporation for National Research - Initiatives, having an office at 1895 Preston White Drive, Reston, VA - 20191 ("CNRI"), and the Individual or Organization ("Licensee") - accessing and using JPython version 1.1.x in source or binary form and - its associated documentation as provided herein ("Software"). - - 2. Subject to the terms and conditions of this License Agreement, CNRI - hereby grants Licensee a non-exclusive, non-transferable, royalty-free, - world-wide license to reproduce, analyze, test, perform and/or display - publicly, prepare derivative works, distribute, and otherwise use the - Software alone or in any derivative version, provided, however, that - CNRI's License Agreement and CNRI's notice of copyright, i.e., - "Copyright ©1996-1999 Corporation for National Research Initiatives; - All Rights Reserved" are both retained in the Software, alone or in any - derivative version prepared by Licensee. - - Alternatively, in lieu of CNRI's License Agreement, Licensee may - substitute the following text (omitting the quotes), provided, however, - that such text is displayed prominently in the Software alone or in any - derivative version prepared by Licensee: "JPython (Version 1.1.x) is - made available subject to the terms and conditions in CNRI's License - Agreement. This Agreement may be located on the Internet using the - following unique, persistent identifier (known as a handle): - 1895.22/1006. The License may also be obtained from a proxy server on - the Web using the following URL: http://hdl.handle.net/1895.22/1006." - - 3. In the event Licensee prepares a derivative work that is based on or - incorporates the Software or any part thereof, and wants to make the - derivative work available to the public as provided herein, then - Licensee hereby agrees to indicate in any such work, in a prominently - visible way, the nature of the modifications made to CNRI's Software. - - 4. Licensee may not use CNRI trademarks or trade name, including JPython - or CNRI, in a trademark sense to endorse or promote products or - services of Licensee, or any third party. Licensee may use the mark - JPython in connection with Licensee's derivative versions that are - based on or incorporate the Software, but only in the form - "JPython-based ___________________," or equivalent. - - 5. CNRI is making the Software available to Licensee on an "AS IS" basis. - CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY - OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY - REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY - PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE - ANY THIRD PARTY RIGHTS. - - 6. CNRI SHALL NOT BE LIABLE TO LICENSEE OR OTHER USERS OF THE SOFTWARE FOR - ANY INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE - THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. SOME STATES DO NOT - ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY SO THE ABOVE DISCLAIMER - MAY NOT APPLY TO LICENSEE. - - 7. This License Agreement may be terminated by CNRI (i) immediately upon - written notice from CNRI of any material breach by the Licensee, if the - nature of the breach is such that it cannot be promptly remedied; or - (ii) sixty (60) days following notice from CNRI to Licensee of a - material remediable breach, if Licensee has not remedied such breach - within that sixty-day period. - - 8. This License Agreement shall be governed by and interpreted in all - respects by the law of the State of Virginia, excluding conflict of law - provisions. Nothing in this Agreement shall be deemed to create any - relationship of agency, partnership, or joint venture between CNRI and - Licensee. - - 9. By clicking on the "ACCEPT" button where indicated, or by installing, - copying or otherwise using the Software, Licensee agrees to be bound by - the terms and conditions of this License Agreement. - - -=============================================================================== - -The jars; -activation-1.1.jar, -jaxb-api-2.1.jar, -jaxb-impl-2.1.6.jar, -jaxb-xjc-2.1.4.jar, -jaxb2-reflection-2.1.4.jar, -jsr181-api-1.0-MR1.jar, -jsr250-api-1.0.jar, -jaxws-api-2.1-1.jar, -mail-1.4.jar, -saaj-api-1.3.jar, -servlet-api-2.5.jar, -stax-api-1.0-commons-cli-1.0.jar2.jar - -COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 - - - 1. Definitions. - - 1.1. "Contributor" means each individual or entity that - creates or contributes to the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the - Original Software, prior Modifications used by a - Contributor (if any), and the Modifications made by that - particular Contributor. - - 1.3. "Covered Software" means (a) the Original Software, or - (b) Modifications, or (c) the combination of files - containing Original Software with files containing - Modifications, in each case including portions thereof. - - 1.4. "Executable" means the Covered Software in any form - other than Source Code. - - 1.5. "Initial Developer" means the individual or entity - that first makes Original Software available under this - License. - - 1.6. "Larger Work" means a work which combines Covered - Software or portions thereof with code not governed by the - terms of this License. - - 1.7. "License" means this document. - - 1.8. "Licensable" means having the right to grant, to the - maximum extent possible, whether at the time of the initial - grant or subsequently acquired, any and all of the rights - conveyed herein. - - 1.9. "Modifications" means the Source Code and Executable - form of any of the following: - - A. Any file that results from an addition to, - deletion from or modification of the contents of a - file containing Original Software or previous - Modifications; - - B. Any new file that contains any part of the - Original Software or previous Modification; or - - C. Any new file that is contributed or otherwise made - available under the terms of this License. - - 1.10. "Original Software" means the Source Code and - Executable form of computer software code that is - originally released under this License. - - 1.11. "Patent Claims" means any patent claim(s), now owned - or hereafter acquired, including without limitation, - method, process, and apparatus claims, in any patent - Licensable by grantor. - - 1.12. "Source Code" means (a) the common form of computer - software code in which modifications are made and (b) - associated documentation included in or with such code. - - 1.13. "You" (or "Your") means an individual or a legal - entity exercising rights under, and complying with all of - the terms of, this License. For legal entities, "You" - includes any entity which controls, is controlled by, or is - under common control with You. For purposes of this - definition, "control" means (a) the power, direct or - indirect, to cause the direction or management of such - entity, whether by contract or otherwise, or (b) ownership - of more than fifty percent (50%) of the outstanding shares - or beneficial ownership of such entity. - - 2. License Grants. - - 2.1. The Initial Developer Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, the - Initial Developer hereby grants You a world-wide, - royalty-free, non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Initial Developer, - to use, reproduce, modify, display, perform, - sublicense and distribute the Original Software (or - portions thereof), with or without Modifications, - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, - using or selling of Original Software, to make, have - made, use, practice, sell, and offer for sale, and/or - otherwise dispose of the Original Software (or - portions thereof). - - (c) The licenses granted in Sections 2.1(a) and (b) - are effective on the date Initial Developer first - distributes or otherwise makes the Original Software - available to a third party under the terms of this - License. - - (d) Notwithstanding Section 2.1(b) above, no patent - license is granted: (1) for code that You delete from - the Original Software, or (2) for infringements - caused by: (i) the modification of the Original - Software, or (ii) the combination of the Original - Software with other software or devices. - - 2.2. Contributor Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, each - Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Contributor to - use, reproduce, modify, display, perform, sublicense - and distribute the Modifications created by such - Contributor (or portions thereof), either on an - unmodified basis, with other Modifications, as - Covered Software and/or as part of a Larger Work; and - - - (b) under Patent Claims infringed by the making, - using, or selling of Modifications made by that - Contributor either alone and/or in combination with - its Contributor Version (or portions of such - combination), to make, use, sell, offer for sale, - have made, and/or otherwise dispose of: (1) - Modifications made by that Contributor (or portions - thereof); and (2) the combination of Modifications - made by that Contributor with its Contributor Version - (or portions of such combination). - - (c) The licenses granted in Sections 2.2(a) and - 2.2(b) are effective on the date Contributor first - distributes or otherwise makes the Modifications - available to a third party. - - (d) Notwithstanding Section 2.2(b) above, no patent - license is granted: (1) for any code that Contributor - has deleted from the Contributor Version; (2) for - infringements caused by: (i) third party - modifications of Contributor Version, or (ii) the - combination of Modifications made by that Contributor - with other software (except as part of the - Contributor Version) or other devices; or (3) under - Patent Claims infringed by Covered Software in the - absence of Modifications made by that Contributor. - - 3. Distribution Obligations. - - 3.1. Availability of Source Code. - - Any Covered Software that You distribute or otherwise make - available in Executable form must also be made available in - Source Code form and that Source Code form must be - distributed only under the terms of this License. You must - include a copy of this License with every copy of the - Source Code form of the Covered Software You distribute or - otherwise make available. You must inform recipients of any - such Covered Software in Executable form as to how they can - obtain such Covered Software in Source Code form in a - reasonable manner on or through a medium customarily used - for software exchange. - - 3.2. Modifications. - - The Modifications that You create or to which You - contribute are governed by the terms of this License. You - represent that You believe Your Modifications are Your - original creation(s) and/or You have sufficient rights to - grant the rights conveyed by this License. - - 3.3. Required Notices. - - You must include a notice in each of Your Modifications - that identifies You as the Contributor of the Modification. - You may not remove or alter any copyright, patent or - trademark notices contained within the Covered Software, or - any notices of licensing or any descriptive text giving - attribution to any Contributor or the Initial Developer. - - 3.4. Application of Additional Terms. - - You may not offer or impose any terms on any Covered - Software in Source Code form that alters or restricts the - applicable version of this License or the recipients' - rights hereunder. You may choose to offer, and to charge a - fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Software. - However, you may do so only on Your own behalf, and not on - behalf of the Initial Developer or any Contributor. You - must make it absolutely clear that any such warranty, - support, indemnity or liability obligation is offered by - You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred - by the Initial Developer or such Contributor as a result of - warranty, support, indemnity or liability terms You offer. - - - 3.5. Distribution of Executable Versions. - - You may distribute the Executable form of the Covered - Software under the terms of this License or under the terms - of a license of Your choice, which may contain terms - different from this License, provided that You are in - compliance with the terms of this License and that the - license for the Executable form does not attempt to limit - or alter the recipient's rights in the Source Code form - from the rights set forth in this License. If You - distribute the Covered Software in Executable form under a - different license, You must make it absolutely clear that - any terms which differ from this License are offered by You - alone, not by the Initial Developer or Contributor. You - hereby agree to indemnify the Initial Developer and every - Contributor for any liability incurred by the Initial - Developer or such Contributor as a result of any such terms - You offer. - - 3.6. Larger Works. - - You may create a Larger Work by combining Covered Software - with other code not governed by the terms of this License - and distribute the Larger Work as a single product. In such - a case, You must make sure the requirements of this License - are fulfilled for the Covered Software. - - 4. Versions of the License. - - 4.1. New Versions. - - Sun Microsystems, Inc. is the initial license steward and - may publish revised and/or new versions of this License - from time to time. Each version will be given a - distinguishing version number. Except as provided in - Section 4.3, no one other than the license steward has the - right to modify this License. - - 4.2. Effect of New Versions. - - You may always continue to use, distribute or otherwise - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. If the Initial Developer includes a - notice in the Original Software prohibiting it from being - distributed or otherwise made available under any - subsequent version of the License, You must distribute and - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. Otherwise, You may also choose to - use, distribute or otherwise make the Covered Software - available under the terms of any subsequent version of the - License published by the license steward. - - 4.3. Modified Versions. - - When You are an Initial Developer and You want to create a - new license for Your Original Software, You may create and - use a modified version of this License if You: (a) rename - the license and remove any references to the name of the - license steward (except to note that the license differs - from this License); and (b) otherwise make it clear that - the license contains terms which differ from this License. - - - 5. DISCLAIMER OF WARRANTY. - - COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" - BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, - INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED - SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR - PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND - PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY - COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE - INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF - ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF - WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS - DISCLAIMER. - - 6. TERMINATION. - - 6.1. This License and the rights granted hereunder will - terminate automatically if You fail to comply with terms - herein and fail to cure such breach within 30 days of - becoming aware of the breach. Provisions which, by their - nature, must remain in effect beyond the termination of - this License shall survive. - - 6.2. If You assert a patent infringement claim (excluding - declaratory judgment actions) against Initial Developer or - a Contributor (the Initial Developer or Contributor against - whom You assert such claim is referred to as "Participant") - alleging that the Participant Software (meaning the - Contributor Version where the Participant is a Contributor - or the Original Software where the Participant is the - Initial Developer) directly or indirectly infringes any - patent, then any and all rights granted directly or - indirectly to You by such Participant, the Initial - Developer (if the Initial Developer is not the Participant) - and all Contributors under Sections 2.1 and/or 2.2 of this - License shall, upon 60 days notice from Participant - terminate prospectively and automatically at the expiration - of such 60 day notice period, unless if within such 60 day - period You withdraw Your claim with respect to the - Participant Software against such Participant either - unilaterally or pursuant to a written agreement with - Participant. - - 6.3. In the event of termination under Sections 6.1 or 6.2 - above, all end user licenses that have been validly granted - by You or any distributor hereunder prior to termination - (excluding licenses granted to You by any distributor) - shall survive termination. - - 7. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE - INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF - COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE - LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR - CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT - LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK - STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL - INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT - APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO - NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR - CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT - APPLY TO YOU. - - 8. U.S. GOVERNMENT END USERS. - - The Covered Software is a "commercial item," as that term is - defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial - computer software" (as that term is defined at 48 C.F.R. - 252.227-7014(a)(1)) and "commercial computer software - documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. - 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 - through 227.7202-4 (June 1995), all U.S. Government End Users - acquire Covered Software with only those rights set forth herein. - This U.S. Government Rights clause is in lieu of, and supersedes, - any other FAR, DFAR, or other clause or provision that addresses - Government rights in computer software under this License. - - 9. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the - extent necessary to make it enforceable. This License shall be - governed by the law of the jurisdiction specified in a notice - contained within the Original Software (except to the extent - applicable law, if any, provides otherwise), excluding such - jurisdiction's conflict-of-law provisions. Any litigation - relating to this License shall be subject to the jurisdiction of - the courts located in the jurisdiction and venue specified in a - notice contained within the Original Software, with the losing - party responsible for costs, including, without limitation, court - costs and reasonable attorneys' fees and expenses. The - application of the United Nations Convention on Contracts for the - International Sale of Goods is expressly excluded. Any law or - regulation which provides that the language of a contract shall - be construed against the drafter shall not apply to this License. - You agree that You alone are responsible for compliance with the - United States export administration regulations (and the export - control laws and regulation of any other countries) when You use, - distribute or otherwise make available any Covered Software. - - 10. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or - indirectly, out of its utilization of rights under this License - and You agree to work with Initial Developer and Contributors to - distribute such responsibility on an equitable basis. Nothing - herein is intended or shall be deemed to constitute any admission - of liability. - -=============================================================================== - -JRuby (jruby-complete-1.0.jar), wsdl4j (wsdl4j-1.6.2.jar): - -Common Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - - a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and - b) in the case of each subsequent Contributor: - - i) changes to the Program, and - - ii) additions to the Program; - - where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. - -2. GRANT OF RIGHTS - - a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. - - b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. - - c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. - - d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: - - a) it complies with the terms and conditions of this Agreement; and - - b) its license agreement: - - i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; - - ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; - - iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and - - iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - - a) it must be made available under this Agreement; and - - b) a copy of this Agreement must be included with each copy of the Program. - -Contributors may not remove or alter any copyright notices contained within the Program. - -Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 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. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. - -=============================================================================== - -backport-util-concurrent-2.2.jar: - -The software comprising backport-util-concurrent is based in large -part on the code from JSR166, and the package dl.util.concurrent. -The software has been released to the public domain, as explained at: -http://creativecommons.org/licenses/publicdomain, excepting portions -of the class -edu.emory.mathcs.backport.java.util.concurrent.CopyOnWriteArrayList, -which were adapted from class java.util.ArrayList, written by Sun -Microsystems, Inc, which are used with kind permission, and subject -to the following: - -Copyright 2002-2004 Sun Microsystems, Inc. All rights reserved. Use is -subject to the following license terms. - - "Sun hereby grants you a non-exclusive, worldwide, non-transferrable - license to use and distribute the Java Software technologies as part - of a larger work in source and binary forms, with or without - modification, provided that the following conditions are met: - - -Neither the name of or trademarks of Sun may be used to endorse or - promote products derived from the Java Software technology without - specific prior written permission. - - -Redistributions of source or binary code must be accompanied by the - following notice and disclaimers: - - Portions copyright Sun Microsystems, Inc. Used with kind permission. - - This software is provided AS IS, without a warranty of any kind. ALL - EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PUPOSE OR - NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN - MICROSYSTEMS, INC. AND ITS LICENSORS SHALL NOT BE LIABLE - FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS - DERIVATIVES. IN NO EVENT WILL SUN MICROSYSTEMS, INC. OR - ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR - DATA, OR FOR DIRECT, INDIRECT,CONSQUENTIAL, INCIDENTAL - OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF - THE THEORY OR LIABILITY, ARISING OUT OF THE USE OF OR - INABILITY TO USE SOFTWARE, EVEN IF SUN MICROSYSTEMS, INC. - HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - You acknowledge that Software is not designed, licensed or intended for - use in the design, construction, operation or maintenance of any nuclear - facility." - -=============================================================================== -rome-0.9.jar - -Copyright 2004 Sun Microsystems, Inc. - -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. - -=============================================================================== -jdom-1.0.jar : - -$Id: LICENSE.txt,v 1.11 2004/02/06 09:32:57 jhunter Exp $ - - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions, and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions, and the disclaimer that follows - these conditions in the documentation and/or other materials - provided with the distribution. - - 3. The name "JDOM" must not be used to endorse or promote products - derived from this software without prior written permission. For - written permission, please contact . - - 4. Products derived from this software may not be called "JDOM", nor - may "JDOM" appear in their name, without prior written permission - from the JDOM Project Management . - - In addition, we request (but do not require) that you include in the - end-user documentation provided with the redistribution and/or in the - software itself an acknowledgement equivalent to the following: - "This product includes software developed by the - JDOM Project (http://www.jdom.org/)." - Alternatively, the acknowledgment may be graphical using the logos - available at http://www.jdom.org/images/logos. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 JDOM AUTHORS OR THE PROJECT - 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. - - This software consists of voluntary contributions made by many - individuals on behalf of the JDOM Project and was originally - created by Jason Hunter and - Brett McLaughlin . For more information - on the JDOM Project, please see . - -======================================================================== - -dwr-2.0.1.jar : - -/* -* Copyright 2005 Joe Walker -* -* 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. -*/ - -========================================================================== - -dojotoolkit V1.0.0: - -The "New" BSD License: -********************** - -Copyright (c) 2005, The Dojo Foundation -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 Dojo Foundation nor the names of its 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. - -================================================================================ - -The module tuscany-implementation-script-1.0-incubating.jar temporarily includes -one file under the below BSD license with the following copyright: - - Copyright (c) 2006, Sun Microsystems, Inc. - All rights reserved. - -BSD license: - - 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. - -================================================================================ - -The serp-1.12.0.jar is distributed under the BSD license with the following copyright: - - Copyright (c) 2002, A. Abram White - All rights reserved. - -BSD license: - - 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. - -================================================================================ -The javacc-3.2.jar, and howl-1.0.1-1.jar are distributed under the BSD license: - -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. - -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. - -================================================================================ - -The tuscany-assembly-xsd jar includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================ -License for the Service Data Objects JavaDoc and Interface Definition files. (tuscany-sdo-api-r2.1-1.0-incubating.jar) - -These files being ... -commonj/sdo/ChangeSummary$Setting.class -commonj/sdo/ChangeSummary.class -commonj/sdo/DataGraph.class -commonj/sdo/DataObject.class -commonj/sdo/helper/CopyHelper.class -commonj/sdo/helper/DataFactory.class -commonj/sdo/helper/DataHelper.class -commonj/sdo/helper/EqualityHelper.class -commonj/sdo/helper/HelperContext.class -commonj/sdo/helper/TypeHelper.class -commonj/sdo/helper/XMLDocument.class -commonj/sdo/helper/XMLHelper.class -commonj/sdo/helper/XSDHelper.class -commonj/sdo/impl/ExternalizableDelegator$Resolvable.class -commonj/sdo/impl/ExternalizableDelegator.class -commonj/sdo/Property.class -commonj/sdo/Sequence.class -commonj/sdo/Type.class -xml/datagraph.xsd -xml/sdoJava.xml -xml/sdoJava.xsd -xml/sdoModel.xml -xml/sdoModel.xsd -xml/sdoXML.xml -xml/sdoXML.xsd - - -License for the Service Data Objects JavaDoc and Interface Definition files. - -The Service Data Objects Specification is being provided by the copyright holders under the following -license. By using and/or copying this work, you agree that you have read, understood and will comply with -the following terms and conditions: - -Permission to copy, display and distribute the Service Data Objects Specification and/or portions thereof, without -modification, in any medium without fee or royalty is hereby granted, provided that you include the -following on ALL copies of the Service Data Objects Specification, or portions thereof, that you make: - -1. A link or URL to the Service Data Objects Specification at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Service Data Objects Specification. - -BEA, IBM, Oracle, Primeton Technologies, Rogue Wave Software, SAP, Software AG, Sun Microsystems, Xcalia, -Zend Technologies (collectively, the “Authors”) agree to grant you a royalty-free license, under reasonable, -non-discriminatory terms and conditions to patents that they deem necessary to implement the Service Data -Objects Specification. - -THE Service Data Objects SPECIFICATION IS PROVIDED "AS IS," AND THE AUTHORS MAKE NO REPRESENTATIONS OR -WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SPECIFICATION AND THE IMPLEMENTATION OF ITS CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, -NON-INFRINGEMENT OR TITLE. THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL -OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THE SERVICE DATA OBJECTS -SPECIFICATION. - -The name and trademarks of the Authors may NOT be used in any manner, including advertising or publicity -pertaining to the Service Data Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects Specification will at all times remain with the -Authors. - -No other rights are granted by implication, estoppel or otherwise. -================================================================================ - diff --git a/java/sca/contrib/distribution/features/core/src/main/release/bin/NOTICE b/java/sca/contrib/distribution/features/core/src/main/release/bin/NOTICE deleted file mode 100644 index 5daa9a3dfe..0000000000 --- a/java/sca/contrib/distribution/features/core/src/main/release/bin/NOTICE +++ /dev/null @@ -1,95 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses XmlSchema developed at -The Apache Software Foundation (http://ws.apache.org/commons/XmlSchema) - Portions Copyright 2006 International Business Machines Corp. - -This product includes/uses ode-bpel-api-1.1 developed at -The Apache Software Foundation (http://ode.apache.org) - - Copyright 1999-2006 Intalio - This product includes software developed by Intalio (http://www.intalio.com) - - Copyright 2006 Sybase - This product includes software developed by Sybase.(http://www.sybase.com) - -"This product includes software developed by the Spring Framework - Project (http://www.springframework.org)." - -This product includes/uses the Jetty Servlet Engine (http://jetty.mortbay.org), -developed by Mort Bay Consulting (http://www.mortbay.com) - -This product includes/uses the Groovy Script Engine (http://groovy.codehaus.org/), -Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - -This product includes/uses the Axion : the Open Source Java Database (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. All rights reserved. - -This product includes/uses DOM4J : the flexible XML framework for java (http://www.dom4j.org/) - Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. - -This product includes/uses software, AOP alliance (http://aopalliance.sourceforge.net) -License: Public Domain - -This product includes/uses JSON-RPC-Java (http://oss.metaparadigm.com/jsonrpc/) - -This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) - Copyright (c) 2003-2004 Jan-Klaas Kollhof - Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd - -This product includes software from the GlassFish project (https://glassfish.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes software from the Rome project (https://rome.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes/uses the Eclipse Modeling Framework project (http://www.eclipse.org/emf/) - -This product includes/uses the Mozilla Rhino project (http://www.mozilla.org/rhino/) - -This product includes/uses the Sourceforge wsdl4j project (http://sourceforge.net/projects/wsdl4j/)i - -This product includes/uses the Codehaus JRuby project (http://jruby.codehaus.org/) - -This product includes/uses JDOM (http://www.jdom.org/) - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. All rights reserved. - -This product includes/uses DWR (http://getahead.org/dwr) - Copyright 2005 Joe Walker. All rights reserved. - -This product includes/uses dojotoolkit (http://dojotoolkit.org/) - Copyright (c) 2005, The Dojo Foundation. All rights reserved. - -This product includes/uses Howl (http://howl.objectweb.org/) - Copyright (c) 2004, Bull S.A. - -This product includes/uses axion (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. - -This product includes/uses javacc (https://javacc.dev.java.net/) - Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved. - -The Program includes all or portions of the following software: "The -Saxon XSLT and XQuery Processor from Saxonica Limited" distributed under -an MPL v1.0 license. Please refer to the homepage URL at -http://www.saxonica.com/. - -This product includes/uses Serp (http://serp.sourceforge.net/) under the BSD license: - Copyright (c) 2002, A. Abram White. All rights reserved. - -This product also includes software under the BSD license -with the following copyright: - Copyright (c) 2006, Sun Microsystems, Inc. All rights reserved. - -This product includes software under the Service Component Architecture JavaDoc, -Interface Definition files and XSD files license. - (c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - diff --git a/java/sca/contrib/distribution/features/core/src/main/release/src/BUILDING b/java/sca/contrib/distribution/features/core/src/main/release/src/BUILDING deleted file mode 100644 index 65d09c5eae..0000000000 --- a/java/sca/contrib/distribution/features/core/src/main/release/src/BUILDING +++ /dev/null @@ -1,55 +0,0 @@ -Building the Apache Tuscany SCA 1.2 (incubating) April 2008 Release source distribution -======================================================================================= - -Initial Setup -------------- - -1) Install J2SE 5.0 SDK, which can be downloaded from - http://java.sun.com/j2se/1.5.0/download.jsp. Use version of 1.5.0_06 JDK or higher. - -2) Make sure that your JAVA_HOME environment variable is set to the newly installed - JDK location, and that your PATH includes %JAVA_HOME%\bin (windows) or - $JAVA_HOME$/bin (unix). - -3) Install Maven 2.0.7 or higher, which can be downloaded from - http://maven.apache.org/download.html. Make sure that your PATH includes - the MVN_HOME/bin directory. - -4) Make sure that your MAVEN_OPTS environment variable has -Xmx128M (or more), - you can manually do this by executing the following in your prompt : - Windows users: - set MAVEN_OPTS=-Xmx128M - Unix users: - export MAVEN_OPTS=-Xmx128M - - -Building --------- - -1) Change to the top level directory of Apache Tuscany source distribution. -2) Run - - $> mvn - - This will compile Apache Tuscany and run all of the tests in the source - distribution. - - Depending on the load of remote Maven 2.0 repositories, you may have - to run "mvn" several times utill the required dependencies are - all located in your local maven repository. It usually takes some time for - maven to download required dependencies in the first build. Once all the - dependencies have been downloaded you may use the -o option to run maven - in offline mode, for example, 'mvn clean install -o'. - - -Building the distributions --------------------------- - -1) Change to the distribution folder -2) Run - - $> mvn - - This will build the binary and source distribution with .zip and .gz - formats in the distribution/target directory. - diff --git a/java/sca/contrib/distribution/features/core/src/main/release/src/LICENSE b/java/sca/contrib/distribution/features/core/src/main/release/src/LICENSE deleted file mode 100644 index 144d8ae692..0000000000 --- a/java/sca/contrib/distribution/features/core/src/main/release/src/LICENSE +++ /dev/null @@ -1,397 +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. - -=============================================================================================================== - -The module itest/databindings/common includes the test schema; datagraph.xsd, sdoJava.xsd, and sdoModel.xsd -under the following license: - -License for the Service Data Objects JavaDoc, Interface Definition files -and XSD files. - -The Service Data Objects JavaDoc, Interface Definition files and XSD files -are being provided by the copyright holders under the following license. -By using and/or copying this work, you agree that you have read, -understood and will comply with the following terms and conditions: - -Permission to copy, display, make derivative works of and distribute -the Service Data Objects JavaDoc, Interface Definition files and XSD files -(the "Artifacts") in any medium without fee or royalty is hereby granted, -provided that you include the following on ALL copies of the Artifacts, -or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - - - -THE ARTIFACTS ARE PROVIDED "AS IS" AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Data -Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects -Specification will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.11, last updated on 2007/12/21 - -================================================================================================================= - -The 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. - -================================================================================================================= - -The module assembly-xsd includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================================================= -The modules - -binding-ws-xml -databinding -databinding-axiom -databinding-jaxb -databinding-json -databinding-sdo -databinding-sdo-axiom -databinding-xmlbeans -interface-wsdl-xml - -Include the ipo.xsd and address.xsd information from the XML Schema Primer -(http://www.w3.org/TR/2004/PER-xmlschema-0-20040318/) combined into the -file ipo.xsd and extended with UK postcode structures. - -The ipo.xsd file is include under the following license: - -W3C(c) SOFTWARE NOTICE AND LICENSE -http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - -This work (and included software, documentation such as READMEs, or other -related items) is being provided by the copyright holders under the following -license. By obtaining, using and/or copying this work, you (the licensee) agree -that you have read, understood, and will comply with the following terms and conditions. - -Permission to copy, modify, and distribute this software and its documentation, -with or without modification, for any purpose and without fee or royalty is -hereby granted, provided that you include the following on ALL copies of the -software and documentation or portions thereof, including modifications: - - 1. The full text of this NOTICE in a location viewable to users of the - redistributed or derivative work. - 2. Any pre-existing intellectual property disclaimers, notices, or terms - and conditions. If none exist, the W3C Software Short Notice should be - included (hypertext is preferred, text is permitted) within the body of - any redistributed or derivative code. - 3. Notice of any changes or modifications to the files, including the date - changes were made. (We recommend you provide URIs to the location from which - the code is derived.) - -THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE -NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, -WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE -USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, -COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. - -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. - -The name and trademarks of copyright holders may NOT be used in advertising or -publicity pertaining to the software without specific, written prior permission. -Title to copyright in this software and any associated documentation will at all -times remain with copyright holders. diff --git a/java/sca/contrib/distribution/features/core/src/main/release/src/NOTICE b/java/sca/contrib/distribution/features/core/src/main/release/src/NOTICE deleted file mode 100644 index 31540fd607..0000000000 --- a/java/sca/contrib/distribution/features/core/src/main/release/src/NOTICE +++ /dev/null @@ -1,39 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) - Copyright (c) 2003-2004 Jan-Klaas Kollhof - Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd - -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. - -This product includes software under the Service Component Architecture JavaDoc, -Interface Definition files and XSD files license. - (c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - -This product includes software under the W3C(c) Software License -with the following copyright: - -Copyright (c) 2008 World Wide Web Consortium, (Massachusetts Institute of Technology, -European Research Consortium for Informatics and Mathematics, Keio University). -All Rights Reserved. This work is distributed under the W3C(c) Software License [1] in -the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied -warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - - diff --git a/java/sca/contrib/distribution/features/ejava/pom.xml b/java/sca/contrib/distribution/features/ejava/pom.xml deleted file mode 100644 index a926209a6a..0000000000 --- a/java/sca/contrib/distribution/features/ejava/pom.xml +++ /dev/null @@ -1,179 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-distribution-features - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-distribution-ejava - Apache Tuscany SCA JEE Distribution - pom - - - - - - org.apache.tuscany.sca - tuscany-distribution-core - pom - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-binding-ejb-runtime - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-binding-jms-runtime - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-host-ejb - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-implementation-ejb - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-implementation-spring - 2.0-SNAPSHOT - - - - - - - - default - - true - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - distribution-package - package - - single - - - - src/main/assembly/bin.xml - src/main/assembly/src.xml - - gnu - apache-tuscany-sca-ejava-1.4-SNAPSHOT - - - - - - - - - - - modules - - ../../../modules/assembly - ../../../modules/assembly-xml - ../../../modules/assembly-xsd - ../../../modules/binding-corba - ../../../modules/binding-corba-runtime - ../../../modules/binding-ejb - ../../../modules/binding-ejb-runtime - ../../../modules/binding-jms - ../../../modules/binding-jms-runtime - ../../../modules/binding-sca - ../../../modules/binding-sca-xml - ../../../modules/contribution - ../../../modules/contribution-impl - ../../../modules/contribution-java - ../../../modules/contribution-namespace - ../../../modules/contribution-xml - ../../../modules/core - ../../../modules/core-databinding - ../../../modules/core-spi - ../../../modules/data-api - ../../../modules/databinding - ../../../modules/databinding-axiom - ../../../modules/databinding-jaxb - ../../../modules/definitions - ../../../modules/definitions-xml - ../../../modules/endpoint - ../../../modules/extensibility - ../../../modules/extensibility-equinox - ../../../modules/extension-helper - ../../../modules/host-corba - ../../../modules/host-corba-jse - ../../../modules/host-ejb - ../../../modules/host-embedded - ../../../modules/host-http - ../../../modules/implementation-ejb - ../../../modules/implementation-java - ../../../modules/implementation-java-runtime - ../../../modules/implementation-java-xml - ../../../modules/implementation-node - ../../../modules/implementation-node-runtime - ../../../modules/implementation-script - ../../../modules/implementation-spring - ../../../modules/interface - ../../../modules/interface-java - ../../../modules/interface-java-jaxws - ../../../modules/interface-java-xml - ../../../modules/interface-wsdl - ../../../modules/interface-wsdl-xml - ../../../modules/monitor - ../../../modules/monitor-logging - ../../../modules/node-api - ../../../modules/node-impl - ../../../modules/node-launcher - ../../../modules/node-launcher-equinox - ../../../modules/node-launcher-webapp - ../../../modules/policy - ../../../modules/policy-security - ../../../modules/policy-xml - ../../../modules/sca-api - ../../../modules/xsd - ../../../modules/xsd-xml - - - - - diff --git a/java/sca/contrib/distribution/features/ejava/src/main/assembly/bin.xml b/java/sca/contrib/distribution/features/ejava/src/main/assembly/bin.xml deleted file mode 100644 index fd49912e91..0000000000 --- a/java/sca/contrib/distribution/features/ejava/src/main/assembly/bin.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - true - tuscany-sca-1.4-SNAPSHOT - - - zip - - - - ../core/src/main/components/bin-common.xml - ../core/src/main/components/bin-filtered-dependencies.xml - src/main/components/bin-samples.xml - - diff --git a/java/sca/contrib/distribution/features/ejava/src/main/assembly/src.xml b/java/sca/contrib/distribution/features/ejava/src/main/assembly/src.xml deleted file mode 100644 index 0d832271b9..0000000000 --- a/java/sca/contrib/distribution/features/ejava/src/main/assembly/src.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - src - true - tuscany-sca-1.4-SNAPSHOT-src - - - zip - - - - ../core/src/main/components/src-common.xml - src/main/components/src-modules.xml - - diff --git a/java/sca/contrib/distribution/features/ejava/src/main/components/bin-samples.xml b/java/sca/contrib/distribution/features/ejava/src/main/components/bin-samples.xml deleted file mode 100644 index f1c691965b..0000000000 --- a/java/sca/contrib/distribution/features/ejava/src/main/components/bin-samples.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - ../../../samples - samples - - helloworld-reference-jms/**/* - helloworld-service-jms/**/* - simple-bigbank-spring/**/* - - - - **/.* - **/.*/** - **/*.log - - - pom.xml - **/target - **/target/**/* - - - - diff --git a/java/sca/contrib/distribution/features/ejava/src/main/components/src-modules.xml b/java/sca/contrib/distribution/features/ejava/src/main/components/src-modules.xml deleted file mode 100644 index 2b4bd22d87..0000000000 --- a/java/sca/contrib/distribution/features/ejava/src/main/components/src-modules.xml +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - ../../../modules - modules - - assembly/**/* - assembly-xml/**/* - assembly-xsd/**/* - binding-corba/**/* - binding-corba-runtime/**/* - binding-ejb/**/* - binding-ejb-runtime/**/* - binding-jms/**/* - binding-jms-runtime/**/* - binding-sca/**/* - binding-sca-xml/**/* - contribution/**/* - contribution-impl/**/* - contribution-java/**/* - contribution-namespace/**/* - contribution-xml/**/* - core/**/* - core-databinding/**/* - core-spi/**/* - data-api/**/* - databinding/**/* - databinding-axiom/**/* - databinding-jaxb/**/* - definitions/**/* - definitions-xml/**/* - distribution-core/**/* - endpoint/**/* - extensibility/**/* - extensibility-equinox/**/* - extension-helper/**/* - host-corba/**/* - host-corba-jse/**/* - host-ejb/**/* - host-embedded/**/* - host-http/**/* - implementation-ejb/**/* - implementation-java/**/* - implementation-java-runtime/**/* - implementation-java-xml/**/* - implementation-node/**/* - implementation-node-runtime/**/* - implementation-script/**/* - implementation-spring/**/* - interface/**/* - interface-java/**/* - interface-java-jaxws/**/* - interface-java-xml/**/* - interface-wsdl/**/* - interface-wsdl-xml/**/* - monitor/**/* - monitor-logging/**/* - node-api/**/* - node-impl/**/* - node-launcher/**/* - node-launcher-equinox/**/* - node-launcher-webapp/**/* - policy/**/* - policy-security/**/* - policy-xml/**/* - sca-api/**/* - xsd/**/* - xsd-xml/**/* - - - - **/.* - **/.*/** - **/*.log - - - pom.xml - **/target - **/target/**/* - - - - diff --git a/java/sca/contrib/distribution/features/ejava/src/main/release/CHANGES b/java/sca/contrib/distribution/features/ejava/src/main/release/CHANGES deleted file mode 100644 index 3de7358ec6..0000000000 --- a/java/sca/contrib/distribution/features/ejava/src/main/release/CHANGES +++ /dev/null @@ -1,431 +0,0 @@ -Changes With Apache Tuscany SCA 1.2 (incubating) April 2008 -=========================================================== - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-2027 - * TUSCANY-1999 - * TUSCANY-2037 - * TUSCANY-2034 - * TUSCANY-2038 - * TUSCANY-2043 - * TUSCANY-2046 - * TUSCANY-2047 - * TUSCANY-2028 - * TUSCANY-1873 - * TUSCANY-2049 - * TUSCANY-2035 - * TUSCANY-1206 - * TUSCANY-2036 - * TUSCANY-1771 - * TUSCANY-2013 - * TUSCANY-1926 - * TUSCANY-1917 - * TUSCANY-1949 - * TUSCANY-1941 - * TUSCANY-2045 - * TUSCANY-2057 - * TUSCANY-2055 - * TUSCANY-2056 - * TUSCANY-2072 - * TUSCANY-2047 - * TUSCANY-2073 - * TUSCANY-1977 - * TUSCANY-2075 - * TUSCANY-1894 - * TUSCANY-2079 - * TUSCANY-2078 - * TUSCANY-2080 - * TUSCANY-2068 - * TUSCANY-1950 - * TUSCANY-2077 - * TUSCANY-2056 - * TUSCANY-2088 - * TUSCANY-2086 - * TUSCANY-2094 - * TUSCANY-2106 - - Features and/or Enhancements - - * Core - - Interceptor Enhancements - - Phase-based interceptor ordering to allow contribution of new interceptors and also define the order in witch they should be invoked - - Pass-by-reference SPI to allow interceptors to indicate if they support pass-by-reference - - PolicyProvider SPIs to allow extensions to plugin policy interceptors - - Support for JAXWS annotations and mapping of faults to Java exceptions according to JAXWS specification - - Improvement of contribution service to allow it to be used outside of the runtime environment - - Support for Contribution Import/Export resource - - Enhanced Distributed Domain story using Workspace - - Implementation of a SCA domain allowing a system administrator to manage contributions, composites and sca nodes that run these composites - - Set of core services providing management capabilities - - Administration web interface - - This is a work in progress and you can see it in action in samples/calculator-distributed. Other samples that use distributed operation are yet to move over to the workspace. - - Enhanced support for SCA Policy spec - - Ability to apply external policy definitions to a SCA composition - - Ability to spread policy definitions to multiple definitions.xml files available across the sca domain - - Bug fixes - - Improvements of http binding to support servlet components - - Enable Tuscany to run inside an OSGi runtime - - * Web 2.0 Extensions - - Enhancements to implementation.widget (support for properties) - - New atom binding based on Apache Abdera - - Refactoring of rss-rome binding - * Other Extensions - - Binding JMS - - greatly simplified the use of the JMS binding, support locating JMS resources from JNDI, and better compliance with the SCA JMS binding spec - - see the doc page for more details: http://incubator.apache.org/tuscany/sca-java-bindingjms.html - - Enhancements to Binding RMI - - Support shared RMI registry and use 999x as the ports in test case to avoid 1099 conflict - - Enhancements to Groovy extension - - Support for 'native' groovy classes - - Enhancements to OSGi bundle contributions - - Support Bundle URLs to be added as contributions - - * Tools - - Eclipse plugin providing a Tuscany runtime Library and Tuscany launcher in Eclipse environment - - An updatesite is also available to facilitate the plugin installation using the Eclipse update manager - - * Samples/Tutorial/Demos - - calculator-distributed migrated to use new Tuscany Distributed Workspace - - sample-calculator-ws-secure-webapp - - sample-helloworld-jms-webapp - - new jms samples - - improve bigbank demo to include support for policies - - tutorial store changes - - use of import/export - - development of contribution without requiring dependencies on the Tuscany runtime - - usage of new sca domain infrastructure - - * Testing - - Web Container Testing Framework integrated with (Tomcat, Jetty, Geronimo and Websphere) - - -Changes With Apache Tuscany SCA 1.1 (incubating) January 2008 -=============================================================== - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-1939 - * TUSCANY-1914 - * TUSCANY-1854 - * TUSCANY-1931 - * TUSCANY-1547 - * TUSCANY-1909 - * TUSCANY-1919 - * TUSCANY-1930 - * TUSCANY-1806 - * TUSCANY-1804 - * TUSCANY-1916 - * TUSCANY-1913 - * TUSCANY-1834 - * TUSCANY-1857 - * TUSCANY-1687 - * TUSCANY-1801 - * TUSCANY-1742 - * TUSCANY-1762 - * TUSCANY-1945 - * TUSCANY-1595 - * TUSCANY-1594 - * TUSCANY-1849 - * TUSCANY-1836 - * TUSCANY-1934 - * TUSCANY-1902 - * TUSCANY-1608 - * TUSCANY-1943 - * TUSCANY-1896 - * TUSCANY-1626 - * TUSCANY-1797 - * TUSCANY-1601 - * TUSCANY-1415 - -- Better JMS support - * binding.jms supporting point to point text based messaging only - * New SOAP/JMS sample (helloworld-ws-reference/service-jms) - -- Improvements in PolicyFramework Support - * Support for policy specifications on operation elements in a composite definition - * Separate sample (calculator-implementation-policies) to demonstrate use of Implementation Policies - (uses logging and JAAS Authentication) - -- Modeling of client side java script components - * See implementation.widget - -- Evolving support for doman API suggested by assembly spec including a standalone node and nodes running - connected together in a domain. This is still experimental. - -- Class loading and OSGI improvements - * Enable Tuscany to be run in a multi-classloader environment including inside OSGi. By default, - Tuscany continues to run using a single CLASSPATH-based classloader. - * Contributions no longer need to be in the CLASSPATH. All import/export dependencies across contributions should be - explicitly specified (as described in the spec). - -- JAXB based POJO transformations - -Changes With Apache Tuscany SCA 1.0.1 (incubating) November 2007 -================================================================ - -The Tuscany SCA Java 1.0.1 is mainly a bug-fix release. It also comes with some improvements as listed below. - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-1848 - * TUSCANY-1857 - * TUSCANY-1859 - * TUSCANY-1801 - * TUSCANY-1823 - * TUSCANY-1839 - * TUSCANY-1814 - * TUSCANY-1818 - * TUSCANY-1834 - * TUSCANY-1637 - * TUSCANY-1826 - * TUSCANY-1823 - * TUSCANY-1819 - * TUSCANY-1821 - * TUSCANY-1822 - * TUSCANY-1806 - * TUSCANY-1808 - * TUSCANY-1756 - * TUSCANY-1757 - -- Fix build issues with Maven 2.0.7 and JDK 6 - -- Reduce memory consumption for WSDLs that import large XSDs - -- Add more logging statements for better servicibility - -- Add an extension point to allow extensions to plug-in extension schemas. - -- Add a demo application to showcase XML integration story - -- Improve in databinding framework - * Add support for JSON Databindings and other refactoring - * Set databinding for introspected data type and enhance the checking of wrapper style - * Improve the tree-based XMLStreamReader and convert Bean & DOM to use this approach - * Add a tree-iterator based XMLStreamReader base impl - * Add default element info to java interface - * Rename Interface.setDefaultDataBinding to resetDataBinding - -- Limit the method injection to setters and allow the setter annotation to override field annotation - -- Evolving support in Intent and Policy handling - * Add support for policies in implementation - * Fix the algorithm for macthing policySets defined on bindings for the wire - * Add policy intent for implementation.java - * Extend java implementation type to recognize and apply policies, adding util support for this in Policy module - * Add policy module for logging - -- Evolving development in the SCA Domain/Node - -- Update NOTICE files with missing dependencies - - -Changes With Apache Tuscany SCA 1.0 (incubating) September 2007 -=============================================================== - -- Tuscany Java SCA now implements V1.0 of the core SCA - specifications - SCA Assembly Model V1.0 - SCA Java Common Annotations and APIs V1.0 - SCA Java Component Implementation V1.0 - SCA Web Services Binding V1.0 - Including callbacks, conversations and callable references - - -- Support for ws-security configurable in the web services binding - thro Tuscany SCA policy intents and policysets using the policy framework - introduced in the last release. - - Note : This release supports specifications of policies around axis2 - config params - see helloworld-ws-service-secure sample. The policy - intents that have been tested are authentication, integrity and - confidentiality. - There is no sample or test that exercises confidentiality since there - are some unresolved licensing issue around bouncycastle libraries. - However, users who are not encumbered by the bouncycastle license - restrictions can try the 'confidentiality' intent. See FAQ - - http://incubator.apache.org/tuscany/tuscany-sca-java-faq.html - - This release does not include support for WS-Policy - attachments in Tuscany Policysets for ws-security. - - -- An XQuery component implementation type - implementation-xquery - - -- A Databinding for converting data to and from nodes for XQuery - processing - databinding-saxon - - -- OSGI support has been extended to allow Tuscany contributions - packaged as OSGI bundles hence taking advantage of OSGI's bundle - loading an dependency management capabilities - - -- A BPEL component implementation type experimental implementation -based on SCA BPEL Client and Implementation V1.0. At the moment only -supports BPEL process as services. - implementation-bpel - - -- The distributed runtime implementation has been separated out - into - *) domain - *) node - It is now wrapped by a SCADomain interface as is the standalone - runtime. - - Note: This release does not include support for WebApp host deployment - for a distributed SCA Domain - - - -- The web service binding will now generate WSDL automatically - based on the service interface if no WSDL is provided - - -- A new "store" sample and associated document show how a - simple store front application can be constructed - samples/store - -- The following features of this release are still experimental: - - BPEL implementation type, integrating with Apache ODE - - OSGI implementation type, integrating with Apache Felix - - XQuery implementation type - - - -Changes With Apache Tuscany SCA 0.99 (incubating) August 2007 -============================================================= - -The following are the significant additions to release 0.99 -over and above all of what was offered in release 0.91. - -- A version of the default sca binding that works between - components runing in separate Java virtual machines - binding-sca-axis - -- A simple node implementation and a service discovery - function for running sca applications distributed - across more than one node - distributed - distributed-impl - -- integration with OSGi runtimes is now supported with - a new implementation-osgi component type - -- PUB/SUB interactions are now supported by using new - notification binding and implementation types, and - samples demonstrating the feature. - -- The Tuscany runtime now has a policy framework supporting - the SCA policy specification - -- the endpoint URIs used by SCA bindings has been rationalized - and now follows the SCA Assembly specification - -- binding-ajax has been renamed to binding-dwr - -Changes With Apache Tuscany SCA 0.91 (incubating) July 2007 -=========================================================== - -The following are the significant additions to release 0.91 -over and above all of what was offered in release 0.90. - - -- Enhancements to support multiple contributions to the SCA Domain - -- The inclusion of a alternative simplified extensions-helper -SPI layer to faciliate rapid development of extensions - -- More Implementation Extenstions - Spring - WebResource - -- More Binding Extensions - AJAX - EJB - RSS/ATOM Feeds - -- Demos that demonstrate the use of a mix of extensions - alert-aggregator-webapp - bigbank-account - bigbank-calculator - bigbank-stockquote - - -- Samples - Samples to demostrate use of Spring, Resource, AJAX extensions - -Changes With Apache Tuscany SCA 0.90 (incubating) June 2007 -=========================================================== - -- Implementations for all of the Java Annotations and API Specification V1.0 found at - (http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications) - apart from the following. - @ComponentName - Conversation - RequestContext - -- New assembly model implementation taking into account SCA 1.0 artifacts - Data duplication between assembly model and runtime removed - -- Simple single process domain support - Contribution support to scope items being deployed into the runtime - -- Improved Package/Class naming consistency across modules - -- Extensions now loaded via Java service mechanism - Refactored extensions to use new SPIs (see below) - -- Maven and Ant based sample builds in the binary distribution - -- Implementation Extensions - Java - Script supporting (Ruby, Python, Groovy, JavaScript) - -- Binding Extensions - Axis2 - RMI - JSONRPC - --Databinding Extensions - Axiom - JAXB - SDO - -- Host environments - Embedded - Tomcat - Jetty - RMI - -- A clear set of SPIs intended to be stable over future releases - SCA assembly model - org.apache.tuscany.sca.assembly - org.apache.tuscany.sca.interfacedef - org.apache.tuscany.sca.interfacedef.java - org.apache.tuscany.sca.interfacedef.wsdl - org.apache.tuscany.sca.policy - - SCA contribution model - org.apache.tuscany.sca.contribution - - Runtime extensions - org.apache.tuscany.sca.core - org.apache.tuscany.sca.invocation - org.apache.tuscany.sca.provider - org.apache.tuscany.sca.runtime - org.apache.tuscany.sca.work - - Data binding support - org.apache.tuscany.sca.databinding - - Embedding Tuscany - org.apache.tuscany.sca.host.embedded - - Servlet container integration - org.apache.tuscany.sca.http - -- For this point release a partial set of JavaDoc is provided to - be filled out as we close on release 1.0 diff --git a/java/sca/contrib/distribution/features/ejava/src/main/release/DISCLAIMER b/java/sca/contrib/distribution/features/ejava/src/main/release/DISCLAIMER deleted file mode 100644 index a65af91c5a..0000000000 --- a/java/sca/contrib/distribution/features/ejava/src/main/release/DISCLAIMER +++ /dev/null @@ -1,7 +0,0 @@ -Apache Tuscany is an effort undergoing incubation at The Apache Software -Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is -required of all newly accepted projects until a further review indicates that -the infrastructure, communications, and decision making process have stabilized -in a manner consistent with other successful ASF projects. While incubation -status is not necessarily a reflection of the completeness or stability of the -code, it does indicate that the project has yet to be fully endorsed by the ASF. \ No newline at end of file diff --git a/java/sca/contrib/distribution/features/ejava/src/main/release/README b/java/sca/contrib/distribution/features/ejava/src/main/release/README deleted file mode 100644 index 4d83dcfde9..0000000000 --- a/java/sca/contrib/distribution/features/ejava/src/main/release/README +++ /dev/null @@ -1,19 +0,0 @@ -Apache Tuscany SCA 1.2 (incubating) April 2008 README -===================================================== - -Welcome to the Tuscany SCA 1.2 release. - -See the RELEASE_NOTES file for information specific to this release. - -In the binary release see the INSTALL file for information on how to -install the release. - -In the source distribution see the BUILDING file for information on -building the source code. - - - - - - - diff --git a/java/sca/contrib/distribution/features/ejava/src/main/release/RELEASE_NOTES b/java/sca/contrib/distribution/features/ejava/src/main/release/RELEASE_NOTES deleted file mode 100644 index a04ef5c553..0000000000 --- a/java/sca/contrib/distribution/features/ejava/src/main/release/RELEASE_NOTES +++ /dev/null @@ -1,83 +0,0 @@ -Apache Tuscany SCA 1.2 (incubating) April 2008 Release Notes -============================================================ - -Apache Tuscany provides a runtime based on the Service Component -Architecture. SCA is a set of specifications aimed at simplifying SOA -Application Development which are being standardized at OASIS as part -of Open Composite Services Architecture (Open CSA) - http://www.oasis-opencsa.org/. - -Overview --------- - - The Apache Tuscany SCA 1.2 release includes implementations of the - main SCA specifications including: - - SCA Assembly Model V1.0 - SCA Policy Framework V1.0 - SCA Java Common Annotations and APIs V1.0 - SCA Java Component Implementation V1.0 - SCA Spring Component Implementation V1.0 - SCA BPEL Client and Implementation V1.0 - SCA Web Services Binding V1.0 - SCA EJB Session Bean Binding V1.0 - - It also includes implementations of many features not yet defined - by SCA specifications, including: - - - SCA bindings for Direct Web Remoting, RSS and ATOM Feeds, - HTTP resources, JSON-RPC, PUB/SUB Notifications, and RMI. - - SCA implementation types for OSGI, XQuery, BPEL, Widget and various - dynamic languages including Groovy, Javascript, Python and Ruby - - Databindings for Service Data Objects (SDO), JAXB, XmlBeans, - Axis2's AXIOM, JSON, SAXON, DOM, SAX and StAX - - The Tuscany SCA Runtime can be configured as a single node SCA domain or - as an SCA domain distributed across multiple nodes. - In addition Tuscany SCA supports the following host-deployment options: - - - running standalone - - running with distributed nodes across multiple JVMs - - running with embedded Jetty or Tomcat - - running as part of a standard web application - - The Wepapp samples included in this release have been tried and tested on - - Tomcat 5.5.20 and Tomcat 6.0.14 - - Jetty 6.1.3 - - Geronimo 2.0.2 Tomcat6 jee5 - - WebSphere 6.1 fix pack 9 - -See the CHANGES file for a detailed list of the features in this release. - -Support -------- - -For more information on Apache Tuscany visit the website at: - - http://incubator.apache.org/tuscany/ - -Any issues with this release can be reported to Apache Tuscany -using the mailing lists or in the JIRA issue tracker. - - Mailing list archives: - - http://mail-archives.apache.org/mod_mbox/ws-tuscany-user/ - http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev/ - - Jira: - - http://issues.apache.org/jira/browse/TUSCANY - -To join the project's mailing lists follow the instructions at: - - http://incubator.apache.org/tuscany/mailing-lists.html - -To find out more about OASIS Open CSA go to: - - http://www.oasis-opencsa.org. - -Apache Tuscany welcomes your help. Any contribution, including code, -testing, improving the documentation, or bug reporting is always -appreciated. - -Thank you for using Apache Tuscany! - -- The Tuscany Team. diff --git a/java/sca/contrib/distribution/features/ejava/src/main/release/bin/INSTALL b/java/sca/contrib/distribution/features/ejava/src/main/release/bin/INSTALL deleted file mode 100644 index 2da53a2b44..0000000000 --- a/java/sca/contrib/distribution/features/ejava/src/main/release/bin/INSTALL +++ /dev/null @@ -1,27 +0,0 @@ -Installing the Apache Tuscany SCA 1.2 (incubating) April 2008 Release binary distribution -========================================================================================= - -Unzip Tuscany binary distribution archive and you get the following: - -tuscany-sca-1.1-incubating - DISCLAIMER - the ASF incubation disclaimer - INSTALL - this help file - LICENSE - the Apache License and any dependecy licenses - NOTICE - attribution notices associated with the licenses - README - readme for the release - RELEASE_NOTES - description of this release - CHANGES - A note of the major changes in this release - - /demos - Demo applications showcasing the use of Apache Tuscany - - /lib - The tuscany-sca-all and tuscany-sca-manifest jars and all their dependencies - - /modules - all of the individual Tuscany jars - - /samples - all the Tuscany samples, see the README in that directory - - /tutorial - The store tutorial, see the README in that directory - - - - diff --git a/java/sca/contrib/distribution/features/ejava/src/main/release/bin/LICENSE b/java/sca/contrib/distribution/features/ejava/src/main/release/bin/LICENSE deleted file mode 100644 index 5e1f585d46..0000000000 --- a/java/sca/contrib/distribution/features/ejava/src/main/release/bin/LICENSE +++ /dev/null @@ -1,2366 +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 SUBCOMPONENTS: - -The Apache Tuscany binary distribution includes a number of subcomponents -with separate copyright notices and license terms. Your use of the -code for the these subcomponents is subject to the terms and -conditions of the following licenses. - -=============================================================================== - -The following components come under Apache Software License 1.1 - - commons-discovery-0.2.jar - commons-primitives-1.0.jar - -The following components come under Apache Software License 2.0 - - abdera-core-0.3.0-incubating.jar - abdera-i18n-0.3.0-incubating.jar - abdera-parser-0.3.0-incubating.jar - activeio-2.0-r118.jar - activeio-core-3.0.0-incubator.jar - apache-activemq-4.1.1.jar - addressing-1.3.mar - annogen-0.1.0.jar - annotations-api-6.0.14.jar - aopalliance-1.0.jar - axiom-api-1.2.5.jar - axiom-dom-1.2.5.jar - axiom-impl-1.2.5.jar - axis2-adb-1.3.jar - axis2-codegen-1.3.jar - axis2-java2wsdl-1.3.jar - axis2-kernel-1.3.jar - axis2-mtompolicy-1.3.jar - bsf-all-3.0-beta2.jar - catalina-6.0.14.jar - cglib-nodep-2.1_3.jar - commons-collections-3.1.jar - commons-codec-1.3.jar - commons-fileupload-1.1.1.jar - commons-httpclient-3.0.1.jar - commons-io-1.2.jar - commons-jexl-1.1.jar - commons-lang-2.1.jar - commons-logging-1.1.jar - coyote-6.0.14.jar - derby-10.1.3.1.jar - geronimo-activation_1.1_spec-1.0-M1.jar - geronimo-common-1.2-beta.jar - geronimo-commonj_1.1_spec-1.0.jar - geronimo-connector-1.2-beta.jar - geronimo-core-1.2-beta.jar - geronimo-deployment-1.2-beta.jar - geronimo-ejb_3.0_spec-1.0.jar - geronimo-interceptor-1.2-beta.jar - geronimo-j2ee-1.2-beta.jar - geronimo-j2ee-connector_1.5_spec-1.1.jar - geronimo-j2ee-jacc_1.0_spec-1.1.jar - geronimo-j2ee-management_1.0_spec-1.1.jar - geronimo-javamail_1.4_spec-1.0-M1.jar - geronimo-jms_1.1_spec-1.1.jar - geronimo-jpa_3.0_spec-1.0.jar - geronimo-jta_1.0.1B_spec-1.0.jar - geronimo-kernel-1.2-beta.jar - geronimo-management-1.2-beta.jar - geronimo-naming-1.2-beta.jar - geronimo-security-1.2-beta.jar - geronimo-spec-j2ee-connector-1.5-rc4.jar - geronimo-spec-jta-1.0.1B-rc4.jar - geronimo-system-1.2-beta.jar - geronimo-transaction-1.2-beta.jar - geronimo-util-1.2-beta.jar - httpcore-4.0-alpha5.jar - httpcore-nio-4.0-alpha5.jar - httpcore-niossl-4.0-alpha5.jar - jettison-1.0-RC2.jar - jetty-6.1.7.jar - jetty-util-6.1.7.jar - json-rpc-1.0.jar - juli-6.0.14.jar - log4j-1.2.12.jar - logkit-1.0.1.jar - neethi-2.0.2.jar - ode-bpel-api-1.1.jar - ode-bpel-compiler-1.1.jar - ode-bpel-dao-1.1.jar - ode-bpel-epr-1.1.jar - ode-bpel-obj-1.1.jar - ode-bpel-runtime-1.1.jar - ode-bpel-schemas-1.1.jar - ode-bpel-store-1.1.jar - ode-dao-jpa-1.1.jar - ode-dao-jpa-ojpa-derby-1.1.zip - ode-jacob-1.1.jar - ode-jacob-ap-1.1.jar - ode-scheduler-simple-1.1.jar - ode-utils-1.1.jar - openjpa-all-0.9.7-incubating.jar - openjpa-persistence-0.9.7-incubating.jar - org.apache.felix.bundlerepository-1.0.2.jar - org.apache.felix.framework-1.0.3.jar - org.apache.felix.main-1.0.3.jar - org.apache.felix.shell-1.0.0.jar - org.apache.felix.shell.tui-1.0.0.jar - rampart-core-1.3.jar - rampart-policy-1.3.jar - rampart-trust-1.3.jar - regexp-1.3.jar - spring-beans-2.0.6.jar - spring-context-2.0.6.jar - spring-core-2.0.6.jar - tranql-connector-1.1.jar - tuscany-sdo-api-r2.1-1.0-incubating.jar - tuscany-sdo-impl-1.0-incubating.jar - tuscany-sdo-lib-1.0-incubating.jar - tuscany-sdo-tools-1.0-incubating.jar - woden-1.0-incubating-M7b.jar - wss4j-1.5.3.jar - wstx-asl-3.2.1.jar - xalan-2.7.0.jar - xbean-naming-2.7.jar - xercesImpl-2.8.1.jar - xml-apis-1.3.03.jar - xmlbeans-2.3.0.jar - xml-resolver-1.1.jar - xmlsec-1.4.0.jar - XmlSchema-1.3.2.jar - -=============================================================================== -axion-1.0-M3-dev.jar - -Copyright (c) 2002-2003 Axion Development Team. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - -2. 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. - -3. The names "Tigris", "Axion", nor the names of its contributors may - not be used to endorse or promote products derived from this - software without specific prior written permission. - -4. Products derived from this software may not be called "Axion", nor - may "Tigris" or "Axion" appear in their names 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. - -The "Axion Development Team" is defined to be: - - * Chuck Burdick - * James Burke - * Morgan Delagrange - * Geir Magnusson Jr. - * Martin Poeschl - * Steve Polyak - * Daniel Rall - * Ahimanikya Satapathy - * Doug Sale - * James Strachan - * Rodney Waldhoff - * Jason van Zyl - -License changes are to be determined by a simple majority vote of the -Axion Development Team. - -=============================================================================== -dom4j-1.6.1.jar - -Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. - -Redistribution and use of this software and associated documentation -("Software"), with or without modification, are permitted provided -that the following conditions are met: - -1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - -2. 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. - -3. The name "DOM4J" must not be used to endorse or promote - products derived from this Software without prior written - permission of MetaStuff, Ltd. For written permission, - please contact dom4j-info@metastuff.com. - -4. Products derived from this Software may not be called "DOM4J" - nor may "DOM4J" appear in their names without prior written - permission of MetaStuff, Ltd. DOM4J is a registered - trademark of MetaStuff, Ltd. - -5. Due credit should be given to the DOM4J Project - - http://www.dom4j.org - -THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS -``AS IS'' AND ANY EXPRESSED 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 -METASTUFF, LTD. OR ITS 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. - -=============================================================================== - -The EMF jars; - codegen-2.2.3.jar - codegen-ecore-2.2.3.jar - common-2.2.3.jar - ecore-2.2.3.jar - ecore-change-2.2.3.jar - ecore-xmi-2.2.3.jar - xsd-2.2.3.jar - -Eclipse Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF -THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - -a) in the case of the initial Contributor, the initial code and -documentation distributed under this Agreement, and -b) in the case of each subsequent Contributor: - -i) changes to the Program, and - -ii) additions to the Program; - -where such changes and/or additions to the Program originate from and -are distributed by that particular Contributor. A Contribution -'originates' from a Contributor if it was added to the Program by such -Contributor itself or anyone acting on such Contributor's behalf. -Contributions do not include additions to the Program which: (i) are -separate modules of software distributed in conjunction with the -Program under their own license agreement, and (ii) are not derivative -works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor -which are necessarily infringed by the use or sale of its Contribution -alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this -Agreement. - -"Recipient" means anyone who receives the Program under this -Agreement, including all Contributors. - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free copyright -license to reproduce, prepare derivative works of, publicly display, -publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and -object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free patent -license under Licensed Patents to make, use, sell, offer to sell, -import and otherwise transfer the Contribution of such Contributor, if -any, in source code and object code form. This patent license shall -apply to the combination of the Contribution and the Program if, at -the time the Contribution is added by the Contributor, such addition -of the Contribution causes such combination to be covered by the -Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder. - -c) Recipient understands that although each Contributor grants the -licenses to its Contributions set forth herein, no assurances are -provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow -Recipient to distribute the Program, it is Recipient's responsibility -to acquire that license before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient -copyright rights in its Contribution, if any, to grant the copyright -license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form -under its own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties -and conditions, express and implied, including warranties or -conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability -for damages, including direct, indirect, special, incidental and -consequential damages, such as lost profits; - -iii) states that any provisions which differ from this Agreement are -offered by that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such -Contributor, and informs licensees how to obtain it in a reasonable -manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the -Program. - -Contributors may not remove or alter any copyright notices contained -within the Program. - -Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a -commercial product offering should do so in a manner which does not -create potential liability for other Contributors. Therefore, if a -Contributor includes the Program in a commercial product offering, -such Contributor ("Commercial Contributor") hereby agrees to defend -and indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") arising -from claims, lawsuits and other legal actions brought by a third party -against the Indemnified Contributor to the extent caused by the acts -or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. -In order to qualify, an Indemnified Contributor must: a) promptly -notify the Commercial Contributor in writing of such claim, and b) -allow the Commercial Contributor to control, and cooperate with the -Commercial Contributor in, the defense and any related settlement -negotiations. The Indemnified Contributor may participate in any such -claim at its own expense. - -For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED 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. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable -laws, damage to or loss of data, programs or equipment, and -unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR -ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), 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 OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further -action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that -the Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of -the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of -time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use -and distribution of the Program as soon as reasonably practicable. -However, Recipient's obligations under this Agreement and any licenses -granted by Recipient relating to the Program shall continue and -survive. - -Everyone is permitted to copy and distribute copies of this Agreement, -but in order to avoid inconsistency the Agreement is copyrighted and -may only be modified in the following manner. The Agreement Steward -reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement -Steward has the right to modify this Agreement. The Eclipse Foundation -is the initial Agreement Steward. The Eclipse Foundation may assign -the responsibility to serve as the Agreement Steward to a suitable -separate entity. Each new version of the Agreement will be given a -distinguishing version number. The Program (including Contributions) -may always be distributed subject to the version of the Agreement -under which it was received. In addition, after a new version of the -Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives -no rights or licenses to the intellectual property of any Contributor -under this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No -party to this Agreement will bring a legal action under this Agreement -more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation. - -=============================================================================== -For Saxon including - saxon-8.7.jar - saxon-dom-8.7.jar - saxon-xpath-8.7.jar - - MOZILLA PUBLIC LICENSE -Version 1.0 - -1. Definitions. - - 1.1. ``Contributor'' means each entity that creates or contributes to the creation of Modifications. - - 1.2. ``Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor. - - 1.3. ``Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof. - - 1.4. ``Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data. - - 1.5. ``Executable'' means Covered Code in any form other than Source Code. - - 1.6. ``Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A. - - 1.7. ``Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License. - - 1.8. ``License'' means this document. - - 1.9. ``Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is: - - A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or previous Modifications. - - 1.10. ``Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License. - - 1.11. ``Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge. - - 1.12. ``You'' means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, ``You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, ``control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (``Utilize'') the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - - 2.2. Contributor Grant. - Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - - (a) Third Party Claims. - If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled ``LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation (``Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License. - - 6.3. Derivative Works. - If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a ``commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer software'' and ``commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the United States of America: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Santa Clara County, California, under the auspices of JAMS/EndDispute; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. - -12. RESPONSIBILITY FOR CLAIMS. - - Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis. - -EXHIBIT A. - - ``The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved. - - Contributor(s): ______________________________________.'' - -=============================================================================== - -For the Rhino JavaScript engine js-1.6R7.jar: - - MOZILLA PUBLIC LICENSE - Version 1.1 - - --------------- - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Code, prior Modifications used by a Contributor, and the Modifications - made by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified - as the Initial Developer in the Source Code notice required by Exhibit - A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - A. Any addition to or deletion from the contents of a file - containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, - and apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated interface definition files, scripts used to control - compilation and installation of an Executable, or source code - differential comparisons against either the Original Code or another - well known, available Covered Code of the Contributor's choice. The - Source Code can be in a compressed or archival form, provided the - appropriate decompression or de-archiving software is widely available - for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - For legal entities, "You" includes any entity which controls, is - controlled by, or is under common control with You. For purposes of - this definition, "control" means (a) the power, direct or indirect, - to cause the direction or management of such entity, whether by - contract or otherwise, or (b) ownership of more than fifty percent - (50%) of the outstanding shares or beneficial ownership of such - entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer to use, reproduce, - modify, display, perform, sublicense and distribute the Original - Code (or portions thereof) with or without Modifications, and/or - as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or - selling of Original Code, to make, have made, use, practice, - sell, and offer for sale, and/or otherwise dispose of the - Original Code (or portions thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are - effective on the date Initial Developer first distributes - Original Code under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: 1) for code that You delete from the Original Code; 2) - separate from the Original Code; or 3) for infringements caused - by: i) the modification of the Original Code or ii) the - combination of the Original Code with other software or devices. - - 2.2. Contributor Grant. - Subject to third party intellectual property claims, each Contributor - hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor, to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications - created by such Contributor (or portions thereof) either on an - unmodified basis, with other Modifications, as Covered Code - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or - selling of Modifications made by that Contributor either alone - and/or in combination with its Contributor Version (or portions - of such combination), to make, use, sell, offer for sale, have - made, and/or otherwise dispose of: 1) Modifications made by that - Contributor (or portions thereof); and 2) the combination of - Modifications made by that Contributor with its Contributor - Version (or portions of such combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are - effective on the date Contributor first makes Commercial Use of - the Covered Code. - - (d) Notwithstanding Section 2.2(b) above, no patent license is - granted: 1) for any code that Contributor has deleted from the - Contributor Version; 2) separate from the Contributor Version; - 3) for infringements caused by: i) third party modifications of - Contributor Version or ii) the combination of Modifications made - by that Contributor with other software (except as part of the - Contributor Version) or other devices; or 4) under Patent Claims - infringed by Covered Code in the absence of Modifications made by - that Contributor. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, - Contributor must include a text file with the Source Code - distribution titled "LEGAL" which describes the claim and the - party making the claim in sufficient detail that a recipient will - know whom to contact. If Contributor obtains such knowledge after - the Modification is made available as described in Section 3.2, - Contributor shall promptly modify the LEGAL file in all copies - Contributor makes available thereafter and shall take other steps - (such as notifying appropriate mailing lists or newsgroups) - reasonably calculated to inform those who received the Covered - Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming - interface and Contributor has knowledge of patent licenses which - are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to - Section 3.4(a) above, Contributor believes that Contributor's - Modifications are Contributor's original creation(s) and/or - Contributor has sufficient rights to grant the rights conveyed by - this License. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. However, You - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear than - any such warranty, support, indemnity or liability obligation is - offered by You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred by the - Initial Developer or such Contributor as a result of warranty, - support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under a license of Your choice, which may - contain terms different from this License, provided that You are in - compliance with the terms of this License and that the license for the - Executable version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version under a different - license You must make it absolutely clear that any terms which differ - from this License are offered by You alone, not by the Initial - Developer or any Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such - terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code - not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised - and/or new versions of the License from time to time. Each version - will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Netscape. No one - other than Netscape has the right to modify the terms applicable to - Covered Code created under this License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must (a) rename Your license so that - the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", - "MPL", "NPL" or any confusingly similar phrase do not appear in your - license (except to note that your license differs from this License) - and (b) otherwise make it clear that Your version of the license - contains terms which differ from the Mozilla Public License and - Netscape Public License. (Filling in the name of the Initial - Developer, Original Code or Contributor in the notice described in - Exhibit A shall not of themselves be deemed to be modifications of - this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE - IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, - YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE - COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER - OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, - all end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, - OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR - ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY - CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, - WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" and "commercial computer software documentation," as such - terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 - C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), - all U.S. Government End Users acquire Covered Code with only those - rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, with the losing party responsible for costs, including - without limitation, court costs and reasonable attorneys' fees and - expenses. The application of the United Nations Convention on - Contracts for the International Sale of Goods is expressly excluded. - Any law or regulation which provides that the language of a contract - shall be construed against the drafter shall not apply to this - License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the NPL or the alternative licenses, if any, specified - by the Initial Developer in the file described in Exhibit A. - -EXHIBIT A -Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License - Version 1.1 (the "License"); you may not use this file except in - compliance with the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - License for the specific language governing rights and limitations - under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. - Portions created by ______________________ are Copyright (C) ______ - _______________________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those - above. If you wish to allow use of your version of this file only - under the terms of the [____] License and not to allow others to use - your version of this file under the MPL, indicate your decision by - deleting the provisions above and replace them with the notice and - other provisions required by the [___] License. If you do not delete - the provisions above, a recipient may use your version of this file - under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] - - -=============================================================================== -Groovy (groovy-all-minimal-1.5.4.jar): - -/* - $Id: LICENSE.txt 156 2003-09-26 17:36:37Z jstrachan $ - - Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - - Redistribution and use of this software and associated documentation - ("Software"), with or without modification, are permitted provided - that the following conditions are met: - - 1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - - 2. 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. - - 3. The name "groovy" must not be used to endorse or promote - products derived from this Software without prior written - permission of The Codehaus. For written permission, - please contact info@codehaus.org. - - 4. Products derived from this Software may not be called "groovy" - nor may "groovy" appear in their names without prior written - permission of The Codehaus. "groovy" is a registered - trademark of The Codehaus. - - 5. Due credit should be given to The Codehaus - - http://groovy.codehaus.org/ - - THIS SOFTWARE IS PROVIDED BY THE CODEHAUS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESSED 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 CODEHAUS OR ITS 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. - - */ - -=============================================================================== - -Jython (jython-2.2.jar): - -A. HISTORY OF THE SOFTWARE -======================= - -JPython was created in late 1997 by Jim Hugunin. Jim was also the -primary developer while he was at CNRI. In February 1999 Barry Warsaw -took over as primary developer and released JPython version 1.1. - -In October 2000 Barry helped move the software to SourceForge -where it was renamed to Jython. Jython 2.0 and on are licensed under -the Jython specific license below. - -The standard library is covered by the Python Software Foundation -license. See the LICENSE_CPython.txt file for details. - -The zxJDBC package was written by Brian Zimmer and originally licensed -under the GNU Public License. The package is now covered by the Jython -Software License. - -The command line interpreter is covered by the Apache Software -License. See the LICENSE_Apache.txt file for details. - -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING JYTHON -================================ - -Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Jython Developers -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 Jython Developers nor the names of - its 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 REGENTS 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. - - - - -JPython 1.1.x Software License. -========================= - -______________________________________________________________________ - -IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. - -BY CLICKING ON THE "ACCEPT" BUTTON WHERE INDICATED, OR BY INSTALLING, -COPYING OR OTHERWISE USING THE SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO -THE TERMS AND CONDITIONS OF THIS AGREEMENT. - -______________________________________________________________________ - -JPython version 1.1.x - - 1. This LICENSE AGREEMENT is between the Corporation for National Research - Initiatives, having an office at 1895 Preston White Drive, Reston, VA - 20191 ("CNRI"), and the Individual or Organization ("Licensee") - accessing and using JPython version 1.1.x in source or binary form and - its associated documentation as provided herein ("Software"). - - 2. Subject to the terms and conditions of this License Agreement, CNRI - hereby grants Licensee a non-exclusive, non-transferable, royalty-free, - world-wide license to reproduce, analyze, test, perform and/or display - publicly, prepare derivative works, distribute, and otherwise use the - Software alone or in any derivative version, provided, however, that - CNRI's License Agreement and CNRI's notice of copyright, i.e., - "Copyright ©1996-1999 Corporation for National Research Initiatives; - All Rights Reserved" are both retained in the Software, alone or in any - derivative version prepared by Licensee. - - Alternatively, in lieu of CNRI's License Agreement, Licensee may - substitute the following text (omitting the quotes), provided, however, - that such text is displayed prominently in the Software alone or in any - derivative version prepared by Licensee: "JPython (Version 1.1.x) is - made available subject to the terms and conditions in CNRI's License - Agreement. This Agreement may be located on the Internet using the - following unique, persistent identifier (known as a handle): - 1895.22/1006. The License may also be obtained from a proxy server on - the Web using the following URL: http://hdl.handle.net/1895.22/1006." - - 3. In the event Licensee prepares a derivative work that is based on or - incorporates the Software or any part thereof, and wants to make the - derivative work available to the public as provided herein, then - Licensee hereby agrees to indicate in any such work, in a prominently - visible way, the nature of the modifications made to CNRI's Software. - - 4. Licensee may not use CNRI trademarks or trade name, including JPython - or CNRI, in a trademark sense to endorse or promote products or - services of Licensee, or any third party. Licensee may use the mark - JPython in connection with Licensee's derivative versions that are - based on or incorporate the Software, but only in the form - "JPython-based ___________________," or equivalent. - - 5. CNRI is making the Software available to Licensee on an "AS IS" basis. - CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY - OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY - REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY - PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE - ANY THIRD PARTY RIGHTS. - - 6. CNRI SHALL NOT BE LIABLE TO LICENSEE OR OTHER USERS OF THE SOFTWARE FOR - ANY INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE - THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. SOME STATES DO NOT - ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY SO THE ABOVE DISCLAIMER - MAY NOT APPLY TO LICENSEE. - - 7. This License Agreement may be terminated by CNRI (i) immediately upon - written notice from CNRI of any material breach by the Licensee, if the - nature of the breach is such that it cannot be promptly remedied; or - (ii) sixty (60) days following notice from CNRI to Licensee of a - material remediable breach, if Licensee has not remedied such breach - within that sixty-day period. - - 8. This License Agreement shall be governed by and interpreted in all - respects by the law of the State of Virginia, excluding conflict of law - provisions. Nothing in this Agreement shall be deemed to create any - relationship of agency, partnership, or joint venture between CNRI and - Licensee. - - 9. By clicking on the "ACCEPT" button where indicated, or by installing, - copying or otherwise using the Software, Licensee agrees to be bound by - the terms and conditions of this License Agreement. - - -=============================================================================== - -The jars; -activation-1.1.jar, -jaxb-api-2.1.jar, -jaxb-impl-2.1.6.jar, -jaxb-xjc-2.1.4.jar, -jaxb2-reflection-2.1.4.jar, -jsr181-api-1.0-MR1.jar, -jsr250-api-1.0.jar, -jaxws-api-2.1-1.jar, -mail-1.4.jar, -saaj-api-1.3.jar, -servlet-api-2.5.jar, -stax-api-1.0-commons-cli-1.0.jar2.jar - -COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 - - - 1. Definitions. - - 1.1. "Contributor" means each individual or entity that - creates or contributes to the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the - Original Software, prior Modifications used by a - Contributor (if any), and the Modifications made by that - particular Contributor. - - 1.3. "Covered Software" means (a) the Original Software, or - (b) Modifications, or (c) the combination of files - containing Original Software with files containing - Modifications, in each case including portions thereof. - - 1.4. "Executable" means the Covered Software in any form - other than Source Code. - - 1.5. "Initial Developer" means the individual or entity - that first makes Original Software available under this - License. - - 1.6. "Larger Work" means a work which combines Covered - Software or portions thereof with code not governed by the - terms of this License. - - 1.7. "License" means this document. - - 1.8. "Licensable" means having the right to grant, to the - maximum extent possible, whether at the time of the initial - grant or subsequently acquired, any and all of the rights - conveyed herein. - - 1.9. "Modifications" means the Source Code and Executable - form of any of the following: - - A. Any file that results from an addition to, - deletion from or modification of the contents of a - file containing Original Software or previous - Modifications; - - B. Any new file that contains any part of the - Original Software or previous Modification; or - - C. Any new file that is contributed or otherwise made - available under the terms of this License. - - 1.10. "Original Software" means the Source Code and - Executable form of computer software code that is - originally released under this License. - - 1.11. "Patent Claims" means any patent claim(s), now owned - or hereafter acquired, including without limitation, - method, process, and apparatus claims, in any patent - Licensable by grantor. - - 1.12. "Source Code" means (a) the common form of computer - software code in which modifications are made and (b) - associated documentation included in or with such code. - - 1.13. "You" (or "Your") means an individual or a legal - entity exercising rights under, and complying with all of - the terms of, this License. For legal entities, "You" - includes any entity which controls, is controlled by, or is - under common control with You. For purposes of this - definition, "control" means (a) the power, direct or - indirect, to cause the direction or management of such - entity, whether by contract or otherwise, or (b) ownership - of more than fifty percent (50%) of the outstanding shares - or beneficial ownership of such entity. - - 2. License Grants. - - 2.1. The Initial Developer Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, the - Initial Developer hereby grants You a world-wide, - royalty-free, non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Initial Developer, - to use, reproduce, modify, display, perform, - sublicense and distribute the Original Software (or - portions thereof), with or without Modifications, - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, - using or selling of Original Software, to make, have - made, use, practice, sell, and offer for sale, and/or - otherwise dispose of the Original Software (or - portions thereof). - - (c) The licenses granted in Sections 2.1(a) and (b) - are effective on the date Initial Developer first - distributes or otherwise makes the Original Software - available to a third party under the terms of this - License. - - (d) Notwithstanding Section 2.1(b) above, no patent - license is granted: (1) for code that You delete from - the Original Software, or (2) for infringements - caused by: (i) the modification of the Original - Software, or (ii) the combination of the Original - Software with other software or devices. - - 2.2. Contributor Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, each - Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Contributor to - use, reproduce, modify, display, perform, sublicense - and distribute the Modifications created by such - Contributor (or portions thereof), either on an - unmodified basis, with other Modifications, as - Covered Software and/or as part of a Larger Work; and - - - (b) under Patent Claims infringed by the making, - using, or selling of Modifications made by that - Contributor either alone and/or in combination with - its Contributor Version (or portions of such - combination), to make, use, sell, offer for sale, - have made, and/or otherwise dispose of: (1) - Modifications made by that Contributor (or portions - thereof); and (2) the combination of Modifications - made by that Contributor with its Contributor Version - (or portions of such combination). - - (c) The licenses granted in Sections 2.2(a) and - 2.2(b) are effective on the date Contributor first - distributes or otherwise makes the Modifications - available to a third party. - - (d) Notwithstanding Section 2.2(b) above, no patent - license is granted: (1) for any code that Contributor - has deleted from the Contributor Version; (2) for - infringements caused by: (i) third party - modifications of Contributor Version, or (ii) the - combination of Modifications made by that Contributor - with other software (except as part of the - Contributor Version) or other devices; or (3) under - Patent Claims infringed by Covered Software in the - absence of Modifications made by that Contributor. - - 3. Distribution Obligations. - - 3.1. Availability of Source Code. - - Any Covered Software that You distribute or otherwise make - available in Executable form must also be made available in - Source Code form and that Source Code form must be - distributed only under the terms of this License. You must - include a copy of this License with every copy of the - Source Code form of the Covered Software You distribute or - otherwise make available. You must inform recipients of any - such Covered Software in Executable form as to how they can - obtain such Covered Software in Source Code form in a - reasonable manner on or through a medium customarily used - for software exchange. - - 3.2. Modifications. - - The Modifications that You create or to which You - contribute are governed by the terms of this License. You - represent that You believe Your Modifications are Your - original creation(s) and/or You have sufficient rights to - grant the rights conveyed by this License. - - 3.3. Required Notices. - - You must include a notice in each of Your Modifications - that identifies You as the Contributor of the Modification. - You may not remove or alter any copyright, patent or - trademark notices contained within the Covered Software, or - any notices of licensing or any descriptive text giving - attribution to any Contributor or the Initial Developer. - - 3.4. Application of Additional Terms. - - You may not offer or impose any terms on any Covered - Software in Source Code form that alters or restricts the - applicable version of this License or the recipients' - rights hereunder. You may choose to offer, and to charge a - fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Software. - However, you may do so only on Your own behalf, and not on - behalf of the Initial Developer or any Contributor. You - must make it absolutely clear that any such warranty, - support, indemnity or liability obligation is offered by - You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred - by the Initial Developer or such Contributor as a result of - warranty, support, indemnity or liability terms You offer. - - - 3.5. Distribution of Executable Versions. - - You may distribute the Executable form of the Covered - Software under the terms of this License or under the terms - of a license of Your choice, which may contain terms - different from this License, provided that You are in - compliance with the terms of this License and that the - license for the Executable form does not attempt to limit - or alter the recipient's rights in the Source Code form - from the rights set forth in this License. If You - distribute the Covered Software in Executable form under a - different license, You must make it absolutely clear that - any terms which differ from this License are offered by You - alone, not by the Initial Developer or Contributor. You - hereby agree to indemnify the Initial Developer and every - Contributor for any liability incurred by the Initial - Developer or such Contributor as a result of any such terms - You offer. - - 3.6. Larger Works. - - You may create a Larger Work by combining Covered Software - with other code not governed by the terms of this License - and distribute the Larger Work as a single product. In such - a case, You must make sure the requirements of this License - are fulfilled for the Covered Software. - - 4. Versions of the License. - - 4.1. New Versions. - - Sun Microsystems, Inc. is the initial license steward and - may publish revised and/or new versions of this License - from time to time. Each version will be given a - distinguishing version number. Except as provided in - Section 4.3, no one other than the license steward has the - right to modify this License. - - 4.2. Effect of New Versions. - - You may always continue to use, distribute or otherwise - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. If the Initial Developer includes a - notice in the Original Software prohibiting it from being - distributed or otherwise made available under any - subsequent version of the License, You must distribute and - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. Otherwise, You may also choose to - use, distribute or otherwise make the Covered Software - available under the terms of any subsequent version of the - License published by the license steward. - - 4.3. Modified Versions. - - When You are an Initial Developer and You want to create a - new license for Your Original Software, You may create and - use a modified version of this License if You: (a) rename - the license and remove any references to the name of the - license steward (except to note that the license differs - from this License); and (b) otherwise make it clear that - the license contains terms which differ from this License. - - - 5. DISCLAIMER OF WARRANTY. - - COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" - BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, - INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED - SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR - PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND - PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY - COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE - INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF - ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF - WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS - DISCLAIMER. - - 6. TERMINATION. - - 6.1. This License and the rights granted hereunder will - terminate automatically if You fail to comply with terms - herein and fail to cure such breach within 30 days of - becoming aware of the breach. Provisions which, by their - nature, must remain in effect beyond the termination of - this License shall survive. - - 6.2. If You assert a patent infringement claim (excluding - declaratory judgment actions) against Initial Developer or - a Contributor (the Initial Developer or Contributor against - whom You assert such claim is referred to as "Participant") - alleging that the Participant Software (meaning the - Contributor Version where the Participant is a Contributor - or the Original Software where the Participant is the - Initial Developer) directly or indirectly infringes any - patent, then any and all rights granted directly or - indirectly to You by such Participant, the Initial - Developer (if the Initial Developer is not the Participant) - and all Contributors under Sections 2.1 and/or 2.2 of this - License shall, upon 60 days notice from Participant - terminate prospectively and automatically at the expiration - of such 60 day notice period, unless if within such 60 day - period You withdraw Your claim with respect to the - Participant Software against such Participant either - unilaterally or pursuant to a written agreement with - Participant. - - 6.3. In the event of termination under Sections 6.1 or 6.2 - above, all end user licenses that have been validly granted - by You or any distributor hereunder prior to termination - (excluding licenses granted to You by any distributor) - shall survive termination. - - 7. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE - INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF - COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE - LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR - CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT - LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK - STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL - INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT - APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO - NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR - CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT - APPLY TO YOU. - - 8. U.S. GOVERNMENT END USERS. - - The Covered Software is a "commercial item," as that term is - defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial - computer software" (as that term is defined at 48 C.F.R. - 252.227-7014(a)(1)) and "commercial computer software - documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. - 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 - through 227.7202-4 (June 1995), all U.S. Government End Users - acquire Covered Software with only those rights set forth herein. - This U.S. Government Rights clause is in lieu of, and supersedes, - any other FAR, DFAR, or other clause or provision that addresses - Government rights in computer software under this License. - - 9. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the - extent necessary to make it enforceable. This License shall be - governed by the law of the jurisdiction specified in a notice - contained within the Original Software (except to the extent - applicable law, if any, provides otherwise), excluding such - jurisdiction's conflict-of-law provisions. Any litigation - relating to this License shall be subject to the jurisdiction of - the courts located in the jurisdiction and venue specified in a - notice contained within the Original Software, with the losing - party responsible for costs, including, without limitation, court - costs and reasonable attorneys' fees and expenses. The - application of the United Nations Convention on Contracts for the - International Sale of Goods is expressly excluded. Any law or - regulation which provides that the language of a contract shall - be construed against the drafter shall not apply to this License. - You agree that You alone are responsible for compliance with the - United States export administration regulations (and the export - control laws and regulation of any other countries) when You use, - distribute or otherwise make available any Covered Software. - - 10. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or - indirectly, out of its utilization of rights under this License - and You agree to work with Initial Developer and Contributors to - distribute such responsibility on an equitable basis. Nothing - herein is intended or shall be deemed to constitute any admission - of liability. - -=============================================================================== - -JRuby (jruby-complete-1.0.jar), wsdl4j (wsdl4j-1.6.2.jar): - -Common Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - - a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and - b) in the case of each subsequent Contributor: - - i) changes to the Program, and - - ii) additions to the Program; - - where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. - -2. GRANT OF RIGHTS - - a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. - - b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. - - c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. - - d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: - - a) it complies with the terms and conditions of this Agreement; and - - b) its license agreement: - - i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; - - ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; - - iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and - - iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - - a) it must be made available under this Agreement; and - - b) a copy of this Agreement must be included with each copy of the Program. - -Contributors may not remove or alter any copyright notices contained within the Program. - -Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 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. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. - -=============================================================================== - -backport-util-concurrent-2.2.jar: - -The software comprising backport-util-concurrent is based in large -part on the code from JSR166, and the package dl.util.concurrent. -The software has been released to the public domain, as explained at: -http://creativecommons.org/licenses/publicdomain, excepting portions -of the class -edu.emory.mathcs.backport.java.util.concurrent.CopyOnWriteArrayList, -which were adapted from class java.util.ArrayList, written by Sun -Microsystems, Inc, which are used with kind permission, and subject -to the following: - -Copyright 2002-2004 Sun Microsystems, Inc. All rights reserved. Use is -subject to the following license terms. - - "Sun hereby grants you a non-exclusive, worldwide, non-transferrable - license to use and distribute the Java Software technologies as part - of a larger work in source and binary forms, with or without - modification, provided that the following conditions are met: - - -Neither the name of or trademarks of Sun may be used to endorse or - promote products derived from the Java Software technology without - specific prior written permission. - - -Redistributions of source or binary code must be accompanied by the - following notice and disclaimers: - - Portions copyright Sun Microsystems, Inc. Used with kind permission. - - This software is provided AS IS, without a warranty of any kind. ALL - EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PUPOSE OR - NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN - MICROSYSTEMS, INC. AND ITS LICENSORS SHALL NOT BE LIABLE - FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS - DERIVATIVES. IN NO EVENT WILL SUN MICROSYSTEMS, INC. OR - ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR - DATA, OR FOR DIRECT, INDIRECT,CONSQUENTIAL, INCIDENTAL - OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF - THE THEORY OR LIABILITY, ARISING OUT OF THE USE OF OR - INABILITY TO USE SOFTWARE, EVEN IF SUN MICROSYSTEMS, INC. - HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - You acknowledge that Software is not designed, licensed or intended for - use in the design, construction, operation or maintenance of any nuclear - facility." - -=============================================================================== -rome-0.9.jar - -Copyright 2004 Sun Microsystems, Inc. - -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. - -=============================================================================== -jdom-1.0.jar : - -$Id: LICENSE.txt,v 1.11 2004/02/06 09:32:57 jhunter Exp $ - - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions, and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions, and the disclaimer that follows - these conditions in the documentation and/or other materials - provided with the distribution. - - 3. The name "JDOM" must not be used to endorse or promote products - derived from this software without prior written permission. For - written permission, please contact . - - 4. Products derived from this software may not be called "JDOM", nor - may "JDOM" appear in their name, without prior written permission - from the JDOM Project Management . - - In addition, we request (but do not require) that you include in the - end-user documentation provided with the redistribution and/or in the - software itself an acknowledgement equivalent to the following: - "This product includes software developed by the - JDOM Project (http://www.jdom.org/)." - Alternatively, the acknowledgment may be graphical using the logos - available at http://www.jdom.org/images/logos. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 JDOM AUTHORS OR THE PROJECT - 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. - - This software consists of voluntary contributions made by many - individuals on behalf of the JDOM Project and was originally - created by Jason Hunter and - Brett McLaughlin . For more information - on the JDOM Project, please see . - -======================================================================== - -dwr-2.0.1.jar : - -/* -* Copyright 2005 Joe Walker -* -* 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. -*/ - -========================================================================== - -dojotoolkit V1.0.0: - -The "New" BSD License: -********************** - -Copyright (c) 2005, The Dojo Foundation -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 Dojo Foundation nor the names of its 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. - -================================================================================ - -The module tuscany-implementation-script-1.0-incubating.jar temporarily includes -one file under the below BSD license with the following copyright: - - Copyright (c) 2006, Sun Microsystems, Inc. - All rights reserved. - -BSD license: - - 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. - -================================================================================ - -The serp-1.12.0.jar is distributed under the BSD license with the following copyright: - - Copyright (c) 2002, A. Abram White - All rights reserved. - -BSD license: - - 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. - -================================================================================ -The javacc-3.2.jar, and howl-1.0.1-1.jar are distributed under the BSD license: - -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. - -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. - -================================================================================ - -The tuscany-assembly-xsd jar includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================ -License for the Service Data Objects JavaDoc and Interface Definition files. (tuscany-sdo-api-r2.1-1.0-incubating.jar) - -These files being ... -commonj/sdo/ChangeSummary$Setting.class -commonj/sdo/ChangeSummary.class -commonj/sdo/DataGraph.class -commonj/sdo/DataObject.class -commonj/sdo/helper/CopyHelper.class -commonj/sdo/helper/DataFactory.class -commonj/sdo/helper/DataHelper.class -commonj/sdo/helper/EqualityHelper.class -commonj/sdo/helper/HelperContext.class -commonj/sdo/helper/TypeHelper.class -commonj/sdo/helper/XMLDocument.class -commonj/sdo/helper/XMLHelper.class -commonj/sdo/helper/XSDHelper.class -commonj/sdo/impl/ExternalizableDelegator$Resolvable.class -commonj/sdo/impl/ExternalizableDelegator.class -commonj/sdo/Property.class -commonj/sdo/Sequence.class -commonj/sdo/Type.class -xml/datagraph.xsd -xml/sdoJava.xml -xml/sdoJava.xsd -xml/sdoModel.xml -xml/sdoModel.xsd -xml/sdoXML.xml -xml/sdoXML.xsd - - -License for the Service Data Objects JavaDoc and Interface Definition files. - -The Service Data Objects Specification is being provided by the copyright holders under the following -license. By using and/or copying this work, you agree that you have read, understood and will comply with -the following terms and conditions: - -Permission to copy, display and distribute the Service Data Objects Specification and/or portions thereof, without -modification, in any medium without fee or royalty is hereby granted, provided that you include the -following on ALL copies of the Service Data Objects Specification, or portions thereof, that you make: - -1. A link or URL to the Service Data Objects Specification at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Service Data Objects Specification. - -BEA, IBM, Oracle, Primeton Technologies, Rogue Wave Software, SAP, Software AG, Sun Microsystems, Xcalia, -Zend Technologies (collectively, the “Authors”) agree to grant you a royalty-free license, under reasonable, -non-discriminatory terms and conditions to patents that they deem necessary to implement the Service Data -Objects Specification. - -THE Service Data Objects SPECIFICATION IS PROVIDED "AS IS," AND THE AUTHORS MAKE NO REPRESENTATIONS OR -WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SPECIFICATION AND THE IMPLEMENTATION OF ITS CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, -NON-INFRINGEMENT OR TITLE. THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL -OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THE SERVICE DATA OBJECTS -SPECIFICATION. - -The name and trademarks of the Authors may NOT be used in any manner, including advertising or publicity -pertaining to the Service Data Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects Specification will at all times remain with the -Authors. - -No other rights are granted by implication, estoppel or otherwise. -================================================================================ - diff --git a/java/sca/contrib/distribution/features/ejava/src/main/release/bin/NOTICE b/java/sca/contrib/distribution/features/ejava/src/main/release/bin/NOTICE deleted file mode 100644 index 5daa9a3dfe..0000000000 --- a/java/sca/contrib/distribution/features/ejava/src/main/release/bin/NOTICE +++ /dev/null @@ -1,95 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses XmlSchema developed at -The Apache Software Foundation (http://ws.apache.org/commons/XmlSchema) - Portions Copyright 2006 International Business Machines Corp. - -This product includes/uses ode-bpel-api-1.1 developed at -The Apache Software Foundation (http://ode.apache.org) - - Copyright 1999-2006 Intalio - This product includes software developed by Intalio (http://www.intalio.com) - - Copyright 2006 Sybase - This product includes software developed by Sybase.(http://www.sybase.com) - -"This product includes software developed by the Spring Framework - Project (http://www.springframework.org)." - -This product includes/uses the Jetty Servlet Engine (http://jetty.mortbay.org), -developed by Mort Bay Consulting (http://www.mortbay.com) - -This product includes/uses the Groovy Script Engine (http://groovy.codehaus.org/), -Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - -This product includes/uses the Axion : the Open Source Java Database (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. All rights reserved. - -This product includes/uses DOM4J : the flexible XML framework for java (http://www.dom4j.org/) - Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. - -This product includes/uses software, AOP alliance (http://aopalliance.sourceforge.net) -License: Public Domain - -This product includes/uses JSON-RPC-Java (http://oss.metaparadigm.com/jsonrpc/) - -This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) - Copyright (c) 2003-2004 Jan-Klaas Kollhof - Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd - -This product includes software from the GlassFish project (https://glassfish.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes software from the Rome project (https://rome.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes/uses the Eclipse Modeling Framework project (http://www.eclipse.org/emf/) - -This product includes/uses the Mozilla Rhino project (http://www.mozilla.org/rhino/) - -This product includes/uses the Sourceforge wsdl4j project (http://sourceforge.net/projects/wsdl4j/)i - -This product includes/uses the Codehaus JRuby project (http://jruby.codehaus.org/) - -This product includes/uses JDOM (http://www.jdom.org/) - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. All rights reserved. - -This product includes/uses DWR (http://getahead.org/dwr) - Copyright 2005 Joe Walker. All rights reserved. - -This product includes/uses dojotoolkit (http://dojotoolkit.org/) - Copyright (c) 2005, The Dojo Foundation. All rights reserved. - -This product includes/uses Howl (http://howl.objectweb.org/) - Copyright (c) 2004, Bull S.A. - -This product includes/uses axion (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. - -This product includes/uses javacc (https://javacc.dev.java.net/) - Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved. - -The Program includes all or portions of the following software: "The -Saxon XSLT and XQuery Processor from Saxonica Limited" distributed under -an MPL v1.0 license. Please refer to the homepage URL at -http://www.saxonica.com/. - -This product includes/uses Serp (http://serp.sourceforge.net/) under the BSD license: - Copyright (c) 2002, A. Abram White. All rights reserved. - -This product also includes software under the BSD license -with the following copyright: - Copyright (c) 2006, Sun Microsystems, Inc. All rights reserved. - -This product includes software under the Service Component Architecture JavaDoc, -Interface Definition files and XSD files license. - (c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - diff --git a/java/sca/contrib/distribution/features/ejava/src/main/release/src/BUILDING b/java/sca/contrib/distribution/features/ejava/src/main/release/src/BUILDING deleted file mode 100644 index 65d09c5eae..0000000000 --- a/java/sca/contrib/distribution/features/ejava/src/main/release/src/BUILDING +++ /dev/null @@ -1,55 +0,0 @@ -Building the Apache Tuscany SCA 1.2 (incubating) April 2008 Release source distribution -======================================================================================= - -Initial Setup -------------- - -1) Install J2SE 5.0 SDK, which can be downloaded from - http://java.sun.com/j2se/1.5.0/download.jsp. Use version of 1.5.0_06 JDK or higher. - -2) Make sure that your JAVA_HOME environment variable is set to the newly installed - JDK location, and that your PATH includes %JAVA_HOME%\bin (windows) or - $JAVA_HOME$/bin (unix). - -3) Install Maven 2.0.7 or higher, which can be downloaded from - http://maven.apache.org/download.html. Make sure that your PATH includes - the MVN_HOME/bin directory. - -4) Make sure that your MAVEN_OPTS environment variable has -Xmx128M (or more), - you can manually do this by executing the following in your prompt : - Windows users: - set MAVEN_OPTS=-Xmx128M - Unix users: - export MAVEN_OPTS=-Xmx128M - - -Building --------- - -1) Change to the top level directory of Apache Tuscany source distribution. -2) Run - - $> mvn - - This will compile Apache Tuscany and run all of the tests in the source - distribution. - - Depending on the load of remote Maven 2.0 repositories, you may have - to run "mvn" several times utill the required dependencies are - all located in your local maven repository. It usually takes some time for - maven to download required dependencies in the first build. Once all the - dependencies have been downloaded you may use the -o option to run maven - in offline mode, for example, 'mvn clean install -o'. - - -Building the distributions --------------------------- - -1) Change to the distribution folder -2) Run - - $> mvn - - This will build the binary and source distribution with .zip and .gz - formats in the distribution/target directory. - diff --git a/java/sca/contrib/distribution/features/ejava/src/main/release/src/LICENSE b/java/sca/contrib/distribution/features/ejava/src/main/release/src/LICENSE deleted file mode 100644 index 144d8ae692..0000000000 --- a/java/sca/contrib/distribution/features/ejava/src/main/release/src/LICENSE +++ /dev/null @@ -1,397 +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. - -=============================================================================================================== - -The module itest/databindings/common includes the test schema; datagraph.xsd, sdoJava.xsd, and sdoModel.xsd -under the following license: - -License for the Service Data Objects JavaDoc, Interface Definition files -and XSD files. - -The Service Data Objects JavaDoc, Interface Definition files and XSD files -are being provided by the copyright holders under the following license. -By using and/or copying this work, you agree that you have read, -understood and will comply with the following terms and conditions: - -Permission to copy, display, make derivative works of and distribute -the Service Data Objects JavaDoc, Interface Definition files and XSD files -(the "Artifacts") in any medium without fee or royalty is hereby granted, -provided that you include the following on ALL copies of the Artifacts, -or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - - - -THE ARTIFACTS ARE PROVIDED "AS IS" AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Data -Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects -Specification will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.11, last updated on 2007/12/21 - -================================================================================================================= - -The 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. - -================================================================================================================= - -The module assembly-xsd includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================================================= -The modules - -binding-ws-xml -databinding -databinding-axiom -databinding-jaxb -databinding-json -databinding-sdo -databinding-sdo-axiom -databinding-xmlbeans -interface-wsdl-xml - -Include the ipo.xsd and address.xsd information from the XML Schema Primer -(http://www.w3.org/TR/2004/PER-xmlschema-0-20040318/) combined into the -file ipo.xsd and extended with UK postcode structures. - -The ipo.xsd file is include under the following license: - -W3C(c) SOFTWARE NOTICE AND LICENSE -http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - -This work (and included software, documentation such as READMEs, or other -related items) is being provided by the copyright holders under the following -license. By obtaining, using and/or copying this work, you (the licensee) agree -that you have read, understood, and will comply with the following terms and conditions. - -Permission to copy, modify, and distribute this software and its documentation, -with or without modification, for any purpose and without fee or royalty is -hereby granted, provided that you include the following on ALL copies of the -software and documentation or portions thereof, including modifications: - - 1. The full text of this NOTICE in a location viewable to users of the - redistributed or derivative work. - 2. Any pre-existing intellectual property disclaimers, notices, or terms - and conditions. If none exist, the W3C Software Short Notice should be - included (hypertext is preferred, text is permitted) within the body of - any redistributed or derivative code. - 3. Notice of any changes or modifications to the files, including the date - changes were made. (We recommend you provide URIs to the location from which - the code is derived.) - -THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE -NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, -WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE -USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, -COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. - -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. - -The name and trademarks of copyright holders may NOT be used in advertising or -publicity pertaining to the software without specific, written prior permission. -Title to copyright in this software and any associated documentation will at all -times remain with copyright holders. diff --git a/java/sca/contrib/distribution/features/ejava/src/main/release/src/NOTICE b/java/sca/contrib/distribution/features/ejava/src/main/release/src/NOTICE deleted file mode 100644 index 31540fd607..0000000000 --- a/java/sca/contrib/distribution/features/ejava/src/main/release/src/NOTICE +++ /dev/null @@ -1,39 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) - Copyright (c) 2003-2004 Jan-Klaas Kollhof - Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd - -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. - -This product includes software under the Service Component Architecture JavaDoc, -Interface Definition files and XSD files license. - (c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - -This product includes software under the W3C(c) Software License -with the following copyright: - -Copyright (c) 2008 World Wide Web Consortium, (Massachusetts Institute of Technology, -European Research Consortium for Informatics and Mathematics, Keio University). -All Rights Reserved. This work is distributed under the W3C(c) Software License [1] in -the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied -warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - - diff --git a/java/sca/contrib/distribution/features/etc/generate-all-maven-files.sh b/java/sca/contrib/distribution/features/etc/generate-all-maven-files.sh deleted file mode 100755 index 4d1327f518..0000000000 --- a/java/sca/contrib/distribution/features/etc/generate-all-maven-files.sh +++ /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. - -# This script can be used to generate Maven build POM and assembly files -# for all the distributions - -echo "Generate Maven files: core" -cd core; ../etc/generate-filtered-dependencies.sh > src/main/components/bin-filtered-dependencies.xml; ../etc/generate-maven-files.sh - -echo "Generate Maven files: ejava" -cd ../ejava; ../etc/generate-maven-files.sh - -echo "Generate Maven files: manager" -cd ../manager; ../etc/generate-maven-files.sh - -echo "Generate Maven files: process" -cd ../process; ../etc/generate-maven-files.sh - -echo "Generate Maven files: web20" -cd ../web20; ../etc/generate-maven-files.sh - -echo "Generate Maven files: webservice" -cd ../webservice; ../etc/generate-maven-files.sh - -echo "Generate Maven files: all" -cd ../all; ../etc/generate-maven-files.sh - -echo "Generate Maven files: repository" -cd ../repository; ../etc/generate-maven-files.sh - diff --git a/java/sca/contrib/distribution/features/etc/generate-filtered-dependencies.sh b/java/sca/contrib/distribution/features/etc/generate-filtered-dependencies.sh deleted file mode 100755 index 7a04369b50..0000000000 --- a/java/sca/contrib/distribution/features/etc/generate-filtered-dependencies.sh +++ /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. - -# This generates a Maven assembly component that can be included in a Maven -# assembly to include the source of the modules in a source distribution. - -echo "" -echo "" -echo " " -echo "" -echo " " -echo " " -echo " modules" -echo " false" -echo " " -echo " org.apache.tuscany.sca:*" -echo " " -echo " " - -mvn -o dependency:list | awk '/.INFO. (.*.tuscany.sca):(tuscany-)(.*):(.*):(.*):(.*)/ { print gensub("(.INFO. )(.*)(:)(.*)(:)(.*)(:)(.*)(:)(.*)", "\\2:\\4", "g") }' | sort | awk '{ printf " %s\n", $1 }' - -echo " " -echo " " -echo "" -echo " " -echo " " -echo " lib" -echo " false" -echo " " - -mvn -o dependency:list | awk '/.INFO. (.*):(.*):(.*):(.*):(.*)/ && !/(.*)(.tuscany.sca):(.*)/ { print gensub("(.INFO. )(.*)(:)(.*)(:)(.*)(:)(.*)(:)(.*)", "\\2:\\4", "g") }' | sort | awk '{ printf " %s\n", $1 }' - -echo " org.apache.tuscany.sca:*" -echo " " -echo " " -echo " " -echo "" - diff --git a/java/sca/contrib/distribution/features/etc/generate-maven-files.sh b/java/sca/contrib/distribution/features/etc/generate-maven-files.sh deleted file mode 100755 index adb190eabd..0000000000 --- a/java/sca/contrib/distribution/features/etc/generate-maven-files.sh +++ /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. - -# This script can be used to generate Maven build POM and assembly files -# for a distribution - -../etc/generate-src-modules.sh > src/main/components/src-modules.xml -../etc/generate-pom.sh > pom.xml.tmp -cp pom.xml.tmp pom.xml -rm pom.xml.tmp - diff --git a/java/sca/contrib/distribution/features/etc/generate-pom.sh b/java/sca/contrib/distribution/features/etc/generate-pom.sh deleted file mode 100755 index ce0228694c..0000000000 --- a/java/sca/contrib/distribution/features/etc/generate-pom.sh +++ /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. - -# This script can be used to generate a Maven build profile that includes all -# the modules included directly or transitively in a distribution - -cat pom.xml | awk 'BEGIN { i=0 } // { i=1; print } /.*/ { if (i==0) print } ' - -mvn -o dependency:list | awk '/.INFO. (.*.tuscany.sca):(tuscany-)(.*):(.*):(.*):(.*)/ { print gensub("(.INFO. )(.*)(:)(tuscany-)(.*)(:)(.*)(:)(.*)(:)(.*)", "\\5", "g") }' | grep -v "distribution-" | grep -v "maven-" | grep -v "wsdl2java" | grep -v "java2wsdl" | sort | awk '{ printf " ../../../modules/%s\n", $1 }' - -cat pom.xml | awk 'BEGIN { i=0 } /<\/modules>/ { i=1 } /.*/ { if (i==1) print } ' - diff --git a/java/sca/contrib/distribution/features/etc/generate-src-modules.sh b/java/sca/contrib/distribution/features/etc/generate-src-modules.sh deleted file mode 100755 index 60dbbcd2d0..0000000000 --- a/java/sca/contrib/distribution/features/etc/generate-src-modules.sh +++ /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. - -# This generates a Maven assembly component that can be included in a Maven -# assembly to include the source of the modules in a source distribution. - -echo "" -echo "" -echo " " -echo "" -echo " " -echo " " -echo " ../../../modules" -echo " modules" -echo " " - -mvn -o dependency:list | awk '/.INFO. (.*.tuscany.sca):(tuscany-)(.*):(.*):(.*):(.*)/ { print gensub("(.INFO. )(.*)(:)(tuscany-)(.*)(:)(.*)(:)(.*)(:)(.*)", "\\5", "g") }' | sort | awk '{ printf " %s/**/*\n", $1 }' - -echo " " -echo " " -echo " " -echo " **/.*" -echo " **/.*/**" -echo " **/*.log" -echo "" -echo " " -echo " pom.xml" -echo " **/target" -echo " **/target/**/*" -echo " " -echo " " -echo " " -echo "" - diff --git a/java/sca/contrib/distribution/features/manager/pom.xml b/java/sca/contrib/distribution/features/manager/pom.xml deleted file mode 100644 index 3d7bfe9bd4..0000000000 --- a/java/sca/contrib/distribution/features/manager/pom.xml +++ /dev/null @@ -1,259 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-distribution-features - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-distribution-manager - Apache Tuscany SCA Domain Manager Distribution - pom - - - - - - org.apache.tuscany.sca - tuscany-distribution-core - pom - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-binding-atom - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-binding-ejb - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-binding-http - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-binding-jsonrpc - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-binding-rss - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-binding-sca-xml - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-binding-ws-xml - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-contribution-java - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-contribution-namespace - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-contribution-resource - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-domain-manager - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-node-manager - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-implementation-bpel - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-implementation-ejb - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-implementation-java-xml - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-implementation-node - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-implementation-resource - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-implementation-widget - 2.0-SNAPSHOT - - - - - - - - default - - true - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - distribution-package - package - - single - - - - src/main/assembly/bin.xml - src/main/assembly/src.xml - - gnu - apache-tuscany-sca-manager-1.4-SNAPSHOT - - - - - - - - - - - modules - - ../../../modules/assembly - ../../../modules/assembly-xml - ../../../modules/assembly-xsd - ../../../modules/binding-atom - ../../../modules/binding-atom-abdera - ../../../modules/binding-corba - ../../../modules/binding-corba-runtime - ../../../modules/binding-ejb - ../../../modules/binding-http - ../../../modules/binding-http-runtime - ../../../modules/binding-jsonrpc - ../../../modules/binding-rss - ../../../modules/binding-sca - ../../../modules/binding-sca-xml - ../../../modules/binding-ws - ../../../modules/binding-ws-wsdlgen - ../../../modules/binding-ws-xml - ../../../modules/contribution - ../../../modules/contribution-impl - ../../../modules/contribution-java - ../../../modules/contribution-namespace - ../../../modules/contribution-resource - ../../../modules/contribution-xml - ../../../modules/core - ../../../modules/core-databinding - ../../../modules/core-spi - ../../../modules/data-api - ../../../modules/databinding - ../../../modules/databinding-jaxb - ../../../modules/definitions - ../../../modules/definitions-xml - ../../../modules/domain-manager - ../../../modules/endpoint - ../../../modules/extensibility - ../../../modules/extensibility-equinox - ../../../modules/host-corba - ../../../modules/host-corba-jse - ../../../modules/host-embedded - ../../../modules/host-http - ../../../modules/host-jetty - ../../../modules/implementation-bpel - ../../../modules/implementation-ejb - ../../../modules/implementation-java - ../../../modules/implementation-java-runtime - ../../../modules/implementation-java-xml - ../../../modules/implementation-node - ../../../modules/implementation-node-runtime - ../../../modules/implementation-resource - ../../../modules/implementation-widget - ../../../modules/implementation-widget-runtime - ../../../modules/interface - ../../../modules/interface-java - ../../../modules/interface-java-jaxws - ../../../modules/interface-java-xml - ../../../modules/interface-wsdl - ../../../modules/interface-wsdl-xml - ../../../modules/monitor - ../../../modules/monitor-logging - ../../../modules/node-api - ../../../modules/node-impl - ../../../modules/node-launcher - ../../../modules/node-launcher-equinox - ../../../modules/node-launcher-webapp - ../../../modules/node-manager - ../../../modules/policy - ../../../modules/policy-security - ../../../modules/policy-security-ws - ../../../modules/policy-xml - ../../../modules/sca-api - ../../../modules/workspace - ../../../modules/workspace-impl - ../../../modules/workspace-xml - ../../../modules/xsd - ../../../modules/xsd-xml - - - - - diff --git a/java/sca/contrib/distribution/features/manager/src/main/assembly/bin.xml b/java/sca/contrib/distribution/features/manager/src/main/assembly/bin.xml deleted file mode 100644 index fd49912e91..0000000000 --- a/java/sca/contrib/distribution/features/manager/src/main/assembly/bin.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - true - tuscany-sca-1.4-SNAPSHOT - - - zip - - - - ../core/src/main/components/bin-common.xml - ../core/src/main/components/bin-filtered-dependencies.xml - src/main/components/bin-samples.xml - - diff --git a/java/sca/contrib/distribution/features/manager/src/main/assembly/src.xml b/java/sca/contrib/distribution/features/manager/src/main/assembly/src.xml deleted file mode 100644 index 0d832271b9..0000000000 --- a/java/sca/contrib/distribution/features/manager/src/main/assembly/src.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - src - true - tuscany-sca-1.4-SNAPSHOT-src - - - zip - - - - ../core/src/main/components/src-common.xml - src/main/components/src-modules.xml - - diff --git a/java/sca/contrib/distribution/features/manager/src/main/components/bin-samples.xml b/java/sca/contrib/distribution/features/manager/src/main/components/bin-samples.xml deleted file mode 100644 index d4b13c42e0..0000000000 --- a/java/sca/contrib/distribution/features/manager/src/main/components/bin-samples.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - ../../../samples - samples - - domain-management/**/* - - - - **/.* - **/.*/** - **/*.log - - - pom.xml - **/target - **/target/**/* - - - - diff --git a/java/sca/contrib/distribution/features/manager/src/main/components/src-modules.xml b/java/sca/contrib/distribution/features/manager/src/main/components/src-modules.xml deleted file mode 100644 index 9a68e7a938..0000000000 --- a/java/sca/contrib/distribution/features/manager/src/main/components/src-modules.xml +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - ../../../modules - modules - - assembly/**/* - assembly-xml/**/* - assembly-xsd/**/* - binding-atom/**/* - binding-atom-abdera/**/* - binding-corba/**/* - binding-corba-runtime/**/* - binding-ejb/**/* - binding-http/**/* - binding-http-runtime/**/* - binding-jsonrpc/**/* - binding-rss/**/* - binding-sca/**/* - binding-sca-xml/**/* - binding-ws/**/* - binding-ws-wsdlgen/**/* - binding-ws-xml/**/* - contribution/**/* - contribution-impl/**/* - contribution-java/**/* - contribution-namespace/**/* - contribution-resource/**/* - contribution-xml/**/* - core/**/* - core-databinding/**/* - core-spi/**/* - data-api/**/* - databinding/**/* - databinding-jaxb/**/* - definitions/**/* - definitions-xml/**/* - distribution-core/**/* - domain-manager/**/* - endpoint/**/* - extensibility/**/* - extensibility-equinox/**/* - host-corba/**/* - host-corba-jse/**/* - host-embedded/**/* - host-http/**/* - host-jetty/**/* - implementation-bpel/**/* - implementation-ejb/**/* - implementation-java/**/* - implementation-java-runtime/**/* - implementation-java-xml/**/* - implementation-node/**/* - implementation-node-runtime/**/* - implementation-resource/**/* - implementation-widget/**/* - implementation-widget-runtime/**/* - interface/**/* - interface-java/**/* - interface-java-jaxws/**/* - interface-java-xml/**/* - interface-wsdl/**/* - interface-wsdl-xml/**/* - monitor/**/* - monitor-logging/**/* - node-api/**/* - node-impl/**/* - node-launcher/**/* - node-launcher-equinox/**/* - node-launcher-webapp/**/* - node-manager/**/* - policy/**/* - policy-security/**/* - policy-security-ws/**/* - policy-xml/**/* - sca-api/**/* - workspace/**/* - workspace-impl/**/* - workspace-xml/**/* - xsd/**/* - xsd-xml/**/* - - - - **/.* - **/.*/** - **/*.log - - - pom.xml - **/target - **/target/**/* - - - - diff --git a/java/sca/contrib/distribution/features/manager/src/main/release/CHANGES b/java/sca/contrib/distribution/features/manager/src/main/release/CHANGES deleted file mode 100644 index 3de7358ec6..0000000000 --- a/java/sca/contrib/distribution/features/manager/src/main/release/CHANGES +++ /dev/null @@ -1,431 +0,0 @@ -Changes With Apache Tuscany SCA 1.2 (incubating) April 2008 -=========================================================== - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-2027 - * TUSCANY-1999 - * TUSCANY-2037 - * TUSCANY-2034 - * TUSCANY-2038 - * TUSCANY-2043 - * TUSCANY-2046 - * TUSCANY-2047 - * TUSCANY-2028 - * TUSCANY-1873 - * TUSCANY-2049 - * TUSCANY-2035 - * TUSCANY-1206 - * TUSCANY-2036 - * TUSCANY-1771 - * TUSCANY-2013 - * TUSCANY-1926 - * TUSCANY-1917 - * TUSCANY-1949 - * TUSCANY-1941 - * TUSCANY-2045 - * TUSCANY-2057 - * TUSCANY-2055 - * TUSCANY-2056 - * TUSCANY-2072 - * TUSCANY-2047 - * TUSCANY-2073 - * TUSCANY-1977 - * TUSCANY-2075 - * TUSCANY-1894 - * TUSCANY-2079 - * TUSCANY-2078 - * TUSCANY-2080 - * TUSCANY-2068 - * TUSCANY-1950 - * TUSCANY-2077 - * TUSCANY-2056 - * TUSCANY-2088 - * TUSCANY-2086 - * TUSCANY-2094 - * TUSCANY-2106 - - Features and/or Enhancements - - * Core - - Interceptor Enhancements - - Phase-based interceptor ordering to allow contribution of new interceptors and also define the order in witch they should be invoked - - Pass-by-reference SPI to allow interceptors to indicate if they support pass-by-reference - - PolicyProvider SPIs to allow extensions to plugin policy interceptors - - Support for JAXWS annotations and mapping of faults to Java exceptions according to JAXWS specification - - Improvement of contribution service to allow it to be used outside of the runtime environment - - Support for Contribution Import/Export resource - - Enhanced Distributed Domain story using Workspace - - Implementation of a SCA domain allowing a system administrator to manage contributions, composites and sca nodes that run these composites - - Set of core services providing management capabilities - - Administration web interface - - This is a work in progress and you can see it in action in samples/calculator-distributed. Other samples that use distributed operation are yet to move over to the workspace. - - Enhanced support for SCA Policy spec - - Ability to apply external policy definitions to a SCA composition - - Ability to spread policy definitions to multiple definitions.xml files available across the sca domain - - Bug fixes - - Improvements of http binding to support servlet components - - Enable Tuscany to run inside an OSGi runtime - - * Web 2.0 Extensions - - Enhancements to implementation.widget (support for properties) - - New atom binding based on Apache Abdera - - Refactoring of rss-rome binding - * Other Extensions - - Binding JMS - - greatly simplified the use of the JMS binding, support locating JMS resources from JNDI, and better compliance with the SCA JMS binding spec - - see the doc page for more details: http://incubator.apache.org/tuscany/sca-java-bindingjms.html - - Enhancements to Binding RMI - - Support shared RMI registry and use 999x as the ports in test case to avoid 1099 conflict - - Enhancements to Groovy extension - - Support for 'native' groovy classes - - Enhancements to OSGi bundle contributions - - Support Bundle URLs to be added as contributions - - * Tools - - Eclipse plugin providing a Tuscany runtime Library and Tuscany launcher in Eclipse environment - - An updatesite is also available to facilitate the plugin installation using the Eclipse update manager - - * Samples/Tutorial/Demos - - calculator-distributed migrated to use new Tuscany Distributed Workspace - - sample-calculator-ws-secure-webapp - - sample-helloworld-jms-webapp - - new jms samples - - improve bigbank demo to include support for policies - - tutorial store changes - - use of import/export - - development of contribution without requiring dependencies on the Tuscany runtime - - usage of new sca domain infrastructure - - * Testing - - Web Container Testing Framework integrated with (Tomcat, Jetty, Geronimo and Websphere) - - -Changes With Apache Tuscany SCA 1.1 (incubating) January 2008 -=============================================================== - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-1939 - * TUSCANY-1914 - * TUSCANY-1854 - * TUSCANY-1931 - * TUSCANY-1547 - * TUSCANY-1909 - * TUSCANY-1919 - * TUSCANY-1930 - * TUSCANY-1806 - * TUSCANY-1804 - * TUSCANY-1916 - * TUSCANY-1913 - * TUSCANY-1834 - * TUSCANY-1857 - * TUSCANY-1687 - * TUSCANY-1801 - * TUSCANY-1742 - * TUSCANY-1762 - * TUSCANY-1945 - * TUSCANY-1595 - * TUSCANY-1594 - * TUSCANY-1849 - * TUSCANY-1836 - * TUSCANY-1934 - * TUSCANY-1902 - * TUSCANY-1608 - * TUSCANY-1943 - * TUSCANY-1896 - * TUSCANY-1626 - * TUSCANY-1797 - * TUSCANY-1601 - * TUSCANY-1415 - -- Better JMS support - * binding.jms supporting point to point text based messaging only - * New SOAP/JMS sample (helloworld-ws-reference/service-jms) - -- Improvements in PolicyFramework Support - * Support for policy specifications on operation elements in a composite definition - * Separate sample (calculator-implementation-policies) to demonstrate use of Implementation Policies - (uses logging and JAAS Authentication) - -- Modeling of client side java script components - * See implementation.widget - -- Evolving support for doman API suggested by assembly spec including a standalone node and nodes running - connected together in a domain. This is still experimental. - -- Class loading and OSGI improvements - * Enable Tuscany to be run in a multi-classloader environment including inside OSGi. By default, - Tuscany continues to run using a single CLASSPATH-based classloader. - * Contributions no longer need to be in the CLASSPATH. All import/export dependencies across contributions should be - explicitly specified (as described in the spec). - -- JAXB based POJO transformations - -Changes With Apache Tuscany SCA 1.0.1 (incubating) November 2007 -================================================================ - -The Tuscany SCA Java 1.0.1 is mainly a bug-fix release. It also comes with some improvements as listed below. - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-1848 - * TUSCANY-1857 - * TUSCANY-1859 - * TUSCANY-1801 - * TUSCANY-1823 - * TUSCANY-1839 - * TUSCANY-1814 - * TUSCANY-1818 - * TUSCANY-1834 - * TUSCANY-1637 - * TUSCANY-1826 - * TUSCANY-1823 - * TUSCANY-1819 - * TUSCANY-1821 - * TUSCANY-1822 - * TUSCANY-1806 - * TUSCANY-1808 - * TUSCANY-1756 - * TUSCANY-1757 - -- Fix build issues with Maven 2.0.7 and JDK 6 - -- Reduce memory consumption for WSDLs that import large XSDs - -- Add more logging statements for better servicibility - -- Add an extension point to allow extensions to plug-in extension schemas. - -- Add a demo application to showcase XML integration story - -- Improve in databinding framework - * Add support for JSON Databindings and other refactoring - * Set databinding for introspected data type and enhance the checking of wrapper style - * Improve the tree-based XMLStreamReader and convert Bean & DOM to use this approach - * Add a tree-iterator based XMLStreamReader base impl - * Add default element info to java interface - * Rename Interface.setDefaultDataBinding to resetDataBinding - -- Limit the method injection to setters and allow the setter annotation to override field annotation - -- Evolving support in Intent and Policy handling - * Add support for policies in implementation - * Fix the algorithm for macthing policySets defined on bindings for the wire - * Add policy intent for implementation.java - * Extend java implementation type to recognize and apply policies, adding util support for this in Policy module - * Add policy module for logging - -- Evolving development in the SCA Domain/Node - -- Update NOTICE files with missing dependencies - - -Changes With Apache Tuscany SCA 1.0 (incubating) September 2007 -=============================================================== - -- Tuscany Java SCA now implements V1.0 of the core SCA - specifications - SCA Assembly Model V1.0 - SCA Java Common Annotations and APIs V1.0 - SCA Java Component Implementation V1.0 - SCA Web Services Binding V1.0 - Including callbacks, conversations and callable references - - -- Support for ws-security configurable in the web services binding - thro Tuscany SCA policy intents and policysets using the policy framework - introduced in the last release. - - Note : This release supports specifications of policies around axis2 - config params - see helloworld-ws-service-secure sample. The policy - intents that have been tested are authentication, integrity and - confidentiality. - There is no sample or test that exercises confidentiality since there - are some unresolved licensing issue around bouncycastle libraries. - However, users who are not encumbered by the bouncycastle license - restrictions can try the 'confidentiality' intent. See FAQ - - http://incubator.apache.org/tuscany/tuscany-sca-java-faq.html - - This release does not include support for WS-Policy - attachments in Tuscany Policysets for ws-security. - - -- An XQuery component implementation type - implementation-xquery - - -- A Databinding for converting data to and from nodes for XQuery - processing - databinding-saxon - - -- OSGI support has been extended to allow Tuscany contributions - packaged as OSGI bundles hence taking advantage of OSGI's bundle - loading an dependency management capabilities - - -- A BPEL component implementation type experimental implementation -based on SCA BPEL Client and Implementation V1.0. At the moment only -supports BPEL process as services. - implementation-bpel - - -- The distributed runtime implementation has been separated out - into - *) domain - *) node - It is now wrapped by a SCADomain interface as is the standalone - runtime. - - Note: This release does not include support for WebApp host deployment - for a distributed SCA Domain - - - -- The web service binding will now generate WSDL automatically - based on the service interface if no WSDL is provided - - -- A new "store" sample and associated document show how a - simple store front application can be constructed - samples/store - -- The following features of this release are still experimental: - - BPEL implementation type, integrating with Apache ODE - - OSGI implementation type, integrating with Apache Felix - - XQuery implementation type - - - -Changes With Apache Tuscany SCA 0.99 (incubating) August 2007 -============================================================= - -The following are the significant additions to release 0.99 -over and above all of what was offered in release 0.91. - -- A version of the default sca binding that works between - components runing in separate Java virtual machines - binding-sca-axis - -- A simple node implementation and a service discovery - function for running sca applications distributed - across more than one node - distributed - distributed-impl - -- integration with OSGi runtimes is now supported with - a new implementation-osgi component type - -- PUB/SUB interactions are now supported by using new - notification binding and implementation types, and - samples demonstrating the feature. - -- The Tuscany runtime now has a policy framework supporting - the SCA policy specification - -- the endpoint URIs used by SCA bindings has been rationalized - and now follows the SCA Assembly specification - -- binding-ajax has been renamed to binding-dwr - -Changes With Apache Tuscany SCA 0.91 (incubating) July 2007 -=========================================================== - -The following are the significant additions to release 0.91 -over and above all of what was offered in release 0.90. - - -- Enhancements to support multiple contributions to the SCA Domain - -- The inclusion of a alternative simplified extensions-helper -SPI layer to faciliate rapid development of extensions - -- More Implementation Extenstions - Spring - WebResource - -- More Binding Extensions - AJAX - EJB - RSS/ATOM Feeds - -- Demos that demonstrate the use of a mix of extensions - alert-aggregator-webapp - bigbank-account - bigbank-calculator - bigbank-stockquote - - -- Samples - Samples to demostrate use of Spring, Resource, AJAX extensions - -Changes With Apache Tuscany SCA 0.90 (incubating) June 2007 -=========================================================== - -- Implementations for all of the Java Annotations and API Specification V1.0 found at - (http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications) - apart from the following. - @ComponentName - Conversation - RequestContext - -- New assembly model implementation taking into account SCA 1.0 artifacts - Data duplication between assembly model and runtime removed - -- Simple single process domain support - Contribution support to scope items being deployed into the runtime - -- Improved Package/Class naming consistency across modules - -- Extensions now loaded via Java service mechanism - Refactored extensions to use new SPIs (see below) - -- Maven and Ant based sample builds in the binary distribution - -- Implementation Extensions - Java - Script supporting (Ruby, Python, Groovy, JavaScript) - -- Binding Extensions - Axis2 - RMI - JSONRPC - --Databinding Extensions - Axiom - JAXB - SDO - -- Host environments - Embedded - Tomcat - Jetty - RMI - -- A clear set of SPIs intended to be stable over future releases - SCA assembly model - org.apache.tuscany.sca.assembly - org.apache.tuscany.sca.interfacedef - org.apache.tuscany.sca.interfacedef.java - org.apache.tuscany.sca.interfacedef.wsdl - org.apache.tuscany.sca.policy - - SCA contribution model - org.apache.tuscany.sca.contribution - - Runtime extensions - org.apache.tuscany.sca.core - org.apache.tuscany.sca.invocation - org.apache.tuscany.sca.provider - org.apache.tuscany.sca.runtime - org.apache.tuscany.sca.work - - Data binding support - org.apache.tuscany.sca.databinding - - Embedding Tuscany - org.apache.tuscany.sca.host.embedded - - Servlet container integration - org.apache.tuscany.sca.http - -- For this point release a partial set of JavaDoc is provided to - be filled out as we close on release 1.0 diff --git a/java/sca/contrib/distribution/features/manager/src/main/release/DISCLAIMER b/java/sca/contrib/distribution/features/manager/src/main/release/DISCLAIMER deleted file mode 100644 index a65af91c5a..0000000000 --- a/java/sca/contrib/distribution/features/manager/src/main/release/DISCLAIMER +++ /dev/null @@ -1,7 +0,0 @@ -Apache Tuscany is an effort undergoing incubation at The Apache Software -Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is -required of all newly accepted projects until a further review indicates that -the infrastructure, communications, and decision making process have stabilized -in a manner consistent with other successful ASF projects. While incubation -status is not necessarily a reflection of the completeness or stability of the -code, it does indicate that the project has yet to be fully endorsed by the ASF. \ No newline at end of file diff --git a/java/sca/contrib/distribution/features/manager/src/main/release/README b/java/sca/contrib/distribution/features/manager/src/main/release/README deleted file mode 100644 index 4d83dcfde9..0000000000 --- a/java/sca/contrib/distribution/features/manager/src/main/release/README +++ /dev/null @@ -1,19 +0,0 @@ -Apache Tuscany SCA 1.2 (incubating) April 2008 README -===================================================== - -Welcome to the Tuscany SCA 1.2 release. - -See the RELEASE_NOTES file for information specific to this release. - -In the binary release see the INSTALL file for information on how to -install the release. - -In the source distribution see the BUILDING file for information on -building the source code. - - - - - - - diff --git a/java/sca/contrib/distribution/features/manager/src/main/release/RELEASE_NOTES b/java/sca/contrib/distribution/features/manager/src/main/release/RELEASE_NOTES deleted file mode 100644 index a04ef5c553..0000000000 --- a/java/sca/contrib/distribution/features/manager/src/main/release/RELEASE_NOTES +++ /dev/null @@ -1,83 +0,0 @@ -Apache Tuscany SCA 1.2 (incubating) April 2008 Release Notes -============================================================ - -Apache Tuscany provides a runtime based on the Service Component -Architecture. SCA is a set of specifications aimed at simplifying SOA -Application Development which are being standardized at OASIS as part -of Open Composite Services Architecture (Open CSA) - http://www.oasis-opencsa.org/. - -Overview --------- - - The Apache Tuscany SCA 1.2 release includes implementations of the - main SCA specifications including: - - SCA Assembly Model V1.0 - SCA Policy Framework V1.0 - SCA Java Common Annotations and APIs V1.0 - SCA Java Component Implementation V1.0 - SCA Spring Component Implementation V1.0 - SCA BPEL Client and Implementation V1.0 - SCA Web Services Binding V1.0 - SCA EJB Session Bean Binding V1.0 - - It also includes implementations of many features not yet defined - by SCA specifications, including: - - - SCA bindings for Direct Web Remoting, RSS and ATOM Feeds, - HTTP resources, JSON-RPC, PUB/SUB Notifications, and RMI. - - SCA implementation types for OSGI, XQuery, BPEL, Widget and various - dynamic languages including Groovy, Javascript, Python and Ruby - - Databindings for Service Data Objects (SDO), JAXB, XmlBeans, - Axis2's AXIOM, JSON, SAXON, DOM, SAX and StAX - - The Tuscany SCA Runtime can be configured as a single node SCA domain or - as an SCA domain distributed across multiple nodes. - In addition Tuscany SCA supports the following host-deployment options: - - - running standalone - - running with distributed nodes across multiple JVMs - - running with embedded Jetty or Tomcat - - running as part of a standard web application - - The Wepapp samples included in this release have been tried and tested on - - Tomcat 5.5.20 and Tomcat 6.0.14 - - Jetty 6.1.3 - - Geronimo 2.0.2 Tomcat6 jee5 - - WebSphere 6.1 fix pack 9 - -See the CHANGES file for a detailed list of the features in this release. - -Support -------- - -For more information on Apache Tuscany visit the website at: - - http://incubator.apache.org/tuscany/ - -Any issues with this release can be reported to Apache Tuscany -using the mailing lists or in the JIRA issue tracker. - - Mailing list archives: - - http://mail-archives.apache.org/mod_mbox/ws-tuscany-user/ - http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev/ - - Jira: - - http://issues.apache.org/jira/browse/TUSCANY - -To join the project's mailing lists follow the instructions at: - - http://incubator.apache.org/tuscany/mailing-lists.html - -To find out more about OASIS Open CSA go to: - - http://www.oasis-opencsa.org. - -Apache Tuscany welcomes your help. Any contribution, including code, -testing, improving the documentation, or bug reporting is always -appreciated. - -Thank you for using Apache Tuscany! - -- The Tuscany Team. diff --git a/java/sca/contrib/distribution/features/manager/src/main/release/bin/INSTALL b/java/sca/contrib/distribution/features/manager/src/main/release/bin/INSTALL deleted file mode 100644 index 2da53a2b44..0000000000 --- a/java/sca/contrib/distribution/features/manager/src/main/release/bin/INSTALL +++ /dev/null @@ -1,27 +0,0 @@ -Installing the Apache Tuscany SCA 1.2 (incubating) April 2008 Release binary distribution -========================================================================================= - -Unzip Tuscany binary distribution archive and you get the following: - -tuscany-sca-1.1-incubating - DISCLAIMER - the ASF incubation disclaimer - INSTALL - this help file - LICENSE - the Apache License and any dependecy licenses - NOTICE - attribution notices associated with the licenses - README - readme for the release - RELEASE_NOTES - description of this release - CHANGES - A note of the major changes in this release - - /demos - Demo applications showcasing the use of Apache Tuscany - - /lib - The tuscany-sca-all and tuscany-sca-manifest jars and all their dependencies - - /modules - all of the individual Tuscany jars - - /samples - all the Tuscany samples, see the README in that directory - - /tutorial - The store tutorial, see the README in that directory - - - - diff --git a/java/sca/contrib/distribution/features/manager/src/main/release/bin/LICENSE b/java/sca/contrib/distribution/features/manager/src/main/release/bin/LICENSE deleted file mode 100644 index 5e1f585d46..0000000000 --- a/java/sca/contrib/distribution/features/manager/src/main/release/bin/LICENSE +++ /dev/null @@ -1,2366 +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 SUBCOMPONENTS: - -The Apache Tuscany binary distribution includes a number of subcomponents -with separate copyright notices and license terms. Your use of the -code for the these subcomponents is subject to the terms and -conditions of the following licenses. - -=============================================================================== - -The following components come under Apache Software License 1.1 - - commons-discovery-0.2.jar - commons-primitives-1.0.jar - -The following components come under Apache Software License 2.0 - - abdera-core-0.3.0-incubating.jar - abdera-i18n-0.3.0-incubating.jar - abdera-parser-0.3.0-incubating.jar - activeio-2.0-r118.jar - activeio-core-3.0.0-incubator.jar - apache-activemq-4.1.1.jar - addressing-1.3.mar - annogen-0.1.0.jar - annotations-api-6.0.14.jar - aopalliance-1.0.jar - axiom-api-1.2.5.jar - axiom-dom-1.2.5.jar - axiom-impl-1.2.5.jar - axis2-adb-1.3.jar - axis2-codegen-1.3.jar - axis2-java2wsdl-1.3.jar - axis2-kernel-1.3.jar - axis2-mtompolicy-1.3.jar - bsf-all-3.0-beta2.jar - catalina-6.0.14.jar - cglib-nodep-2.1_3.jar - commons-collections-3.1.jar - commons-codec-1.3.jar - commons-fileupload-1.1.1.jar - commons-httpclient-3.0.1.jar - commons-io-1.2.jar - commons-jexl-1.1.jar - commons-lang-2.1.jar - commons-logging-1.1.jar - coyote-6.0.14.jar - derby-10.1.3.1.jar - geronimo-activation_1.1_spec-1.0-M1.jar - geronimo-common-1.2-beta.jar - geronimo-commonj_1.1_spec-1.0.jar - geronimo-connector-1.2-beta.jar - geronimo-core-1.2-beta.jar - geronimo-deployment-1.2-beta.jar - geronimo-ejb_3.0_spec-1.0.jar - geronimo-interceptor-1.2-beta.jar - geronimo-j2ee-1.2-beta.jar - geronimo-j2ee-connector_1.5_spec-1.1.jar - geronimo-j2ee-jacc_1.0_spec-1.1.jar - geronimo-j2ee-management_1.0_spec-1.1.jar - geronimo-javamail_1.4_spec-1.0-M1.jar - geronimo-jms_1.1_spec-1.1.jar - geronimo-jpa_3.0_spec-1.0.jar - geronimo-jta_1.0.1B_spec-1.0.jar - geronimo-kernel-1.2-beta.jar - geronimo-management-1.2-beta.jar - geronimo-naming-1.2-beta.jar - geronimo-security-1.2-beta.jar - geronimo-spec-j2ee-connector-1.5-rc4.jar - geronimo-spec-jta-1.0.1B-rc4.jar - geronimo-system-1.2-beta.jar - geronimo-transaction-1.2-beta.jar - geronimo-util-1.2-beta.jar - httpcore-4.0-alpha5.jar - httpcore-nio-4.0-alpha5.jar - httpcore-niossl-4.0-alpha5.jar - jettison-1.0-RC2.jar - jetty-6.1.7.jar - jetty-util-6.1.7.jar - json-rpc-1.0.jar - juli-6.0.14.jar - log4j-1.2.12.jar - logkit-1.0.1.jar - neethi-2.0.2.jar - ode-bpel-api-1.1.jar - ode-bpel-compiler-1.1.jar - ode-bpel-dao-1.1.jar - ode-bpel-epr-1.1.jar - ode-bpel-obj-1.1.jar - ode-bpel-runtime-1.1.jar - ode-bpel-schemas-1.1.jar - ode-bpel-store-1.1.jar - ode-dao-jpa-1.1.jar - ode-dao-jpa-ojpa-derby-1.1.zip - ode-jacob-1.1.jar - ode-jacob-ap-1.1.jar - ode-scheduler-simple-1.1.jar - ode-utils-1.1.jar - openjpa-all-0.9.7-incubating.jar - openjpa-persistence-0.9.7-incubating.jar - org.apache.felix.bundlerepository-1.0.2.jar - org.apache.felix.framework-1.0.3.jar - org.apache.felix.main-1.0.3.jar - org.apache.felix.shell-1.0.0.jar - org.apache.felix.shell.tui-1.0.0.jar - rampart-core-1.3.jar - rampart-policy-1.3.jar - rampart-trust-1.3.jar - regexp-1.3.jar - spring-beans-2.0.6.jar - spring-context-2.0.6.jar - spring-core-2.0.6.jar - tranql-connector-1.1.jar - tuscany-sdo-api-r2.1-1.0-incubating.jar - tuscany-sdo-impl-1.0-incubating.jar - tuscany-sdo-lib-1.0-incubating.jar - tuscany-sdo-tools-1.0-incubating.jar - woden-1.0-incubating-M7b.jar - wss4j-1.5.3.jar - wstx-asl-3.2.1.jar - xalan-2.7.0.jar - xbean-naming-2.7.jar - xercesImpl-2.8.1.jar - xml-apis-1.3.03.jar - xmlbeans-2.3.0.jar - xml-resolver-1.1.jar - xmlsec-1.4.0.jar - XmlSchema-1.3.2.jar - -=============================================================================== -axion-1.0-M3-dev.jar - -Copyright (c) 2002-2003 Axion Development Team. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - -2. 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. - -3. The names "Tigris", "Axion", nor the names of its contributors may - not be used to endorse or promote products derived from this - software without specific prior written permission. - -4. Products derived from this software may not be called "Axion", nor - may "Tigris" or "Axion" appear in their names 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. - -The "Axion Development Team" is defined to be: - - * Chuck Burdick - * James Burke - * Morgan Delagrange - * Geir Magnusson Jr. - * Martin Poeschl - * Steve Polyak - * Daniel Rall - * Ahimanikya Satapathy - * Doug Sale - * James Strachan - * Rodney Waldhoff - * Jason van Zyl - -License changes are to be determined by a simple majority vote of the -Axion Development Team. - -=============================================================================== -dom4j-1.6.1.jar - -Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. - -Redistribution and use of this software and associated documentation -("Software"), with or without modification, are permitted provided -that the following conditions are met: - -1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - -2. 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. - -3. The name "DOM4J" must not be used to endorse or promote - products derived from this Software without prior written - permission of MetaStuff, Ltd. For written permission, - please contact dom4j-info@metastuff.com. - -4. Products derived from this Software may not be called "DOM4J" - nor may "DOM4J" appear in their names without prior written - permission of MetaStuff, Ltd. DOM4J is a registered - trademark of MetaStuff, Ltd. - -5. Due credit should be given to the DOM4J Project - - http://www.dom4j.org - -THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS -``AS IS'' AND ANY EXPRESSED 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 -METASTUFF, LTD. OR ITS 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. - -=============================================================================== - -The EMF jars; - codegen-2.2.3.jar - codegen-ecore-2.2.3.jar - common-2.2.3.jar - ecore-2.2.3.jar - ecore-change-2.2.3.jar - ecore-xmi-2.2.3.jar - xsd-2.2.3.jar - -Eclipse Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF -THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - -a) in the case of the initial Contributor, the initial code and -documentation distributed under this Agreement, and -b) in the case of each subsequent Contributor: - -i) changes to the Program, and - -ii) additions to the Program; - -where such changes and/or additions to the Program originate from and -are distributed by that particular Contributor. A Contribution -'originates' from a Contributor if it was added to the Program by such -Contributor itself or anyone acting on such Contributor's behalf. -Contributions do not include additions to the Program which: (i) are -separate modules of software distributed in conjunction with the -Program under their own license agreement, and (ii) are not derivative -works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor -which are necessarily infringed by the use or sale of its Contribution -alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this -Agreement. - -"Recipient" means anyone who receives the Program under this -Agreement, including all Contributors. - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free copyright -license to reproduce, prepare derivative works of, publicly display, -publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and -object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free patent -license under Licensed Patents to make, use, sell, offer to sell, -import and otherwise transfer the Contribution of such Contributor, if -any, in source code and object code form. This patent license shall -apply to the combination of the Contribution and the Program if, at -the time the Contribution is added by the Contributor, such addition -of the Contribution causes such combination to be covered by the -Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder. - -c) Recipient understands that although each Contributor grants the -licenses to its Contributions set forth herein, no assurances are -provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow -Recipient to distribute the Program, it is Recipient's responsibility -to acquire that license before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient -copyright rights in its Contribution, if any, to grant the copyright -license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form -under its own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties -and conditions, express and implied, including warranties or -conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability -for damages, including direct, indirect, special, incidental and -consequential damages, such as lost profits; - -iii) states that any provisions which differ from this Agreement are -offered by that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such -Contributor, and informs licensees how to obtain it in a reasonable -manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the -Program. - -Contributors may not remove or alter any copyright notices contained -within the Program. - -Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a -commercial product offering should do so in a manner which does not -create potential liability for other Contributors. Therefore, if a -Contributor includes the Program in a commercial product offering, -such Contributor ("Commercial Contributor") hereby agrees to defend -and indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") arising -from claims, lawsuits and other legal actions brought by a third party -against the Indemnified Contributor to the extent caused by the acts -or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. -In order to qualify, an Indemnified Contributor must: a) promptly -notify the Commercial Contributor in writing of such claim, and b) -allow the Commercial Contributor to control, and cooperate with the -Commercial Contributor in, the defense and any related settlement -negotiations. The Indemnified Contributor may participate in any such -claim at its own expense. - -For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED 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. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable -laws, damage to or loss of data, programs or equipment, and -unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR -ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), 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 OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further -action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that -the Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of -the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of -time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use -and distribution of the Program as soon as reasonably practicable. -However, Recipient's obligations under this Agreement and any licenses -granted by Recipient relating to the Program shall continue and -survive. - -Everyone is permitted to copy and distribute copies of this Agreement, -but in order to avoid inconsistency the Agreement is copyrighted and -may only be modified in the following manner. The Agreement Steward -reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement -Steward has the right to modify this Agreement. The Eclipse Foundation -is the initial Agreement Steward. The Eclipse Foundation may assign -the responsibility to serve as the Agreement Steward to a suitable -separate entity. Each new version of the Agreement will be given a -distinguishing version number. The Program (including Contributions) -may always be distributed subject to the version of the Agreement -under which it was received. In addition, after a new version of the -Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives -no rights or licenses to the intellectual property of any Contributor -under this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No -party to this Agreement will bring a legal action under this Agreement -more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation. - -=============================================================================== -For Saxon including - saxon-8.7.jar - saxon-dom-8.7.jar - saxon-xpath-8.7.jar - - MOZILLA PUBLIC LICENSE -Version 1.0 - -1. Definitions. - - 1.1. ``Contributor'' means each entity that creates or contributes to the creation of Modifications. - - 1.2. ``Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor. - - 1.3. ``Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof. - - 1.4. ``Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data. - - 1.5. ``Executable'' means Covered Code in any form other than Source Code. - - 1.6. ``Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A. - - 1.7. ``Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License. - - 1.8. ``License'' means this document. - - 1.9. ``Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is: - - A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or previous Modifications. - - 1.10. ``Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License. - - 1.11. ``Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge. - - 1.12. ``You'' means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, ``You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, ``control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (``Utilize'') the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - - 2.2. Contributor Grant. - Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - - (a) Third Party Claims. - If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled ``LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation (``Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License. - - 6.3. Derivative Works. - If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a ``commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer software'' and ``commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the United States of America: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Santa Clara County, California, under the auspices of JAMS/EndDispute; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. - -12. RESPONSIBILITY FOR CLAIMS. - - Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis. - -EXHIBIT A. - - ``The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved. - - Contributor(s): ______________________________________.'' - -=============================================================================== - -For the Rhino JavaScript engine js-1.6R7.jar: - - MOZILLA PUBLIC LICENSE - Version 1.1 - - --------------- - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Code, prior Modifications used by a Contributor, and the Modifications - made by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified - as the Initial Developer in the Source Code notice required by Exhibit - A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - A. Any addition to or deletion from the contents of a file - containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, - and apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated interface definition files, scripts used to control - compilation and installation of an Executable, or source code - differential comparisons against either the Original Code or another - well known, available Covered Code of the Contributor's choice. The - Source Code can be in a compressed or archival form, provided the - appropriate decompression or de-archiving software is widely available - for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - For legal entities, "You" includes any entity which controls, is - controlled by, or is under common control with You. For purposes of - this definition, "control" means (a) the power, direct or indirect, - to cause the direction or management of such entity, whether by - contract or otherwise, or (b) ownership of more than fifty percent - (50%) of the outstanding shares or beneficial ownership of such - entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer to use, reproduce, - modify, display, perform, sublicense and distribute the Original - Code (or portions thereof) with or without Modifications, and/or - as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or - selling of Original Code, to make, have made, use, practice, - sell, and offer for sale, and/or otherwise dispose of the - Original Code (or portions thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are - effective on the date Initial Developer first distributes - Original Code under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: 1) for code that You delete from the Original Code; 2) - separate from the Original Code; or 3) for infringements caused - by: i) the modification of the Original Code or ii) the - combination of the Original Code with other software or devices. - - 2.2. Contributor Grant. - Subject to third party intellectual property claims, each Contributor - hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor, to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications - created by such Contributor (or portions thereof) either on an - unmodified basis, with other Modifications, as Covered Code - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or - selling of Modifications made by that Contributor either alone - and/or in combination with its Contributor Version (or portions - of such combination), to make, use, sell, offer for sale, have - made, and/or otherwise dispose of: 1) Modifications made by that - Contributor (or portions thereof); and 2) the combination of - Modifications made by that Contributor with its Contributor - Version (or portions of such combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are - effective on the date Contributor first makes Commercial Use of - the Covered Code. - - (d) Notwithstanding Section 2.2(b) above, no patent license is - granted: 1) for any code that Contributor has deleted from the - Contributor Version; 2) separate from the Contributor Version; - 3) for infringements caused by: i) third party modifications of - Contributor Version or ii) the combination of Modifications made - by that Contributor with other software (except as part of the - Contributor Version) or other devices; or 4) under Patent Claims - infringed by Covered Code in the absence of Modifications made by - that Contributor. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, - Contributor must include a text file with the Source Code - distribution titled "LEGAL" which describes the claim and the - party making the claim in sufficient detail that a recipient will - know whom to contact. If Contributor obtains such knowledge after - the Modification is made available as described in Section 3.2, - Contributor shall promptly modify the LEGAL file in all copies - Contributor makes available thereafter and shall take other steps - (such as notifying appropriate mailing lists or newsgroups) - reasonably calculated to inform those who received the Covered - Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming - interface and Contributor has knowledge of patent licenses which - are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to - Section 3.4(a) above, Contributor believes that Contributor's - Modifications are Contributor's original creation(s) and/or - Contributor has sufficient rights to grant the rights conveyed by - this License. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. However, You - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear than - any such warranty, support, indemnity or liability obligation is - offered by You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred by the - Initial Developer or such Contributor as a result of warranty, - support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under a license of Your choice, which may - contain terms different from this License, provided that You are in - compliance with the terms of this License and that the license for the - Executable version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version under a different - license You must make it absolutely clear that any terms which differ - from this License are offered by You alone, not by the Initial - Developer or any Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such - terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code - not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised - and/or new versions of the License from time to time. Each version - will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Netscape. No one - other than Netscape has the right to modify the terms applicable to - Covered Code created under this License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must (a) rename Your license so that - the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", - "MPL", "NPL" or any confusingly similar phrase do not appear in your - license (except to note that your license differs from this License) - and (b) otherwise make it clear that Your version of the license - contains terms which differ from the Mozilla Public License and - Netscape Public License. (Filling in the name of the Initial - Developer, Original Code or Contributor in the notice described in - Exhibit A shall not of themselves be deemed to be modifications of - this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE - IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, - YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE - COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER - OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, - all end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, - OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR - ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY - CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, - WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" and "commercial computer software documentation," as such - terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 - C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), - all U.S. Government End Users acquire Covered Code with only those - rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, with the losing party responsible for costs, including - without limitation, court costs and reasonable attorneys' fees and - expenses. The application of the United Nations Convention on - Contracts for the International Sale of Goods is expressly excluded. - Any law or regulation which provides that the language of a contract - shall be construed against the drafter shall not apply to this - License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the NPL or the alternative licenses, if any, specified - by the Initial Developer in the file described in Exhibit A. - -EXHIBIT A -Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License - Version 1.1 (the "License"); you may not use this file except in - compliance with the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - License for the specific language governing rights and limitations - under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. - Portions created by ______________________ are Copyright (C) ______ - _______________________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those - above. If you wish to allow use of your version of this file only - under the terms of the [____] License and not to allow others to use - your version of this file under the MPL, indicate your decision by - deleting the provisions above and replace them with the notice and - other provisions required by the [___] License. If you do not delete - the provisions above, a recipient may use your version of this file - under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] - - -=============================================================================== -Groovy (groovy-all-minimal-1.5.4.jar): - -/* - $Id: LICENSE.txt 156 2003-09-26 17:36:37Z jstrachan $ - - Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - - Redistribution and use of this software and associated documentation - ("Software"), with or without modification, are permitted provided - that the following conditions are met: - - 1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - - 2. 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. - - 3. The name "groovy" must not be used to endorse or promote - products derived from this Software without prior written - permission of The Codehaus. For written permission, - please contact info@codehaus.org. - - 4. Products derived from this Software may not be called "groovy" - nor may "groovy" appear in their names without prior written - permission of The Codehaus. "groovy" is a registered - trademark of The Codehaus. - - 5. Due credit should be given to The Codehaus - - http://groovy.codehaus.org/ - - THIS SOFTWARE IS PROVIDED BY THE CODEHAUS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESSED 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 CODEHAUS OR ITS 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. - - */ - -=============================================================================== - -Jython (jython-2.2.jar): - -A. HISTORY OF THE SOFTWARE -======================= - -JPython was created in late 1997 by Jim Hugunin. Jim was also the -primary developer while he was at CNRI. In February 1999 Barry Warsaw -took over as primary developer and released JPython version 1.1. - -In October 2000 Barry helped move the software to SourceForge -where it was renamed to Jython. Jython 2.0 and on are licensed under -the Jython specific license below. - -The standard library is covered by the Python Software Foundation -license. See the LICENSE_CPython.txt file for details. - -The zxJDBC package was written by Brian Zimmer and originally licensed -under the GNU Public License. The package is now covered by the Jython -Software License. - -The command line interpreter is covered by the Apache Software -License. See the LICENSE_Apache.txt file for details. - -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING JYTHON -================================ - -Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Jython Developers -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 Jython Developers nor the names of - its 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 REGENTS 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. - - - - -JPython 1.1.x Software License. -========================= - -______________________________________________________________________ - -IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. - -BY CLICKING ON THE "ACCEPT" BUTTON WHERE INDICATED, OR BY INSTALLING, -COPYING OR OTHERWISE USING THE SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO -THE TERMS AND CONDITIONS OF THIS AGREEMENT. - -______________________________________________________________________ - -JPython version 1.1.x - - 1. This LICENSE AGREEMENT is between the Corporation for National Research - Initiatives, having an office at 1895 Preston White Drive, Reston, VA - 20191 ("CNRI"), and the Individual or Organization ("Licensee") - accessing and using JPython version 1.1.x in source or binary form and - its associated documentation as provided herein ("Software"). - - 2. Subject to the terms and conditions of this License Agreement, CNRI - hereby grants Licensee a non-exclusive, non-transferable, royalty-free, - world-wide license to reproduce, analyze, test, perform and/or display - publicly, prepare derivative works, distribute, and otherwise use the - Software alone or in any derivative version, provided, however, that - CNRI's License Agreement and CNRI's notice of copyright, i.e., - "Copyright ©1996-1999 Corporation for National Research Initiatives; - All Rights Reserved" are both retained in the Software, alone or in any - derivative version prepared by Licensee. - - Alternatively, in lieu of CNRI's License Agreement, Licensee may - substitute the following text (omitting the quotes), provided, however, - that such text is displayed prominently in the Software alone or in any - derivative version prepared by Licensee: "JPython (Version 1.1.x) is - made available subject to the terms and conditions in CNRI's License - Agreement. This Agreement may be located on the Internet using the - following unique, persistent identifier (known as a handle): - 1895.22/1006. The License may also be obtained from a proxy server on - the Web using the following URL: http://hdl.handle.net/1895.22/1006." - - 3. In the event Licensee prepares a derivative work that is based on or - incorporates the Software or any part thereof, and wants to make the - derivative work available to the public as provided herein, then - Licensee hereby agrees to indicate in any such work, in a prominently - visible way, the nature of the modifications made to CNRI's Software. - - 4. Licensee may not use CNRI trademarks or trade name, including JPython - or CNRI, in a trademark sense to endorse or promote products or - services of Licensee, or any third party. Licensee may use the mark - JPython in connection with Licensee's derivative versions that are - based on or incorporate the Software, but only in the form - "JPython-based ___________________," or equivalent. - - 5. CNRI is making the Software available to Licensee on an "AS IS" basis. - CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY - OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY - REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY - PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE - ANY THIRD PARTY RIGHTS. - - 6. CNRI SHALL NOT BE LIABLE TO LICENSEE OR OTHER USERS OF THE SOFTWARE FOR - ANY INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE - THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. SOME STATES DO NOT - ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY SO THE ABOVE DISCLAIMER - MAY NOT APPLY TO LICENSEE. - - 7. This License Agreement may be terminated by CNRI (i) immediately upon - written notice from CNRI of any material breach by the Licensee, if the - nature of the breach is such that it cannot be promptly remedied; or - (ii) sixty (60) days following notice from CNRI to Licensee of a - material remediable breach, if Licensee has not remedied such breach - within that sixty-day period. - - 8. This License Agreement shall be governed by and interpreted in all - respects by the law of the State of Virginia, excluding conflict of law - provisions. Nothing in this Agreement shall be deemed to create any - relationship of agency, partnership, or joint venture between CNRI and - Licensee. - - 9. By clicking on the "ACCEPT" button where indicated, or by installing, - copying or otherwise using the Software, Licensee agrees to be bound by - the terms and conditions of this License Agreement. - - -=============================================================================== - -The jars; -activation-1.1.jar, -jaxb-api-2.1.jar, -jaxb-impl-2.1.6.jar, -jaxb-xjc-2.1.4.jar, -jaxb2-reflection-2.1.4.jar, -jsr181-api-1.0-MR1.jar, -jsr250-api-1.0.jar, -jaxws-api-2.1-1.jar, -mail-1.4.jar, -saaj-api-1.3.jar, -servlet-api-2.5.jar, -stax-api-1.0-commons-cli-1.0.jar2.jar - -COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 - - - 1. Definitions. - - 1.1. "Contributor" means each individual or entity that - creates or contributes to the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the - Original Software, prior Modifications used by a - Contributor (if any), and the Modifications made by that - particular Contributor. - - 1.3. "Covered Software" means (a) the Original Software, or - (b) Modifications, or (c) the combination of files - containing Original Software with files containing - Modifications, in each case including portions thereof. - - 1.4. "Executable" means the Covered Software in any form - other than Source Code. - - 1.5. "Initial Developer" means the individual or entity - that first makes Original Software available under this - License. - - 1.6. "Larger Work" means a work which combines Covered - Software or portions thereof with code not governed by the - terms of this License. - - 1.7. "License" means this document. - - 1.8. "Licensable" means having the right to grant, to the - maximum extent possible, whether at the time of the initial - grant or subsequently acquired, any and all of the rights - conveyed herein. - - 1.9. "Modifications" means the Source Code and Executable - form of any of the following: - - A. Any file that results from an addition to, - deletion from or modification of the contents of a - file containing Original Software or previous - Modifications; - - B. Any new file that contains any part of the - Original Software or previous Modification; or - - C. Any new file that is contributed or otherwise made - available under the terms of this License. - - 1.10. "Original Software" means the Source Code and - Executable form of computer software code that is - originally released under this License. - - 1.11. "Patent Claims" means any patent claim(s), now owned - or hereafter acquired, including without limitation, - method, process, and apparatus claims, in any patent - Licensable by grantor. - - 1.12. "Source Code" means (a) the common form of computer - software code in which modifications are made and (b) - associated documentation included in or with such code. - - 1.13. "You" (or "Your") means an individual or a legal - entity exercising rights under, and complying with all of - the terms of, this License. For legal entities, "You" - includes any entity which controls, is controlled by, or is - under common control with You. For purposes of this - definition, "control" means (a) the power, direct or - indirect, to cause the direction or management of such - entity, whether by contract or otherwise, or (b) ownership - of more than fifty percent (50%) of the outstanding shares - or beneficial ownership of such entity. - - 2. License Grants. - - 2.1. The Initial Developer Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, the - Initial Developer hereby grants You a world-wide, - royalty-free, non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Initial Developer, - to use, reproduce, modify, display, perform, - sublicense and distribute the Original Software (or - portions thereof), with or without Modifications, - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, - using or selling of Original Software, to make, have - made, use, practice, sell, and offer for sale, and/or - otherwise dispose of the Original Software (or - portions thereof). - - (c) The licenses granted in Sections 2.1(a) and (b) - are effective on the date Initial Developer first - distributes or otherwise makes the Original Software - available to a third party under the terms of this - License. - - (d) Notwithstanding Section 2.1(b) above, no patent - license is granted: (1) for code that You delete from - the Original Software, or (2) for infringements - caused by: (i) the modification of the Original - Software, or (ii) the combination of the Original - Software with other software or devices. - - 2.2. Contributor Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, each - Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Contributor to - use, reproduce, modify, display, perform, sublicense - and distribute the Modifications created by such - Contributor (or portions thereof), either on an - unmodified basis, with other Modifications, as - Covered Software and/or as part of a Larger Work; and - - - (b) under Patent Claims infringed by the making, - using, or selling of Modifications made by that - Contributor either alone and/or in combination with - its Contributor Version (or portions of such - combination), to make, use, sell, offer for sale, - have made, and/or otherwise dispose of: (1) - Modifications made by that Contributor (or portions - thereof); and (2) the combination of Modifications - made by that Contributor with its Contributor Version - (or portions of such combination). - - (c) The licenses granted in Sections 2.2(a) and - 2.2(b) are effective on the date Contributor first - distributes or otherwise makes the Modifications - available to a third party. - - (d) Notwithstanding Section 2.2(b) above, no patent - license is granted: (1) for any code that Contributor - has deleted from the Contributor Version; (2) for - infringements caused by: (i) third party - modifications of Contributor Version, or (ii) the - combination of Modifications made by that Contributor - with other software (except as part of the - Contributor Version) or other devices; or (3) under - Patent Claims infringed by Covered Software in the - absence of Modifications made by that Contributor. - - 3. Distribution Obligations. - - 3.1. Availability of Source Code. - - Any Covered Software that You distribute or otherwise make - available in Executable form must also be made available in - Source Code form and that Source Code form must be - distributed only under the terms of this License. You must - include a copy of this License with every copy of the - Source Code form of the Covered Software You distribute or - otherwise make available. You must inform recipients of any - such Covered Software in Executable form as to how they can - obtain such Covered Software in Source Code form in a - reasonable manner on or through a medium customarily used - for software exchange. - - 3.2. Modifications. - - The Modifications that You create or to which You - contribute are governed by the terms of this License. You - represent that You believe Your Modifications are Your - original creation(s) and/or You have sufficient rights to - grant the rights conveyed by this License. - - 3.3. Required Notices. - - You must include a notice in each of Your Modifications - that identifies You as the Contributor of the Modification. - You may not remove or alter any copyright, patent or - trademark notices contained within the Covered Software, or - any notices of licensing or any descriptive text giving - attribution to any Contributor or the Initial Developer. - - 3.4. Application of Additional Terms. - - You may not offer or impose any terms on any Covered - Software in Source Code form that alters or restricts the - applicable version of this License or the recipients' - rights hereunder. You may choose to offer, and to charge a - fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Software. - However, you may do so only on Your own behalf, and not on - behalf of the Initial Developer or any Contributor. You - must make it absolutely clear that any such warranty, - support, indemnity or liability obligation is offered by - You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred - by the Initial Developer or such Contributor as a result of - warranty, support, indemnity or liability terms You offer. - - - 3.5. Distribution of Executable Versions. - - You may distribute the Executable form of the Covered - Software under the terms of this License or under the terms - of a license of Your choice, which may contain terms - different from this License, provided that You are in - compliance with the terms of this License and that the - license for the Executable form does not attempt to limit - or alter the recipient's rights in the Source Code form - from the rights set forth in this License. If You - distribute the Covered Software in Executable form under a - different license, You must make it absolutely clear that - any terms which differ from this License are offered by You - alone, not by the Initial Developer or Contributor. You - hereby agree to indemnify the Initial Developer and every - Contributor for any liability incurred by the Initial - Developer or such Contributor as a result of any such terms - You offer. - - 3.6. Larger Works. - - You may create a Larger Work by combining Covered Software - with other code not governed by the terms of this License - and distribute the Larger Work as a single product. In such - a case, You must make sure the requirements of this License - are fulfilled for the Covered Software. - - 4. Versions of the License. - - 4.1. New Versions. - - Sun Microsystems, Inc. is the initial license steward and - may publish revised and/or new versions of this License - from time to time. Each version will be given a - distinguishing version number. Except as provided in - Section 4.3, no one other than the license steward has the - right to modify this License. - - 4.2. Effect of New Versions. - - You may always continue to use, distribute or otherwise - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. If the Initial Developer includes a - notice in the Original Software prohibiting it from being - distributed or otherwise made available under any - subsequent version of the License, You must distribute and - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. Otherwise, You may also choose to - use, distribute or otherwise make the Covered Software - available under the terms of any subsequent version of the - License published by the license steward. - - 4.3. Modified Versions. - - When You are an Initial Developer and You want to create a - new license for Your Original Software, You may create and - use a modified version of this License if You: (a) rename - the license and remove any references to the name of the - license steward (except to note that the license differs - from this License); and (b) otherwise make it clear that - the license contains terms which differ from this License. - - - 5. DISCLAIMER OF WARRANTY. - - COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" - BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, - INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED - SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR - PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND - PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY - COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE - INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF - ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF - WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS - DISCLAIMER. - - 6. TERMINATION. - - 6.1. This License and the rights granted hereunder will - terminate automatically if You fail to comply with terms - herein and fail to cure such breach within 30 days of - becoming aware of the breach. Provisions which, by their - nature, must remain in effect beyond the termination of - this License shall survive. - - 6.2. If You assert a patent infringement claim (excluding - declaratory judgment actions) against Initial Developer or - a Contributor (the Initial Developer or Contributor against - whom You assert such claim is referred to as "Participant") - alleging that the Participant Software (meaning the - Contributor Version where the Participant is a Contributor - or the Original Software where the Participant is the - Initial Developer) directly or indirectly infringes any - patent, then any and all rights granted directly or - indirectly to You by such Participant, the Initial - Developer (if the Initial Developer is not the Participant) - and all Contributors under Sections 2.1 and/or 2.2 of this - License shall, upon 60 days notice from Participant - terminate prospectively and automatically at the expiration - of such 60 day notice period, unless if within such 60 day - period You withdraw Your claim with respect to the - Participant Software against such Participant either - unilaterally or pursuant to a written agreement with - Participant. - - 6.3. In the event of termination under Sections 6.1 or 6.2 - above, all end user licenses that have been validly granted - by You or any distributor hereunder prior to termination - (excluding licenses granted to You by any distributor) - shall survive termination. - - 7. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE - INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF - COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE - LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR - CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT - LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK - STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL - INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT - APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO - NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR - CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT - APPLY TO YOU. - - 8. U.S. GOVERNMENT END USERS. - - The Covered Software is a "commercial item," as that term is - defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial - computer software" (as that term is defined at 48 C.F.R. - 252.227-7014(a)(1)) and "commercial computer software - documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. - 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 - through 227.7202-4 (June 1995), all U.S. Government End Users - acquire Covered Software with only those rights set forth herein. - This U.S. Government Rights clause is in lieu of, and supersedes, - any other FAR, DFAR, or other clause or provision that addresses - Government rights in computer software under this License. - - 9. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the - extent necessary to make it enforceable. This License shall be - governed by the law of the jurisdiction specified in a notice - contained within the Original Software (except to the extent - applicable law, if any, provides otherwise), excluding such - jurisdiction's conflict-of-law provisions. Any litigation - relating to this License shall be subject to the jurisdiction of - the courts located in the jurisdiction and venue specified in a - notice contained within the Original Software, with the losing - party responsible for costs, including, without limitation, court - costs and reasonable attorneys' fees and expenses. The - application of the United Nations Convention on Contracts for the - International Sale of Goods is expressly excluded. Any law or - regulation which provides that the language of a contract shall - be construed against the drafter shall not apply to this License. - You agree that You alone are responsible for compliance with the - United States export administration regulations (and the export - control laws and regulation of any other countries) when You use, - distribute or otherwise make available any Covered Software. - - 10. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or - indirectly, out of its utilization of rights under this License - and You agree to work with Initial Developer and Contributors to - distribute such responsibility on an equitable basis. Nothing - herein is intended or shall be deemed to constitute any admission - of liability. - -=============================================================================== - -JRuby (jruby-complete-1.0.jar), wsdl4j (wsdl4j-1.6.2.jar): - -Common Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - - a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and - b) in the case of each subsequent Contributor: - - i) changes to the Program, and - - ii) additions to the Program; - - where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. - -2. GRANT OF RIGHTS - - a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. - - b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. - - c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. - - d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: - - a) it complies with the terms and conditions of this Agreement; and - - b) its license agreement: - - i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; - - ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; - - iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and - - iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - - a) it must be made available under this Agreement; and - - b) a copy of this Agreement must be included with each copy of the Program. - -Contributors may not remove or alter any copyright notices contained within the Program. - -Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 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. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. - -=============================================================================== - -backport-util-concurrent-2.2.jar: - -The software comprising backport-util-concurrent is based in large -part on the code from JSR166, and the package dl.util.concurrent. -The software has been released to the public domain, as explained at: -http://creativecommons.org/licenses/publicdomain, excepting portions -of the class -edu.emory.mathcs.backport.java.util.concurrent.CopyOnWriteArrayList, -which were adapted from class java.util.ArrayList, written by Sun -Microsystems, Inc, which are used with kind permission, and subject -to the following: - -Copyright 2002-2004 Sun Microsystems, Inc. All rights reserved. Use is -subject to the following license terms. - - "Sun hereby grants you a non-exclusive, worldwide, non-transferrable - license to use and distribute the Java Software technologies as part - of a larger work in source and binary forms, with or without - modification, provided that the following conditions are met: - - -Neither the name of or trademarks of Sun may be used to endorse or - promote products derived from the Java Software technology without - specific prior written permission. - - -Redistributions of source or binary code must be accompanied by the - following notice and disclaimers: - - Portions copyright Sun Microsystems, Inc. Used with kind permission. - - This software is provided AS IS, without a warranty of any kind. ALL - EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PUPOSE OR - NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN - MICROSYSTEMS, INC. AND ITS LICENSORS SHALL NOT BE LIABLE - FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS - DERIVATIVES. IN NO EVENT WILL SUN MICROSYSTEMS, INC. OR - ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR - DATA, OR FOR DIRECT, INDIRECT,CONSQUENTIAL, INCIDENTAL - OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF - THE THEORY OR LIABILITY, ARISING OUT OF THE USE OF OR - INABILITY TO USE SOFTWARE, EVEN IF SUN MICROSYSTEMS, INC. - HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - You acknowledge that Software is not designed, licensed or intended for - use in the design, construction, operation or maintenance of any nuclear - facility." - -=============================================================================== -rome-0.9.jar - -Copyright 2004 Sun Microsystems, Inc. - -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. - -=============================================================================== -jdom-1.0.jar : - -$Id: LICENSE.txt,v 1.11 2004/02/06 09:32:57 jhunter Exp $ - - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions, and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions, and the disclaimer that follows - these conditions in the documentation and/or other materials - provided with the distribution. - - 3. The name "JDOM" must not be used to endorse or promote products - derived from this software without prior written permission. For - written permission, please contact . - - 4. Products derived from this software may not be called "JDOM", nor - may "JDOM" appear in their name, without prior written permission - from the JDOM Project Management . - - In addition, we request (but do not require) that you include in the - end-user documentation provided with the redistribution and/or in the - software itself an acknowledgement equivalent to the following: - "This product includes software developed by the - JDOM Project (http://www.jdom.org/)." - Alternatively, the acknowledgment may be graphical using the logos - available at http://www.jdom.org/images/logos. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 JDOM AUTHORS OR THE PROJECT - 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. - - This software consists of voluntary contributions made by many - individuals on behalf of the JDOM Project and was originally - created by Jason Hunter and - Brett McLaughlin . For more information - on the JDOM Project, please see . - -======================================================================== - -dwr-2.0.1.jar : - -/* -* Copyright 2005 Joe Walker -* -* 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. -*/ - -========================================================================== - -dojotoolkit V1.0.0: - -The "New" BSD License: -********************** - -Copyright (c) 2005, The Dojo Foundation -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 Dojo Foundation nor the names of its 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. - -================================================================================ - -The module tuscany-implementation-script-1.0-incubating.jar temporarily includes -one file under the below BSD license with the following copyright: - - Copyright (c) 2006, Sun Microsystems, Inc. - All rights reserved. - -BSD license: - - 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. - -================================================================================ - -The serp-1.12.0.jar is distributed under the BSD license with the following copyright: - - Copyright (c) 2002, A. Abram White - All rights reserved. - -BSD license: - - 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. - -================================================================================ -The javacc-3.2.jar, and howl-1.0.1-1.jar are distributed under the BSD license: - -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. - -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. - -================================================================================ - -The tuscany-assembly-xsd jar includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================ -License for the Service Data Objects JavaDoc and Interface Definition files. (tuscany-sdo-api-r2.1-1.0-incubating.jar) - -These files being ... -commonj/sdo/ChangeSummary$Setting.class -commonj/sdo/ChangeSummary.class -commonj/sdo/DataGraph.class -commonj/sdo/DataObject.class -commonj/sdo/helper/CopyHelper.class -commonj/sdo/helper/DataFactory.class -commonj/sdo/helper/DataHelper.class -commonj/sdo/helper/EqualityHelper.class -commonj/sdo/helper/HelperContext.class -commonj/sdo/helper/TypeHelper.class -commonj/sdo/helper/XMLDocument.class -commonj/sdo/helper/XMLHelper.class -commonj/sdo/helper/XSDHelper.class -commonj/sdo/impl/ExternalizableDelegator$Resolvable.class -commonj/sdo/impl/ExternalizableDelegator.class -commonj/sdo/Property.class -commonj/sdo/Sequence.class -commonj/sdo/Type.class -xml/datagraph.xsd -xml/sdoJava.xml -xml/sdoJava.xsd -xml/sdoModel.xml -xml/sdoModel.xsd -xml/sdoXML.xml -xml/sdoXML.xsd - - -License for the Service Data Objects JavaDoc and Interface Definition files. - -The Service Data Objects Specification is being provided by the copyright holders under the following -license. By using and/or copying this work, you agree that you have read, understood and will comply with -the following terms and conditions: - -Permission to copy, display and distribute the Service Data Objects Specification and/or portions thereof, without -modification, in any medium without fee or royalty is hereby granted, provided that you include the -following on ALL copies of the Service Data Objects Specification, or portions thereof, that you make: - -1. A link or URL to the Service Data Objects Specification at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Service Data Objects Specification. - -BEA, IBM, Oracle, Primeton Technologies, Rogue Wave Software, SAP, Software AG, Sun Microsystems, Xcalia, -Zend Technologies (collectively, the “Authors”) agree to grant you a royalty-free license, under reasonable, -non-discriminatory terms and conditions to patents that they deem necessary to implement the Service Data -Objects Specification. - -THE Service Data Objects SPECIFICATION IS PROVIDED "AS IS," AND THE AUTHORS MAKE NO REPRESENTATIONS OR -WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SPECIFICATION AND THE IMPLEMENTATION OF ITS CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, -NON-INFRINGEMENT OR TITLE. THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL -OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THE SERVICE DATA OBJECTS -SPECIFICATION. - -The name and trademarks of the Authors may NOT be used in any manner, including advertising or publicity -pertaining to the Service Data Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects Specification will at all times remain with the -Authors. - -No other rights are granted by implication, estoppel or otherwise. -================================================================================ - diff --git a/java/sca/contrib/distribution/features/manager/src/main/release/bin/NOTICE b/java/sca/contrib/distribution/features/manager/src/main/release/bin/NOTICE deleted file mode 100644 index 5daa9a3dfe..0000000000 --- a/java/sca/contrib/distribution/features/manager/src/main/release/bin/NOTICE +++ /dev/null @@ -1,95 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses XmlSchema developed at -The Apache Software Foundation (http://ws.apache.org/commons/XmlSchema) - Portions Copyright 2006 International Business Machines Corp. - -This product includes/uses ode-bpel-api-1.1 developed at -The Apache Software Foundation (http://ode.apache.org) - - Copyright 1999-2006 Intalio - This product includes software developed by Intalio (http://www.intalio.com) - - Copyright 2006 Sybase - This product includes software developed by Sybase.(http://www.sybase.com) - -"This product includes software developed by the Spring Framework - Project (http://www.springframework.org)." - -This product includes/uses the Jetty Servlet Engine (http://jetty.mortbay.org), -developed by Mort Bay Consulting (http://www.mortbay.com) - -This product includes/uses the Groovy Script Engine (http://groovy.codehaus.org/), -Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - -This product includes/uses the Axion : the Open Source Java Database (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. All rights reserved. - -This product includes/uses DOM4J : the flexible XML framework for java (http://www.dom4j.org/) - Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. - -This product includes/uses software, AOP alliance (http://aopalliance.sourceforge.net) -License: Public Domain - -This product includes/uses JSON-RPC-Java (http://oss.metaparadigm.com/jsonrpc/) - -This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) - Copyright (c) 2003-2004 Jan-Klaas Kollhof - Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd - -This product includes software from the GlassFish project (https://glassfish.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes software from the Rome project (https://rome.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes/uses the Eclipse Modeling Framework project (http://www.eclipse.org/emf/) - -This product includes/uses the Mozilla Rhino project (http://www.mozilla.org/rhino/) - -This product includes/uses the Sourceforge wsdl4j project (http://sourceforge.net/projects/wsdl4j/)i - -This product includes/uses the Codehaus JRuby project (http://jruby.codehaus.org/) - -This product includes/uses JDOM (http://www.jdom.org/) - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. All rights reserved. - -This product includes/uses DWR (http://getahead.org/dwr) - Copyright 2005 Joe Walker. All rights reserved. - -This product includes/uses dojotoolkit (http://dojotoolkit.org/) - Copyright (c) 2005, The Dojo Foundation. All rights reserved. - -This product includes/uses Howl (http://howl.objectweb.org/) - Copyright (c) 2004, Bull S.A. - -This product includes/uses axion (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. - -This product includes/uses javacc (https://javacc.dev.java.net/) - Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved. - -The Program includes all or portions of the following software: "The -Saxon XSLT and XQuery Processor from Saxonica Limited" distributed under -an MPL v1.0 license. Please refer to the homepage URL at -http://www.saxonica.com/. - -This product includes/uses Serp (http://serp.sourceforge.net/) under the BSD license: - Copyright (c) 2002, A. Abram White. All rights reserved. - -This product also includes software under the BSD license -with the following copyright: - Copyright (c) 2006, Sun Microsystems, Inc. All rights reserved. - -This product includes software under the Service Component Architecture JavaDoc, -Interface Definition files and XSD files license. - (c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - diff --git a/java/sca/contrib/distribution/features/manager/src/main/release/src/BUILDING b/java/sca/contrib/distribution/features/manager/src/main/release/src/BUILDING deleted file mode 100644 index 65d09c5eae..0000000000 --- a/java/sca/contrib/distribution/features/manager/src/main/release/src/BUILDING +++ /dev/null @@ -1,55 +0,0 @@ -Building the Apache Tuscany SCA 1.2 (incubating) April 2008 Release source distribution -======================================================================================= - -Initial Setup -------------- - -1) Install J2SE 5.0 SDK, which can be downloaded from - http://java.sun.com/j2se/1.5.0/download.jsp. Use version of 1.5.0_06 JDK or higher. - -2) Make sure that your JAVA_HOME environment variable is set to the newly installed - JDK location, and that your PATH includes %JAVA_HOME%\bin (windows) or - $JAVA_HOME$/bin (unix). - -3) Install Maven 2.0.7 or higher, which can be downloaded from - http://maven.apache.org/download.html. Make sure that your PATH includes - the MVN_HOME/bin directory. - -4) Make sure that your MAVEN_OPTS environment variable has -Xmx128M (or more), - you can manually do this by executing the following in your prompt : - Windows users: - set MAVEN_OPTS=-Xmx128M - Unix users: - export MAVEN_OPTS=-Xmx128M - - -Building --------- - -1) Change to the top level directory of Apache Tuscany source distribution. -2) Run - - $> mvn - - This will compile Apache Tuscany and run all of the tests in the source - distribution. - - Depending on the load of remote Maven 2.0 repositories, you may have - to run "mvn" several times utill the required dependencies are - all located in your local maven repository. It usually takes some time for - maven to download required dependencies in the first build. Once all the - dependencies have been downloaded you may use the -o option to run maven - in offline mode, for example, 'mvn clean install -o'. - - -Building the distributions --------------------------- - -1) Change to the distribution folder -2) Run - - $> mvn - - This will build the binary and source distribution with .zip and .gz - formats in the distribution/target directory. - diff --git a/java/sca/contrib/distribution/features/manager/src/main/release/src/LICENSE b/java/sca/contrib/distribution/features/manager/src/main/release/src/LICENSE deleted file mode 100644 index 144d8ae692..0000000000 --- a/java/sca/contrib/distribution/features/manager/src/main/release/src/LICENSE +++ /dev/null @@ -1,397 +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. - -=============================================================================================================== - -The module itest/databindings/common includes the test schema; datagraph.xsd, sdoJava.xsd, and sdoModel.xsd -under the following license: - -License for the Service Data Objects JavaDoc, Interface Definition files -and XSD files. - -The Service Data Objects JavaDoc, Interface Definition files and XSD files -are being provided by the copyright holders under the following license. -By using and/or copying this work, you agree that you have read, -understood and will comply with the following terms and conditions: - -Permission to copy, display, make derivative works of and distribute -the Service Data Objects JavaDoc, Interface Definition files and XSD files -(the "Artifacts") in any medium without fee or royalty is hereby granted, -provided that you include the following on ALL copies of the Artifacts, -or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - - - -THE ARTIFACTS ARE PROVIDED "AS IS" AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Data -Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects -Specification will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.11, last updated on 2007/12/21 - -================================================================================================================= - -The 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. - -================================================================================================================= - -The module assembly-xsd includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================================================= -The modules - -binding-ws-xml -databinding -databinding-axiom -databinding-jaxb -databinding-json -databinding-sdo -databinding-sdo-axiom -databinding-xmlbeans -interface-wsdl-xml - -Include the ipo.xsd and address.xsd information from the XML Schema Primer -(http://www.w3.org/TR/2004/PER-xmlschema-0-20040318/) combined into the -file ipo.xsd and extended with UK postcode structures. - -The ipo.xsd file is include under the following license: - -W3C(c) SOFTWARE NOTICE AND LICENSE -http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - -This work (and included software, documentation such as READMEs, or other -related items) is being provided by the copyright holders under the following -license. By obtaining, using and/or copying this work, you (the licensee) agree -that you have read, understood, and will comply with the following terms and conditions. - -Permission to copy, modify, and distribute this software and its documentation, -with or without modification, for any purpose and without fee or royalty is -hereby granted, provided that you include the following on ALL copies of the -software and documentation or portions thereof, including modifications: - - 1. The full text of this NOTICE in a location viewable to users of the - redistributed or derivative work. - 2. Any pre-existing intellectual property disclaimers, notices, or terms - and conditions. If none exist, the W3C Software Short Notice should be - included (hypertext is preferred, text is permitted) within the body of - any redistributed or derivative code. - 3. Notice of any changes or modifications to the files, including the date - changes were made. (We recommend you provide URIs to the location from which - the code is derived.) - -THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE -NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, -WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE -USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, -COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. - -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. - -The name and trademarks of copyright holders may NOT be used in advertising or -publicity pertaining to the software without specific, written prior permission. -Title to copyright in this software and any associated documentation will at all -times remain with copyright holders. diff --git a/java/sca/contrib/distribution/features/manager/src/main/release/src/NOTICE b/java/sca/contrib/distribution/features/manager/src/main/release/src/NOTICE deleted file mode 100644 index 31540fd607..0000000000 --- a/java/sca/contrib/distribution/features/manager/src/main/release/src/NOTICE +++ /dev/null @@ -1,39 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) - Copyright (c) 2003-2004 Jan-Klaas Kollhof - Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd - -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. - -This product includes software under the Service Component Architecture JavaDoc, -Interface Definition files and XSD files license. - (c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - -This product includes software under the W3C(c) Software License -with the following copyright: - -Copyright (c) 2008 World Wide Web Consortium, (Massachusetts Institute of Technology, -European Research Consortium for Informatics and Mathematics, Keio University). -All Rights Reserved. This work is distributed under the W3C(c) Software License [1] in -the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied -warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - - diff --git a/java/sca/contrib/distribution/features/pom.xml b/java/sca/contrib/distribution/features/pom.xml deleted file mode 100644 index 2acd155a97..0000000000 --- a/java/sca/contrib/distribution/features/pom.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-sca - ../../pom.xml - 2.0-SNAPSHOT - - org.apache.tuscany.sca - tuscany-distribution-features - pom - Apache Tuscany SCA Feature Distributions - - - all - core - ejava - repository - manager - process - web20 - webservice - - - diff --git a/java/sca/contrib/distribution/features/process/pom.xml b/java/sca/contrib/distribution/features/process/pom.xml deleted file mode 100644 index 2b058cadbf..0000000000 --- a/java/sca/contrib/distribution/features/process/pom.xml +++ /dev/null @@ -1,155 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-distribution-features - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-distribution-process - Apache Tuscany SCA Business Process Distribution - pom - - - - - - org.apache.tuscany.sca - tuscany-distribution-core - pom - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-implementation-bpel-ode - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-implementation-xquery - 2.0-SNAPSHOT - - - - - - - - default - - true - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - distribution-package - package - - single - - - - src/main/assembly/bin.xml - src/main/assembly/src.xml - - gnu - apache-tuscany-sca-process-1.4-SNAPSHOT - - - - - - - - - - - modules - - ../../../modules/assembly - ../../../modules/assembly-xml - ../../../modules/assembly-xsd - ../../../modules/binding-corba - ../../../modules/binding-corba-runtime - ../../../modules/binding-sca - ../../../modules/binding-sca-xml - ../../../modules/contribution - ../../../modules/contribution-impl - ../../../modules/contribution-java - ../../../modules/contribution-namespace - ../../../modules/contribution-xml - ../../../modules/core - ../../../modules/core-databinding - ../../../modules/core-spi - ../../../modules/data-api - ../../../modules/databinding - ../../../modules/databinding-jaxb - ../../../modules/databinding-saxon - ../../../modules/databinding-sdo - ../../../modules/definitions - ../../../modules/definitions-xml - ../../../modules/endpoint - ../../../modules/extensibility - ../../../modules/extensibility-equinox - ../../../modules/host-corba - ../../../modules/host-corba-jse - ../../../modules/host-embedded - ../../../modules/host-http - ../../../modules/implementation-bpel - ../../../modules/implementation-bpel-ode - ../../../modules/implementation-java - ../../../modules/implementation-java-runtime - ../../../modules/implementation-java-xml - ../../../modules/implementation-node - ../../../modules/implementation-node-runtime - ../../../modules/implementation-xquery - ../../../modules/interface - ../../../modules/interface-java - ../../../modules/interface-java-jaxws - ../../../modules/interface-java-xml - ../../../modules/interface-wsdl - ../../../modules/interface-wsdl-xml - ../../../modules/monitor - ../../../modules/monitor-logging - ../../../modules/node-api - ../../../modules/node-impl - ../../../modules/node-launcher - ../../../modules/node-launcher-equinox - ../../../modules/node-launcher-webapp - ../../../modules/policy - ../../../modules/policy-security - ../../../modules/policy-xml - ../../../modules/sca-api - ../../../modules/xsd - ../../../modules/xsd-xml - - - - - diff --git a/java/sca/contrib/distribution/features/process/src/main/assembly/bin.xml b/java/sca/contrib/distribution/features/process/src/main/assembly/bin.xml deleted file mode 100644 index fd49912e91..0000000000 --- a/java/sca/contrib/distribution/features/process/src/main/assembly/bin.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - true - tuscany-sca-1.4-SNAPSHOT - - - zip - - - - ../core/src/main/components/bin-common.xml - ../core/src/main/components/bin-filtered-dependencies.xml - src/main/components/bin-samples.xml - - diff --git a/java/sca/contrib/distribution/features/process/src/main/assembly/src.xml b/java/sca/contrib/distribution/features/process/src/main/assembly/src.xml deleted file mode 100644 index 0d832271b9..0000000000 --- a/java/sca/contrib/distribution/features/process/src/main/assembly/src.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - src - true - tuscany-sca-1.4-SNAPSHOT-src - - - zip - - - - ../core/src/main/components/src-common.xml - src/main/components/src-modules.xml - - diff --git a/java/sca/contrib/distribution/features/process/src/main/components/bin-samples.xml b/java/sca/contrib/distribution/features/process/src/main/components/bin-samples.xml deleted file mode 100644 index 8e8bc2e507..0000000000 --- a/java/sca/contrib/distribution/features/process/src/main/components/bin-samples.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - ../../../samples - samples - - helloworld-bpel/**/* - helloworld-bpel-ws/**/* - quote-xquery/**/* - - - - **/.* - **/.*/** - **/*.log - - - pom.xml - **/target - **/target/**/* - - - - diff --git a/java/sca/contrib/distribution/features/process/src/main/components/src-modules.xml b/java/sca/contrib/distribution/features/process/src/main/components/src-modules.xml deleted file mode 100644 index dfcf7d4ca0..0000000000 --- a/java/sca/contrib/distribution/features/process/src/main/components/src-modules.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - ../../../modules - modules - - assembly/**/* - assembly-xml/**/* - assembly-xsd/**/* - binding-corba/**/* - binding-corba-runtime/**/* - binding-sca/**/* - binding-sca-xml/**/* - contribution/**/* - contribution-impl/**/* - contribution-java/**/* - contribution-namespace/**/* - contribution-xml/**/* - core/**/* - core-databinding/**/* - core-spi/**/* - data-api/**/* - databinding/**/* - databinding-jaxb/**/* - databinding-saxon/**/* - databinding-sdo/**/* - definitions/**/* - definitions-xml/**/* - distribution-core/**/* - endpoint/**/* - extensibility/**/* - extensibility-equinox/**/* - host-corba/**/* - host-corba-jse/**/* - host-embedded/**/* - host-http/**/* - implementation-bpel/**/* - implementation-bpel-ode/**/* - implementation-java/**/* - implementation-java-runtime/**/* - implementation-java-xml/**/* - implementation-node/**/* - implementation-node-runtime/**/* - implementation-xquery/**/* - interface/**/* - interface-java/**/* - interface-java-jaxws/**/* - interface-java-xml/**/* - interface-wsdl/**/* - interface-wsdl-xml/**/* - monitor/**/* - monitor-logging/**/* - node-api/**/* - node-impl/**/* - node-launcher/**/* - node-launcher-equinox/**/* - node-launcher-webapp/**/* - policy/**/* - policy-security/**/* - policy-xml/**/* - sca-api/**/* - xsd/**/* - xsd-xml/**/* - - - - **/.* - **/.*/** - **/*.log - - - pom.xml - **/target - **/target/**/* - - - - diff --git a/java/sca/contrib/distribution/features/process/src/main/release/CHANGES b/java/sca/contrib/distribution/features/process/src/main/release/CHANGES deleted file mode 100644 index 3de7358ec6..0000000000 --- a/java/sca/contrib/distribution/features/process/src/main/release/CHANGES +++ /dev/null @@ -1,431 +0,0 @@ -Changes With Apache Tuscany SCA 1.2 (incubating) April 2008 -=========================================================== - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-2027 - * TUSCANY-1999 - * TUSCANY-2037 - * TUSCANY-2034 - * TUSCANY-2038 - * TUSCANY-2043 - * TUSCANY-2046 - * TUSCANY-2047 - * TUSCANY-2028 - * TUSCANY-1873 - * TUSCANY-2049 - * TUSCANY-2035 - * TUSCANY-1206 - * TUSCANY-2036 - * TUSCANY-1771 - * TUSCANY-2013 - * TUSCANY-1926 - * TUSCANY-1917 - * TUSCANY-1949 - * TUSCANY-1941 - * TUSCANY-2045 - * TUSCANY-2057 - * TUSCANY-2055 - * TUSCANY-2056 - * TUSCANY-2072 - * TUSCANY-2047 - * TUSCANY-2073 - * TUSCANY-1977 - * TUSCANY-2075 - * TUSCANY-1894 - * TUSCANY-2079 - * TUSCANY-2078 - * TUSCANY-2080 - * TUSCANY-2068 - * TUSCANY-1950 - * TUSCANY-2077 - * TUSCANY-2056 - * TUSCANY-2088 - * TUSCANY-2086 - * TUSCANY-2094 - * TUSCANY-2106 - - Features and/or Enhancements - - * Core - - Interceptor Enhancements - - Phase-based interceptor ordering to allow contribution of new interceptors and also define the order in witch they should be invoked - - Pass-by-reference SPI to allow interceptors to indicate if they support pass-by-reference - - PolicyProvider SPIs to allow extensions to plugin policy interceptors - - Support for JAXWS annotations and mapping of faults to Java exceptions according to JAXWS specification - - Improvement of contribution service to allow it to be used outside of the runtime environment - - Support for Contribution Import/Export resource - - Enhanced Distributed Domain story using Workspace - - Implementation of a SCA domain allowing a system administrator to manage contributions, composites and sca nodes that run these composites - - Set of core services providing management capabilities - - Administration web interface - - This is a work in progress and you can see it in action in samples/calculator-distributed. Other samples that use distributed operation are yet to move over to the workspace. - - Enhanced support for SCA Policy spec - - Ability to apply external policy definitions to a SCA composition - - Ability to spread policy definitions to multiple definitions.xml files available across the sca domain - - Bug fixes - - Improvements of http binding to support servlet components - - Enable Tuscany to run inside an OSGi runtime - - * Web 2.0 Extensions - - Enhancements to implementation.widget (support for properties) - - New atom binding based on Apache Abdera - - Refactoring of rss-rome binding - * Other Extensions - - Binding JMS - - greatly simplified the use of the JMS binding, support locating JMS resources from JNDI, and better compliance with the SCA JMS binding spec - - see the doc page for more details: http://incubator.apache.org/tuscany/sca-java-bindingjms.html - - Enhancements to Binding RMI - - Support shared RMI registry and use 999x as the ports in test case to avoid 1099 conflict - - Enhancements to Groovy extension - - Support for 'native' groovy classes - - Enhancements to OSGi bundle contributions - - Support Bundle URLs to be added as contributions - - * Tools - - Eclipse plugin providing a Tuscany runtime Library and Tuscany launcher in Eclipse environment - - An updatesite is also available to facilitate the plugin installation using the Eclipse update manager - - * Samples/Tutorial/Demos - - calculator-distributed migrated to use new Tuscany Distributed Workspace - - sample-calculator-ws-secure-webapp - - sample-helloworld-jms-webapp - - new jms samples - - improve bigbank demo to include support for policies - - tutorial store changes - - use of import/export - - development of contribution without requiring dependencies on the Tuscany runtime - - usage of new sca domain infrastructure - - * Testing - - Web Container Testing Framework integrated with (Tomcat, Jetty, Geronimo and Websphere) - - -Changes With Apache Tuscany SCA 1.1 (incubating) January 2008 -=============================================================== - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-1939 - * TUSCANY-1914 - * TUSCANY-1854 - * TUSCANY-1931 - * TUSCANY-1547 - * TUSCANY-1909 - * TUSCANY-1919 - * TUSCANY-1930 - * TUSCANY-1806 - * TUSCANY-1804 - * TUSCANY-1916 - * TUSCANY-1913 - * TUSCANY-1834 - * TUSCANY-1857 - * TUSCANY-1687 - * TUSCANY-1801 - * TUSCANY-1742 - * TUSCANY-1762 - * TUSCANY-1945 - * TUSCANY-1595 - * TUSCANY-1594 - * TUSCANY-1849 - * TUSCANY-1836 - * TUSCANY-1934 - * TUSCANY-1902 - * TUSCANY-1608 - * TUSCANY-1943 - * TUSCANY-1896 - * TUSCANY-1626 - * TUSCANY-1797 - * TUSCANY-1601 - * TUSCANY-1415 - -- Better JMS support - * binding.jms supporting point to point text based messaging only - * New SOAP/JMS sample (helloworld-ws-reference/service-jms) - -- Improvements in PolicyFramework Support - * Support for policy specifications on operation elements in a composite definition - * Separate sample (calculator-implementation-policies) to demonstrate use of Implementation Policies - (uses logging and JAAS Authentication) - -- Modeling of client side java script components - * See implementation.widget - -- Evolving support for doman API suggested by assembly spec including a standalone node and nodes running - connected together in a domain. This is still experimental. - -- Class loading and OSGI improvements - * Enable Tuscany to be run in a multi-classloader environment including inside OSGi. By default, - Tuscany continues to run using a single CLASSPATH-based classloader. - * Contributions no longer need to be in the CLASSPATH. All import/export dependencies across contributions should be - explicitly specified (as described in the spec). - -- JAXB based POJO transformations - -Changes With Apache Tuscany SCA 1.0.1 (incubating) November 2007 -================================================================ - -The Tuscany SCA Java 1.0.1 is mainly a bug-fix release. It also comes with some improvements as listed below. - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-1848 - * TUSCANY-1857 - * TUSCANY-1859 - * TUSCANY-1801 - * TUSCANY-1823 - * TUSCANY-1839 - * TUSCANY-1814 - * TUSCANY-1818 - * TUSCANY-1834 - * TUSCANY-1637 - * TUSCANY-1826 - * TUSCANY-1823 - * TUSCANY-1819 - * TUSCANY-1821 - * TUSCANY-1822 - * TUSCANY-1806 - * TUSCANY-1808 - * TUSCANY-1756 - * TUSCANY-1757 - -- Fix build issues with Maven 2.0.7 and JDK 6 - -- Reduce memory consumption for WSDLs that import large XSDs - -- Add more logging statements for better servicibility - -- Add an extension point to allow extensions to plug-in extension schemas. - -- Add a demo application to showcase XML integration story - -- Improve in databinding framework - * Add support for JSON Databindings and other refactoring - * Set databinding for introspected data type and enhance the checking of wrapper style - * Improve the tree-based XMLStreamReader and convert Bean & DOM to use this approach - * Add a tree-iterator based XMLStreamReader base impl - * Add default element info to java interface - * Rename Interface.setDefaultDataBinding to resetDataBinding - -- Limit the method injection to setters and allow the setter annotation to override field annotation - -- Evolving support in Intent and Policy handling - * Add support for policies in implementation - * Fix the algorithm for macthing policySets defined on bindings for the wire - * Add policy intent for implementation.java - * Extend java implementation type to recognize and apply policies, adding util support for this in Policy module - * Add policy module for logging - -- Evolving development in the SCA Domain/Node - -- Update NOTICE files with missing dependencies - - -Changes With Apache Tuscany SCA 1.0 (incubating) September 2007 -=============================================================== - -- Tuscany Java SCA now implements V1.0 of the core SCA - specifications - SCA Assembly Model V1.0 - SCA Java Common Annotations and APIs V1.0 - SCA Java Component Implementation V1.0 - SCA Web Services Binding V1.0 - Including callbacks, conversations and callable references - - -- Support for ws-security configurable in the web services binding - thro Tuscany SCA policy intents and policysets using the policy framework - introduced in the last release. - - Note : This release supports specifications of policies around axis2 - config params - see helloworld-ws-service-secure sample. The policy - intents that have been tested are authentication, integrity and - confidentiality. - There is no sample or test that exercises confidentiality since there - are some unresolved licensing issue around bouncycastle libraries. - However, users who are not encumbered by the bouncycastle license - restrictions can try the 'confidentiality' intent. See FAQ - - http://incubator.apache.org/tuscany/tuscany-sca-java-faq.html - - This release does not include support for WS-Policy - attachments in Tuscany Policysets for ws-security. - - -- An XQuery component implementation type - implementation-xquery - - -- A Databinding for converting data to and from nodes for XQuery - processing - databinding-saxon - - -- OSGI support has been extended to allow Tuscany contributions - packaged as OSGI bundles hence taking advantage of OSGI's bundle - loading an dependency management capabilities - - -- A BPEL component implementation type experimental implementation -based on SCA BPEL Client and Implementation V1.0. At the moment only -supports BPEL process as services. - implementation-bpel - - -- The distributed runtime implementation has been separated out - into - *) domain - *) node - It is now wrapped by a SCADomain interface as is the standalone - runtime. - - Note: This release does not include support for WebApp host deployment - for a distributed SCA Domain - - - -- The web service binding will now generate WSDL automatically - based on the service interface if no WSDL is provided - - -- A new "store" sample and associated document show how a - simple store front application can be constructed - samples/store - -- The following features of this release are still experimental: - - BPEL implementation type, integrating with Apache ODE - - OSGI implementation type, integrating with Apache Felix - - XQuery implementation type - - - -Changes With Apache Tuscany SCA 0.99 (incubating) August 2007 -============================================================= - -The following are the significant additions to release 0.99 -over and above all of what was offered in release 0.91. - -- A version of the default sca binding that works between - components runing in separate Java virtual machines - binding-sca-axis - -- A simple node implementation and a service discovery - function for running sca applications distributed - across more than one node - distributed - distributed-impl - -- integration with OSGi runtimes is now supported with - a new implementation-osgi component type - -- PUB/SUB interactions are now supported by using new - notification binding and implementation types, and - samples demonstrating the feature. - -- The Tuscany runtime now has a policy framework supporting - the SCA policy specification - -- the endpoint URIs used by SCA bindings has been rationalized - and now follows the SCA Assembly specification - -- binding-ajax has been renamed to binding-dwr - -Changes With Apache Tuscany SCA 0.91 (incubating) July 2007 -=========================================================== - -The following are the significant additions to release 0.91 -over and above all of what was offered in release 0.90. - - -- Enhancements to support multiple contributions to the SCA Domain - -- The inclusion of a alternative simplified extensions-helper -SPI layer to faciliate rapid development of extensions - -- More Implementation Extenstions - Spring - WebResource - -- More Binding Extensions - AJAX - EJB - RSS/ATOM Feeds - -- Demos that demonstrate the use of a mix of extensions - alert-aggregator-webapp - bigbank-account - bigbank-calculator - bigbank-stockquote - - -- Samples - Samples to demostrate use of Spring, Resource, AJAX extensions - -Changes With Apache Tuscany SCA 0.90 (incubating) June 2007 -=========================================================== - -- Implementations for all of the Java Annotations and API Specification V1.0 found at - (http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications) - apart from the following. - @ComponentName - Conversation - RequestContext - -- New assembly model implementation taking into account SCA 1.0 artifacts - Data duplication between assembly model and runtime removed - -- Simple single process domain support - Contribution support to scope items being deployed into the runtime - -- Improved Package/Class naming consistency across modules - -- Extensions now loaded via Java service mechanism - Refactored extensions to use new SPIs (see below) - -- Maven and Ant based sample builds in the binary distribution - -- Implementation Extensions - Java - Script supporting (Ruby, Python, Groovy, JavaScript) - -- Binding Extensions - Axis2 - RMI - JSONRPC - --Databinding Extensions - Axiom - JAXB - SDO - -- Host environments - Embedded - Tomcat - Jetty - RMI - -- A clear set of SPIs intended to be stable over future releases - SCA assembly model - org.apache.tuscany.sca.assembly - org.apache.tuscany.sca.interfacedef - org.apache.tuscany.sca.interfacedef.java - org.apache.tuscany.sca.interfacedef.wsdl - org.apache.tuscany.sca.policy - - SCA contribution model - org.apache.tuscany.sca.contribution - - Runtime extensions - org.apache.tuscany.sca.core - org.apache.tuscany.sca.invocation - org.apache.tuscany.sca.provider - org.apache.tuscany.sca.runtime - org.apache.tuscany.sca.work - - Data binding support - org.apache.tuscany.sca.databinding - - Embedding Tuscany - org.apache.tuscany.sca.host.embedded - - Servlet container integration - org.apache.tuscany.sca.http - -- For this point release a partial set of JavaDoc is provided to - be filled out as we close on release 1.0 diff --git a/java/sca/contrib/distribution/features/process/src/main/release/DISCLAIMER b/java/sca/contrib/distribution/features/process/src/main/release/DISCLAIMER deleted file mode 100644 index a65af91c5a..0000000000 --- a/java/sca/contrib/distribution/features/process/src/main/release/DISCLAIMER +++ /dev/null @@ -1,7 +0,0 @@ -Apache Tuscany is an effort undergoing incubation at The Apache Software -Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is -required of all newly accepted projects until a further review indicates that -the infrastructure, communications, and decision making process have stabilized -in a manner consistent with other successful ASF projects. While incubation -status is not necessarily a reflection of the completeness or stability of the -code, it does indicate that the project has yet to be fully endorsed by the ASF. \ No newline at end of file diff --git a/java/sca/contrib/distribution/features/process/src/main/release/README b/java/sca/contrib/distribution/features/process/src/main/release/README deleted file mode 100644 index 4d83dcfde9..0000000000 --- a/java/sca/contrib/distribution/features/process/src/main/release/README +++ /dev/null @@ -1,19 +0,0 @@ -Apache Tuscany SCA 1.2 (incubating) April 2008 README -===================================================== - -Welcome to the Tuscany SCA 1.2 release. - -See the RELEASE_NOTES file for information specific to this release. - -In the binary release see the INSTALL file for information on how to -install the release. - -In the source distribution see the BUILDING file for information on -building the source code. - - - - - - - diff --git a/java/sca/contrib/distribution/features/process/src/main/release/RELEASE_NOTES b/java/sca/contrib/distribution/features/process/src/main/release/RELEASE_NOTES deleted file mode 100644 index a04ef5c553..0000000000 --- a/java/sca/contrib/distribution/features/process/src/main/release/RELEASE_NOTES +++ /dev/null @@ -1,83 +0,0 @@ -Apache Tuscany SCA 1.2 (incubating) April 2008 Release Notes -============================================================ - -Apache Tuscany provides a runtime based on the Service Component -Architecture. SCA is a set of specifications aimed at simplifying SOA -Application Development which are being standardized at OASIS as part -of Open Composite Services Architecture (Open CSA) - http://www.oasis-opencsa.org/. - -Overview --------- - - The Apache Tuscany SCA 1.2 release includes implementations of the - main SCA specifications including: - - SCA Assembly Model V1.0 - SCA Policy Framework V1.0 - SCA Java Common Annotations and APIs V1.0 - SCA Java Component Implementation V1.0 - SCA Spring Component Implementation V1.0 - SCA BPEL Client and Implementation V1.0 - SCA Web Services Binding V1.0 - SCA EJB Session Bean Binding V1.0 - - It also includes implementations of many features not yet defined - by SCA specifications, including: - - - SCA bindings for Direct Web Remoting, RSS and ATOM Feeds, - HTTP resources, JSON-RPC, PUB/SUB Notifications, and RMI. - - SCA implementation types for OSGI, XQuery, BPEL, Widget and various - dynamic languages including Groovy, Javascript, Python and Ruby - - Databindings for Service Data Objects (SDO), JAXB, XmlBeans, - Axis2's AXIOM, JSON, SAXON, DOM, SAX and StAX - - The Tuscany SCA Runtime can be configured as a single node SCA domain or - as an SCA domain distributed across multiple nodes. - In addition Tuscany SCA supports the following host-deployment options: - - - running standalone - - running with distributed nodes across multiple JVMs - - running with embedded Jetty or Tomcat - - running as part of a standard web application - - The Wepapp samples included in this release have been tried and tested on - - Tomcat 5.5.20 and Tomcat 6.0.14 - - Jetty 6.1.3 - - Geronimo 2.0.2 Tomcat6 jee5 - - WebSphere 6.1 fix pack 9 - -See the CHANGES file for a detailed list of the features in this release. - -Support -------- - -For more information on Apache Tuscany visit the website at: - - http://incubator.apache.org/tuscany/ - -Any issues with this release can be reported to Apache Tuscany -using the mailing lists or in the JIRA issue tracker. - - Mailing list archives: - - http://mail-archives.apache.org/mod_mbox/ws-tuscany-user/ - http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev/ - - Jira: - - http://issues.apache.org/jira/browse/TUSCANY - -To join the project's mailing lists follow the instructions at: - - http://incubator.apache.org/tuscany/mailing-lists.html - -To find out more about OASIS Open CSA go to: - - http://www.oasis-opencsa.org. - -Apache Tuscany welcomes your help. Any contribution, including code, -testing, improving the documentation, or bug reporting is always -appreciated. - -Thank you for using Apache Tuscany! - -- The Tuscany Team. diff --git a/java/sca/contrib/distribution/features/process/src/main/release/bin/INSTALL b/java/sca/contrib/distribution/features/process/src/main/release/bin/INSTALL deleted file mode 100644 index 2da53a2b44..0000000000 --- a/java/sca/contrib/distribution/features/process/src/main/release/bin/INSTALL +++ /dev/null @@ -1,27 +0,0 @@ -Installing the Apache Tuscany SCA 1.2 (incubating) April 2008 Release binary distribution -========================================================================================= - -Unzip Tuscany binary distribution archive and you get the following: - -tuscany-sca-1.1-incubating - DISCLAIMER - the ASF incubation disclaimer - INSTALL - this help file - LICENSE - the Apache License and any dependecy licenses - NOTICE - attribution notices associated with the licenses - README - readme for the release - RELEASE_NOTES - description of this release - CHANGES - A note of the major changes in this release - - /demos - Demo applications showcasing the use of Apache Tuscany - - /lib - The tuscany-sca-all and tuscany-sca-manifest jars and all their dependencies - - /modules - all of the individual Tuscany jars - - /samples - all the Tuscany samples, see the README in that directory - - /tutorial - The store tutorial, see the README in that directory - - - - diff --git a/java/sca/contrib/distribution/features/process/src/main/release/bin/LICENSE b/java/sca/contrib/distribution/features/process/src/main/release/bin/LICENSE deleted file mode 100644 index 5e1f585d46..0000000000 --- a/java/sca/contrib/distribution/features/process/src/main/release/bin/LICENSE +++ /dev/null @@ -1,2366 +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 SUBCOMPONENTS: - -The Apache Tuscany binary distribution includes a number of subcomponents -with separate copyright notices and license terms. Your use of the -code for the these subcomponents is subject to the terms and -conditions of the following licenses. - -=============================================================================== - -The following components come under Apache Software License 1.1 - - commons-discovery-0.2.jar - commons-primitives-1.0.jar - -The following components come under Apache Software License 2.0 - - abdera-core-0.3.0-incubating.jar - abdera-i18n-0.3.0-incubating.jar - abdera-parser-0.3.0-incubating.jar - activeio-2.0-r118.jar - activeio-core-3.0.0-incubator.jar - apache-activemq-4.1.1.jar - addressing-1.3.mar - annogen-0.1.0.jar - annotations-api-6.0.14.jar - aopalliance-1.0.jar - axiom-api-1.2.5.jar - axiom-dom-1.2.5.jar - axiom-impl-1.2.5.jar - axis2-adb-1.3.jar - axis2-codegen-1.3.jar - axis2-java2wsdl-1.3.jar - axis2-kernel-1.3.jar - axis2-mtompolicy-1.3.jar - bsf-all-3.0-beta2.jar - catalina-6.0.14.jar - cglib-nodep-2.1_3.jar - commons-collections-3.1.jar - commons-codec-1.3.jar - commons-fileupload-1.1.1.jar - commons-httpclient-3.0.1.jar - commons-io-1.2.jar - commons-jexl-1.1.jar - commons-lang-2.1.jar - commons-logging-1.1.jar - coyote-6.0.14.jar - derby-10.1.3.1.jar - geronimo-activation_1.1_spec-1.0-M1.jar - geronimo-common-1.2-beta.jar - geronimo-commonj_1.1_spec-1.0.jar - geronimo-connector-1.2-beta.jar - geronimo-core-1.2-beta.jar - geronimo-deployment-1.2-beta.jar - geronimo-ejb_3.0_spec-1.0.jar - geronimo-interceptor-1.2-beta.jar - geronimo-j2ee-1.2-beta.jar - geronimo-j2ee-connector_1.5_spec-1.1.jar - geronimo-j2ee-jacc_1.0_spec-1.1.jar - geronimo-j2ee-management_1.0_spec-1.1.jar - geronimo-javamail_1.4_spec-1.0-M1.jar - geronimo-jms_1.1_spec-1.1.jar - geronimo-jpa_3.0_spec-1.0.jar - geronimo-jta_1.0.1B_spec-1.0.jar - geronimo-kernel-1.2-beta.jar - geronimo-management-1.2-beta.jar - geronimo-naming-1.2-beta.jar - geronimo-security-1.2-beta.jar - geronimo-spec-j2ee-connector-1.5-rc4.jar - geronimo-spec-jta-1.0.1B-rc4.jar - geronimo-system-1.2-beta.jar - geronimo-transaction-1.2-beta.jar - geronimo-util-1.2-beta.jar - httpcore-4.0-alpha5.jar - httpcore-nio-4.0-alpha5.jar - httpcore-niossl-4.0-alpha5.jar - jettison-1.0-RC2.jar - jetty-6.1.7.jar - jetty-util-6.1.7.jar - json-rpc-1.0.jar - juli-6.0.14.jar - log4j-1.2.12.jar - logkit-1.0.1.jar - neethi-2.0.2.jar - ode-bpel-api-1.1.jar - ode-bpel-compiler-1.1.jar - ode-bpel-dao-1.1.jar - ode-bpel-epr-1.1.jar - ode-bpel-obj-1.1.jar - ode-bpel-runtime-1.1.jar - ode-bpel-schemas-1.1.jar - ode-bpel-store-1.1.jar - ode-dao-jpa-1.1.jar - ode-dao-jpa-ojpa-derby-1.1.zip - ode-jacob-1.1.jar - ode-jacob-ap-1.1.jar - ode-scheduler-simple-1.1.jar - ode-utils-1.1.jar - openjpa-all-0.9.7-incubating.jar - openjpa-persistence-0.9.7-incubating.jar - org.apache.felix.bundlerepository-1.0.2.jar - org.apache.felix.framework-1.0.3.jar - org.apache.felix.main-1.0.3.jar - org.apache.felix.shell-1.0.0.jar - org.apache.felix.shell.tui-1.0.0.jar - rampart-core-1.3.jar - rampart-policy-1.3.jar - rampart-trust-1.3.jar - regexp-1.3.jar - spring-beans-2.0.6.jar - spring-context-2.0.6.jar - spring-core-2.0.6.jar - tranql-connector-1.1.jar - tuscany-sdo-api-r2.1-1.0-incubating.jar - tuscany-sdo-impl-1.0-incubating.jar - tuscany-sdo-lib-1.0-incubating.jar - tuscany-sdo-tools-1.0-incubating.jar - woden-1.0-incubating-M7b.jar - wss4j-1.5.3.jar - wstx-asl-3.2.1.jar - xalan-2.7.0.jar - xbean-naming-2.7.jar - xercesImpl-2.8.1.jar - xml-apis-1.3.03.jar - xmlbeans-2.3.0.jar - xml-resolver-1.1.jar - xmlsec-1.4.0.jar - XmlSchema-1.3.2.jar - -=============================================================================== -axion-1.0-M3-dev.jar - -Copyright (c) 2002-2003 Axion Development Team. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - -2. 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. - -3. The names "Tigris", "Axion", nor the names of its contributors may - not be used to endorse or promote products derived from this - software without specific prior written permission. - -4. Products derived from this software may not be called "Axion", nor - may "Tigris" or "Axion" appear in their names 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. - -The "Axion Development Team" is defined to be: - - * Chuck Burdick - * James Burke - * Morgan Delagrange - * Geir Magnusson Jr. - * Martin Poeschl - * Steve Polyak - * Daniel Rall - * Ahimanikya Satapathy - * Doug Sale - * James Strachan - * Rodney Waldhoff - * Jason van Zyl - -License changes are to be determined by a simple majority vote of the -Axion Development Team. - -=============================================================================== -dom4j-1.6.1.jar - -Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. - -Redistribution and use of this software and associated documentation -("Software"), with or without modification, are permitted provided -that the following conditions are met: - -1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - -2. 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. - -3. The name "DOM4J" must not be used to endorse or promote - products derived from this Software without prior written - permission of MetaStuff, Ltd. For written permission, - please contact dom4j-info@metastuff.com. - -4. Products derived from this Software may not be called "DOM4J" - nor may "DOM4J" appear in their names without prior written - permission of MetaStuff, Ltd. DOM4J is a registered - trademark of MetaStuff, Ltd. - -5. Due credit should be given to the DOM4J Project - - http://www.dom4j.org - -THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS -``AS IS'' AND ANY EXPRESSED 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 -METASTUFF, LTD. OR ITS 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. - -=============================================================================== - -The EMF jars; - codegen-2.2.3.jar - codegen-ecore-2.2.3.jar - common-2.2.3.jar - ecore-2.2.3.jar - ecore-change-2.2.3.jar - ecore-xmi-2.2.3.jar - xsd-2.2.3.jar - -Eclipse Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF -THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - -a) in the case of the initial Contributor, the initial code and -documentation distributed under this Agreement, and -b) in the case of each subsequent Contributor: - -i) changes to the Program, and - -ii) additions to the Program; - -where such changes and/or additions to the Program originate from and -are distributed by that particular Contributor. A Contribution -'originates' from a Contributor if it was added to the Program by such -Contributor itself or anyone acting on such Contributor's behalf. -Contributions do not include additions to the Program which: (i) are -separate modules of software distributed in conjunction with the -Program under their own license agreement, and (ii) are not derivative -works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor -which are necessarily infringed by the use or sale of its Contribution -alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this -Agreement. - -"Recipient" means anyone who receives the Program under this -Agreement, including all Contributors. - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free copyright -license to reproduce, prepare derivative works of, publicly display, -publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and -object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free patent -license under Licensed Patents to make, use, sell, offer to sell, -import and otherwise transfer the Contribution of such Contributor, if -any, in source code and object code form. This patent license shall -apply to the combination of the Contribution and the Program if, at -the time the Contribution is added by the Contributor, such addition -of the Contribution causes such combination to be covered by the -Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder. - -c) Recipient understands that although each Contributor grants the -licenses to its Contributions set forth herein, no assurances are -provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow -Recipient to distribute the Program, it is Recipient's responsibility -to acquire that license before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient -copyright rights in its Contribution, if any, to grant the copyright -license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form -under its own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties -and conditions, express and implied, including warranties or -conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability -for damages, including direct, indirect, special, incidental and -consequential damages, such as lost profits; - -iii) states that any provisions which differ from this Agreement are -offered by that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such -Contributor, and informs licensees how to obtain it in a reasonable -manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the -Program. - -Contributors may not remove or alter any copyright notices contained -within the Program. - -Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a -commercial product offering should do so in a manner which does not -create potential liability for other Contributors. Therefore, if a -Contributor includes the Program in a commercial product offering, -such Contributor ("Commercial Contributor") hereby agrees to defend -and indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") arising -from claims, lawsuits and other legal actions brought by a third party -against the Indemnified Contributor to the extent caused by the acts -or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. -In order to qualify, an Indemnified Contributor must: a) promptly -notify the Commercial Contributor in writing of such claim, and b) -allow the Commercial Contributor to control, and cooperate with the -Commercial Contributor in, the defense and any related settlement -negotiations. The Indemnified Contributor may participate in any such -claim at its own expense. - -For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED 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. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable -laws, damage to or loss of data, programs or equipment, and -unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR -ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), 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 OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further -action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that -the Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of -the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of -time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use -and distribution of the Program as soon as reasonably practicable. -However, Recipient's obligations under this Agreement and any licenses -granted by Recipient relating to the Program shall continue and -survive. - -Everyone is permitted to copy and distribute copies of this Agreement, -but in order to avoid inconsistency the Agreement is copyrighted and -may only be modified in the following manner. The Agreement Steward -reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement -Steward has the right to modify this Agreement. The Eclipse Foundation -is the initial Agreement Steward. The Eclipse Foundation may assign -the responsibility to serve as the Agreement Steward to a suitable -separate entity. Each new version of the Agreement will be given a -distinguishing version number. The Program (including Contributions) -may always be distributed subject to the version of the Agreement -under which it was received. In addition, after a new version of the -Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives -no rights or licenses to the intellectual property of any Contributor -under this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No -party to this Agreement will bring a legal action under this Agreement -more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation. - -=============================================================================== -For Saxon including - saxon-8.7.jar - saxon-dom-8.7.jar - saxon-xpath-8.7.jar - - MOZILLA PUBLIC LICENSE -Version 1.0 - -1. Definitions. - - 1.1. ``Contributor'' means each entity that creates or contributes to the creation of Modifications. - - 1.2. ``Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor. - - 1.3. ``Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof. - - 1.4. ``Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data. - - 1.5. ``Executable'' means Covered Code in any form other than Source Code. - - 1.6. ``Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A. - - 1.7. ``Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License. - - 1.8. ``License'' means this document. - - 1.9. ``Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is: - - A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or previous Modifications. - - 1.10. ``Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License. - - 1.11. ``Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge. - - 1.12. ``You'' means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, ``You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, ``control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (``Utilize'') the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - - 2.2. Contributor Grant. - Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - - (a) Third Party Claims. - If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled ``LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation (``Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License. - - 6.3. Derivative Works. - If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a ``commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer software'' and ``commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the United States of America: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Santa Clara County, California, under the auspices of JAMS/EndDispute; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. - -12. RESPONSIBILITY FOR CLAIMS. - - Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis. - -EXHIBIT A. - - ``The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved. - - Contributor(s): ______________________________________.'' - -=============================================================================== - -For the Rhino JavaScript engine js-1.6R7.jar: - - MOZILLA PUBLIC LICENSE - Version 1.1 - - --------------- - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Code, prior Modifications used by a Contributor, and the Modifications - made by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified - as the Initial Developer in the Source Code notice required by Exhibit - A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - A. Any addition to or deletion from the contents of a file - containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, - and apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated interface definition files, scripts used to control - compilation and installation of an Executable, or source code - differential comparisons against either the Original Code or another - well known, available Covered Code of the Contributor's choice. The - Source Code can be in a compressed or archival form, provided the - appropriate decompression or de-archiving software is widely available - for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - For legal entities, "You" includes any entity which controls, is - controlled by, or is under common control with You. For purposes of - this definition, "control" means (a) the power, direct or indirect, - to cause the direction or management of such entity, whether by - contract or otherwise, or (b) ownership of more than fifty percent - (50%) of the outstanding shares or beneficial ownership of such - entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer to use, reproduce, - modify, display, perform, sublicense and distribute the Original - Code (or portions thereof) with or without Modifications, and/or - as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or - selling of Original Code, to make, have made, use, practice, - sell, and offer for sale, and/or otherwise dispose of the - Original Code (or portions thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are - effective on the date Initial Developer first distributes - Original Code under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: 1) for code that You delete from the Original Code; 2) - separate from the Original Code; or 3) for infringements caused - by: i) the modification of the Original Code or ii) the - combination of the Original Code with other software or devices. - - 2.2. Contributor Grant. - Subject to third party intellectual property claims, each Contributor - hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor, to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications - created by such Contributor (or portions thereof) either on an - unmodified basis, with other Modifications, as Covered Code - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or - selling of Modifications made by that Contributor either alone - and/or in combination with its Contributor Version (or portions - of such combination), to make, use, sell, offer for sale, have - made, and/or otherwise dispose of: 1) Modifications made by that - Contributor (or portions thereof); and 2) the combination of - Modifications made by that Contributor with its Contributor - Version (or portions of such combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are - effective on the date Contributor first makes Commercial Use of - the Covered Code. - - (d) Notwithstanding Section 2.2(b) above, no patent license is - granted: 1) for any code that Contributor has deleted from the - Contributor Version; 2) separate from the Contributor Version; - 3) for infringements caused by: i) third party modifications of - Contributor Version or ii) the combination of Modifications made - by that Contributor with other software (except as part of the - Contributor Version) or other devices; or 4) under Patent Claims - infringed by Covered Code in the absence of Modifications made by - that Contributor. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, - Contributor must include a text file with the Source Code - distribution titled "LEGAL" which describes the claim and the - party making the claim in sufficient detail that a recipient will - know whom to contact. If Contributor obtains such knowledge after - the Modification is made available as described in Section 3.2, - Contributor shall promptly modify the LEGAL file in all copies - Contributor makes available thereafter and shall take other steps - (such as notifying appropriate mailing lists or newsgroups) - reasonably calculated to inform those who received the Covered - Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming - interface and Contributor has knowledge of patent licenses which - are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to - Section 3.4(a) above, Contributor believes that Contributor's - Modifications are Contributor's original creation(s) and/or - Contributor has sufficient rights to grant the rights conveyed by - this License. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. However, You - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear than - any such warranty, support, indemnity or liability obligation is - offered by You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred by the - Initial Developer or such Contributor as a result of warranty, - support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under a license of Your choice, which may - contain terms different from this License, provided that You are in - compliance with the terms of this License and that the license for the - Executable version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version under a different - license You must make it absolutely clear that any terms which differ - from this License are offered by You alone, not by the Initial - Developer or any Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such - terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code - not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised - and/or new versions of the License from time to time. Each version - will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Netscape. No one - other than Netscape has the right to modify the terms applicable to - Covered Code created under this License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must (a) rename Your license so that - the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", - "MPL", "NPL" or any confusingly similar phrase do not appear in your - license (except to note that your license differs from this License) - and (b) otherwise make it clear that Your version of the license - contains terms which differ from the Mozilla Public License and - Netscape Public License. (Filling in the name of the Initial - Developer, Original Code or Contributor in the notice described in - Exhibit A shall not of themselves be deemed to be modifications of - this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE - IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, - YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE - COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER - OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, - all end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, - OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR - ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY - CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, - WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" and "commercial computer software documentation," as such - terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 - C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), - all U.S. Government End Users acquire Covered Code with only those - rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, with the losing party responsible for costs, including - without limitation, court costs and reasonable attorneys' fees and - expenses. The application of the United Nations Convention on - Contracts for the International Sale of Goods is expressly excluded. - Any law or regulation which provides that the language of a contract - shall be construed against the drafter shall not apply to this - License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the NPL or the alternative licenses, if any, specified - by the Initial Developer in the file described in Exhibit A. - -EXHIBIT A -Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License - Version 1.1 (the "License"); you may not use this file except in - compliance with the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - License for the specific language governing rights and limitations - under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. - Portions created by ______________________ are Copyright (C) ______ - _______________________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those - above. If you wish to allow use of your version of this file only - under the terms of the [____] License and not to allow others to use - your version of this file under the MPL, indicate your decision by - deleting the provisions above and replace them with the notice and - other provisions required by the [___] License. If you do not delete - the provisions above, a recipient may use your version of this file - under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] - - -=============================================================================== -Groovy (groovy-all-minimal-1.5.4.jar): - -/* - $Id: LICENSE.txt 156 2003-09-26 17:36:37Z jstrachan $ - - Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - - Redistribution and use of this software and associated documentation - ("Software"), with or without modification, are permitted provided - that the following conditions are met: - - 1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - - 2. 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. - - 3. The name "groovy" must not be used to endorse or promote - products derived from this Software without prior written - permission of The Codehaus. For written permission, - please contact info@codehaus.org. - - 4. Products derived from this Software may not be called "groovy" - nor may "groovy" appear in their names without prior written - permission of The Codehaus. "groovy" is a registered - trademark of The Codehaus. - - 5. Due credit should be given to The Codehaus - - http://groovy.codehaus.org/ - - THIS SOFTWARE IS PROVIDED BY THE CODEHAUS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESSED 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 CODEHAUS OR ITS 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. - - */ - -=============================================================================== - -Jython (jython-2.2.jar): - -A. HISTORY OF THE SOFTWARE -======================= - -JPython was created in late 1997 by Jim Hugunin. Jim was also the -primary developer while he was at CNRI. In February 1999 Barry Warsaw -took over as primary developer and released JPython version 1.1. - -In October 2000 Barry helped move the software to SourceForge -where it was renamed to Jython. Jython 2.0 and on are licensed under -the Jython specific license below. - -The standard library is covered by the Python Software Foundation -license. See the LICENSE_CPython.txt file for details. - -The zxJDBC package was written by Brian Zimmer and originally licensed -under the GNU Public License. The package is now covered by the Jython -Software License. - -The command line interpreter is covered by the Apache Software -License. See the LICENSE_Apache.txt file for details. - -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING JYTHON -================================ - -Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Jython Developers -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 Jython Developers nor the names of - its 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 REGENTS 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. - - - - -JPython 1.1.x Software License. -========================= - -______________________________________________________________________ - -IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. - -BY CLICKING ON THE "ACCEPT" BUTTON WHERE INDICATED, OR BY INSTALLING, -COPYING OR OTHERWISE USING THE SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO -THE TERMS AND CONDITIONS OF THIS AGREEMENT. - -______________________________________________________________________ - -JPython version 1.1.x - - 1. This LICENSE AGREEMENT is between the Corporation for National Research - Initiatives, having an office at 1895 Preston White Drive, Reston, VA - 20191 ("CNRI"), and the Individual or Organization ("Licensee") - accessing and using JPython version 1.1.x in source or binary form and - its associated documentation as provided herein ("Software"). - - 2. Subject to the terms and conditions of this License Agreement, CNRI - hereby grants Licensee a non-exclusive, non-transferable, royalty-free, - world-wide license to reproduce, analyze, test, perform and/or display - publicly, prepare derivative works, distribute, and otherwise use the - Software alone or in any derivative version, provided, however, that - CNRI's License Agreement and CNRI's notice of copyright, i.e., - "Copyright ©1996-1999 Corporation for National Research Initiatives; - All Rights Reserved" are both retained in the Software, alone or in any - derivative version prepared by Licensee. - - Alternatively, in lieu of CNRI's License Agreement, Licensee may - substitute the following text (omitting the quotes), provided, however, - that such text is displayed prominently in the Software alone or in any - derivative version prepared by Licensee: "JPython (Version 1.1.x) is - made available subject to the terms and conditions in CNRI's License - Agreement. This Agreement may be located on the Internet using the - following unique, persistent identifier (known as a handle): - 1895.22/1006. The License may also be obtained from a proxy server on - the Web using the following URL: http://hdl.handle.net/1895.22/1006." - - 3. In the event Licensee prepares a derivative work that is based on or - incorporates the Software or any part thereof, and wants to make the - derivative work available to the public as provided herein, then - Licensee hereby agrees to indicate in any such work, in a prominently - visible way, the nature of the modifications made to CNRI's Software. - - 4. Licensee may not use CNRI trademarks or trade name, including JPython - or CNRI, in a trademark sense to endorse or promote products or - services of Licensee, or any third party. Licensee may use the mark - JPython in connection with Licensee's derivative versions that are - based on or incorporate the Software, but only in the form - "JPython-based ___________________," or equivalent. - - 5. CNRI is making the Software available to Licensee on an "AS IS" basis. - CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY - OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY - REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY - PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE - ANY THIRD PARTY RIGHTS. - - 6. CNRI SHALL NOT BE LIABLE TO LICENSEE OR OTHER USERS OF THE SOFTWARE FOR - ANY INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE - THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. SOME STATES DO NOT - ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY SO THE ABOVE DISCLAIMER - MAY NOT APPLY TO LICENSEE. - - 7. This License Agreement may be terminated by CNRI (i) immediately upon - written notice from CNRI of any material breach by the Licensee, if the - nature of the breach is such that it cannot be promptly remedied; or - (ii) sixty (60) days following notice from CNRI to Licensee of a - material remediable breach, if Licensee has not remedied such breach - within that sixty-day period. - - 8. This License Agreement shall be governed by and interpreted in all - respects by the law of the State of Virginia, excluding conflict of law - provisions. Nothing in this Agreement shall be deemed to create any - relationship of agency, partnership, or joint venture between CNRI and - Licensee. - - 9. By clicking on the "ACCEPT" button where indicated, or by installing, - copying or otherwise using the Software, Licensee agrees to be bound by - the terms and conditions of this License Agreement. - - -=============================================================================== - -The jars; -activation-1.1.jar, -jaxb-api-2.1.jar, -jaxb-impl-2.1.6.jar, -jaxb-xjc-2.1.4.jar, -jaxb2-reflection-2.1.4.jar, -jsr181-api-1.0-MR1.jar, -jsr250-api-1.0.jar, -jaxws-api-2.1-1.jar, -mail-1.4.jar, -saaj-api-1.3.jar, -servlet-api-2.5.jar, -stax-api-1.0-commons-cli-1.0.jar2.jar - -COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 - - - 1. Definitions. - - 1.1. "Contributor" means each individual or entity that - creates or contributes to the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the - Original Software, prior Modifications used by a - Contributor (if any), and the Modifications made by that - particular Contributor. - - 1.3. "Covered Software" means (a) the Original Software, or - (b) Modifications, or (c) the combination of files - containing Original Software with files containing - Modifications, in each case including portions thereof. - - 1.4. "Executable" means the Covered Software in any form - other than Source Code. - - 1.5. "Initial Developer" means the individual or entity - that first makes Original Software available under this - License. - - 1.6. "Larger Work" means a work which combines Covered - Software or portions thereof with code not governed by the - terms of this License. - - 1.7. "License" means this document. - - 1.8. "Licensable" means having the right to grant, to the - maximum extent possible, whether at the time of the initial - grant or subsequently acquired, any and all of the rights - conveyed herein. - - 1.9. "Modifications" means the Source Code and Executable - form of any of the following: - - A. Any file that results from an addition to, - deletion from or modification of the contents of a - file containing Original Software or previous - Modifications; - - B. Any new file that contains any part of the - Original Software or previous Modification; or - - C. Any new file that is contributed or otherwise made - available under the terms of this License. - - 1.10. "Original Software" means the Source Code and - Executable form of computer software code that is - originally released under this License. - - 1.11. "Patent Claims" means any patent claim(s), now owned - or hereafter acquired, including without limitation, - method, process, and apparatus claims, in any patent - Licensable by grantor. - - 1.12. "Source Code" means (a) the common form of computer - software code in which modifications are made and (b) - associated documentation included in or with such code. - - 1.13. "You" (or "Your") means an individual or a legal - entity exercising rights under, and complying with all of - the terms of, this License. For legal entities, "You" - includes any entity which controls, is controlled by, or is - under common control with You. For purposes of this - definition, "control" means (a) the power, direct or - indirect, to cause the direction or management of such - entity, whether by contract or otherwise, or (b) ownership - of more than fifty percent (50%) of the outstanding shares - or beneficial ownership of such entity. - - 2. License Grants. - - 2.1. The Initial Developer Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, the - Initial Developer hereby grants You a world-wide, - royalty-free, non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Initial Developer, - to use, reproduce, modify, display, perform, - sublicense and distribute the Original Software (or - portions thereof), with or without Modifications, - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, - using or selling of Original Software, to make, have - made, use, practice, sell, and offer for sale, and/or - otherwise dispose of the Original Software (or - portions thereof). - - (c) The licenses granted in Sections 2.1(a) and (b) - are effective on the date Initial Developer first - distributes or otherwise makes the Original Software - available to a third party under the terms of this - License. - - (d) Notwithstanding Section 2.1(b) above, no patent - license is granted: (1) for code that You delete from - the Original Software, or (2) for infringements - caused by: (i) the modification of the Original - Software, or (ii) the combination of the Original - Software with other software or devices. - - 2.2. Contributor Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, each - Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Contributor to - use, reproduce, modify, display, perform, sublicense - and distribute the Modifications created by such - Contributor (or portions thereof), either on an - unmodified basis, with other Modifications, as - Covered Software and/or as part of a Larger Work; and - - - (b) under Patent Claims infringed by the making, - using, or selling of Modifications made by that - Contributor either alone and/or in combination with - its Contributor Version (or portions of such - combination), to make, use, sell, offer for sale, - have made, and/or otherwise dispose of: (1) - Modifications made by that Contributor (or portions - thereof); and (2) the combination of Modifications - made by that Contributor with its Contributor Version - (or portions of such combination). - - (c) The licenses granted in Sections 2.2(a) and - 2.2(b) are effective on the date Contributor first - distributes or otherwise makes the Modifications - available to a third party. - - (d) Notwithstanding Section 2.2(b) above, no patent - license is granted: (1) for any code that Contributor - has deleted from the Contributor Version; (2) for - infringements caused by: (i) third party - modifications of Contributor Version, or (ii) the - combination of Modifications made by that Contributor - with other software (except as part of the - Contributor Version) or other devices; or (3) under - Patent Claims infringed by Covered Software in the - absence of Modifications made by that Contributor. - - 3. Distribution Obligations. - - 3.1. Availability of Source Code. - - Any Covered Software that You distribute or otherwise make - available in Executable form must also be made available in - Source Code form and that Source Code form must be - distributed only under the terms of this License. You must - include a copy of this License with every copy of the - Source Code form of the Covered Software You distribute or - otherwise make available. You must inform recipients of any - such Covered Software in Executable form as to how they can - obtain such Covered Software in Source Code form in a - reasonable manner on or through a medium customarily used - for software exchange. - - 3.2. Modifications. - - The Modifications that You create or to which You - contribute are governed by the terms of this License. You - represent that You believe Your Modifications are Your - original creation(s) and/or You have sufficient rights to - grant the rights conveyed by this License. - - 3.3. Required Notices. - - You must include a notice in each of Your Modifications - that identifies You as the Contributor of the Modification. - You may not remove or alter any copyright, patent or - trademark notices contained within the Covered Software, or - any notices of licensing or any descriptive text giving - attribution to any Contributor or the Initial Developer. - - 3.4. Application of Additional Terms. - - You may not offer or impose any terms on any Covered - Software in Source Code form that alters or restricts the - applicable version of this License or the recipients' - rights hereunder. You may choose to offer, and to charge a - fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Software. - However, you may do so only on Your own behalf, and not on - behalf of the Initial Developer or any Contributor. You - must make it absolutely clear that any such warranty, - support, indemnity or liability obligation is offered by - You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred - by the Initial Developer or such Contributor as a result of - warranty, support, indemnity or liability terms You offer. - - - 3.5. Distribution of Executable Versions. - - You may distribute the Executable form of the Covered - Software under the terms of this License or under the terms - of a license of Your choice, which may contain terms - different from this License, provided that You are in - compliance with the terms of this License and that the - license for the Executable form does not attempt to limit - or alter the recipient's rights in the Source Code form - from the rights set forth in this License. If You - distribute the Covered Software in Executable form under a - different license, You must make it absolutely clear that - any terms which differ from this License are offered by You - alone, not by the Initial Developer or Contributor. You - hereby agree to indemnify the Initial Developer and every - Contributor for any liability incurred by the Initial - Developer or such Contributor as a result of any such terms - You offer. - - 3.6. Larger Works. - - You may create a Larger Work by combining Covered Software - with other code not governed by the terms of this License - and distribute the Larger Work as a single product. In such - a case, You must make sure the requirements of this License - are fulfilled for the Covered Software. - - 4. Versions of the License. - - 4.1. New Versions. - - Sun Microsystems, Inc. is the initial license steward and - may publish revised and/or new versions of this License - from time to time. Each version will be given a - distinguishing version number. Except as provided in - Section 4.3, no one other than the license steward has the - right to modify this License. - - 4.2. Effect of New Versions. - - You may always continue to use, distribute or otherwise - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. If the Initial Developer includes a - notice in the Original Software prohibiting it from being - distributed or otherwise made available under any - subsequent version of the License, You must distribute and - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. Otherwise, You may also choose to - use, distribute or otherwise make the Covered Software - available under the terms of any subsequent version of the - License published by the license steward. - - 4.3. Modified Versions. - - When You are an Initial Developer and You want to create a - new license for Your Original Software, You may create and - use a modified version of this License if You: (a) rename - the license and remove any references to the name of the - license steward (except to note that the license differs - from this License); and (b) otherwise make it clear that - the license contains terms which differ from this License. - - - 5. DISCLAIMER OF WARRANTY. - - COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" - BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, - INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED - SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR - PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND - PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY - COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE - INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF - ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF - WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS - DISCLAIMER. - - 6. TERMINATION. - - 6.1. This License and the rights granted hereunder will - terminate automatically if You fail to comply with terms - herein and fail to cure such breach within 30 days of - becoming aware of the breach. Provisions which, by their - nature, must remain in effect beyond the termination of - this License shall survive. - - 6.2. If You assert a patent infringement claim (excluding - declaratory judgment actions) against Initial Developer or - a Contributor (the Initial Developer or Contributor against - whom You assert such claim is referred to as "Participant") - alleging that the Participant Software (meaning the - Contributor Version where the Participant is a Contributor - or the Original Software where the Participant is the - Initial Developer) directly or indirectly infringes any - patent, then any and all rights granted directly or - indirectly to You by such Participant, the Initial - Developer (if the Initial Developer is not the Participant) - and all Contributors under Sections 2.1 and/or 2.2 of this - License shall, upon 60 days notice from Participant - terminate prospectively and automatically at the expiration - of such 60 day notice period, unless if within such 60 day - period You withdraw Your claim with respect to the - Participant Software against such Participant either - unilaterally or pursuant to a written agreement with - Participant. - - 6.3. In the event of termination under Sections 6.1 or 6.2 - above, all end user licenses that have been validly granted - by You or any distributor hereunder prior to termination - (excluding licenses granted to You by any distributor) - shall survive termination. - - 7. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE - INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF - COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE - LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR - CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT - LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK - STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL - INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT - APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO - NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR - CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT - APPLY TO YOU. - - 8. U.S. GOVERNMENT END USERS. - - The Covered Software is a "commercial item," as that term is - defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial - computer software" (as that term is defined at 48 C.F.R. - 252.227-7014(a)(1)) and "commercial computer software - documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. - 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 - through 227.7202-4 (June 1995), all U.S. Government End Users - acquire Covered Software with only those rights set forth herein. - This U.S. Government Rights clause is in lieu of, and supersedes, - any other FAR, DFAR, or other clause or provision that addresses - Government rights in computer software under this License. - - 9. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the - extent necessary to make it enforceable. This License shall be - governed by the law of the jurisdiction specified in a notice - contained within the Original Software (except to the extent - applicable law, if any, provides otherwise), excluding such - jurisdiction's conflict-of-law provisions. Any litigation - relating to this License shall be subject to the jurisdiction of - the courts located in the jurisdiction and venue specified in a - notice contained within the Original Software, with the losing - party responsible for costs, including, without limitation, court - costs and reasonable attorneys' fees and expenses. The - application of the United Nations Convention on Contracts for the - International Sale of Goods is expressly excluded. Any law or - regulation which provides that the language of a contract shall - be construed against the drafter shall not apply to this License. - You agree that You alone are responsible for compliance with the - United States export administration regulations (and the export - control laws and regulation of any other countries) when You use, - distribute or otherwise make available any Covered Software. - - 10. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or - indirectly, out of its utilization of rights under this License - and You agree to work with Initial Developer and Contributors to - distribute such responsibility on an equitable basis. Nothing - herein is intended or shall be deemed to constitute any admission - of liability. - -=============================================================================== - -JRuby (jruby-complete-1.0.jar), wsdl4j (wsdl4j-1.6.2.jar): - -Common Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - - a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and - b) in the case of each subsequent Contributor: - - i) changes to the Program, and - - ii) additions to the Program; - - where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. - -2. GRANT OF RIGHTS - - a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. - - b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. - - c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. - - d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: - - a) it complies with the terms and conditions of this Agreement; and - - b) its license agreement: - - i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; - - ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; - - iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and - - iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - - a) it must be made available under this Agreement; and - - b) a copy of this Agreement must be included with each copy of the Program. - -Contributors may not remove or alter any copyright notices contained within the Program. - -Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 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. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. - -=============================================================================== - -backport-util-concurrent-2.2.jar: - -The software comprising backport-util-concurrent is based in large -part on the code from JSR166, and the package dl.util.concurrent. -The software has been released to the public domain, as explained at: -http://creativecommons.org/licenses/publicdomain, excepting portions -of the class -edu.emory.mathcs.backport.java.util.concurrent.CopyOnWriteArrayList, -which were adapted from class java.util.ArrayList, written by Sun -Microsystems, Inc, which are used with kind permission, and subject -to the following: - -Copyright 2002-2004 Sun Microsystems, Inc. All rights reserved. Use is -subject to the following license terms. - - "Sun hereby grants you a non-exclusive, worldwide, non-transferrable - license to use and distribute the Java Software technologies as part - of a larger work in source and binary forms, with or without - modification, provided that the following conditions are met: - - -Neither the name of or trademarks of Sun may be used to endorse or - promote products derived from the Java Software technology without - specific prior written permission. - - -Redistributions of source or binary code must be accompanied by the - following notice and disclaimers: - - Portions copyright Sun Microsystems, Inc. Used with kind permission. - - This software is provided AS IS, without a warranty of any kind. ALL - EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PUPOSE OR - NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN - MICROSYSTEMS, INC. AND ITS LICENSORS SHALL NOT BE LIABLE - FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS - DERIVATIVES. IN NO EVENT WILL SUN MICROSYSTEMS, INC. OR - ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR - DATA, OR FOR DIRECT, INDIRECT,CONSQUENTIAL, INCIDENTAL - OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF - THE THEORY OR LIABILITY, ARISING OUT OF THE USE OF OR - INABILITY TO USE SOFTWARE, EVEN IF SUN MICROSYSTEMS, INC. - HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - You acknowledge that Software is not designed, licensed or intended for - use in the design, construction, operation or maintenance of any nuclear - facility." - -=============================================================================== -rome-0.9.jar - -Copyright 2004 Sun Microsystems, Inc. - -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. - -=============================================================================== -jdom-1.0.jar : - -$Id: LICENSE.txt,v 1.11 2004/02/06 09:32:57 jhunter Exp $ - - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions, and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions, and the disclaimer that follows - these conditions in the documentation and/or other materials - provided with the distribution. - - 3. The name "JDOM" must not be used to endorse or promote products - derived from this software without prior written permission. For - written permission, please contact . - - 4. Products derived from this software may not be called "JDOM", nor - may "JDOM" appear in their name, without prior written permission - from the JDOM Project Management . - - In addition, we request (but do not require) that you include in the - end-user documentation provided with the redistribution and/or in the - software itself an acknowledgement equivalent to the following: - "This product includes software developed by the - JDOM Project (http://www.jdom.org/)." - Alternatively, the acknowledgment may be graphical using the logos - available at http://www.jdom.org/images/logos. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 JDOM AUTHORS OR THE PROJECT - 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. - - This software consists of voluntary contributions made by many - individuals on behalf of the JDOM Project and was originally - created by Jason Hunter and - Brett McLaughlin . For more information - on the JDOM Project, please see . - -======================================================================== - -dwr-2.0.1.jar : - -/* -* Copyright 2005 Joe Walker -* -* 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. -*/ - -========================================================================== - -dojotoolkit V1.0.0: - -The "New" BSD License: -********************** - -Copyright (c) 2005, The Dojo Foundation -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 Dojo Foundation nor the names of its 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. - -================================================================================ - -The module tuscany-implementation-script-1.0-incubating.jar temporarily includes -one file under the below BSD license with the following copyright: - - Copyright (c) 2006, Sun Microsystems, Inc. - All rights reserved. - -BSD license: - - 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. - -================================================================================ - -The serp-1.12.0.jar is distributed under the BSD license with the following copyright: - - Copyright (c) 2002, A. Abram White - All rights reserved. - -BSD license: - - 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. - -================================================================================ -The javacc-3.2.jar, and howl-1.0.1-1.jar are distributed under the BSD license: - -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. - -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. - -================================================================================ - -The tuscany-assembly-xsd jar includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================ -License for the Service Data Objects JavaDoc and Interface Definition files. (tuscany-sdo-api-r2.1-1.0-incubating.jar) - -These files being ... -commonj/sdo/ChangeSummary$Setting.class -commonj/sdo/ChangeSummary.class -commonj/sdo/DataGraph.class -commonj/sdo/DataObject.class -commonj/sdo/helper/CopyHelper.class -commonj/sdo/helper/DataFactory.class -commonj/sdo/helper/DataHelper.class -commonj/sdo/helper/EqualityHelper.class -commonj/sdo/helper/HelperContext.class -commonj/sdo/helper/TypeHelper.class -commonj/sdo/helper/XMLDocument.class -commonj/sdo/helper/XMLHelper.class -commonj/sdo/helper/XSDHelper.class -commonj/sdo/impl/ExternalizableDelegator$Resolvable.class -commonj/sdo/impl/ExternalizableDelegator.class -commonj/sdo/Property.class -commonj/sdo/Sequence.class -commonj/sdo/Type.class -xml/datagraph.xsd -xml/sdoJava.xml -xml/sdoJava.xsd -xml/sdoModel.xml -xml/sdoModel.xsd -xml/sdoXML.xml -xml/sdoXML.xsd - - -License for the Service Data Objects JavaDoc and Interface Definition files. - -The Service Data Objects Specification is being provided by the copyright holders under the following -license. By using and/or copying this work, you agree that you have read, understood and will comply with -the following terms and conditions: - -Permission to copy, display and distribute the Service Data Objects Specification and/or portions thereof, without -modification, in any medium without fee or royalty is hereby granted, provided that you include the -following on ALL copies of the Service Data Objects Specification, or portions thereof, that you make: - -1. A link or URL to the Service Data Objects Specification at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Service Data Objects Specification. - -BEA, IBM, Oracle, Primeton Technologies, Rogue Wave Software, SAP, Software AG, Sun Microsystems, Xcalia, -Zend Technologies (collectively, the “Authors”) agree to grant you a royalty-free license, under reasonable, -non-discriminatory terms and conditions to patents that they deem necessary to implement the Service Data -Objects Specification. - -THE Service Data Objects SPECIFICATION IS PROVIDED "AS IS," AND THE AUTHORS MAKE NO REPRESENTATIONS OR -WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SPECIFICATION AND THE IMPLEMENTATION OF ITS CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, -NON-INFRINGEMENT OR TITLE. THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL -OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THE SERVICE DATA OBJECTS -SPECIFICATION. - -The name and trademarks of the Authors may NOT be used in any manner, including advertising or publicity -pertaining to the Service Data Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects Specification will at all times remain with the -Authors. - -No other rights are granted by implication, estoppel or otherwise. -================================================================================ - diff --git a/java/sca/contrib/distribution/features/process/src/main/release/bin/NOTICE b/java/sca/contrib/distribution/features/process/src/main/release/bin/NOTICE deleted file mode 100644 index 5daa9a3dfe..0000000000 --- a/java/sca/contrib/distribution/features/process/src/main/release/bin/NOTICE +++ /dev/null @@ -1,95 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses XmlSchema developed at -The Apache Software Foundation (http://ws.apache.org/commons/XmlSchema) - Portions Copyright 2006 International Business Machines Corp. - -This product includes/uses ode-bpel-api-1.1 developed at -The Apache Software Foundation (http://ode.apache.org) - - Copyright 1999-2006 Intalio - This product includes software developed by Intalio (http://www.intalio.com) - - Copyright 2006 Sybase - This product includes software developed by Sybase.(http://www.sybase.com) - -"This product includes software developed by the Spring Framework - Project (http://www.springframework.org)." - -This product includes/uses the Jetty Servlet Engine (http://jetty.mortbay.org), -developed by Mort Bay Consulting (http://www.mortbay.com) - -This product includes/uses the Groovy Script Engine (http://groovy.codehaus.org/), -Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - -This product includes/uses the Axion : the Open Source Java Database (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. All rights reserved. - -This product includes/uses DOM4J : the flexible XML framework for java (http://www.dom4j.org/) - Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. - -This product includes/uses software, AOP alliance (http://aopalliance.sourceforge.net) -License: Public Domain - -This product includes/uses JSON-RPC-Java (http://oss.metaparadigm.com/jsonrpc/) - -This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) - Copyright (c) 2003-2004 Jan-Klaas Kollhof - Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd - -This product includes software from the GlassFish project (https://glassfish.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes software from the Rome project (https://rome.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes/uses the Eclipse Modeling Framework project (http://www.eclipse.org/emf/) - -This product includes/uses the Mozilla Rhino project (http://www.mozilla.org/rhino/) - -This product includes/uses the Sourceforge wsdl4j project (http://sourceforge.net/projects/wsdl4j/)i - -This product includes/uses the Codehaus JRuby project (http://jruby.codehaus.org/) - -This product includes/uses JDOM (http://www.jdom.org/) - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. All rights reserved. - -This product includes/uses DWR (http://getahead.org/dwr) - Copyright 2005 Joe Walker. All rights reserved. - -This product includes/uses dojotoolkit (http://dojotoolkit.org/) - Copyright (c) 2005, The Dojo Foundation. All rights reserved. - -This product includes/uses Howl (http://howl.objectweb.org/) - Copyright (c) 2004, Bull S.A. - -This product includes/uses axion (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. - -This product includes/uses javacc (https://javacc.dev.java.net/) - Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved. - -The Program includes all or portions of the following software: "The -Saxon XSLT and XQuery Processor from Saxonica Limited" distributed under -an MPL v1.0 license. Please refer to the homepage URL at -http://www.saxonica.com/. - -This product includes/uses Serp (http://serp.sourceforge.net/) under the BSD license: - Copyright (c) 2002, A. Abram White. All rights reserved. - -This product also includes software under the BSD license -with the following copyright: - Copyright (c) 2006, Sun Microsystems, Inc. All rights reserved. - -This product includes software under the Service Component Architecture JavaDoc, -Interface Definition files and XSD files license. - (c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - diff --git a/java/sca/contrib/distribution/features/process/src/main/release/src/BUILDING b/java/sca/contrib/distribution/features/process/src/main/release/src/BUILDING deleted file mode 100644 index 65d09c5eae..0000000000 --- a/java/sca/contrib/distribution/features/process/src/main/release/src/BUILDING +++ /dev/null @@ -1,55 +0,0 @@ -Building the Apache Tuscany SCA 1.2 (incubating) April 2008 Release source distribution -======================================================================================= - -Initial Setup -------------- - -1) Install J2SE 5.0 SDK, which can be downloaded from - http://java.sun.com/j2se/1.5.0/download.jsp. Use version of 1.5.0_06 JDK or higher. - -2) Make sure that your JAVA_HOME environment variable is set to the newly installed - JDK location, and that your PATH includes %JAVA_HOME%\bin (windows) or - $JAVA_HOME$/bin (unix). - -3) Install Maven 2.0.7 or higher, which can be downloaded from - http://maven.apache.org/download.html. Make sure that your PATH includes - the MVN_HOME/bin directory. - -4) Make sure that your MAVEN_OPTS environment variable has -Xmx128M (or more), - you can manually do this by executing the following in your prompt : - Windows users: - set MAVEN_OPTS=-Xmx128M - Unix users: - export MAVEN_OPTS=-Xmx128M - - -Building --------- - -1) Change to the top level directory of Apache Tuscany source distribution. -2) Run - - $> mvn - - This will compile Apache Tuscany and run all of the tests in the source - distribution. - - Depending on the load of remote Maven 2.0 repositories, you may have - to run "mvn" several times utill the required dependencies are - all located in your local maven repository. It usually takes some time for - maven to download required dependencies in the first build. Once all the - dependencies have been downloaded you may use the -o option to run maven - in offline mode, for example, 'mvn clean install -o'. - - -Building the distributions --------------------------- - -1) Change to the distribution folder -2) Run - - $> mvn - - This will build the binary and source distribution with .zip and .gz - formats in the distribution/target directory. - diff --git a/java/sca/contrib/distribution/features/process/src/main/release/src/LICENSE b/java/sca/contrib/distribution/features/process/src/main/release/src/LICENSE deleted file mode 100644 index 144d8ae692..0000000000 --- a/java/sca/contrib/distribution/features/process/src/main/release/src/LICENSE +++ /dev/null @@ -1,397 +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. - -=============================================================================================================== - -The module itest/databindings/common includes the test schema; datagraph.xsd, sdoJava.xsd, and sdoModel.xsd -under the following license: - -License for the Service Data Objects JavaDoc, Interface Definition files -and XSD files. - -The Service Data Objects JavaDoc, Interface Definition files and XSD files -are being provided by the copyright holders under the following license. -By using and/or copying this work, you agree that you have read, -understood and will comply with the following terms and conditions: - -Permission to copy, display, make derivative works of and distribute -the Service Data Objects JavaDoc, Interface Definition files and XSD files -(the "Artifacts") in any medium without fee or royalty is hereby granted, -provided that you include the following on ALL copies of the Artifacts, -or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - - - -THE ARTIFACTS ARE PROVIDED "AS IS" AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Data -Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects -Specification will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.11, last updated on 2007/12/21 - -================================================================================================================= - -The 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. - -================================================================================================================= - -The module assembly-xsd includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================================================= -The modules - -binding-ws-xml -databinding -databinding-axiom -databinding-jaxb -databinding-json -databinding-sdo -databinding-sdo-axiom -databinding-xmlbeans -interface-wsdl-xml - -Include the ipo.xsd and address.xsd information from the XML Schema Primer -(http://www.w3.org/TR/2004/PER-xmlschema-0-20040318/) combined into the -file ipo.xsd and extended with UK postcode structures. - -The ipo.xsd file is include under the following license: - -W3C(c) SOFTWARE NOTICE AND LICENSE -http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - -This work (and included software, documentation such as READMEs, or other -related items) is being provided by the copyright holders under the following -license. By obtaining, using and/or copying this work, you (the licensee) agree -that you have read, understood, and will comply with the following terms and conditions. - -Permission to copy, modify, and distribute this software and its documentation, -with or without modification, for any purpose and without fee or royalty is -hereby granted, provided that you include the following on ALL copies of the -software and documentation or portions thereof, including modifications: - - 1. The full text of this NOTICE in a location viewable to users of the - redistributed or derivative work. - 2. Any pre-existing intellectual property disclaimers, notices, or terms - and conditions. If none exist, the W3C Software Short Notice should be - included (hypertext is preferred, text is permitted) within the body of - any redistributed or derivative code. - 3. Notice of any changes or modifications to the files, including the date - changes were made. (We recommend you provide URIs to the location from which - the code is derived.) - -THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE -NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, -WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE -USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, -COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. - -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. - -The name and trademarks of copyright holders may NOT be used in advertising or -publicity pertaining to the software without specific, written prior permission. -Title to copyright in this software and any associated documentation will at all -times remain with copyright holders. diff --git a/java/sca/contrib/distribution/features/process/src/main/release/src/NOTICE b/java/sca/contrib/distribution/features/process/src/main/release/src/NOTICE deleted file mode 100644 index 31540fd607..0000000000 --- a/java/sca/contrib/distribution/features/process/src/main/release/src/NOTICE +++ /dev/null @@ -1,39 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) - Copyright (c) 2003-2004 Jan-Klaas Kollhof - Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd - -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. - -This product includes software under the Service Component Architecture JavaDoc, -Interface Definition files and XSD files license. - (c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - -This product includes software under the W3C(c) Software License -with the following copyright: - -Copyright (c) 2008 World Wide Web Consortium, (Massachusetts Institute of Technology, -European Research Consortium for Informatics and Mathematics, Keio University). -All Rights Reserved. This work is distributed under the W3C(c) Software License [1] in -the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied -warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - - diff --git a/java/sca/contrib/distribution/features/repository/pom.xml b/java/sca/contrib/distribution/features/repository/pom.xml deleted file mode 100644 index aaf96f99b1..0000000000 --- a/java/sca/contrib/distribution/features/repository/pom.xml +++ /dev/null @@ -1,180 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-distribution-features - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-distribution-repository - Apache Tuscany SCA Maven Repository Distribution - pom - - - - - org.apache.tuscany.sca - tuscany-distribution-all - pom - 2.0-SNAPSHOT - - - - - - - - default - - true - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - distribution-package - package - - single - - - - src/main/assembly/repository.xml - - gnu - apache-tuscany-sca-repository-1.4-SNAPSHOT - - - - - - - - - - - modules - - ../../../modules/assembly - ../../../modules/assembly-xml - ../../../modules/assembly-xsd - ../../../modules/binding-atom - ../../../modules/binding-atom-abdera - ../../../modules/binding-corba - ../../../modules/binding-corba-runtime - ../../../modules/binding-ejb - ../../../modules/binding-ejb-runtime - ../../../modules/binding-http - ../../../modules/binding-http-runtime - ../../../modules/binding-jms - ../../../modules/binding-jms-runtime - ../../../modules/binding-jsonrpc - ../../../modules/binding-jsonrpc-runtime - ../../../modules/binding-rss - ../../../modules/binding-rss-rome - ../../../modules/binding-sca - ../../../modules/binding-sca-axis2 - ../../../modules/binding-sca-xml - ../../../modules/binding-ws - ../../../modules/binding-ws-axis2 - ../../../modules/binding-ws-wsdlgen - ../../../modules/binding-ws-xml - ../../../modules/contribution - ../../../modules/contribution-impl - ../../../modules/contribution-java - ../../../modules/contribution-namespace - ../../../modules/contribution-resource - ../../../modules/contribution-xml - ../../../modules/core - ../../../modules/core-databinding - ../../../modules/core-spi - ../../../modules/data-api - ../../../modules/databinding - ../../../modules/databinding-axiom - ../../../modules/databinding-jaxb - ../../../modules/databinding-jaxb-axiom - ../../../modules/databinding-json - ../../../modules/databinding-saxon - ../../../modules/databinding-sdo - ../../../modules/databinding-sdo-axiom - ../../../modules/definitions - ../../../modules/definitions-xml - ../../../modules/domain-manager - ../../../modules/endpoint - ../../../modules/extensibility - ../../../modules/extensibility-equinox - ../../../modules/extension-helper - ../../../modules/host-corba - ../../../modules/host-corba-jse - ../../../modules/host-ejb - ../../../modules/host-embedded - ../../../modules/host-http - ../../../modules/host-jetty - ../../../modules/implementation-bpel - ../../../modules/implementation-bpel-ode - ../../../modules/implementation-ejb - ../../../modules/implementation-java - ../../../modules/implementation-java-runtime - ../../../modules/implementation-java-xml - ../../../modules/implementation-node - ../../../modules/implementation-node-runtime - ../../../modules/implementation-resource - ../../../modules/implementation-resource-runtime - ../../../modules/implementation-script - ../../../modules/implementation-spring - ../../../modules/implementation-widget - ../../../modules/implementation-widget-runtime - ../../../modules/implementation-xquery - ../../../modules/interface - ../../../modules/interface-java - ../../../modules/interface-java-jaxws - ../../../modules/interface-java-xml - ../../../modules/interface-wsdl - ../../../modules/interface-wsdl-xml - ../../../modules/monitor - ../../../modules/monitor-logging - ../../../modules/node-api - ../../../modules/node-impl - ../../../modules/node-launcher - ../../../modules/node-launcher-equinox - ../../../modules/node-launcher-webapp - ../../../modules/node-manager - ../../../modules/policy - ../../../modules/policy-security - ../../../modules/policy-security-ws - ../../../modules/policy-xml - ../../../modules/policy-xml-ws - ../../../modules/sca-api - ../../../modules/workspace - ../../../modules/workspace-impl - ../../../modules/workspace-xml - ../../../modules/xsd - ../../../modules/xsd-xml - - - - - diff --git a/java/sca/contrib/distribution/features/repository/src/main/assembly/repository.xml b/java/sca/contrib/distribution/features/repository/src/main/assembly/repository.xml deleted file mode 100644 index ed459500a8..0000000000 --- a/java/sca/contrib/distribution/features/repository/src/main/assembly/repository.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - true - tuscany-sca-1.4-SNAPSHOT - - - zip - - - - ../core/src/main/components/bin-common.xml - - - - - true - repository - - - diff --git a/java/sca/contrib/distribution/features/repository/src/main/components/src-modules.xml b/java/sca/contrib/distribution/features/repository/src/main/components/src-modules.xml deleted file mode 100644 index a893bf5ce8..0000000000 --- a/java/sca/contrib/distribution/features/repository/src/main/components/src-modules.xml +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - ../../../modules - modules - - assembly/**/* - assembly-xml/**/* - assembly-xsd/**/* - binding-atom/**/* - binding-atom-abdera/**/* - binding-corba/**/* - binding-corba-runtime/**/* - binding-ejb/**/* - binding-ejb-runtime/**/* - binding-http/**/* - binding-http-runtime/**/* - binding-jms/**/* - binding-jms-runtime/**/* - binding-jsonrpc/**/* - binding-jsonrpc-runtime/**/* - binding-rss/**/* - binding-rss-rome/**/* - binding-sca/**/* - binding-sca-axis2/**/* - binding-sca-xml/**/* - binding-ws/**/* - binding-ws-axis2/**/* - binding-ws-wsdlgen/**/* - binding-ws-xml/**/* - contribution/**/* - contribution-impl/**/* - contribution-java/**/* - contribution-namespace/**/* - contribution-resource/**/* - contribution-xml/**/* - core/**/* - core-databinding/**/* - core-spi/**/* - data-api/**/* - databinding/**/* - databinding-axiom/**/* - databinding-jaxb/**/* - databinding-jaxb-axiom/**/* - databinding-json/**/* - databinding-saxon/**/* - databinding-sdo/**/* - databinding-sdo-axiom/**/* - definitions/**/* - definitions-xml/**/* - distribution-all/**/* - distribution-core/**/* - distribution-ejava/**/* - distribution-manager/**/* - distribution-process/**/* - distribution-web20/**/* - distribution-webservice/**/* - domain-manager/**/* - endpoint/**/* - extensibility/**/* - extensibility-equinox/**/* - extension-helper/**/* - host-corba/**/* - host-corba-jse/**/* - host-ejb/**/* - host-embedded/**/* - host-http/**/* - host-jetty/**/* - implementation-bpel/**/* - implementation-bpel-ode/**/* - implementation-ejb/**/* - implementation-java/**/* - implementation-java-runtime/**/* - implementation-java-xml/**/* - implementation-node/**/* - implementation-node-runtime/**/* - implementation-resource/**/* - implementation-resource-runtime/**/* - implementation-script/**/* - implementation-spring/**/* - implementation-widget/**/* - implementation-widget-runtime/**/* - implementation-xquery/**/* - interface/**/* - interface-java/**/* - interface-java-jaxws/**/* - interface-java-xml/**/* - interface-wsdl/**/* - interface-wsdl-xml/**/* - java2wsdl/**/* - maven-ant-generator/**/* - maven-incremental-build/**/* - maven-java2wsdl/**/* - maven-wsdl2java/**/* - monitor/**/* - monitor-logging/**/* - node-api/**/* - node-impl/**/* - node-launcher/**/* - node-launcher-equinox/**/* - node-launcher-webapp/**/* - node-manager/**/* - policy/**/* - policy-security/**/* - policy-security-ws/**/* - policy-xml/**/* - policy-xml-ws/**/* - sca-api/**/* - workspace/**/* - workspace-impl/**/* - workspace-xml/**/* - wsdl2java/**/* - xsd/**/* - xsd-xml/**/* - - - - **/.* - **/.*/** - **/*.log - - - pom.xml - **/target - **/target/**/* - - - - diff --git a/java/sca/contrib/distribution/features/repository/src/main/release/CHANGES b/java/sca/contrib/distribution/features/repository/src/main/release/CHANGES deleted file mode 100644 index 3de7358ec6..0000000000 --- a/java/sca/contrib/distribution/features/repository/src/main/release/CHANGES +++ /dev/null @@ -1,431 +0,0 @@ -Changes With Apache Tuscany SCA 1.2 (incubating) April 2008 -=========================================================== - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-2027 - * TUSCANY-1999 - * TUSCANY-2037 - * TUSCANY-2034 - * TUSCANY-2038 - * TUSCANY-2043 - * TUSCANY-2046 - * TUSCANY-2047 - * TUSCANY-2028 - * TUSCANY-1873 - * TUSCANY-2049 - * TUSCANY-2035 - * TUSCANY-1206 - * TUSCANY-2036 - * TUSCANY-1771 - * TUSCANY-2013 - * TUSCANY-1926 - * TUSCANY-1917 - * TUSCANY-1949 - * TUSCANY-1941 - * TUSCANY-2045 - * TUSCANY-2057 - * TUSCANY-2055 - * TUSCANY-2056 - * TUSCANY-2072 - * TUSCANY-2047 - * TUSCANY-2073 - * TUSCANY-1977 - * TUSCANY-2075 - * TUSCANY-1894 - * TUSCANY-2079 - * TUSCANY-2078 - * TUSCANY-2080 - * TUSCANY-2068 - * TUSCANY-1950 - * TUSCANY-2077 - * TUSCANY-2056 - * TUSCANY-2088 - * TUSCANY-2086 - * TUSCANY-2094 - * TUSCANY-2106 - - Features and/or Enhancements - - * Core - - Interceptor Enhancements - - Phase-based interceptor ordering to allow contribution of new interceptors and also define the order in witch they should be invoked - - Pass-by-reference SPI to allow interceptors to indicate if they support pass-by-reference - - PolicyProvider SPIs to allow extensions to plugin policy interceptors - - Support for JAXWS annotations and mapping of faults to Java exceptions according to JAXWS specification - - Improvement of contribution service to allow it to be used outside of the runtime environment - - Support for Contribution Import/Export resource - - Enhanced Distributed Domain story using Workspace - - Implementation of a SCA domain allowing a system administrator to manage contributions, composites and sca nodes that run these composites - - Set of core services providing management capabilities - - Administration web interface - - This is a work in progress and you can see it in action in samples/calculator-distributed. Other samples that use distributed operation are yet to move over to the workspace. - - Enhanced support for SCA Policy spec - - Ability to apply external policy definitions to a SCA composition - - Ability to spread policy definitions to multiple definitions.xml files available across the sca domain - - Bug fixes - - Improvements of http binding to support servlet components - - Enable Tuscany to run inside an OSGi runtime - - * Web 2.0 Extensions - - Enhancements to implementation.widget (support for properties) - - New atom binding based on Apache Abdera - - Refactoring of rss-rome binding - * Other Extensions - - Binding JMS - - greatly simplified the use of the JMS binding, support locating JMS resources from JNDI, and better compliance with the SCA JMS binding spec - - see the doc page for more details: http://incubator.apache.org/tuscany/sca-java-bindingjms.html - - Enhancements to Binding RMI - - Support shared RMI registry and use 999x as the ports in test case to avoid 1099 conflict - - Enhancements to Groovy extension - - Support for 'native' groovy classes - - Enhancements to OSGi bundle contributions - - Support Bundle URLs to be added as contributions - - * Tools - - Eclipse plugin providing a Tuscany runtime Library and Tuscany launcher in Eclipse environment - - An updatesite is also available to facilitate the plugin installation using the Eclipse update manager - - * Samples/Tutorial/Demos - - calculator-distributed migrated to use new Tuscany Distributed Workspace - - sample-calculator-ws-secure-webapp - - sample-helloworld-jms-webapp - - new jms samples - - improve bigbank demo to include support for policies - - tutorial store changes - - use of import/export - - development of contribution without requiring dependencies on the Tuscany runtime - - usage of new sca domain infrastructure - - * Testing - - Web Container Testing Framework integrated with (Tomcat, Jetty, Geronimo and Websphere) - - -Changes With Apache Tuscany SCA 1.1 (incubating) January 2008 -=============================================================== - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-1939 - * TUSCANY-1914 - * TUSCANY-1854 - * TUSCANY-1931 - * TUSCANY-1547 - * TUSCANY-1909 - * TUSCANY-1919 - * TUSCANY-1930 - * TUSCANY-1806 - * TUSCANY-1804 - * TUSCANY-1916 - * TUSCANY-1913 - * TUSCANY-1834 - * TUSCANY-1857 - * TUSCANY-1687 - * TUSCANY-1801 - * TUSCANY-1742 - * TUSCANY-1762 - * TUSCANY-1945 - * TUSCANY-1595 - * TUSCANY-1594 - * TUSCANY-1849 - * TUSCANY-1836 - * TUSCANY-1934 - * TUSCANY-1902 - * TUSCANY-1608 - * TUSCANY-1943 - * TUSCANY-1896 - * TUSCANY-1626 - * TUSCANY-1797 - * TUSCANY-1601 - * TUSCANY-1415 - -- Better JMS support - * binding.jms supporting point to point text based messaging only - * New SOAP/JMS sample (helloworld-ws-reference/service-jms) - -- Improvements in PolicyFramework Support - * Support for policy specifications on operation elements in a composite definition - * Separate sample (calculator-implementation-policies) to demonstrate use of Implementation Policies - (uses logging and JAAS Authentication) - -- Modeling of client side java script components - * See implementation.widget - -- Evolving support for doman API suggested by assembly spec including a standalone node and nodes running - connected together in a domain. This is still experimental. - -- Class loading and OSGI improvements - * Enable Tuscany to be run in a multi-classloader environment including inside OSGi. By default, - Tuscany continues to run using a single CLASSPATH-based classloader. - * Contributions no longer need to be in the CLASSPATH. All import/export dependencies across contributions should be - explicitly specified (as described in the spec). - -- JAXB based POJO transformations - -Changes With Apache Tuscany SCA 1.0.1 (incubating) November 2007 -================================================================ - -The Tuscany SCA Java 1.0.1 is mainly a bug-fix release. It also comes with some improvements as listed below. - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-1848 - * TUSCANY-1857 - * TUSCANY-1859 - * TUSCANY-1801 - * TUSCANY-1823 - * TUSCANY-1839 - * TUSCANY-1814 - * TUSCANY-1818 - * TUSCANY-1834 - * TUSCANY-1637 - * TUSCANY-1826 - * TUSCANY-1823 - * TUSCANY-1819 - * TUSCANY-1821 - * TUSCANY-1822 - * TUSCANY-1806 - * TUSCANY-1808 - * TUSCANY-1756 - * TUSCANY-1757 - -- Fix build issues with Maven 2.0.7 and JDK 6 - -- Reduce memory consumption for WSDLs that import large XSDs - -- Add more logging statements for better servicibility - -- Add an extension point to allow extensions to plug-in extension schemas. - -- Add a demo application to showcase XML integration story - -- Improve in databinding framework - * Add support for JSON Databindings and other refactoring - * Set databinding for introspected data type and enhance the checking of wrapper style - * Improve the tree-based XMLStreamReader and convert Bean & DOM to use this approach - * Add a tree-iterator based XMLStreamReader base impl - * Add default element info to java interface - * Rename Interface.setDefaultDataBinding to resetDataBinding - -- Limit the method injection to setters and allow the setter annotation to override field annotation - -- Evolving support in Intent and Policy handling - * Add support for policies in implementation - * Fix the algorithm for macthing policySets defined on bindings for the wire - * Add policy intent for implementation.java - * Extend java implementation type to recognize and apply policies, adding util support for this in Policy module - * Add policy module for logging - -- Evolving development in the SCA Domain/Node - -- Update NOTICE files with missing dependencies - - -Changes With Apache Tuscany SCA 1.0 (incubating) September 2007 -=============================================================== - -- Tuscany Java SCA now implements V1.0 of the core SCA - specifications - SCA Assembly Model V1.0 - SCA Java Common Annotations and APIs V1.0 - SCA Java Component Implementation V1.0 - SCA Web Services Binding V1.0 - Including callbacks, conversations and callable references - - -- Support for ws-security configurable in the web services binding - thro Tuscany SCA policy intents and policysets using the policy framework - introduced in the last release. - - Note : This release supports specifications of policies around axis2 - config params - see helloworld-ws-service-secure sample. The policy - intents that have been tested are authentication, integrity and - confidentiality. - There is no sample or test that exercises confidentiality since there - are some unresolved licensing issue around bouncycastle libraries. - However, users who are not encumbered by the bouncycastle license - restrictions can try the 'confidentiality' intent. See FAQ - - http://incubator.apache.org/tuscany/tuscany-sca-java-faq.html - - This release does not include support for WS-Policy - attachments in Tuscany Policysets for ws-security. - - -- An XQuery component implementation type - implementation-xquery - - -- A Databinding for converting data to and from nodes for XQuery - processing - databinding-saxon - - -- OSGI support has been extended to allow Tuscany contributions - packaged as OSGI bundles hence taking advantage of OSGI's bundle - loading an dependency management capabilities - - -- A BPEL component implementation type experimental implementation -based on SCA BPEL Client and Implementation V1.0. At the moment only -supports BPEL process as services. - implementation-bpel - - -- The distributed runtime implementation has been separated out - into - *) domain - *) node - It is now wrapped by a SCADomain interface as is the standalone - runtime. - - Note: This release does not include support for WebApp host deployment - for a distributed SCA Domain - - - -- The web service binding will now generate WSDL automatically - based on the service interface if no WSDL is provided - - -- A new "store" sample and associated document show how a - simple store front application can be constructed - samples/store - -- The following features of this release are still experimental: - - BPEL implementation type, integrating with Apache ODE - - OSGI implementation type, integrating with Apache Felix - - XQuery implementation type - - - -Changes With Apache Tuscany SCA 0.99 (incubating) August 2007 -============================================================= - -The following are the significant additions to release 0.99 -over and above all of what was offered in release 0.91. - -- A version of the default sca binding that works between - components runing in separate Java virtual machines - binding-sca-axis - -- A simple node implementation and a service discovery - function for running sca applications distributed - across more than one node - distributed - distributed-impl - -- integration with OSGi runtimes is now supported with - a new implementation-osgi component type - -- PUB/SUB interactions are now supported by using new - notification binding and implementation types, and - samples demonstrating the feature. - -- The Tuscany runtime now has a policy framework supporting - the SCA policy specification - -- the endpoint URIs used by SCA bindings has been rationalized - and now follows the SCA Assembly specification - -- binding-ajax has been renamed to binding-dwr - -Changes With Apache Tuscany SCA 0.91 (incubating) July 2007 -=========================================================== - -The following are the significant additions to release 0.91 -over and above all of what was offered in release 0.90. - - -- Enhancements to support multiple contributions to the SCA Domain - -- The inclusion of a alternative simplified extensions-helper -SPI layer to faciliate rapid development of extensions - -- More Implementation Extenstions - Spring - WebResource - -- More Binding Extensions - AJAX - EJB - RSS/ATOM Feeds - -- Demos that demonstrate the use of a mix of extensions - alert-aggregator-webapp - bigbank-account - bigbank-calculator - bigbank-stockquote - - -- Samples - Samples to demostrate use of Spring, Resource, AJAX extensions - -Changes With Apache Tuscany SCA 0.90 (incubating) June 2007 -=========================================================== - -- Implementations for all of the Java Annotations and API Specification V1.0 found at - (http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications) - apart from the following. - @ComponentName - Conversation - RequestContext - -- New assembly model implementation taking into account SCA 1.0 artifacts - Data duplication between assembly model and runtime removed - -- Simple single process domain support - Contribution support to scope items being deployed into the runtime - -- Improved Package/Class naming consistency across modules - -- Extensions now loaded via Java service mechanism - Refactored extensions to use new SPIs (see below) - -- Maven and Ant based sample builds in the binary distribution - -- Implementation Extensions - Java - Script supporting (Ruby, Python, Groovy, JavaScript) - -- Binding Extensions - Axis2 - RMI - JSONRPC - --Databinding Extensions - Axiom - JAXB - SDO - -- Host environments - Embedded - Tomcat - Jetty - RMI - -- A clear set of SPIs intended to be stable over future releases - SCA assembly model - org.apache.tuscany.sca.assembly - org.apache.tuscany.sca.interfacedef - org.apache.tuscany.sca.interfacedef.java - org.apache.tuscany.sca.interfacedef.wsdl - org.apache.tuscany.sca.policy - - SCA contribution model - org.apache.tuscany.sca.contribution - - Runtime extensions - org.apache.tuscany.sca.core - org.apache.tuscany.sca.invocation - org.apache.tuscany.sca.provider - org.apache.tuscany.sca.runtime - org.apache.tuscany.sca.work - - Data binding support - org.apache.tuscany.sca.databinding - - Embedding Tuscany - org.apache.tuscany.sca.host.embedded - - Servlet container integration - org.apache.tuscany.sca.http - -- For this point release a partial set of JavaDoc is provided to - be filled out as we close on release 1.0 diff --git a/java/sca/contrib/distribution/features/repository/src/main/release/DISCLAIMER b/java/sca/contrib/distribution/features/repository/src/main/release/DISCLAIMER deleted file mode 100644 index a65af91c5a..0000000000 --- a/java/sca/contrib/distribution/features/repository/src/main/release/DISCLAIMER +++ /dev/null @@ -1,7 +0,0 @@ -Apache Tuscany is an effort undergoing incubation at The Apache Software -Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is -required of all newly accepted projects until a further review indicates that -the infrastructure, communications, and decision making process have stabilized -in a manner consistent with other successful ASF projects. While incubation -status is not necessarily a reflection of the completeness or stability of the -code, it does indicate that the project has yet to be fully endorsed by the ASF. \ No newline at end of file diff --git a/java/sca/contrib/distribution/features/repository/src/main/release/README b/java/sca/contrib/distribution/features/repository/src/main/release/README deleted file mode 100644 index 4d83dcfde9..0000000000 --- a/java/sca/contrib/distribution/features/repository/src/main/release/README +++ /dev/null @@ -1,19 +0,0 @@ -Apache Tuscany SCA 1.2 (incubating) April 2008 README -===================================================== - -Welcome to the Tuscany SCA 1.2 release. - -See the RELEASE_NOTES file for information specific to this release. - -In the binary release see the INSTALL file for information on how to -install the release. - -In the source distribution see the BUILDING file for information on -building the source code. - - - - - - - diff --git a/java/sca/contrib/distribution/features/repository/src/main/release/RELEASE_NOTES b/java/sca/contrib/distribution/features/repository/src/main/release/RELEASE_NOTES deleted file mode 100644 index a04ef5c553..0000000000 --- a/java/sca/contrib/distribution/features/repository/src/main/release/RELEASE_NOTES +++ /dev/null @@ -1,83 +0,0 @@ -Apache Tuscany SCA 1.2 (incubating) April 2008 Release Notes -============================================================ - -Apache Tuscany provides a runtime based on the Service Component -Architecture. SCA is a set of specifications aimed at simplifying SOA -Application Development which are being standardized at OASIS as part -of Open Composite Services Architecture (Open CSA) - http://www.oasis-opencsa.org/. - -Overview --------- - - The Apache Tuscany SCA 1.2 release includes implementations of the - main SCA specifications including: - - SCA Assembly Model V1.0 - SCA Policy Framework V1.0 - SCA Java Common Annotations and APIs V1.0 - SCA Java Component Implementation V1.0 - SCA Spring Component Implementation V1.0 - SCA BPEL Client and Implementation V1.0 - SCA Web Services Binding V1.0 - SCA EJB Session Bean Binding V1.0 - - It also includes implementations of many features not yet defined - by SCA specifications, including: - - - SCA bindings for Direct Web Remoting, RSS and ATOM Feeds, - HTTP resources, JSON-RPC, PUB/SUB Notifications, and RMI. - - SCA implementation types for OSGI, XQuery, BPEL, Widget and various - dynamic languages including Groovy, Javascript, Python and Ruby - - Databindings for Service Data Objects (SDO), JAXB, XmlBeans, - Axis2's AXIOM, JSON, SAXON, DOM, SAX and StAX - - The Tuscany SCA Runtime can be configured as a single node SCA domain or - as an SCA domain distributed across multiple nodes. - In addition Tuscany SCA supports the following host-deployment options: - - - running standalone - - running with distributed nodes across multiple JVMs - - running with embedded Jetty or Tomcat - - running as part of a standard web application - - The Wepapp samples included in this release have been tried and tested on - - Tomcat 5.5.20 and Tomcat 6.0.14 - - Jetty 6.1.3 - - Geronimo 2.0.2 Tomcat6 jee5 - - WebSphere 6.1 fix pack 9 - -See the CHANGES file for a detailed list of the features in this release. - -Support -------- - -For more information on Apache Tuscany visit the website at: - - http://incubator.apache.org/tuscany/ - -Any issues with this release can be reported to Apache Tuscany -using the mailing lists or in the JIRA issue tracker. - - Mailing list archives: - - http://mail-archives.apache.org/mod_mbox/ws-tuscany-user/ - http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev/ - - Jira: - - http://issues.apache.org/jira/browse/TUSCANY - -To join the project's mailing lists follow the instructions at: - - http://incubator.apache.org/tuscany/mailing-lists.html - -To find out more about OASIS Open CSA go to: - - http://www.oasis-opencsa.org. - -Apache Tuscany welcomes your help. Any contribution, including code, -testing, improving the documentation, or bug reporting is always -appreciated. - -Thank you for using Apache Tuscany! - -- The Tuscany Team. diff --git a/java/sca/contrib/distribution/features/repository/src/main/release/bin/INSTALL b/java/sca/contrib/distribution/features/repository/src/main/release/bin/INSTALL deleted file mode 100644 index 2da53a2b44..0000000000 --- a/java/sca/contrib/distribution/features/repository/src/main/release/bin/INSTALL +++ /dev/null @@ -1,27 +0,0 @@ -Installing the Apache Tuscany SCA 1.2 (incubating) April 2008 Release binary distribution -========================================================================================= - -Unzip Tuscany binary distribution archive and you get the following: - -tuscany-sca-1.1-incubating - DISCLAIMER - the ASF incubation disclaimer - INSTALL - this help file - LICENSE - the Apache License and any dependecy licenses - NOTICE - attribution notices associated with the licenses - README - readme for the release - RELEASE_NOTES - description of this release - CHANGES - A note of the major changes in this release - - /demos - Demo applications showcasing the use of Apache Tuscany - - /lib - The tuscany-sca-all and tuscany-sca-manifest jars and all their dependencies - - /modules - all of the individual Tuscany jars - - /samples - all the Tuscany samples, see the README in that directory - - /tutorial - The store tutorial, see the README in that directory - - - - diff --git a/java/sca/contrib/distribution/features/repository/src/main/release/bin/LICENSE b/java/sca/contrib/distribution/features/repository/src/main/release/bin/LICENSE deleted file mode 100644 index 5e1f585d46..0000000000 --- a/java/sca/contrib/distribution/features/repository/src/main/release/bin/LICENSE +++ /dev/null @@ -1,2366 +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 SUBCOMPONENTS: - -The Apache Tuscany binary distribution includes a number of subcomponents -with separate copyright notices and license terms. Your use of the -code for the these subcomponents is subject to the terms and -conditions of the following licenses. - -=============================================================================== - -The following components come under Apache Software License 1.1 - - commons-discovery-0.2.jar - commons-primitives-1.0.jar - -The following components come under Apache Software License 2.0 - - abdera-core-0.3.0-incubating.jar - abdera-i18n-0.3.0-incubating.jar - abdera-parser-0.3.0-incubating.jar - activeio-2.0-r118.jar - activeio-core-3.0.0-incubator.jar - apache-activemq-4.1.1.jar - addressing-1.3.mar - annogen-0.1.0.jar - annotations-api-6.0.14.jar - aopalliance-1.0.jar - axiom-api-1.2.5.jar - axiom-dom-1.2.5.jar - axiom-impl-1.2.5.jar - axis2-adb-1.3.jar - axis2-codegen-1.3.jar - axis2-java2wsdl-1.3.jar - axis2-kernel-1.3.jar - axis2-mtompolicy-1.3.jar - bsf-all-3.0-beta2.jar - catalina-6.0.14.jar - cglib-nodep-2.1_3.jar - commons-collections-3.1.jar - commons-codec-1.3.jar - commons-fileupload-1.1.1.jar - commons-httpclient-3.0.1.jar - commons-io-1.2.jar - commons-jexl-1.1.jar - commons-lang-2.1.jar - commons-logging-1.1.jar - coyote-6.0.14.jar - derby-10.1.3.1.jar - geronimo-activation_1.1_spec-1.0-M1.jar - geronimo-common-1.2-beta.jar - geronimo-commonj_1.1_spec-1.0.jar - geronimo-connector-1.2-beta.jar - geronimo-core-1.2-beta.jar - geronimo-deployment-1.2-beta.jar - geronimo-ejb_3.0_spec-1.0.jar - geronimo-interceptor-1.2-beta.jar - geronimo-j2ee-1.2-beta.jar - geronimo-j2ee-connector_1.5_spec-1.1.jar - geronimo-j2ee-jacc_1.0_spec-1.1.jar - geronimo-j2ee-management_1.0_spec-1.1.jar - geronimo-javamail_1.4_spec-1.0-M1.jar - geronimo-jms_1.1_spec-1.1.jar - geronimo-jpa_3.0_spec-1.0.jar - geronimo-jta_1.0.1B_spec-1.0.jar - geronimo-kernel-1.2-beta.jar - geronimo-management-1.2-beta.jar - geronimo-naming-1.2-beta.jar - geronimo-security-1.2-beta.jar - geronimo-spec-j2ee-connector-1.5-rc4.jar - geronimo-spec-jta-1.0.1B-rc4.jar - geronimo-system-1.2-beta.jar - geronimo-transaction-1.2-beta.jar - geronimo-util-1.2-beta.jar - httpcore-4.0-alpha5.jar - httpcore-nio-4.0-alpha5.jar - httpcore-niossl-4.0-alpha5.jar - jettison-1.0-RC2.jar - jetty-6.1.7.jar - jetty-util-6.1.7.jar - json-rpc-1.0.jar - juli-6.0.14.jar - log4j-1.2.12.jar - logkit-1.0.1.jar - neethi-2.0.2.jar - ode-bpel-api-1.1.jar - ode-bpel-compiler-1.1.jar - ode-bpel-dao-1.1.jar - ode-bpel-epr-1.1.jar - ode-bpel-obj-1.1.jar - ode-bpel-runtime-1.1.jar - ode-bpel-schemas-1.1.jar - ode-bpel-store-1.1.jar - ode-dao-jpa-1.1.jar - ode-dao-jpa-ojpa-derby-1.1.zip - ode-jacob-1.1.jar - ode-jacob-ap-1.1.jar - ode-scheduler-simple-1.1.jar - ode-utils-1.1.jar - openjpa-all-0.9.7-incubating.jar - openjpa-persistence-0.9.7-incubating.jar - org.apache.felix.bundlerepository-1.0.2.jar - org.apache.felix.framework-1.0.3.jar - org.apache.felix.main-1.0.3.jar - org.apache.felix.shell-1.0.0.jar - org.apache.felix.shell.tui-1.0.0.jar - rampart-core-1.3.jar - rampart-policy-1.3.jar - rampart-trust-1.3.jar - regexp-1.3.jar - spring-beans-2.0.6.jar - spring-context-2.0.6.jar - spring-core-2.0.6.jar - tranql-connector-1.1.jar - tuscany-sdo-api-r2.1-1.0-incubating.jar - tuscany-sdo-impl-1.0-incubating.jar - tuscany-sdo-lib-1.0-incubating.jar - tuscany-sdo-tools-1.0-incubating.jar - woden-1.0-incubating-M7b.jar - wss4j-1.5.3.jar - wstx-asl-3.2.1.jar - xalan-2.7.0.jar - xbean-naming-2.7.jar - xercesImpl-2.8.1.jar - xml-apis-1.3.03.jar - xmlbeans-2.3.0.jar - xml-resolver-1.1.jar - xmlsec-1.4.0.jar - XmlSchema-1.3.2.jar - -=============================================================================== -axion-1.0-M3-dev.jar - -Copyright (c) 2002-2003 Axion Development Team. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - -2. 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. - -3. The names "Tigris", "Axion", nor the names of its contributors may - not be used to endorse or promote products derived from this - software without specific prior written permission. - -4. Products derived from this software may not be called "Axion", nor - may "Tigris" or "Axion" appear in their names 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. - -The "Axion Development Team" is defined to be: - - * Chuck Burdick - * James Burke - * Morgan Delagrange - * Geir Magnusson Jr. - * Martin Poeschl - * Steve Polyak - * Daniel Rall - * Ahimanikya Satapathy - * Doug Sale - * James Strachan - * Rodney Waldhoff - * Jason van Zyl - -License changes are to be determined by a simple majority vote of the -Axion Development Team. - -=============================================================================== -dom4j-1.6.1.jar - -Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. - -Redistribution and use of this software and associated documentation -("Software"), with or without modification, are permitted provided -that the following conditions are met: - -1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - -2. 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. - -3. The name "DOM4J" must not be used to endorse or promote - products derived from this Software without prior written - permission of MetaStuff, Ltd. For written permission, - please contact dom4j-info@metastuff.com. - -4. Products derived from this Software may not be called "DOM4J" - nor may "DOM4J" appear in their names without prior written - permission of MetaStuff, Ltd. DOM4J is a registered - trademark of MetaStuff, Ltd. - -5. Due credit should be given to the DOM4J Project - - http://www.dom4j.org - -THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS -``AS IS'' AND ANY EXPRESSED 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 -METASTUFF, LTD. OR ITS 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. - -=============================================================================== - -The EMF jars; - codegen-2.2.3.jar - codegen-ecore-2.2.3.jar - common-2.2.3.jar - ecore-2.2.3.jar - ecore-change-2.2.3.jar - ecore-xmi-2.2.3.jar - xsd-2.2.3.jar - -Eclipse Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF -THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - -a) in the case of the initial Contributor, the initial code and -documentation distributed under this Agreement, and -b) in the case of each subsequent Contributor: - -i) changes to the Program, and - -ii) additions to the Program; - -where such changes and/or additions to the Program originate from and -are distributed by that particular Contributor. A Contribution -'originates' from a Contributor if it was added to the Program by such -Contributor itself or anyone acting on such Contributor's behalf. -Contributions do not include additions to the Program which: (i) are -separate modules of software distributed in conjunction with the -Program under their own license agreement, and (ii) are not derivative -works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor -which are necessarily infringed by the use or sale of its Contribution -alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this -Agreement. - -"Recipient" means anyone who receives the Program under this -Agreement, including all Contributors. - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free copyright -license to reproduce, prepare derivative works of, publicly display, -publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and -object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free patent -license under Licensed Patents to make, use, sell, offer to sell, -import and otherwise transfer the Contribution of such Contributor, if -any, in source code and object code form. This patent license shall -apply to the combination of the Contribution and the Program if, at -the time the Contribution is added by the Contributor, such addition -of the Contribution causes such combination to be covered by the -Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder. - -c) Recipient understands that although each Contributor grants the -licenses to its Contributions set forth herein, no assurances are -provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow -Recipient to distribute the Program, it is Recipient's responsibility -to acquire that license before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient -copyright rights in its Contribution, if any, to grant the copyright -license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form -under its own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties -and conditions, express and implied, including warranties or -conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability -for damages, including direct, indirect, special, incidental and -consequential damages, such as lost profits; - -iii) states that any provisions which differ from this Agreement are -offered by that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such -Contributor, and informs licensees how to obtain it in a reasonable -manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the -Program. - -Contributors may not remove or alter any copyright notices contained -within the Program. - -Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a -commercial product offering should do so in a manner which does not -create potential liability for other Contributors. Therefore, if a -Contributor includes the Program in a commercial product offering, -such Contributor ("Commercial Contributor") hereby agrees to defend -and indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") arising -from claims, lawsuits and other legal actions brought by a third party -against the Indemnified Contributor to the extent caused by the acts -or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. -In order to qualify, an Indemnified Contributor must: a) promptly -notify the Commercial Contributor in writing of such claim, and b) -allow the Commercial Contributor to control, and cooperate with the -Commercial Contributor in, the defense and any related settlement -negotiations. The Indemnified Contributor may participate in any such -claim at its own expense. - -For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED 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. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable -laws, damage to or loss of data, programs or equipment, and -unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR -ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), 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 OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further -action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that -the Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of -the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of -time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use -and distribution of the Program as soon as reasonably practicable. -However, Recipient's obligations under this Agreement and any licenses -granted by Recipient relating to the Program shall continue and -survive. - -Everyone is permitted to copy and distribute copies of this Agreement, -but in order to avoid inconsistency the Agreement is copyrighted and -may only be modified in the following manner. The Agreement Steward -reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement -Steward has the right to modify this Agreement. The Eclipse Foundation -is the initial Agreement Steward. The Eclipse Foundation may assign -the responsibility to serve as the Agreement Steward to a suitable -separate entity. Each new version of the Agreement will be given a -distinguishing version number. The Program (including Contributions) -may always be distributed subject to the version of the Agreement -under which it was received. In addition, after a new version of the -Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives -no rights or licenses to the intellectual property of any Contributor -under this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No -party to this Agreement will bring a legal action under this Agreement -more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation. - -=============================================================================== -For Saxon including - saxon-8.7.jar - saxon-dom-8.7.jar - saxon-xpath-8.7.jar - - MOZILLA PUBLIC LICENSE -Version 1.0 - -1. Definitions. - - 1.1. ``Contributor'' means each entity that creates or contributes to the creation of Modifications. - - 1.2. ``Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor. - - 1.3. ``Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof. - - 1.4. ``Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data. - - 1.5. ``Executable'' means Covered Code in any form other than Source Code. - - 1.6. ``Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A. - - 1.7. ``Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License. - - 1.8. ``License'' means this document. - - 1.9. ``Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is: - - A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or previous Modifications. - - 1.10. ``Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License. - - 1.11. ``Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge. - - 1.12. ``You'' means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, ``You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, ``control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (``Utilize'') the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - - 2.2. Contributor Grant. - Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - - (a) Third Party Claims. - If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled ``LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation (``Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License. - - 6.3. Derivative Works. - If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a ``commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer software'' and ``commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the United States of America: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Santa Clara County, California, under the auspices of JAMS/EndDispute; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. - -12. RESPONSIBILITY FOR CLAIMS. - - Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis. - -EXHIBIT A. - - ``The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved. - - Contributor(s): ______________________________________.'' - -=============================================================================== - -For the Rhino JavaScript engine js-1.6R7.jar: - - MOZILLA PUBLIC LICENSE - Version 1.1 - - --------------- - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Code, prior Modifications used by a Contributor, and the Modifications - made by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified - as the Initial Developer in the Source Code notice required by Exhibit - A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - A. Any addition to or deletion from the contents of a file - containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, - and apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated interface definition files, scripts used to control - compilation and installation of an Executable, or source code - differential comparisons against either the Original Code or another - well known, available Covered Code of the Contributor's choice. The - Source Code can be in a compressed or archival form, provided the - appropriate decompression or de-archiving software is widely available - for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - For legal entities, "You" includes any entity which controls, is - controlled by, or is under common control with You. For purposes of - this definition, "control" means (a) the power, direct or indirect, - to cause the direction or management of such entity, whether by - contract or otherwise, or (b) ownership of more than fifty percent - (50%) of the outstanding shares or beneficial ownership of such - entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer to use, reproduce, - modify, display, perform, sublicense and distribute the Original - Code (or portions thereof) with or without Modifications, and/or - as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or - selling of Original Code, to make, have made, use, practice, - sell, and offer for sale, and/or otherwise dispose of the - Original Code (or portions thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are - effective on the date Initial Developer first distributes - Original Code under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: 1) for code that You delete from the Original Code; 2) - separate from the Original Code; or 3) for infringements caused - by: i) the modification of the Original Code or ii) the - combination of the Original Code with other software or devices. - - 2.2. Contributor Grant. - Subject to third party intellectual property claims, each Contributor - hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor, to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications - created by such Contributor (or portions thereof) either on an - unmodified basis, with other Modifications, as Covered Code - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or - selling of Modifications made by that Contributor either alone - and/or in combination with its Contributor Version (or portions - of such combination), to make, use, sell, offer for sale, have - made, and/or otherwise dispose of: 1) Modifications made by that - Contributor (or portions thereof); and 2) the combination of - Modifications made by that Contributor with its Contributor - Version (or portions of such combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are - effective on the date Contributor first makes Commercial Use of - the Covered Code. - - (d) Notwithstanding Section 2.2(b) above, no patent license is - granted: 1) for any code that Contributor has deleted from the - Contributor Version; 2) separate from the Contributor Version; - 3) for infringements caused by: i) third party modifications of - Contributor Version or ii) the combination of Modifications made - by that Contributor with other software (except as part of the - Contributor Version) or other devices; or 4) under Patent Claims - infringed by Covered Code in the absence of Modifications made by - that Contributor. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, - Contributor must include a text file with the Source Code - distribution titled "LEGAL" which describes the claim and the - party making the claim in sufficient detail that a recipient will - know whom to contact. If Contributor obtains such knowledge after - the Modification is made available as described in Section 3.2, - Contributor shall promptly modify the LEGAL file in all copies - Contributor makes available thereafter and shall take other steps - (such as notifying appropriate mailing lists or newsgroups) - reasonably calculated to inform those who received the Covered - Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming - interface and Contributor has knowledge of patent licenses which - are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to - Section 3.4(a) above, Contributor believes that Contributor's - Modifications are Contributor's original creation(s) and/or - Contributor has sufficient rights to grant the rights conveyed by - this License. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. However, You - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear than - any such warranty, support, indemnity or liability obligation is - offered by You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred by the - Initial Developer or such Contributor as a result of warranty, - support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under a license of Your choice, which may - contain terms different from this License, provided that You are in - compliance with the terms of this License and that the license for the - Executable version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version under a different - license You must make it absolutely clear that any terms which differ - from this License are offered by You alone, not by the Initial - Developer or any Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such - terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code - not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised - and/or new versions of the License from time to time. Each version - will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Netscape. No one - other than Netscape has the right to modify the terms applicable to - Covered Code created under this License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must (a) rename Your license so that - the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", - "MPL", "NPL" or any confusingly similar phrase do not appear in your - license (except to note that your license differs from this License) - and (b) otherwise make it clear that Your version of the license - contains terms which differ from the Mozilla Public License and - Netscape Public License. (Filling in the name of the Initial - Developer, Original Code or Contributor in the notice described in - Exhibit A shall not of themselves be deemed to be modifications of - this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE - IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, - YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE - COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER - OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, - all end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, - OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR - ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY - CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, - WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" and "commercial computer software documentation," as such - terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 - C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), - all U.S. Government End Users acquire Covered Code with only those - rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, with the losing party responsible for costs, including - without limitation, court costs and reasonable attorneys' fees and - expenses. The application of the United Nations Convention on - Contracts for the International Sale of Goods is expressly excluded. - Any law or regulation which provides that the language of a contract - shall be construed against the drafter shall not apply to this - License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the NPL or the alternative licenses, if any, specified - by the Initial Developer in the file described in Exhibit A. - -EXHIBIT A -Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License - Version 1.1 (the "License"); you may not use this file except in - compliance with the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - License for the specific language governing rights and limitations - under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. - Portions created by ______________________ are Copyright (C) ______ - _______________________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those - above. If you wish to allow use of your version of this file only - under the terms of the [____] License and not to allow others to use - your version of this file under the MPL, indicate your decision by - deleting the provisions above and replace them with the notice and - other provisions required by the [___] License. If you do not delete - the provisions above, a recipient may use your version of this file - under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] - - -=============================================================================== -Groovy (groovy-all-minimal-1.5.4.jar): - -/* - $Id: LICENSE.txt 156 2003-09-26 17:36:37Z jstrachan $ - - Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - - Redistribution and use of this software and associated documentation - ("Software"), with or without modification, are permitted provided - that the following conditions are met: - - 1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - - 2. 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. - - 3. The name "groovy" must not be used to endorse or promote - products derived from this Software without prior written - permission of The Codehaus. For written permission, - please contact info@codehaus.org. - - 4. Products derived from this Software may not be called "groovy" - nor may "groovy" appear in their names without prior written - permission of The Codehaus. "groovy" is a registered - trademark of The Codehaus. - - 5. Due credit should be given to The Codehaus - - http://groovy.codehaus.org/ - - THIS SOFTWARE IS PROVIDED BY THE CODEHAUS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESSED 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 CODEHAUS OR ITS 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. - - */ - -=============================================================================== - -Jython (jython-2.2.jar): - -A. HISTORY OF THE SOFTWARE -======================= - -JPython was created in late 1997 by Jim Hugunin. Jim was also the -primary developer while he was at CNRI. In February 1999 Barry Warsaw -took over as primary developer and released JPython version 1.1. - -In October 2000 Barry helped move the software to SourceForge -where it was renamed to Jython. Jython 2.0 and on are licensed under -the Jython specific license below. - -The standard library is covered by the Python Software Foundation -license. See the LICENSE_CPython.txt file for details. - -The zxJDBC package was written by Brian Zimmer and originally licensed -under the GNU Public License. The package is now covered by the Jython -Software License. - -The command line interpreter is covered by the Apache Software -License. See the LICENSE_Apache.txt file for details. - -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING JYTHON -================================ - -Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Jython Developers -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 Jython Developers nor the names of - its 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 REGENTS 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. - - - - -JPython 1.1.x Software License. -========================= - -______________________________________________________________________ - -IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. - -BY CLICKING ON THE "ACCEPT" BUTTON WHERE INDICATED, OR BY INSTALLING, -COPYING OR OTHERWISE USING THE SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO -THE TERMS AND CONDITIONS OF THIS AGREEMENT. - -______________________________________________________________________ - -JPython version 1.1.x - - 1. This LICENSE AGREEMENT is between the Corporation for National Research - Initiatives, having an office at 1895 Preston White Drive, Reston, VA - 20191 ("CNRI"), and the Individual or Organization ("Licensee") - accessing and using JPython version 1.1.x in source or binary form and - its associated documentation as provided herein ("Software"). - - 2. Subject to the terms and conditions of this License Agreement, CNRI - hereby grants Licensee a non-exclusive, non-transferable, royalty-free, - world-wide license to reproduce, analyze, test, perform and/or display - publicly, prepare derivative works, distribute, and otherwise use the - Software alone or in any derivative version, provided, however, that - CNRI's License Agreement and CNRI's notice of copyright, i.e., - "Copyright ©1996-1999 Corporation for National Research Initiatives; - All Rights Reserved" are both retained in the Software, alone or in any - derivative version prepared by Licensee. - - Alternatively, in lieu of CNRI's License Agreement, Licensee may - substitute the following text (omitting the quotes), provided, however, - that such text is displayed prominently in the Software alone or in any - derivative version prepared by Licensee: "JPython (Version 1.1.x) is - made available subject to the terms and conditions in CNRI's License - Agreement. This Agreement may be located on the Internet using the - following unique, persistent identifier (known as a handle): - 1895.22/1006. The License may also be obtained from a proxy server on - the Web using the following URL: http://hdl.handle.net/1895.22/1006." - - 3. In the event Licensee prepares a derivative work that is based on or - incorporates the Software or any part thereof, and wants to make the - derivative work available to the public as provided herein, then - Licensee hereby agrees to indicate in any such work, in a prominently - visible way, the nature of the modifications made to CNRI's Software. - - 4. Licensee may not use CNRI trademarks or trade name, including JPython - or CNRI, in a trademark sense to endorse or promote products or - services of Licensee, or any third party. Licensee may use the mark - JPython in connection with Licensee's derivative versions that are - based on or incorporate the Software, but only in the form - "JPython-based ___________________," or equivalent. - - 5. CNRI is making the Software available to Licensee on an "AS IS" basis. - CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY - OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY - REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY - PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE - ANY THIRD PARTY RIGHTS. - - 6. CNRI SHALL NOT BE LIABLE TO LICENSEE OR OTHER USERS OF THE SOFTWARE FOR - ANY INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE - THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. SOME STATES DO NOT - ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY SO THE ABOVE DISCLAIMER - MAY NOT APPLY TO LICENSEE. - - 7. This License Agreement may be terminated by CNRI (i) immediately upon - written notice from CNRI of any material breach by the Licensee, if the - nature of the breach is such that it cannot be promptly remedied; or - (ii) sixty (60) days following notice from CNRI to Licensee of a - material remediable breach, if Licensee has not remedied such breach - within that sixty-day period. - - 8. This License Agreement shall be governed by and interpreted in all - respects by the law of the State of Virginia, excluding conflict of law - provisions. Nothing in this Agreement shall be deemed to create any - relationship of agency, partnership, or joint venture between CNRI and - Licensee. - - 9. By clicking on the "ACCEPT" button where indicated, or by installing, - copying or otherwise using the Software, Licensee agrees to be bound by - the terms and conditions of this License Agreement. - - -=============================================================================== - -The jars; -activation-1.1.jar, -jaxb-api-2.1.jar, -jaxb-impl-2.1.6.jar, -jaxb-xjc-2.1.4.jar, -jaxb2-reflection-2.1.4.jar, -jsr181-api-1.0-MR1.jar, -jsr250-api-1.0.jar, -jaxws-api-2.1-1.jar, -mail-1.4.jar, -saaj-api-1.3.jar, -servlet-api-2.5.jar, -stax-api-1.0-commons-cli-1.0.jar2.jar - -COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 - - - 1. Definitions. - - 1.1. "Contributor" means each individual or entity that - creates or contributes to the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the - Original Software, prior Modifications used by a - Contributor (if any), and the Modifications made by that - particular Contributor. - - 1.3. "Covered Software" means (a) the Original Software, or - (b) Modifications, or (c) the combination of files - containing Original Software with files containing - Modifications, in each case including portions thereof. - - 1.4. "Executable" means the Covered Software in any form - other than Source Code. - - 1.5. "Initial Developer" means the individual or entity - that first makes Original Software available under this - License. - - 1.6. "Larger Work" means a work which combines Covered - Software or portions thereof with code not governed by the - terms of this License. - - 1.7. "License" means this document. - - 1.8. "Licensable" means having the right to grant, to the - maximum extent possible, whether at the time of the initial - grant or subsequently acquired, any and all of the rights - conveyed herein. - - 1.9. "Modifications" means the Source Code and Executable - form of any of the following: - - A. Any file that results from an addition to, - deletion from or modification of the contents of a - file containing Original Software or previous - Modifications; - - B. Any new file that contains any part of the - Original Software or previous Modification; or - - C. Any new file that is contributed or otherwise made - available under the terms of this License. - - 1.10. "Original Software" means the Source Code and - Executable form of computer software code that is - originally released under this License. - - 1.11. "Patent Claims" means any patent claim(s), now owned - or hereafter acquired, including without limitation, - method, process, and apparatus claims, in any patent - Licensable by grantor. - - 1.12. "Source Code" means (a) the common form of computer - software code in which modifications are made and (b) - associated documentation included in or with such code. - - 1.13. "You" (or "Your") means an individual or a legal - entity exercising rights under, and complying with all of - the terms of, this License. For legal entities, "You" - includes any entity which controls, is controlled by, or is - under common control with You. For purposes of this - definition, "control" means (a) the power, direct or - indirect, to cause the direction or management of such - entity, whether by contract or otherwise, or (b) ownership - of more than fifty percent (50%) of the outstanding shares - or beneficial ownership of such entity. - - 2. License Grants. - - 2.1. The Initial Developer Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, the - Initial Developer hereby grants You a world-wide, - royalty-free, non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Initial Developer, - to use, reproduce, modify, display, perform, - sublicense and distribute the Original Software (or - portions thereof), with or without Modifications, - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, - using or selling of Original Software, to make, have - made, use, practice, sell, and offer for sale, and/or - otherwise dispose of the Original Software (or - portions thereof). - - (c) The licenses granted in Sections 2.1(a) and (b) - are effective on the date Initial Developer first - distributes or otherwise makes the Original Software - available to a third party under the terms of this - License. - - (d) Notwithstanding Section 2.1(b) above, no patent - license is granted: (1) for code that You delete from - the Original Software, or (2) for infringements - caused by: (i) the modification of the Original - Software, or (ii) the combination of the Original - Software with other software or devices. - - 2.2. Contributor Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, each - Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Contributor to - use, reproduce, modify, display, perform, sublicense - and distribute the Modifications created by such - Contributor (or portions thereof), either on an - unmodified basis, with other Modifications, as - Covered Software and/or as part of a Larger Work; and - - - (b) under Patent Claims infringed by the making, - using, or selling of Modifications made by that - Contributor either alone and/or in combination with - its Contributor Version (or portions of such - combination), to make, use, sell, offer for sale, - have made, and/or otherwise dispose of: (1) - Modifications made by that Contributor (or portions - thereof); and (2) the combination of Modifications - made by that Contributor with its Contributor Version - (or portions of such combination). - - (c) The licenses granted in Sections 2.2(a) and - 2.2(b) are effective on the date Contributor first - distributes or otherwise makes the Modifications - available to a third party. - - (d) Notwithstanding Section 2.2(b) above, no patent - license is granted: (1) for any code that Contributor - has deleted from the Contributor Version; (2) for - infringements caused by: (i) third party - modifications of Contributor Version, or (ii) the - combination of Modifications made by that Contributor - with other software (except as part of the - Contributor Version) or other devices; or (3) under - Patent Claims infringed by Covered Software in the - absence of Modifications made by that Contributor. - - 3. Distribution Obligations. - - 3.1. Availability of Source Code. - - Any Covered Software that You distribute or otherwise make - available in Executable form must also be made available in - Source Code form and that Source Code form must be - distributed only under the terms of this License. You must - include a copy of this License with every copy of the - Source Code form of the Covered Software You distribute or - otherwise make available. You must inform recipients of any - such Covered Software in Executable form as to how they can - obtain such Covered Software in Source Code form in a - reasonable manner on or through a medium customarily used - for software exchange. - - 3.2. Modifications. - - The Modifications that You create or to which You - contribute are governed by the terms of this License. You - represent that You believe Your Modifications are Your - original creation(s) and/or You have sufficient rights to - grant the rights conveyed by this License. - - 3.3. Required Notices. - - You must include a notice in each of Your Modifications - that identifies You as the Contributor of the Modification. - You may not remove or alter any copyright, patent or - trademark notices contained within the Covered Software, or - any notices of licensing or any descriptive text giving - attribution to any Contributor or the Initial Developer. - - 3.4. Application of Additional Terms. - - You may not offer or impose any terms on any Covered - Software in Source Code form that alters or restricts the - applicable version of this License or the recipients' - rights hereunder. You may choose to offer, and to charge a - fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Software. - However, you may do so only on Your own behalf, and not on - behalf of the Initial Developer or any Contributor. You - must make it absolutely clear that any such warranty, - support, indemnity or liability obligation is offered by - You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred - by the Initial Developer or such Contributor as a result of - warranty, support, indemnity or liability terms You offer. - - - 3.5. Distribution of Executable Versions. - - You may distribute the Executable form of the Covered - Software under the terms of this License or under the terms - of a license of Your choice, which may contain terms - different from this License, provided that You are in - compliance with the terms of this License and that the - license for the Executable form does not attempt to limit - or alter the recipient's rights in the Source Code form - from the rights set forth in this License. If You - distribute the Covered Software in Executable form under a - different license, You must make it absolutely clear that - any terms which differ from this License are offered by You - alone, not by the Initial Developer or Contributor. You - hereby agree to indemnify the Initial Developer and every - Contributor for any liability incurred by the Initial - Developer or such Contributor as a result of any such terms - You offer. - - 3.6. Larger Works. - - You may create a Larger Work by combining Covered Software - with other code not governed by the terms of this License - and distribute the Larger Work as a single product. In such - a case, You must make sure the requirements of this License - are fulfilled for the Covered Software. - - 4. Versions of the License. - - 4.1. New Versions. - - Sun Microsystems, Inc. is the initial license steward and - may publish revised and/or new versions of this License - from time to time. Each version will be given a - distinguishing version number. Except as provided in - Section 4.3, no one other than the license steward has the - right to modify this License. - - 4.2. Effect of New Versions. - - You may always continue to use, distribute or otherwise - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. If the Initial Developer includes a - notice in the Original Software prohibiting it from being - distributed or otherwise made available under any - subsequent version of the License, You must distribute and - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. Otherwise, You may also choose to - use, distribute or otherwise make the Covered Software - available under the terms of any subsequent version of the - License published by the license steward. - - 4.3. Modified Versions. - - When You are an Initial Developer and You want to create a - new license for Your Original Software, You may create and - use a modified version of this License if You: (a) rename - the license and remove any references to the name of the - license steward (except to note that the license differs - from this License); and (b) otherwise make it clear that - the license contains terms which differ from this License. - - - 5. DISCLAIMER OF WARRANTY. - - COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" - BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, - INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED - SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR - PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND - PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY - COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE - INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF - ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF - WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS - DISCLAIMER. - - 6. TERMINATION. - - 6.1. This License and the rights granted hereunder will - terminate automatically if You fail to comply with terms - herein and fail to cure such breach within 30 days of - becoming aware of the breach. Provisions which, by their - nature, must remain in effect beyond the termination of - this License shall survive. - - 6.2. If You assert a patent infringement claim (excluding - declaratory judgment actions) against Initial Developer or - a Contributor (the Initial Developer or Contributor against - whom You assert such claim is referred to as "Participant") - alleging that the Participant Software (meaning the - Contributor Version where the Participant is a Contributor - or the Original Software where the Participant is the - Initial Developer) directly or indirectly infringes any - patent, then any and all rights granted directly or - indirectly to You by such Participant, the Initial - Developer (if the Initial Developer is not the Participant) - and all Contributors under Sections 2.1 and/or 2.2 of this - License shall, upon 60 days notice from Participant - terminate prospectively and automatically at the expiration - of such 60 day notice period, unless if within such 60 day - period You withdraw Your claim with respect to the - Participant Software against such Participant either - unilaterally or pursuant to a written agreement with - Participant. - - 6.3. In the event of termination under Sections 6.1 or 6.2 - above, all end user licenses that have been validly granted - by You or any distributor hereunder prior to termination - (excluding licenses granted to You by any distributor) - shall survive termination. - - 7. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE - INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF - COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE - LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR - CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT - LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK - STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL - INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT - APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO - NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR - CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT - APPLY TO YOU. - - 8. U.S. GOVERNMENT END USERS. - - The Covered Software is a "commercial item," as that term is - defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial - computer software" (as that term is defined at 48 C.F.R. - 252.227-7014(a)(1)) and "commercial computer software - documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. - 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 - through 227.7202-4 (June 1995), all U.S. Government End Users - acquire Covered Software with only those rights set forth herein. - This U.S. Government Rights clause is in lieu of, and supersedes, - any other FAR, DFAR, or other clause or provision that addresses - Government rights in computer software under this License. - - 9. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the - extent necessary to make it enforceable. This License shall be - governed by the law of the jurisdiction specified in a notice - contained within the Original Software (except to the extent - applicable law, if any, provides otherwise), excluding such - jurisdiction's conflict-of-law provisions. Any litigation - relating to this License shall be subject to the jurisdiction of - the courts located in the jurisdiction and venue specified in a - notice contained within the Original Software, with the losing - party responsible for costs, including, without limitation, court - costs and reasonable attorneys' fees and expenses. The - application of the United Nations Convention on Contracts for the - International Sale of Goods is expressly excluded. Any law or - regulation which provides that the language of a contract shall - be construed against the drafter shall not apply to this License. - You agree that You alone are responsible for compliance with the - United States export administration regulations (and the export - control laws and regulation of any other countries) when You use, - distribute or otherwise make available any Covered Software. - - 10. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or - indirectly, out of its utilization of rights under this License - and You agree to work with Initial Developer and Contributors to - distribute such responsibility on an equitable basis. Nothing - herein is intended or shall be deemed to constitute any admission - of liability. - -=============================================================================== - -JRuby (jruby-complete-1.0.jar), wsdl4j (wsdl4j-1.6.2.jar): - -Common Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - - a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and - b) in the case of each subsequent Contributor: - - i) changes to the Program, and - - ii) additions to the Program; - - where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. - -2. GRANT OF RIGHTS - - a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. - - b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. - - c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. - - d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: - - a) it complies with the terms and conditions of this Agreement; and - - b) its license agreement: - - i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; - - ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; - - iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and - - iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - - a) it must be made available under this Agreement; and - - b) a copy of this Agreement must be included with each copy of the Program. - -Contributors may not remove or alter any copyright notices contained within the Program. - -Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 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. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. - -=============================================================================== - -backport-util-concurrent-2.2.jar: - -The software comprising backport-util-concurrent is based in large -part on the code from JSR166, and the package dl.util.concurrent. -The software has been released to the public domain, as explained at: -http://creativecommons.org/licenses/publicdomain, excepting portions -of the class -edu.emory.mathcs.backport.java.util.concurrent.CopyOnWriteArrayList, -which were adapted from class java.util.ArrayList, written by Sun -Microsystems, Inc, which are used with kind permission, and subject -to the following: - -Copyright 2002-2004 Sun Microsystems, Inc. All rights reserved. Use is -subject to the following license terms. - - "Sun hereby grants you a non-exclusive, worldwide, non-transferrable - license to use and distribute the Java Software technologies as part - of a larger work in source and binary forms, with or without - modification, provided that the following conditions are met: - - -Neither the name of or trademarks of Sun may be used to endorse or - promote products derived from the Java Software technology without - specific prior written permission. - - -Redistributions of source or binary code must be accompanied by the - following notice and disclaimers: - - Portions copyright Sun Microsystems, Inc. Used with kind permission. - - This software is provided AS IS, without a warranty of any kind. ALL - EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PUPOSE OR - NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN - MICROSYSTEMS, INC. AND ITS LICENSORS SHALL NOT BE LIABLE - FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS - DERIVATIVES. IN NO EVENT WILL SUN MICROSYSTEMS, INC. OR - ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR - DATA, OR FOR DIRECT, INDIRECT,CONSQUENTIAL, INCIDENTAL - OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF - THE THEORY OR LIABILITY, ARISING OUT OF THE USE OF OR - INABILITY TO USE SOFTWARE, EVEN IF SUN MICROSYSTEMS, INC. - HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - You acknowledge that Software is not designed, licensed or intended for - use in the design, construction, operation or maintenance of any nuclear - facility." - -=============================================================================== -rome-0.9.jar - -Copyright 2004 Sun Microsystems, Inc. - -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. - -=============================================================================== -jdom-1.0.jar : - -$Id: LICENSE.txt,v 1.11 2004/02/06 09:32:57 jhunter Exp $ - - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions, and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions, and the disclaimer that follows - these conditions in the documentation and/or other materials - provided with the distribution. - - 3. The name "JDOM" must not be used to endorse or promote products - derived from this software without prior written permission. For - written permission, please contact . - - 4. Products derived from this software may not be called "JDOM", nor - may "JDOM" appear in their name, without prior written permission - from the JDOM Project Management . - - In addition, we request (but do not require) that you include in the - end-user documentation provided with the redistribution and/or in the - software itself an acknowledgement equivalent to the following: - "This product includes software developed by the - JDOM Project (http://www.jdom.org/)." - Alternatively, the acknowledgment may be graphical using the logos - available at http://www.jdom.org/images/logos. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 JDOM AUTHORS OR THE PROJECT - 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. - - This software consists of voluntary contributions made by many - individuals on behalf of the JDOM Project and was originally - created by Jason Hunter and - Brett McLaughlin . For more information - on the JDOM Project, please see . - -======================================================================== - -dwr-2.0.1.jar : - -/* -* Copyright 2005 Joe Walker -* -* 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. -*/ - -========================================================================== - -dojotoolkit V1.0.0: - -The "New" BSD License: -********************** - -Copyright (c) 2005, The Dojo Foundation -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 Dojo Foundation nor the names of its 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. - -================================================================================ - -The module tuscany-implementation-script-1.0-incubating.jar temporarily includes -one file under the below BSD license with the following copyright: - - Copyright (c) 2006, Sun Microsystems, Inc. - All rights reserved. - -BSD license: - - 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. - -================================================================================ - -The serp-1.12.0.jar is distributed under the BSD license with the following copyright: - - Copyright (c) 2002, A. Abram White - All rights reserved. - -BSD license: - - 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. - -================================================================================ -The javacc-3.2.jar, and howl-1.0.1-1.jar are distributed under the BSD license: - -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. - -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. - -================================================================================ - -The tuscany-assembly-xsd jar includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================ -License for the Service Data Objects JavaDoc and Interface Definition files. (tuscany-sdo-api-r2.1-1.0-incubating.jar) - -These files being ... -commonj/sdo/ChangeSummary$Setting.class -commonj/sdo/ChangeSummary.class -commonj/sdo/DataGraph.class -commonj/sdo/DataObject.class -commonj/sdo/helper/CopyHelper.class -commonj/sdo/helper/DataFactory.class -commonj/sdo/helper/DataHelper.class -commonj/sdo/helper/EqualityHelper.class -commonj/sdo/helper/HelperContext.class -commonj/sdo/helper/TypeHelper.class -commonj/sdo/helper/XMLDocument.class -commonj/sdo/helper/XMLHelper.class -commonj/sdo/helper/XSDHelper.class -commonj/sdo/impl/ExternalizableDelegator$Resolvable.class -commonj/sdo/impl/ExternalizableDelegator.class -commonj/sdo/Property.class -commonj/sdo/Sequence.class -commonj/sdo/Type.class -xml/datagraph.xsd -xml/sdoJava.xml -xml/sdoJava.xsd -xml/sdoModel.xml -xml/sdoModel.xsd -xml/sdoXML.xml -xml/sdoXML.xsd - - -License for the Service Data Objects JavaDoc and Interface Definition files. - -The Service Data Objects Specification is being provided by the copyright holders under the following -license. By using and/or copying this work, you agree that you have read, understood and will comply with -the following terms and conditions: - -Permission to copy, display and distribute the Service Data Objects Specification and/or portions thereof, without -modification, in any medium without fee or royalty is hereby granted, provided that you include the -following on ALL copies of the Service Data Objects Specification, or portions thereof, that you make: - -1. A link or URL to the Service Data Objects Specification at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Service Data Objects Specification. - -BEA, IBM, Oracle, Primeton Technologies, Rogue Wave Software, SAP, Software AG, Sun Microsystems, Xcalia, -Zend Technologies (collectively, the “Authors”) agree to grant you a royalty-free license, under reasonable, -non-discriminatory terms and conditions to patents that they deem necessary to implement the Service Data -Objects Specification. - -THE Service Data Objects SPECIFICATION IS PROVIDED "AS IS," AND THE AUTHORS MAKE NO REPRESENTATIONS OR -WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SPECIFICATION AND THE IMPLEMENTATION OF ITS CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, -NON-INFRINGEMENT OR TITLE. THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL -OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THE SERVICE DATA OBJECTS -SPECIFICATION. - -The name and trademarks of the Authors may NOT be used in any manner, including advertising or publicity -pertaining to the Service Data Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects Specification will at all times remain with the -Authors. - -No other rights are granted by implication, estoppel or otherwise. -================================================================================ - diff --git a/java/sca/contrib/distribution/features/repository/src/main/release/bin/NOTICE b/java/sca/contrib/distribution/features/repository/src/main/release/bin/NOTICE deleted file mode 100644 index 5daa9a3dfe..0000000000 --- a/java/sca/contrib/distribution/features/repository/src/main/release/bin/NOTICE +++ /dev/null @@ -1,95 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses XmlSchema developed at -The Apache Software Foundation (http://ws.apache.org/commons/XmlSchema) - Portions Copyright 2006 International Business Machines Corp. - -This product includes/uses ode-bpel-api-1.1 developed at -The Apache Software Foundation (http://ode.apache.org) - - Copyright 1999-2006 Intalio - This product includes software developed by Intalio (http://www.intalio.com) - - Copyright 2006 Sybase - This product includes software developed by Sybase.(http://www.sybase.com) - -"This product includes software developed by the Spring Framework - Project (http://www.springframework.org)." - -This product includes/uses the Jetty Servlet Engine (http://jetty.mortbay.org), -developed by Mort Bay Consulting (http://www.mortbay.com) - -This product includes/uses the Groovy Script Engine (http://groovy.codehaus.org/), -Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - -This product includes/uses the Axion : the Open Source Java Database (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. All rights reserved. - -This product includes/uses DOM4J : the flexible XML framework for java (http://www.dom4j.org/) - Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. - -This product includes/uses software, AOP alliance (http://aopalliance.sourceforge.net) -License: Public Domain - -This product includes/uses JSON-RPC-Java (http://oss.metaparadigm.com/jsonrpc/) - -This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) - Copyright (c) 2003-2004 Jan-Klaas Kollhof - Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd - -This product includes software from the GlassFish project (https://glassfish.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes software from the Rome project (https://rome.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes/uses the Eclipse Modeling Framework project (http://www.eclipse.org/emf/) - -This product includes/uses the Mozilla Rhino project (http://www.mozilla.org/rhino/) - -This product includes/uses the Sourceforge wsdl4j project (http://sourceforge.net/projects/wsdl4j/)i - -This product includes/uses the Codehaus JRuby project (http://jruby.codehaus.org/) - -This product includes/uses JDOM (http://www.jdom.org/) - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. All rights reserved. - -This product includes/uses DWR (http://getahead.org/dwr) - Copyright 2005 Joe Walker. All rights reserved. - -This product includes/uses dojotoolkit (http://dojotoolkit.org/) - Copyright (c) 2005, The Dojo Foundation. All rights reserved. - -This product includes/uses Howl (http://howl.objectweb.org/) - Copyright (c) 2004, Bull S.A. - -This product includes/uses axion (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. - -This product includes/uses javacc (https://javacc.dev.java.net/) - Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved. - -The Program includes all or portions of the following software: "The -Saxon XSLT and XQuery Processor from Saxonica Limited" distributed under -an MPL v1.0 license. Please refer to the homepage URL at -http://www.saxonica.com/. - -This product includes/uses Serp (http://serp.sourceforge.net/) under the BSD license: - Copyright (c) 2002, A. Abram White. All rights reserved. - -This product also includes software under the BSD license -with the following copyright: - Copyright (c) 2006, Sun Microsystems, Inc. All rights reserved. - -This product includes software under the Service Component Architecture JavaDoc, -Interface Definition files and XSD files license. - (c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - diff --git a/java/sca/contrib/distribution/features/repository/src/main/release/src/BUILDING b/java/sca/contrib/distribution/features/repository/src/main/release/src/BUILDING deleted file mode 100644 index 65d09c5eae..0000000000 --- a/java/sca/contrib/distribution/features/repository/src/main/release/src/BUILDING +++ /dev/null @@ -1,55 +0,0 @@ -Building the Apache Tuscany SCA 1.2 (incubating) April 2008 Release source distribution -======================================================================================= - -Initial Setup -------------- - -1) Install J2SE 5.0 SDK, which can be downloaded from - http://java.sun.com/j2se/1.5.0/download.jsp. Use version of 1.5.0_06 JDK or higher. - -2) Make sure that your JAVA_HOME environment variable is set to the newly installed - JDK location, and that your PATH includes %JAVA_HOME%\bin (windows) or - $JAVA_HOME$/bin (unix). - -3) Install Maven 2.0.7 or higher, which can be downloaded from - http://maven.apache.org/download.html. Make sure that your PATH includes - the MVN_HOME/bin directory. - -4) Make sure that your MAVEN_OPTS environment variable has -Xmx128M (or more), - you can manually do this by executing the following in your prompt : - Windows users: - set MAVEN_OPTS=-Xmx128M - Unix users: - export MAVEN_OPTS=-Xmx128M - - -Building --------- - -1) Change to the top level directory of Apache Tuscany source distribution. -2) Run - - $> mvn - - This will compile Apache Tuscany and run all of the tests in the source - distribution. - - Depending on the load of remote Maven 2.0 repositories, you may have - to run "mvn" several times utill the required dependencies are - all located in your local maven repository. It usually takes some time for - maven to download required dependencies in the first build. Once all the - dependencies have been downloaded you may use the -o option to run maven - in offline mode, for example, 'mvn clean install -o'. - - -Building the distributions --------------------------- - -1) Change to the distribution folder -2) Run - - $> mvn - - This will build the binary and source distribution with .zip and .gz - formats in the distribution/target directory. - diff --git a/java/sca/contrib/distribution/features/repository/src/main/release/src/LICENSE b/java/sca/contrib/distribution/features/repository/src/main/release/src/LICENSE deleted file mode 100644 index 144d8ae692..0000000000 --- a/java/sca/contrib/distribution/features/repository/src/main/release/src/LICENSE +++ /dev/null @@ -1,397 +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. - -=============================================================================================================== - -The module itest/databindings/common includes the test schema; datagraph.xsd, sdoJava.xsd, and sdoModel.xsd -under the following license: - -License for the Service Data Objects JavaDoc, Interface Definition files -and XSD files. - -The Service Data Objects JavaDoc, Interface Definition files and XSD files -are being provided by the copyright holders under the following license. -By using and/or copying this work, you agree that you have read, -understood and will comply with the following terms and conditions: - -Permission to copy, display, make derivative works of and distribute -the Service Data Objects JavaDoc, Interface Definition files and XSD files -(the "Artifacts") in any medium without fee or royalty is hereby granted, -provided that you include the following on ALL copies of the Artifacts, -or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - - - -THE ARTIFACTS ARE PROVIDED "AS IS" AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Data -Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects -Specification will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.11, last updated on 2007/12/21 - -================================================================================================================= - -The 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. - -================================================================================================================= - -The module assembly-xsd includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================================================= -The modules - -binding-ws-xml -databinding -databinding-axiom -databinding-jaxb -databinding-json -databinding-sdo -databinding-sdo-axiom -databinding-xmlbeans -interface-wsdl-xml - -Include the ipo.xsd and address.xsd information from the XML Schema Primer -(http://www.w3.org/TR/2004/PER-xmlschema-0-20040318/) combined into the -file ipo.xsd and extended with UK postcode structures. - -The ipo.xsd file is include under the following license: - -W3C(c) SOFTWARE NOTICE AND LICENSE -http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - -This work (and included software, documentation such as READMEs, or other -related items) is being provided by the copyright holders under the following -license. By obtaining, using and/or copying this work, you (the licensee) agree -that you have read, understood, and will comply with the following terms and conditions. - -Permission to copy, modify, and distribute this software and its documentation, -with or without modification, for any purpose and without fee or royalty is -hereby granted, provided that you include the following on ALL copies of the -software and documentation or portions thereof, including modifications: - - 1. The full text of this NOTICE in a location viewable to users of the - redistributed or derivative work. - 2. Any pre-existing intellectual property disclaimers, notices, or terms - and conditions. If none exist, the W3C Software Short Notice should be - included (hypertext is preferred, text is permitted) within the body of - any redistributed or derivative code. - 3. Notice of any changes or modifications to the files, including the date - changes were made. (We recommend you provide URIs to the location from which - the code is derived.) - -THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE -NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, -WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE -USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, -COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. - -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. - -The name and trademarks of copyright holders may NOT be used in advertising or -publicity pertaining to the software without specific, written prior permission. -Title to copyright in this software and any associated documentation will at all -times remain with copyright holders. diff --git a/java/sca/contrib/distribution/features/repository/src/main/release/src/NOTICE b/java/sca/contrib/distribution/features/repository/src/main/release/src/NOTICE deleted file mode 100644 index 31540fd607..0000000000 --- a/java/sca/contrib/distribution/features/repository/src/main/release/src/NOTICE +++ /dev/null @@ -1,39 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) - Copyright (c) 2003-2004 Jan-Klaas Kollhof - Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd - -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. - -This product includes software under the Service Component Architecture JavaDoc, -Interface Definition files and XSD files license. - (c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - -This product includes software under the W3C(c) Software License -with the following copyright: - -Copyright (c) 2008 World Wide Web Consortium, (Massachusetts Institute of Technology, -European Research Consortium for Informatics and Mathematics, Keio University). -All Rights Reserved. This work is distributed under the W3C(c) Software License [1] in -the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied -warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - - diff --git a/java/sca/contrib/distribution/features/web20/pom.xml b/java/sca/contrib/distribution/features/web20/pom.xml deleted file mode 100644 index e2f141f206..0000000000 --- a/java/sca/contrib/distribution/features/web20/pom.xml +++ /dev/null @@ -1,208 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-distribution-features - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-distribution-web20 - Apache Tuscany SCA Web 2.0 Distribution - pom - - - - - - org.apache.tuscany.sca - tuscany-distribution-core - pom - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-binding-atom-abdera - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-binding-http-runtime - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-binding-jsonrpc-runtime - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-binding-rss-rome - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-contribution-resource - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-databinding-json - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-host-jetty - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-implementation-resource-runtime - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-implementation-widget-runtime - 2.0-SNAPSHOT - - - - - - - - default - - true - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - distribution-package - package - - single - - - - src/main/assembly/bin.xml - src/main/assembly/src.xml - - gnu - apache-tuscany-sca-web20-1.4-SNAPSHOT - - - - - - - - - - - modules - - ../../../modules/assembly - ../../../modules/assembly-xml - ../../../modules/assembly-xsd - ../../../modules/binding-atom - ../../../modules/binding-atom-abdera - ../../../modules/binding-corba - ../../../modules/binding-corba-runtime - ../../../modules/binding-http - ../../../modules/binding-http-runtime - ../../../modules/binding-jsonrpc - ../../../modules/binding-jsonrpc-runtime - ../../../modules/binding-rss - ../../../modules/binding-rss-rome - ../../../modules/binding-sca - ../../../modules/binding-sca-xml - ../../../modules/contribution - ../../../modules/contribution-impl - ../../../modules/contribution-java - ../../../modules/contribution-namespace - ../../../modules/contribution-resource - ../../../modules/contribution-xml - ../../../modules/core - ../../../modules/core-databinding - ../../../modules/core-spi - ../../../modules/data-api - ../../../modules/databinding - ../../../modules/databinding-jaxb - ../../../modules/databinding-json - ../../../modules/definitions - ../../../modules/definitions-xml - ../../../modules/endpoint - ../../../modules/extensibility - ../../../modules/extensibility-equinox - ../../../modules/host-corba - ../../../modules/host-corba-jse - ../../../modules/host-embedded - ../../../modules/host-http - ../../../modules/host-jetty - ../../../modules/implementation-java - ../../../modules/implementation-java-runtime - ../../../modules/implementation-java-xml - ../../../modules/implementation-node - ../../../modules/implementation-node-runtime - ../../../modules/implementation-resource - ../../../modules/implementation-resource-runtime - ../../../modules/implementation-widget - ../../../modules/implementation-widget-runtime - ../../../modules/interface - ../../../modules/interface-java - ../../../modules/interface-java-jaxws - ../../../modules/interface-java-xml - ../../../modules/interface-wsdl - ../../../modules/interface-wsdl-xml - ../../../modules/monitor - ../../../modules/monitor-logging - ../../../modules/node-api - ../../../modules/node-impl - ../../../modules/node-launcher - ../../../modules/node-launcher-equinox - ../../../modules/node-launcher-webapp - ../../../modules/policy - ../../../modules/policy-security - ../../../modules/policy-xml - ../../../modules/sca-api - ../../../modules/xsd - ../../../modules/xsd-xml - - - - - diff --git a/java/sca/contrib/distribution/features/web20/src/main/assembly/bin.xml b/java/sca/contrib/distribution/features/web20/src/main/assembly/bin.xml deleted file mode 100644 index fd49912e91..0000000000 --- a/java/sca/contrib/distribution/features/web20/src/main/assembly/bin.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - true - tuscany-sca-1.4-SNAPSHOT - - - zip - - - - ../core/src/main/components/bin-common.xml - ../core/src/main/components/bin-filtered-dependencies.xml - src/main/components/bin-samples.xml - - diff --git a/java/sca/contrib/distribution/features/web20/src/main/assembly/src.xml b/java/sca/contrib/distribution/features/web20/src/main/assembly/src.xml deleted file mode 100644 index 0d832271b9..0000000000 --- a/java/sca/contrib/distribution/features/web20/src/main/assembly/src.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - src - true - tuscany-sca-1.4-SNAPSHOT-src - - - zip - - - - ../core/src/main/components/src-common.xml - src/main/components/src-modules.xml - - diff --git a/java/sca/contrib/distribution/features/web20/src/main/components/bin-samples.xml b/java/sca/contrib/distribution/features/web20/src/main/components/bin-samples.xml deleted file mode 100644 index 5cc62040c0..0000000000 --- a/java/sca/contrib/distribution/features/web20/src/main/components/bin-samples.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - ../../../samples - samples - - feed-aggregator/**/* - store/**/* - web-resource/**/* - - - - **/.* - **/.*/** - **/*.log - - - pom.xml - **/target - **/target/**/* - - - - diff --git a/java/sca/contrib/distribution/features/web20/src/main/components/src-modules.xml b/java/sca/contrib/distribution/features/web20/src/main/components/src-modules.xml deleted file mode 100644 index 99082280ad..0000000000 --- a/java/sca/contrib/distribution/features/web20/src/main/components/src-modules.xml +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - ../../../modules - modules - - assembly/**/* - assembly-xml/**/* - assembly-xsd/**/* - binding-atom/**/* - binding-atom-abdera/**/* - binding-corba/**/* - binding-corba-runtime/**/* - binding-http/**/* - binding-http-runtime/**/* - binding-jsonrpc/**/* - binding-jsonrpc-runtime/**/* - binding-rss/**/* - binding-rss-rome/**/* - binding-sca/**/* - binding-sca-xml/**/* - contribution/**/* - contribution-impl/**/* - contribution-java/**/* - contribution-namespace/**/* - contribution-resource/**/* - contribution-xml/**/* - core/**/* - core-databinding/**/* - core-spi/**/* - data-api/**/* - databinding/**/* - databinding-jaxb/**/* - databinding-json/**/* - definitions/**/* - definitions-xml/**/* - distribution-core/**/* - endpoint/**/* - extensibility/**/* - extensibility-equinox/**/* - host-corba/**/* - host-corba-jse/**/* - host-embedded/**/* - host-http/**/* - host-jetty/**/* - implementation-java/**/* - implementation-java-runtime/**/* - implementation-java-xml/**/* - implementation-node/**/* - implementation-node-runtime/**/* - implementation-resource/**/* - implementation-resource-runtime/**/* - implementation-widget/**/* - implementation-widget-runtime/**/* - interface/**/* - interface-java/**/* - interface-java-jaxws/**/* - interface-java-xml/**/* - interface-wsdl/**/* - interface-wsdl-xml/**/* - monitor/**/* - monitor-logging/**/* - node-api/**/* - node-impl/**/* - node-launcher/**/* - node-launcher-equinox/**/* - node-launcher-webapp/**/* - policy/**/* - policy-security/**/* - policy-xml/**/* - sca-api/**/* - xsd/**/* - xsd-xml/**/* - - - - **/.* - **/.*/** - **/*.log - - - pom.xml - **/target - **/target/**/* - - - - diff --git a/java/sca/contrib/distribution/features/web20/src/main/release/CHANGES b/java/sca/contrib/distribution/features/web20/src/main/release/CHANGES deleted file mode 100644 index 3de7358ec6..0000000000 --- a/java/sca/contrib/distribution/features/web20/src/main/release/CHANGES +++ /dev/null @@ -1,431 +0,0 @@ -Changes With Apache Tuscany SCA 1.2 (incubating) April 2008 -=========================================================== - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-2027 - * TUSCANY-1999 - * TUSCANY-2037 - * TUSCANY-2034 - * TUSCANY-2038 - * TUSCANY-2043 - * TUSCANY-2046 - * TUSCANY-2047 - * TUSCANY-2028 - * TUSCANY-1873 - * TUSCANY-2049 - * TUSCANY-2035 - * TUSCANY-1206 - * TUSCANY-2036 - * TUSCANY-1771 - * TUSCANY-2013 - * TUSCANY-1926 - * TUSCANY-1917 - * TUSCANY-1949 - * TUSCANY-1941 - * TUSCANY-2045 - * TUSCANY-2057 - * TUSCANY-2055 - * TUSCANY-2056 - * TUSCANY-2072 - * TUSCANY-2047 - * TUSCANY-2073 - * TUSCANY-1977 - * TUSCANY-2075 - * TUSCANY-1894 - * TUSCANY-2079 - * TUSCANY-2078 - * TUSCANY-2080 - * TUSCANY-2068 - * TUSCANY-1950 - * TUSCANY-2077 - * TUSCANY-2056 - * TUSCANY-2088 - * TUSCANY-2086 - * TUSCANY-2094 - * TUSCANY-2106 - - Features and/or Enhancements - - * Core - - Interceptor Enhancements - - Phase-based interceptor ordering to allow contribution of new interceptors and also define the order in witch they should be invoked - - Pass-by-reference SPI to allow interceptors to indicate if they support pass-by-reference - - PolicyProvider SPIs to allow extensions to plugin policy interceptors - - Support for JAXWS annotations and mapping of faults to Java exceptions according to JAXWS specification - - Improvement of contribution service to allow it to be used outside of the runtime environment - - Support for Contribution Import/Export resource - - Enhanced Distributed Domain story using Workspace - - Implementation of a SCA domain allowing a system administrator to manage contributions, composites and sca nodes that run these composites - - Set of core services providing management capabilities - - Administration web interface - - This is a work in progress and you can see it in action in samples/calculator-distributed. Other samples that use distributed operation are yet to move over to the workspace. - - Enhanced support for SCA Policy spec - - Ability to apply external policy definitions to a SCA composition - - Ability to spread policy definitions to multiple definitions.xml files available across the sca domain - - Bug fixes - - Improvements of http binding to support servlet components - - Enable Tuscany to run inside an OSGi runtime - - * Web 2.0 Extensions - - Enhancements to implementation.widget (support for properties) - - New atom binding based on Apache Abdera - - Refactoring of rss-rome binding - * Other Extensions - - Binding JMS - - greatly simplified the use of the JMS binding, support locating JMS resources from JNDI, and better compliance with the SCA JMS binding spec - - see the doc page for more details: http://incubator.apache.org/tuscany/sca-java-bindingjms.html - - Enhancements to Binding RMI - - Support shared RMI registry and use 999x as the ports in test case to avoid 1099 conflict - - Enhancements to Groovy extension - - Support for 'native' groovy classes - - Enhancements to OSGi bundle contributions - - Support Bundle URLs to be added as contributions - - * Tools - - Eclipse plugin providing a Tuscany runtime Library and Tuscany launcher in Eclipse environment - - An updatesite is also available to facilitate the plugin installation using the Eclipse update manager - - * Samples/Tutorial/Demos - - calculator-distributed migrated to use new Tuscany Distributed Workspace - - sample-calculator-ws-secure-webapp - - sample-helloworld-jms-webapp - - new jms samples - - improve bigbank demo to include support for policies - - tutorial store changes - - use of import/export - - development of contribution without requiring dependencies on the Tuscany runtime - - usage of new sca domain infrastructure - - * Testing - - Web Container Testing Framework integrated with (Tomcat, Jetty, Geronimo and Websphere) - - -Changes With Apache Tuscany SCA 1.1 (incubating) January 2008 -=============================================================== - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-1939 - * TUSCANY-1914 - * TUSCANY-1854 - * TUSCANY-1931 - * TUSCANY-1547 - * TUSCANY-1909 - * TUSCANY-1919 - * TUSCANY-1930 - * TUSCANY-1806 - * TUSCANY-1804 - * TUSCANY-1916 - * TUSCANY-1913 - * TUSCANY-1834 - * TUSCANY-1857 - * TUSCANY-1687 - * TUSCANY-1801 - * TUSCANY-1742 - * TUSCANY-1762 - * TUSCANY-1945 - * TUSCANY-1595 - * TUSCANY-1594 - * TUSCANY-1849 - * TUSCANY-1836 - * TUSCANY-1934 - * TUSCANY-1902 - * TUSCANY-1608 - * TUSCANY-1943 - * TUSCANY-1896 - * TUSCANY-1626 - * TUSCANY-1797 - * TUSCANY-1601 - * TUSCANY-1415 - -- Better JMS support - * binding.jms supporting point to point text based messaging only - * New SOAP/JMS sample (helloworld-ws-reference/service-jms) - -- Improvements in PolicyFramework Support - * Support for policy specifications on operation elements in a composite definition - * Separate sample (calculator-implementation-policies) to demonstrate use of Implementation Policies - (uses logging and JAAS Authentication) - -- Modeling of client side java script components - * See implementation.widget - -- Evolving support for doman API suggested by assembly spec including a standalone node and nodes running - connected together in a domain. This is still experimental. - -- Class loading and OSGI improvements - * Enable Tuscany to be run in a multi-classloader environment including inside OSGi. By default, - Tuscany continues to run using a single CLASSPATH-based classloader. - * Contributions no longer need to be in the CLASSPATH. All import/export dependencies across contributions should be - explicitly specified (as described in the spec). - -- JAXB based POJO transformations - -Changes With Apache Tuscany SCA 1.0.1 (incubating) November 2007 -================================================================ - -The Tuscany SCA Java 1.0.1 is mainly a bug-fix release. It also comes with some improvements as listed below. - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-1848 - * TUSCANY-1857 - * TUSCANY-1859 - * TUSCANY-1801 - * TUSCANY-1823 - * TUSCANY-1839 - * TUSCANY-1814 - * TUSCANY-1818 - * TUSCANY-1834 - * TUSCANY-1637 - * TUSCANY-1826 - * TUSCANY-1823 - * TUSCANY-1819 - * TUSCANY-1821 - * TUSCANY-1822 - * TUSCANY-1806 - * TUSCANY-1808 - * TUSCANY-1756 - * TUSCANY-1757 - -- Fix build issues with Maven 2.0.7 and JDK 6 - -- Reduce memory consumption for WSDLs that import large XSDs - -- Add more logging statements for better servicibility - -- Add an extension point to allow extensions to plug-in extension schemas. - -- Add a demo application to showcase XML integration story - -- Improve in databinding framework - * Add support for JSON Databindings and other refactoring - * Set databinding for introspected data type and enhance the checking of wrapper style - * Improve the tree-based XMLStreamReader and convert Bean & DOM to use this approach - * Add a tree-iterator based XMLStreamReader base impl - * Add default element info to java interface - * Rename Interface.setDefaultDataBinding to resetDataBinding - -- Limit the method injection to setters and allow the setter annotation to override field annotation - -- Evolving support in Intent and Policy handling - * Add support for policies in implementation - * Fix the algorithm for macthing policySets defined on bindings for the wire - * Add policy intent for implementation.java - * Extend java implementation type to recognize and apply policies, adding util support for this in Policy module - * Add policy module for logging - -- Evolving development in the SCA Domain/Node - -- Update NOTICE files with missing dependencies - - -Changes With Apache Tuscany SCA 1.0 (incubating) September 2007 -=============================================================== - -- Tuscany Java SCA now implements V1.0 of the core SCA - specifications - SCA Assembly Model V1.0 - SCA Java Common Annotations and APIs V1.0 - SCA Java Component Implementation V1.0 - SCA Web Services Binding V1.0 - Including callbacks, conversations and callable references - - -- Support for ws-security configurable in the web services binding - thro Tuscany SCA policy intents and policysets using the policy framework - introduced in the last release. - - Note : This release supports specifications of policies around axis2 - config params - see helloworld-ws-service-secure sample. The policy - intents that have been tested are authentication, integrity and - confidentiality. - There is no sample or test that exercises confidentiality since there - are some unresolved licensing issue around bouncycastle libraries. - However, users who are not encumbered by the bouncycastle license - restrictions can try the 'confidentiality' intent. See FAQ - - http://incubator.apache.org/tuscany/tuscany-sca-java-faq.html - - This release does not include support for WS-Policy - attachments in Tuscany Policysets for ws-security. - - -- An XQuery component implementation type - implementation-xquery - - -- A Databinding for converting data to and from nodes for XQuery - processing - databinding-saxon - - -- OSGI support has been extended to allow Tuscany contributions - packaged as OSGI bundles hence taking advantage of OSGI's bundle - loading an dependency management capabilities - - -- A BPEL component implementation type experimental implementation -based on SCA BPEL Client and Implementation V1.0. At the moment only -supports BPEL process as services. - implementation-bpel - - -- The distributed runtime implementation has been separated out - into - *) domain - *) node - It is now wrapped by a SCADomain interface as is the standalone - runtime. - - Note: This release does not include support for WebApp host deployment - for a distributed SCA Domain - - - -- The web service binding will now generate WSDL automatically - based on the service interface if no WSDL is provided - - -- A new "store" sample and associated document show how a - simple store front application can be constructed - samples/store - -- The following features of this release are still experimental: - - BPEL implementation type, integrating with Apache ODE - - OSGI implementation type, integrating with Apache Felix - - XQuery implementation type - - - -Changes With Apache Tuscany SCA 0.99 (incubating) August 2007 -============================================================= - -The following are the significant additions to release 0.99 -over and above all of what was offered in release 0.91. - -- A version of the default sca binding that works between - components runing in separate Java virtual machines - binding-sca-axis - -- A simple node implementation and a service discovery - function for running sca applications distributed - across more than one node - distributed - distributed-impl - -- integration with OSGi runtimes is now supported with - a new implementation-osgi component type - -- PUB/SUB interactions are now supported by using new - notification binding and implementation types, and - samples demonstrating the feature. - -- The Tuscany runtime now has a policy framework supporting - the SCA policy specification - -- the endpoint URIs used by SCA bindings has been rationalized - and now follows the SCA Assembly specification - -- binding-ajax has been renamed to binding-dwr - -Changes With Apache Tuscany SCA 0.91 (incubating) July 2007 -=========================================================== - -The following are the significant additions to release 0.91 -over and above all of what was offered in release 0.90. - - -- Enhancements to support multiple contributions to the SCA Domain - -- The inclusion of a alternative simplified extensions-helper -SPI layer to faciliate rapid development of extensions - -- More Implementation Extenstions - Spring - WebResource - -- More Binding Extensions - AJAX - EJB - RSS/ATOM Feeds - -- Demos that demonstrate the use of a mix of extensions - alert-aggregator-webapp - bigbank-account - bigbank-calculator - bigbank-stockquote - - -- Samples - Samples to demostrate use of Spring, Resource, AJAX extensions - -Changes With Apache Tuscany SCA 0.90 (incubating) June 2007 -=========================================================== - -- Implementations for all of the Java Annotations and API Specification V1.0 found at - (http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications) - apart from the following. - @ComponentName - Conversation - RequestContext - -- New assembly model implementation taking into account SCA 1.0 artifacts - Data duplication between assembly model and runtime removed - -- Simple single process domain support - Contribution support to scope items being deployed into the runtime - -- Improved Package/Class naming consistency across modules - -- Extensions now loaded via Java service mechanism - Refactored extensions to use new SPIs (see below) - -- Maven and Ant based sample builds in the binary distribution - -- Implementation Extensions - Java - Script supporting (Ruby, Python, Groovy, JavaScript) - -- Binding Extensions - Axis2 - RMI - JSONRPC - --Databinding Extensions - Axiom - JAXB - SDO - -- Host environments - Embedded - Tomcat - Jetty - RMI - -- A clear set of SPIs intended to be stable over future releases - SCA assembly model - org.apache.tuscany.sca.assembly - org.apache.tuscany.sca.interfacedef - org.apache.tuscany.sca.interfacedef.java - org.apache.tuscany.sca.interfacedef.wsdl - org.apache.tuscany.sca.policy - - SCA contribution model - org.apache.tuscany.sca.contribution - - Runtime extensions - org.apache.tuscany.sca.core - org.apache.tuscany.sca.invocation - org.apache.tuscany.sca.provider - org.apache.tuscany.sca.runtime - org.apache.tuscany.sca.work - - Data binding support - org.apache.tuscany.sca.databinding - - Embedding Tuscany - org.apache.tuscany.sca.host.embedded - - Servlet container integration - org.apache.tuscany.sca.http - -- For this point release a partial set of JavaDoc is provided to - be filled out as we close on release 1.0 diff --git a/java/sca/contrib/distribution/features/web20/src/main/release/DISCLAIMER b/java/sca/contrib/distribution/features/web20/src/main/release/DISCLAIMER deleted file mode 100644 index a65af91c5a..0000000000 --- a/java/sca/contrib/distribution/features/web20/src/main/release/DISCLAIMER +++ /dev/null @@ -1,7 +0,0 @@ -Apache Tuscany is an effort undergoing incubation at The Apache Software -Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is -required of all newly accepted projects until a further review indicates that -the infrastructure, communications, and decision making process have stabilized -in a manner consistent with other successful ASF projects. While incubation -status is not necessarily a reflection of the completeness or stability of the -code, it does indicate that the project has yet to be fully endorsed by the ASF. \ No newline at end of file diff --git a/java/sca/contrib/distribution/features/web20/src/main/release/README b/java/sca/contrib/distribution/features/web20/src/main/release/README deleted file mode 100644 index 4d83dcfde9..0000000000 --- a/java/sca/contrib/distribution/features/web20/src/main/release/README +++ /dev/null @@ -1,19 +0,0 @@ -Apache Tuscany SCA 1.2 (incubating) April 2008 README -===================================================== - -Welcome to the Tuscany SCA 1.2 release. - -See the RELEASE_NOTES file for information specific to this release. - -In the binary release see the INSTALL file for information on how to -install the release. - -In the source distribution see the BUILDING file for information on -building the source code. - - - - - - - diff --git a/java/sca/contrib/distribution/features/web20/src/main/release/RELEASE_NOTES b/java/sca/contrib/distribution/features/web20/src/main/release/RELEASE_NOTES deleted file mode 100644 index a04ef5c553..0000000000 --- a/java/sca/contrib/distribution/features/web20/src/main/release/RELEASE_NOTES +++ /dev/null @@ -1,83 +0,0 @@ -Apache Tuscany SCA 1.2 (incubating) April 2008 Release Notes -============================================================ - -Apache Tuscany provides a runtime based on the Service Component -Architecture. SCA is a set of specifications aimed at simplifying SOA -Application Development which are being standardized at OASIS as part -of Open Composite Services Architecture (Open CSA) - http://www.oasis-opencsa.org/. - -Overview --------- - - The Apache Tuscany SCA 1.2 release includes implementations of the - main SCA specifications including: - - SCA Assembly Model V1.0 - SCA Policy Framework V1.0 - SCA Java Common Annotations and APIs V1.0 - SCA Java Component Implementation V1.0 - SCA Spring Component Implementation V1.0 - SCA BPEL Client and Implementation V1.0 - SCA Web Services Binding V1.0 - SCA EJB Session Bean Binding V1.0 - - It also includes implementations of many features not yet defined - by SCA specifications, including: - - - SCA bindings for Direct Web Remoting, RSS and ATOM Feeds, - HTTP resources, JSON-RPC, PUB/SUB Notifications, and RMI. - - SCA implementation types for OSGI, XQuery, BPEL, Widget and various - dynamic languages including Groovy, Javascript, Python and Ruby - - Databindings for Service Data Objects (SDO), JAXB, XmlBeans, - Axis2's AXIOM, JSON, SAXON, DOM, SAX and StAX - - The Tuscany SCA Runtime can be configured as a single node SCA domain or - as an SCA domain distributed across multiple nodes. - In addition Tuscany SCA supports the following host-deployment options: - - - running standalone - - running with distributed nodes across multiple JVMs - - running with embedded Jetty or Tomcat - - running as part of a standard web application - - The Wepapp samples included in this release have been tried and tested on - - Tomcat 5.5.20 and Tomcat 6.0.14 - - Jetty 6.1.3 - - Geronimo 2.0.2 Tomcat6 jee5 - - WebSphere 6.1 fix pack 9 - -See the CHANGES file for a detailed list of the features in this release. - -Support -------- - -For more information on Apache Tuscany visit the website at: - - http://incubator.apache.org/tuscany/ - -Any issues with this release can be reported to Apache Tuscany -using the mailing lists or in the JIRA issue tracker. - - Mailing list archives: - - http://mail-archives.apache.org/mod_mbox/ws-tuscany-user/ - http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev/ - - Jira: - - http://issues.apache.org/jira/browse/TUSCANY - -To join the project's mailing lists follow the instructions at: - - http://incubator.apache.org/tuscany/mailing-lists.html - -To find out more about OASIS Open CSA go to: - - http://www.oasis-opencsa.org. - -Apache Tuscany welcomes your help. Any contribution, including code, -testing, improving the documentation, or bug reporting is always -appreciated. - -Thank you for using Apache Tuscany! - -- The Tuscany Team. diff --git a/java/sca/contrib/distribution/features/web20/src/main/release/bin/INSTALL b/java/sca/contrib/distribution/features/web20/src/main/release/bin/INSTALL deleted file mode 100644 index 2da53a2b44..0000000000 --- a/java/sca/contrib/distribution/features/web20/src/main/release/bin/INSTALL +++ /dev/null @@ -1,27 +0,0 @@ -Installing the Apache Tuscany SCA 1.2 (incubating) April 2008 Release binary distribution -========================================================================================= - -Unzip Tuscany binary distribution archive and you get the following: - -tuscany-sca-1.1-incubating - DISCLAIMER - the ASF incubation disclaimer - INSTALL - this help file - LICENSE - the Apache License and any dependecy licenses - NOTICE - attribution notices associated with the licenses - README - readme for the release - RELEASE_NOTES - description of this release - CHANGES - A note of the major changes in this release - - /demos - Demo applications showcasing the use of Apache Tuscany - - /lib - The tuscany-sca-all and tuscany-sca-manifest jars and all their dependencies - - /modules - all of the individual Tuscany jars - - /samples - all the Tuscany samples, see the README in that directory - - /tutorial - The store tutorial, see the README in that directory - - - - diff --git a/java/sca/contrib/distribution/features/web20/src/main/release/bin/LICENSE b/java/sca/contrib/distribution/features/web20/src/main/release/bin/LICENSE deleted file mode 100644 index 5e1f585d46..0000000000 --- a/java/sca/contrib/distribution/features/web20/src/main/release/bin/LICENSE +++ /dev/null @@ -1,2366 +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 SUBCOMPONENTS: - -The Apache Tuscany binary distribution includes a number of subcomponents -with separate copyright notices and license terms. Your use of the -code for the these subcomponents is subject to the terms and -conditions of the following licenses. - -=============================================================================== - -The following components come under Apache Software License 1.1 - - commons-discovery-0.2.jar - commons-primitives-1.0.jar - -The following components come under Apache Software License 2.0 - - abdera-core-0.3.0-incubating.jar - abdera-i18n-0.3.0-incubating.jar - abdera-parser-0.3.0-incubating.jar - activeio-2.0-r118.jar - activeio-core-3.0.0-incubator.jar - apache-activemq-4.1.1.jar - addressing-1.3.mar - annogen-0.1.0.jar - annotations-api-6.0.14.jar - aopalliance-1.0.jar - axiom-api-1.2.5.jar - axiom-dom-1.2.5.jar - axiom-impl-1.2.5.jar - axis2-adb-1.3.jar - axis2-codegen-1.3.jar - axis2-java2wsdl-1.3.jar - axis2-kernel-1.3.jar - axis2-mtompolicy-1.3.jar - bsf-all-3.0-beta2.jar - catalina-6.0.14.jar - cglib-nodep-2.1_3.jar - commons-collections-3.1.jar - commons-codec-1.3.jar - commons-fileupload-1.1.1.jar - commons-httpclient-3.0.1.jar - commons-io-1.2.jar - commons-jexl-1.1.jar - commons-lang-2.1.jar - commons-logging-1.1.jar - coyote-6.0.14.jar - derby-10.1.3.1.jar - geronimo-activation_1.1_spec-1.0-M1.jar - geronimo-common-1.2-beta.jar - geronimo-commonj_1.1_spec-1.0.jar - geronimo-connector-1.2-beta.jar - geronimo-core-1.2-beta.jar - geronimo-deployment-1.2-beta.jar - geronimo-ejb_3.0_spec-1.0.jar - geronimo-interceptor-1.2-beta.jar - geronimo-j2ee-1.2-beta.jar - geronimo-j2ee-connector_1.5_spec-1.1.jar - geronimo-j2ee-jacc_1.0_spec-1.1.jar - geronimo-j2ee-management_1.0_spec-1.1.jar - geronimo-javamail_1.4_spec-1.0-M1.jar - geronimo-jms_1.1_spec-1.1.jar - geronimo-jpa_3.0_spec-1.0.jar - geronimo-jta_1.0.1B_spec-1.0.jar - geronimo-kernel-1.2-beta.jar - geronimo-management-1.2-beta.jar - geronimo-naming-1.2-beta.jar - geronimo-security-1.2-beta.jar - geronimo-spec-j2ee-connector-1.5-rc4.jar - geronimo-spec-jta-1.0.1B-rc4.jar - geronimo-system-1.2-beta.jar - geronimo-transaction-1.2-beta.jar - geronimo-util-1.2-beta.jar - httpcore-4.0-alpha5.jar - httpcore-nio-4.0-alpha5.jar - httpcore-niossl-4.0-alpha5.jar - jettison-1.0-RC2.jar - jetty-6.1.7.jar - jetty-util-6.1.7.jar - json-rpc-1.0.jar - juli-6.0.14.jar - log4j-1.2.12.jar - logkit-1.0.1.jar - neethi-2.0.2.jar - ode-bpel-api-1.1.jar - ode-bpel-compiler-1.1.jar - ode-bpel-dao-1.1.jar - ode-bpel-epr-1.1.jar - ode-bpel-obj-1.1.jar - ode-bpel-runtime-1.1.jar - ode-bpel-schemas-1.1.jar - ode-bpel-store-1.1.jar - ode-dao-jpa-1.1.jar - ode-dao-jpa-ojpa-derby-1.1.zip - ode-jacob-1.1.jar - ode-jacob-ap-1.1.jar - ode-scheduler-simple-1.1.jar - ode-utils-1.1.jar - openjpa-all-0.9.7-incubating.jar - openjpa-persistence-0.9.7-incubating.jar - org.apache.felix.bundlerepository-1.0.2.jar - org.apache.felix.framework-1.0.3.jar - org.apache.felix.main-1.0.3.jar - org.apache.felix.shell-1.0.0.jar - org.apache.felix.shell.tui-1.0.0.jar - rampart-core-1.3.jar - rampart-policy-1.3.jar - rampart-trust-1.3.jar - regexp-1.3.jar - spring-beans-2.0.6.jar - spring-context-2.0.6.jar - spring-core-2.0.6.jar - tranql-connector-1.1.jar - tuscany-sdo-api-r2.1-1.0-incubating.jar - tuscany-sdo-impl-1.0-incubating.jar - tuscany-sdo-lib-1.0-incubating.jar - tuscany-sdo-tools-1.0-incubating.jar - woden-1.0-incubating-M7b.jar - wss4j-1.5.3.jar - wstx-asl-3.2.1.jar - xalan-2.7.0.jar - xbean-naming-2.7.jar - xercesImpl-2.8.1.jar - xml-apis-1.3.03.jar - xmlbeans-2.3.0.jar - xml-resolver-1.1.jar - xmlsec-1.4.0.jar - XmlSchema-1.3.2.jar - -=============================================================================== -axion-1.0-M3-dev.jar - -Copyright (c) 2002-2003 Axion Development Team. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - -2. 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. - -3. The names "Tigris", "Axion", nor the names of its contributors may - not be used to endorse or promote products derived from this - software without specific prior written permission. - -4. Products derived from this software may not be called "Axion", nor - may "Tigris" or "Axion" appear in their names 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. - -The "Axion Development Team" is defined to be: - - * Chuck Burdick - * James Burke - * Morgan Delagrange - * Geir Magnusson Jr. - * Martin Poeschl - * Steve Polyak - * Daniel Rall - * Ahimanikya Satapathy - * Doug Sale - * James Strachan - * Rodney Waldhoff - * Jason van Zyl - -License changes are to be determined by a simple majority vote of the -Axion Development Team. - -=============================================================================== -dom4j-1.6.1.jar - -Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. - -Redistribution and use of this software and associated documentation -("Software"), with or without modification, are permitted provided -that the following conditions are met: - -1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - -2. 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. - -3. The name "DOM4J" must not be used to endorse or promote - products derived from this Software without prior written - permission of MetaStuff, Ltd. For written permission, - please contact dom4j-info@metastuff.com. - -4. Products derived from this Software may not be called "DOM4J" - nor may "DOM4J" appear in their names without prior written - permission of MetaStuff, Ltd. DOM4J is a registered - trademark of MetaStuff, Ltd. - -5. Due credit should be given to the DOM4J Project - - http://www.dom4j.org - -THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS -``AS IS'' AND ANY EXPRESSED 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 -METASTUFF, LTD. OR ITS 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. - -=============================================================================== - -The EMF jars; - codegen-2.2.3.jar - codegen-ecore-2.2.3.jar - common-2.2.3.jar - ecore-2.2.3.jar - ecore-change-2.2.3.jar - ecore-xmi-2.2.3.jar - xsd-2.2.3.jar - -Eclipse Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF -THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - -a) in the case of the initial Contributor, the initial code and -documentation distributed under this Agreement, and -b) in the case of each subsequent Contributor: - -i) changes to the Program, and - -ii) additions to the Program; - -where such changes and/or additions to the Program originate from and -are distributed by that particular Contributor. A Contribution -'originates' from a Contributor if it was added to the Program by such -Contributor itself or anyone acting on such Contributor's behalf. -Contributions do not include additions to the Program which: (i) are -separate modules of software distributed in conjunction with the -Program under their own license agreement, and (ii) are not derivative -works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor -which are necessarily infringed by the use or sale of its Contribution -alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this -Agreement. - -"Recipient" means anyone who receives the Program under this -Agreement, including all Contributors. - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free copyright -license to reproduce, prepare derivative works of, publicly display, -publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and -object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free patent -license under Licensed Patents to make, use, sell, offer to sell, -import and otherwise transfer the Contribution of such Contributor, if -any, in source code and object code form. This patent license shall -apply to the combination of the Contribution and the Program if, at -the time the Contribution is added by the Contributor, such addition -of the Contribution causes such combination to be covered by the -Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder. - -c) Recipient understands that although each Contributor grants the -licenses to its Contributions set forth herein, no assurances are -provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow -Recipient to distribute the Program, it is Recipient's responsibility -to acquire that license before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient -copyright rights in its Contribution, if any, to grant the copyright -license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form -under its own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties -and conditions, express and implied, including warranties or -conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability -for damages, including direct, indirect, special, incidental and -consequential damages, such as lost profits; - -iii) states that any provisions which differ from this Agreement are -offered by that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such -Contributor, and informs licensees how to obtain it in a reasonable -manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the -Program. - -Contributors may not remove or alter any copyright notices contained -within the Program. - -Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a -commercial product offering should do so in a manner which does not -create potential liability for other Contributors. Therefore, if a -Contributor includes the Program in a commercial product offering, -such Contributor ("Commercial Contributor") hereby agrees to defend -and indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") arising -from claims, lawsuits and other legal actions brought by a third party -against the Indemnified Contributor to the extent caused by the acts -or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. -In order to qualify, an Indemnified Contributor must: a) promptly -notify the Commercial Contributor in writing of such claim, and b) -allow the Commercial Contributor to control, and cooperate with the -Commercial Contributor in, the defense and any related settlement -negotiations. The Indemnified Contributor may participate in any such -claim at its own expense. - -For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED 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. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable -laws, damage to or loss of data, programs or equipment, and -unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR -ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), 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 OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further -action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that -the Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of -the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of -time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use -and distribution of the Program as soon as reasonably practicable. -However, Recipient's obligations under this Agreement and any licenses -granted by Recipient relating to the Program shall continue and -survive. - -Everyone is permitted to copy and distribute copies of this Agreement, -but in order to avoid inconsistency the Agreement is copyrighted and -may only be modified in the following manner. The Agreement Steward -reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement -Steward has the right to modify this Agreement. The Eclipse Foundation -is the initial Agreement Steward. The Eclipse Foundation may assign -the responsibility to serve as the Agreement Steward to a suitable -separate entity. Each new version of the Agreement will be given a -distinguishing version number. The Program (including Contributions) -may always be distributed subject to the version of the Agreement -under which it was received. In addition, after a new version of the -Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives -no rights or licenses to the intellectual property of any Contributor -under this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No -party to this Agreement will bring a legal action under this Agreement -more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation. - -=============================================================================== -For Saxon including - saxon-8.7.jar - saxon-dom-8.7.jar - saxon-xpath-8.7.jar - - MOZILLA PUBLIC LICENSE -Version 1.0 - -1. Definitions. - - 1.1. ``Contributor'' means each entity that creates or contributes to the creation of Modifications. - - 1.2. ``Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor. - - 1.3. ``Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof. - - 1.4. ``Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data. - - 1.5. ``Executable'' means Covered Code in any form other than Source Code. - - 1.6. ``Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A. - - 1.7. ``Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License. - - 1.8. ``License'' means this document. - - 1.9. ``Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is: - - A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or previous Modifications. - - 1.10. ``Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License. - - 1.11. ``Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge. - - 1.12. ``You'' means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, ``You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, ``control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (``Utilize'') the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - - 2.2. Contributor Grant. - Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - - (a) Third Party Claims. - If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled ``LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation (``Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License. - - 6.3. Derivative Works. - If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a ``commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer software'' and ``commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the United States of America: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Santa Clara County, California, under the auspices of JAMS/EndDispute; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. - -12. RESPONSIBILITY FOR CLAIMS. - - Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis. - -EXHIBIT A. - - ``The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved. - - Contributor(s): ______________________________________.'' - -=============================================================================== - -For the Rhino JavaScript engine js-1.6R7.jar: - - MOZILLA PUBLIC LICENSE - Version 1.1 - - --------------- - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Code, prior Modifications used by a Contributor, and the Modifications - made by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified - as the Initial Developer in the Source Code notice required by Exhibit - A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - A. Any addition to or deletion from the contents of a file - containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, - and apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated interface definition files, scripts used to control - compilation and installation of an Executable, or source code - differential comparisons against either the Original Code or another - well known, available Covered Code of the Contributor's choice. The - Source Code can be in a compressed or archival form, provided the - appropriate decompression or de-archiving software is widely available - for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - For legal entities, "You" includes any entity which controls, is - controlled by, or is under common control with You. For purposes of - this definition, "control" means (a) the power, direct or indirect, - to cause the direction or management of such entity, whether by - contract or otherwise, or (b) ownership of more than fifty percent - (50%) of the outstanding shares or beneficial ownership of such - entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer to use, reproduce, - modify, display, perform, sublicense and distribute the Original - Code (or portions thereof) with or without Modifications, and/or - as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or - selling of Original Code, to make, have made, use, practice, - sell, and offer for sale, and/or otherwise dispose of the - Original Code (or portions thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are - effective on the date Initial Developer first distributes - Original Code under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: 1) for code that You delete from the Original Code; 2) - separate from the Original Code; or 3) for infringements caused - by: i) the modification of the Original Code or ii) the - combination of the Original Code with other software or devices. - - 2.2. Contributor Grant. - Subject to third party intellectual property claims, each Contributor - hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor, to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications - created by such Contributor (or portions thereof) either on an - unmodified basis, with other Modifications, as Covered Code - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or - selling of Modifications made by that Contributor either alone - and/or in combination with its Contributor Version (or portions - of such combination), to make, use, sell, offer for sale, have - made, and/or otherwise dispose of: 1) Modifications made by that - Contributor (or portions thereof); and 2) the combination of - Modifications made by that Contributor with its Contributor - Version (or portions of such combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are - effective on the date Contributor first makes Commercial Use of - the Covered Code. - - (d) Notwithstanding Section 2.2(b) above, no patent license is - granted: 1) for any code that Contributor has deleted from the - Contributor Version; 2) separate from the Contributor Version; - 3) for infringements caused by: i) third party modifications of - Contributor Version or ii) the combination of Modifications made - by that Contributor with other software (except as part of the - Contributor Version) or other devices; or 4) under Patent Claims - infringed by Covered Code in the absence of Modifications made by - that Contributor. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, - Contributor must include a text file with the Source Code - distribution titled "LEGAL" which describes the claim and the - party making the claim in sufficient detail that a recipient will - know whom to contact. If Contributor obtains such knowledge after - the Modification is made available as described in Section 3.2, - Contributor shall promptly modify the LEGAL file in all copies - Contributor makes available thereafter and shall take other steps - (such as notifying appropriate mailing lists or newsgroups) - reasonably calculated to inform those who received the Covered - Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming - interface and Contributor has knowledge of patent licenses which - are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to - Section 3.4(a) above, Contributor believes that Contributor's - Modifications are Contributor's original creation(s) and/or - Contributor has sufficient rights to grant the rights conveyed by - this License. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. However, You - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear than - any such warranty, support, indemnity or liability obligation is - offered by You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred by the - Initial Developer or such Contributor as a result of warranty, - support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under a license of Your choice, which may - contain terms different from this License, provided that You are in - compliance with the terms of this License and that the license for the - Executable version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version under a different - license You must make it absolutely clear that any terms which differ - from this License are offered by You alone, not by the Initial - Developer or any Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such - terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code - not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised - and/or new versions of the License from time to time. Each version - will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Netscape. No one - other than Netscape has the right to modify the terms applicable to - Covered Code created under this License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must (a) rename Your license so that - the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", - "MPL", "NPL" or any confusingly similar phrase do not appear in your - license (except to note that your license differs from this License) - and (b) otherwise make it clear that Your version of the license - contains terms which differ from the Mozilla Public License and - Netscape Public License. (Filling in the name of the Initial - Developer, Original Code or Contributor in the notice described in - Exhibit A shall not of themselves be deemed to be modifications of - this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE - IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, - YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE - COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER - OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, - all end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, - OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR - ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY - CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, - WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" and "commercial computer software documentation," as such - terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 - C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), - all U.S. Government End Users acquire Covered Code with only those - rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, with the losing party responsible for costs, including - without limitation, court costs and reasonable attorneys' fees and - expenses. The application of the United Nations Convention on - Contracts for the International Sale of Goods is expressly excluded. - Any law or regulation which provides that the language of a contract - shall be construed against the drafter shall not apply to this - License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the NPL or the alternative licenses, if any, specified - by the Initial Developer in the file described in Exhibit A. - -EXHIBIT A -Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License - Version 1.1 (the "License"); you may not use this file except in - compliance with the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - License for the specific language governing rights and limitations - under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. - Portions created by ______________________ are Copyright (C) ______ - _______________________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those - above. If you wish to allow use of your version of this file only - under the terms of the [____] License and not to allow others to use - your version of this file under the MPL, indicate your decision by - deleting the provisions above and replace them with the notice and - other provisions required by the [___] License. If you do not delete - the provisions above, a recipient may use your version of this file - under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] - - -=============================================================================== -Groovy (groovy-all-minimal-1.5.4.jar): - -/* - $Id: LICENSE.txt 156 2003-09-26 17:36:37Z jstrachan $ - - Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - - Redistribution and use of this software and associated documentation - ("Software"), with or without modification, are permitted provided - that the following conditions are met: - - 1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - - 2. 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. - - 3. The name "groovy" must not be used to endorse or promote - products derived from this Software without prior written - permission of The Codehaus. For written permission, - please contact info@codehaus.org. - - 4. Products derived from this Software may not be called "groovy" - nor may "groovy" appear in their names without prior written - permission of The Codehaus. "groovy" is a registered - trademark of The Codehaus. - - 5. Due credit should be given to The Codehaus - - http://groovy.codehaus.org/ - - THIS SOFTWARE IS PROVIDED BY THE CODEHAUS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESSED 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 CODEHAUS OR ITS 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. - - */ - -=============================================================================== - -Jython (jython-2.2.jar): - -A. HISTORY OF THE SOFTWARE -======================= - -JPython was created in late 1997 by Jim Hugunin. Jim was also the -primary developer while he was at CNRI. In February 1999 Barry Warsaw -took over as primary developer and released JPython version 1.1. - -In October 2000 Barry helped move the software to SourceForge -where it was renamed to Jython. Jython 2.0 and on are licensed under -the Jython specific license below. - -The standard library is covered by the Python Software Foundation -license. See the LICENSE_CPython.txt file for details. - -The zxJDBC package was written by Brian Zimmer and originally licensed -under the GNU Public License. The package is now covered by the Jython -Software License. - -The command line interpreter is covered by the Apache Software -License. See the LICENSE_Apache.txt file for details. - -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING JYTHON -================================ - -Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Jython Developers -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 Jython Developers nor the names of - its 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 REGENTS 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. - - - - -JPython 1.1.x Software License. -========================= - -______________________________________________________________________ - -IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. - -BY CLICKING ON THE "ACCEPT" BUTTON WHERE INDICATED, OR BY INSTALLING, -COPYING OR OTHERWISE USING THE SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO -THE TERMS AND CONDITIONS OF THIS AGREEMENT. - -______________________________________________________________________ - -JPython version 1.1.x - - 1. This LICENSE AGREEMENT is between the Corporation for National Research - Initiatives, having an office at 1895 Preston White Drive, Reston, VA - 20191 ("CNRI"), and the Individual or Organization ("Licensee") - accessing and using JPython version 1.1.x in source or binary form and - its associated documentation as provided herein ("Software"). - - 2. Subject to the terms and conditions of this License Agreement, CNRI - hereby grants Licensee a non-exclusive, non-transferable, royalty-free, - world-wide license to reproduce, analyze, test, perform and/or display - publicly, prepare derivative works, distribute, and otherwise use the - Software alone or in any derivative version, provided, however, that - CNRI's License Agreement and CNRI's notice of copyright, i.e., - "Copyright ©1996-1999 Corporation for National Research Initiatives; - All Rights Reserved" are both retained in the Software, alone or in any - derivative version prepared by Licensee. - - Alternatively, in lieu of CNRI's License Agreement, Licensee may - substitute the following text (omitting the quotes), provided, however, - that such text is displayed prominently in the Software alone or in any - derivative version prepared by Licensee: "JPython (Version 1.1.x) is - made available subject to the terms and conditions in CNRI's License - Agreement. This Agreement may be located on the Internet using the - following unique, persistent identifier (known as a handle): - 1895.22/1006. The License may also be obtained from a proxy server on - the Web using the following URL: http://hdl.handle.net/1895.22/1006." - - 3. In the event Licensee prepares a derivative work that is based on or - incorporates the Software or any part thereof, and wants to make the - derivative work available to the public as provided herein, then - Licensee hereby agrees to indicate in any such work, in a prominently - visible way, the nature of the modifications made to CNRI's Software. - - 4. Licensee may not use CNRI trademarks or trade name, including JPython - or CNRI, in a trademark sense to endorse or promote products or - services of Licensee, or any third party. Licensee may use the mark - JPython in connection with Licensee's derivative versions that are - based on or incorporate the Software, but only in the form - "JPython-based ___________________," or equivalent. - - 5. CNRI is making the Software available to Licensee on an "AS IS" basis. - CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY - OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY - REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY - PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE - ANY THIRD PARTY RIGHTS. - - 6. CNRI SHALL NOT BE LIABLE TO LICENSEE OR OTHER USERS OF THE SOFTWARE FOR - ANY INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE - THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. SOME STATES DO NOT - ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY SO THE ABOVE DISCLAIMER - MAY NOT APPLY TO LICENSEE. - - 7. This License Agreement may be terminated by CNRI (i) immediately upon - written notice from CNRI of any material breach by the Licensee, if the - nature of the breach is such that it cannot be promptly remedied; or - (ii) sixty (60) days following notice from CNRI to Licensee of a - material remediable breach, if Licensee has not remedied such breach - within that sixty-day period. - - 8. This License Agreement shall be governed by and interpreted in all - respects by the law of the State of Virginia, excluding conflict of law - provisions. Nothing in this Agreement shall be deemed to create any - relationship of agency, partnership, or joint venture between CNRI and - Licensee. - - 9. By clicking on the "ACCEPT" button where indicated, or by installing, - copying or otherwise using the Software, Licensee agrees to be bound by - the terms and conditions of this License Agreement. - - -=============================================================================== - -The jars; -activation-1.1.jar, -jaxb-api-2.1.jar, -jaxb-impl-2.1.6.jar, -jaxb-xjc-2.1.4.jar, -jaxb2-reflection-2.1.4.jar, -jsr181-api-1.0-MR1.jar, -jsr250-api-1.0.jar, -jaxws-api-2.1-1.jar, -mail-1.4.jar, -saaj-api-1.3.jar, -servlet-api-2.5.jar, -stax-api-1.0-commons-cli-1.0.jar2.jar - -COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 - - - 1. Definitions. - - 1.1. "Contributor" means each individual or entity that - creates or contributes to the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the - Original Software, prior Modifications used by a - Contributor (if any), and the Modifications made by that - particular Contributor. - - 1.3. "Covered Software" means (a) the Original Software, or - (b) Modifications, or (c) the combination of files - containing Original Software with files containing - Modifications, in each case including portions thereof. - - 1.4. "Executable" means the Covered Software in any form - other than Source Code. - - 1.5. "Initial Developer" means the individual or entity - that first makes Original Software available under this - License. - - 1.6. "Larger Work" means a work which combines Covered - Software or portions thereof with code not governed by the - terms of this License. - - 1.7. "License" means this document. - - 1.8. "Licensable" means having the right to grant, to the - maximum extent possible, whether at the time of the initial - grant or subsequently acquired, any and all of the rights - conveyed herein. - - 1.9. "Modifications" means the Source Code and Executable - form of any of the following: - - A. Any file that results from an addition to, - deletion from or modification of the contents of a - file containing Original Software or previous - Modifications; - - B. Any new file that contains any part of the - Original Software or previous Modification; or - - C. Any new file that is contributed or otherwise made - available under the terms of this License. - - 1.10. "Original Software" means the Source Code and - Executable form of computer software code that is - originally released under this License. - - 1.11. "Patent Claims" means any patent claim(s), now owned - or hereafter acquired, including without limitation, - method, process, and apparatus claims, in any patent - Licensable by grantor. - - 1.12. "Source Code" means (a) the common form of computer - software code in which modifications are made and (b) - associated documentation included in or with such code. - - 1.13. "You" (or "Your") means an individual or a legal - entity exercising rights under, and complying with all of - the terms of, this License. For legal entities, "You" - includes any entity which controls, is controlled by, or is - under common control with You. For purposes of this - definition, "control" means (a) the power, direct or - indirect, to cause the direction or management of such - entity, whether by contract or otherwise, or (b) ownership - of more than fifty percent (50%) of the outstanding shares - or beneficial ownership of such entity. - - 2. License Grants. - - 2.1. The Initial Developer Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, the - Initial Developer hereby grants You a world-wide, - royalty-free, non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Initial Developer, - to use, reproduce, modify, display, perform, - sublicense and distribute the Original Software (or - portions thereof), with or without Modifications, - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, - using or selling of Original Software, to make, have - made, use, practice, sell, and offer for sale, and/or - otherwise dispose of the Original Software (or - portions thereof). - - (c) The licenses granted in Sections 2.1(a) and (b) - are effective on the date Initial Developer first - distributes or otherwise makes the Original Software - available to a third party under the terms of this - License. - - (d) Notwithstanding Section 2.1(b) above, no patent - license is granted: (1) for code that You delete from - the Original Software, or (2) for infringements - caused by: (i) the modification of the Original - Software, or (ii) the combination of the Original - Software with other software or devices. - - 2.2. Contributor Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, each - Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Contributor to - use, reproduce, modify, display, perform, sublicense - and distribute the Modifications created by such - Contributor (or portions thereof), either on an - unmodified basis, with other Modifications, as - Covered Software and/or as part of a Larger Work; and - - - (b) under Patent Claims infringed by the making, - using, or selling of Modifications made by that - Contributor either alone and/or in combination with - its Contributor Version (or portions of such - combination), to make, use, sell, offer for sale, - have made, and/or otherwise dispose of: (1) - Modifications made by that Contributor (or portions - thereof); and (2) the combination of Modifications - made by that Contributor with its Contributor Version - (or portions of such combination). - - (c) The licenses granted in Sections 2.2(a) and - 2.2(b) are effective on the date Contributor first - distributes or otherwise makes the Modifications - available to a third party. - - (d) Notwithstanding Section 2.2(b) above, no patent - license is granted: (1) for any code that Contributor - has deleted from the Contributor Version; (2) for - infringements caused by: (i) third party - modifications of Contributor Version, or (ii) the - combination of Modifications made by that Contributor - with other software (except as part of the - Contributor Version) or other devices; or (3) under - Patent Claims infringed by Covered Software in the - absence of Modifications made by that Contributor. - - 3. Distribution Obligations. - - 3.1. Availability of Source Code. - - Any Covered Software that You distribute or otherwise make - available in Executable form must also be made available in - Source Code form and that Source Code form must be - distributed only under the terms of this License. You must - include a copy of this License with every copy of the - Source Code form of the Covered Software You distribute or - otherwise make available. You must inform recipients of any - such Covered Software in Executable form as to how they can - obtain such Covered Software in Source Code form in a - reasonable manner on or through a medium customarily used - for software exchange. - - 3.2. Modifications. - - The Modifications that You create or to which You - contribute are governed by the terms of this License. You - represent that You believe Your Modifications are Your - original creation(s) and/or You have sufficient rights to - grant the rights conveyed by this License. - - 3.3. Required Notices. - - You must include a notice in each of Your Modifications - that identifies You as the Contributor of the Modification. - You may not remove or alter any copyright, patent or - trademark notices contained within the Covered Software, or - any notices of licensing or any descriptive text giving - attribution to any Contributor or the Initial Developer. - - 3.4. Application of Additional Terms. - - You may not offer or impose any terms on any Covered - Software in Source Code form that alters or restricts the - applicable version of this License or the recipients' - rights hereunder. You may choose to offer, and to charge a - fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Software. - However, you may do so only on Your own behalf, and not on - behalf of the Initial Developer or any Contributor. You - must make it absolutely clear that any such warranty, - support, indemnity or liability obligation is offered by - You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred - by the Initial Developer or such Contributor as a result of - warranty, support, indemnity or liability terms You offer. - - - 3.5. Distribution of Executable Versions. - - You may distribute the Executable form of the Covered - Software under the terms of this License or under the terms - of a license of Your choice, which may contain terms - different from this License, provided that You are in - compliance with the terms of this License and that the - license for the Executable form does not attempt to limit - or alter the recipient's rights in the Source Code form - from the rights set forth in this License. If You - distribute the Covered Software in Executable form under a - different license, You must make it absolutely clear that - any terms which differ from this License are offered by You - alone, not by the Initial Developer or Contributor. You - hereby agree to indemnify the Initial Developer and every - Contributor for any liability incurred by the Initial - Developer or such Contributor as a result of any such terms - You offer. - - 3.6. Larger Works. - - You may create a Larger Work by combining Covered Software - with other code not governed by the terms of this License - and distribute the Larger Work as a single product. In such - a case, You must make sure the requirements of this License - are fulfilled for the Covered Software. - - 4. Versions of the License. - - 4.1. New Versions. - - Sun Microsystems, Inc. is the initial license steward and - may publish revised and/or new versions of this License - from time to time. Each version will be given a - distinguishing version number. Except as provided in - Section 4.3, no one other than the license steward has the - right to modify this License. - - 4.2. Effect of New Versions. - - You may always continue to use, distribute or otherwise - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. If the Initial Developer includes a - notice in the Original Software prohibiting it from being - distributed or otherwise made available under any - subsequent version of the License, You must distribute and - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. Otherwise, You may also choose to - use, distribute or otherwise make the Covered Software - available under the terms of any subsequent version of the - License published by the license steward. - - 4.3. Modified Versions. - - When You are an Initial Developer and You want to create a - new license for Your Original Software, You may create and - use a modified version of this License if You: (a) rename - the license and remove any references to the name of the - license steward (except to note that the license differs - from this License); and (b) otherwise make it clear that - the license contains terms which differ from this License. - - - 5. DISCLAIMER OF WARRANTY. - - COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" - BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, - INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED - SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR - PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND - PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY - COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE - INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF - ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF - WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS - DISCLAIMER. - - 6. TERMINATION. - - 6.1. This License and the rights granted hereunder will - terminate automatically if You fail to comply with terms - herein and fail to cure such breach within 30 days of - becoming aware of the breach. Provisions which, by their - nature, must remain in effect beyond the termination of - this License shall survive. - - 6.2. If You assert a patent infringement claim (excluding - declaratory judgment actions) against Initial Developer or - a Contributor (the Initial Developer or Contributor against - whom You assert such claim is referred to as "Participant") - alleging that the Participant Software (meaning the - Contributor Version where the Participant is a Contributor - or the Original Software where the Participant is the - Initial Developer) directly or indirectly infringes any - patent, then any and all rights granted directly or - indirectly to You by such Participant, the Initial - Developer (if the Initial Developer is not the Participant) - and all Contributors under Sections 2.1 and/or 2.2 of this - License shall, upon 60 days notice from Participant - terminate prospectively and automatically at the expiration - of such 60 day notice period, unless if within such 60 day - period You withdraw Your claim with respect to the - Participant Software against such Participant either - unilaterally or pursuant to a written agreement with - Participant. - - 6.3. In the event of termination under Sections 6.1 or 6.2 - above, all end user licenses that have been validly granted - by You or any distributor hereunder prior to termination - (excluding licenses granted to You by any distributor) - shall survive termination. - - 7. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE - INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF - COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE - LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR - CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT - LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK - STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL - INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT - APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO - NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR - CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT - APPLY TO YOU. - - 8. U.S. GOVERNMENT END USERS. - - The Covered Software is a "commercial item," as that term is - defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial - computer software" (as that term is defined at 48 C.F.R. - 252.227-7014(a)(1)) and "commercial computer software - documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. - 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 - through 227.7202-4 (June 1995), all U.S. Government End Users - acquire Covered Software with only those rights set forth herein. - This U.S. Government Rights clause is in lieu of, and supersedes, - any other FAR, DFAR, or other clause or provision that addresses - Government rights in computer software under this License. - - 9. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the - extent necessary to make it enforceable. This License shall be - governed by the law of the jurisdiction specified in a notice - contained within the Original Software (except to the extent - applicable law, if any, provides otherwise), excluding such - jurisdiction's conflict-of-law provisions. Any litigation - relating to this License shall be subject to the jurisdiction of - the courts located in the jurisdiction and venue specified in a - notice contained within the Original Software, with the losing - party responsible for costs, including, without limitation, court - costs and reasonable attorneys' fees and expenses. The - application of the United Nations Convention on Contracts for the - International Sale of Goods is expressly excluded. Any law or - regulation which provides that the language of a contract shall - be construed against the drafter shall not apply to this License. - You agree that You alone are responsible for compliance with the - United States export administration regulations (and the export - control laws and regulation of any other countries) when You use, - distribute or otherwise make available any Covered Software. - - 10. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or - indirectly, out of its utilization of rights under this License - and You agree to work with Initial Developer and Contributors to - distribute such responsibility on an equitable basis. Nothing - herein is intended or shall be deemed to constitute any admission - of liability. - -=============================================================================== - -JRuby (jruby-complete-1.0.jar), wsdl4j (wsdl4j-1.6.2.jar): - -Common Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - - a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and - b) in the case of each subsequent Contributor: - - i) changes to the Program, and - - ii) additions to the Program; - - where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. - -2. GRANT OF RIGHTS - - a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. - - b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. - - c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. - - d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: - - a) it complies with the terms and conditions of this Agreement; and - - b) its license agreement: - - i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; - - ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; - - iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and - - iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - - a) it must be made available under this Agreement; and - - b) a copy of this Agreement must be included with each copy of the Program. - -Contributors may not remove or alter any copyright notices contained within the Program. - -Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 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. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. - -=============================================================================== - -backport-util-concurrent-2.2.jar: - -The software comprising backport-util-concurrent is based in large -part on the code from JSR166, and the package dl.util.concurrent. -The software has been released to the public domain, as explained at: -http://creativecommons.org/licenses/publicdomain, excepting portions -of the class -edu.emory.mathcs.backport.java.util.concurrent.CopyOnWriteArrayList, -which were adapted from class java.util.ArrayList, written by Sun -Microsystems, Inc, which are used with kind permission, and subject -to the following: - -Copyright 2002-2004 Sun Microsystems, Inc. All rights reserved. Use is -subject to the following license terms. - - "Sun hereby grants you a non-exclusive, worldwide, non-transferrable - license to use and distribute the Java Software technologies as part - of a larger work in source and binary forms, with or without - modification, provided that the following conditions are met: - - -Neither the name of or trademarks of Sun may be used to endorse or - promote products derived from the Java Software technology without - specific prior written permission. - - -Redistributions of source or binary code must be accompanied by the - following notice and disclaimers: - - Portions copyright Sun Microsystems, Inc. Used with kind permission. - - This software is provided AS IS, without a warranty of any kind. ALL - EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PUPOSE OR - NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN - MICROSYSTEMS, INC. AND ITS LICENSORS SHALL NOT BE LIABLE - FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS - DERIVATIVES. IN NO EVENT WILL SUN MICROSYSTEMS, INC. OR - ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR - DATA, OR FOR DIRECT, INDIRECT,CONSQUENTIAL, INCIDENTAL - OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF - THE THEORY OR LIABILITY, ARISING OUT OF THE USE OF OR - INABILITY TO USE SOFTWARE, EVEN IF SUN MICROSYSTEMS, INC. - HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - You acknowledge that Software is not designed, licensed or intended for - use in the design, construction, operation or maintenance of any nuclear - facility." - -=============================================================================== -rome-0.9.jar - -Copyright 2004 Sun Microsystems, Inc. - -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. - -=============================================================================== -jdom-1.0.jar : - -$Id: LICENSE.txt,v 1.11 2004/02/06 09:32:57 jhunter Exp $ - - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions, and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions, and the disclaimer that follows - these conditions in the documentation and/or other materials - provided with the distribution. - - 3. The name "JDOM" must not be used to endorse or promote products - derived from this software without prior written permission. For - written permission, please contact . - - 4. Products derived from this software may not be called "JDOM", nor - may "JDOM" appear in their name, without prior written permission - from the JDOM Project Management . - - In addition, we request (but do not require) that you include in the - end-user documentation provided with the redistribution and/or in the - software itself an acknowledgement equivalent to the following: - "This product includes software developed by the - JDOM Project (http://www.jdom.org/)." - Alternatively, the acknowledgment may be graphical using the logos - available at http://www.jdom.org/images/logos. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 JDOM AUTHORS OR THE PROJECT - 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. - - This software consists of voluntary contributions made by many - individuals on behalf of the JDOM Project and was originally - created by Jason Hunter and - Brett McLaughlin . For more information - on the JDOM Project, please see . - -======================================================================== - -dwr-2.0.1.jar : - -/* -* Copyright 2005 Joe Walker -* -* 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. -*/ - -========================================================================== - -dojotoolkit V1.0.0: - -The "New" BSD License: -********************** - -Copyright (c) 2005, The Dojo Foundation -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 Dojo Foundation nor the names of its 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. - -================================================================================ - -The module tuscany-implementation-script-1.0-incubating.jar temporarily includes -one file under the below BSD license with the following copyright: - - Copyright (c) 2006, Sun Microsystems, Inc. - All rights reserved. - -BSD license: - - 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. - -================================================================================ - -The serp-1.12.0.jar is distributed under the BSD license with the following copyright: - - Copyright (c) 2002, A. Abram White - All rights reserved. - -BSD license: - - 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. - -================================================================================ -The javacc-3.2.jar, and howl-1.0.1-1.jar are distributed under the BSD license: - -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. - -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. - -================================================================================ - -The tuscany-assembly-xsd jar includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================ -License for the Service Data Objects JavaDoc and Interface Definition files. (tuscany-sdo-api-r2.1-1.0-incubating.jar) - -These files being ... -commonj/sdo/ChangeSummary$Setting.class -commonj/sdo/ChangeSummary.class -commonj/sdo/DataGraph.class -commonj/sdo/DataObject.class -commonj/sdo/helper/CopyHelper.class -commonj/sdo/helper/DataFactory.class -commonj/sdo/helper/DataHelper.class -commonj/sdo/helper/EqualityHelper.class -commonj/sdo/helper/HelperContext.class -commonj/sdo/helper/TypeHelper.class -commonj/sdo/helper/XMLDocument.class -commonj/sdo/helper/XMLHelper.class -commonj/sdo/helper/XSDHelper.class -commonj/sdo/impl/ExternalizableDelegator$Resolvable.class -commonj/sdo/impl/ExternalizableDelegator.class -commonj/sdo/Property.class -commonj/sdo/Sequence.class -commonj/sdo/Type.class -xml/datagraph.xsd -xml/sdoJava.xml -xml/sdoJava.xsd -xml/sdoModel.xml -xml/sdoModel.xsd -xml/sdoXML.xml -xml/sdoXML.xsd - - -License for the Service Data Objects JavaDoc and Interface Definition files. - -The Service Data Objects Specification is being provided by the copyright holders under the following -license. By using and/or copying this work, you agree that you have read, understood and will comply with -the following terms and conditions: - -Permission to copy, display and distribute the Service Data Objects Specification and/or portions thereof, without -modification, in any medium without fee or royalty is hereby granted, provided that you include the -following on ALL copies of the Service Data Objects Specification, or portions thereof, that you make: - -1. A link or URL to the Service Data Objects Specification at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Service Data Objects Specification. - -BEA, IBM, Oracle, Primeton Technologies, Rogue Wave Software, SAP, Software AG, Sun Microsystems, Xcalia, -Zend Technologies (collectively, the “Authors”) agree to grant you a royalty-free license, under reasonable, -non-discriminatory terms and conditions to patents that they deem necessary to implement the Service Data -Objects Specification. - -THE Service Data Objects SPECIFICATION IS PROVIDED "AS IS," AND THE AUTHORS MAKE NO REPRESENTATIONS OR -WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SPECIFICATION AND THE IMPLEMENTATION OF ITS CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, -NON-INFRINGEMENT OR TITLE. THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL -OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THE SERVICE DATA OBJECTS -SPECIFICATION. - -The name and trademarks of the Authors may NOT be used in any manner, including advertising or publicity -pertaining to the Service Data Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects Specification will at all times remain with the -Authors. - -No other rights are granted by implication, estoppel or otherwise. -================================================================================ - diff --git a/java/sca/contrib/distribution/features/web20/src/main/release/bin/NOTICE b/java/sca/contrib/distribution/features/web20/src/main/release/bin/NOTICE deleted file mode 100644 index 5daa9a3dfe..0000000000 --- a/java/sca/contrib/distribution/features/web20/src/main/release/bin/NOTICE +++ /dev/null @@ -1,95 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses XmlSchema developed at -The Apache Software Foundation (http://ws.apache.org/commons/XmlSchema) - Portions Copyright 2006 International Business Machines Corp. - -This product includes/uses ode-bpel-api-1.1 developed at -The Apache Software Foundation (http://ode.apache.org) - - Copyright 1999-2006 Intalio - This product includes software developed by Intalio (http://www.intalio.com) - - Copyright 2006 Sybase - This product includes software developed by Sybase.(http://www.sybase.com) - -"This product includes software developed by the Spring Framework - Project (http://www.springframework.org)." - -This product includes/uses the Jetty Servlet Engine (http://jetty.mortbay.org), -developed by Mort Bay Consulting (http://www.mortbay.com) - -This product includes/uses the Groovy Script Engine (http://groovy.codehaus.org/), -Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - -This product includes/uses the Axion : the Open Source Java Database (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. All rights reserved. - -This product includes/uses DOM4J : the flexible XML framework for java (http://www.dom4j.org/) - Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. - -This product includes/uses software, AOP alliance (http://aopalliance.sourceforge.net) -License: Public Domain - -This product includes/uses JSON-RPC-Java (http://oss.metaparadigm.com/jsonrpc/) - -This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) - Copyright (c) 2003-2004 Jan-Klaas Kollhof - Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd - -This product includes software from the GlassFish project (https://glassfish.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes software from the Rome project (https://rome.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes/uses the Eclipse Modeling Framework project (http://www.eclipse.org/emf/) - -This product includes/uses the Mozilla Rhino project (http://www.mozilla.org/rhino/) - -This product includes/uses the Sourceforge wsdl4j project (http://sourceforge.net/projects/wsdl4j/)i - -This product includes/uses the Codehaus JRuby project (http://jruby.codehaus.org/) - -This product includes/uses JDOM (http://www.jdom.org/) - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. All rights reserved. - -This product includes/uses DWR (http://getahead.org/dwr) - Copyright 2005 Joe Walker. All rights reserved. - -This product includes/uses dojotoolkit (http://dojotoolkit.org/) - Copyright (c) 2005, The Dojo Foundation. All rights reserved. - -This product includes/uses Howl (http://howl.objectweb.org/) - Copyright (c) 2004, Bull S.A. - -This product includes/uses axion (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. - -This product includes/uses javacc (https://javacc.dev.java.net/) - Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved. - -The Program includes all or portions of the following software: "The -Saxon XSLT and XQuery Processor from Saxonica Limited" distributed under -an MPL v1.0 license. Please refer to the homepage URL at -http://www.saxonica.com/. - -This product includes/uses Serp (http://serp.sourceforge.net/) under the BSD license: - Copyright (c) 2002, A. Abram White. All rights reserved. - -This product also includes software under the BSD license -with the following copyright: - Copyright (c) 2006, Sun Microsystems, Inc. All rights reserved. - -This product includes software under the Service Component Architecture JavaDoc, -Interface Definition files and XSD files license. - (c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - diff --git a/java/sca/contrib/distribution/features/web20/src/main/release/src/BUILDING b/java/sca/contrib/distribution/features/web20/src/main/release/src/BUILDING deleted file mode 100644 index 65d09c5eae..0000000000 --- a/java/sca/contrib/distribution/features/web20/src/main/release/src/BUILDING +++ /dev/null @@ -1,55 +0,0 @@ -Building the Apache Tuscany SCA 1.2 (incubating) April 2008 Release source distribution -======================================================================================= - -Initial Setup -------------- - -1) Install J2SE 5.0 SDK, which can be downloaded from - http://java.sun.com/j2se/1.5.0/download.jsp. Use version of 1.5.0_06 JDK or higher. - -2) Make sure that your JAVA_HOME environment variable is set to the newly installed - JDK location, and that your PATH includes %JAVA_HOME%\bin (windows) or - $JAVA_HOME$/bin (unix). - -3) Install Maven 2.0.7 or higher, which can be downloaded from - http://maven.apache.org/download.html. Make sure that your PATH includes - the MVN_HOME/bin directory. - -4) Make sure that your MAVEN_OPTS environment variable has -Xmx128M (or more), - you can manually do this by executing the following in your prompt : - Windows users: - set MAVEN_OPTS=-Xmx128M - Unix users: - export MAVEN_OPTS=-Xmx128M - - -Building --------- - -1) Change to the top level directory of Apache Tuscany source distribution. -2) Run - - $> mvn - - This will compile Apache Tuscany and run all of the tests in the source - distribution. - - Depending on the load of remote Maven 2.0 repositories, you may have - to run "mvn" several times utill the required dependencies are - all located in your local maven repository. It usually takes some time for - maven to download required dependencies in the first build. Once all the - dependencies have been downloaded you may use the -o option to run maven - in offline mode, for example, 'mvn clean install -o'. - - -Building the distributions --------------------------- - -1) Change to the distribution folder -2) Run - - $> mvn - - This will build the binary and source distribution with .zip and .gz - formats in the distribution/target directory. - diff --git a/java/sca/contrib/distribution/features/web20/src/main/release/src/LICENSE b/java/sca/contrib/distribution/features/web20/src/main/release/src/LICENSE deleted file mode 100644 index 144d8ae692..0000000000 --- a/java/sca/contrib/distribution/features/web20/src/main/release/src/LICENSE +++ /dev/null @@ -1,397 +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. - -=============================================================================================================== - -The module itest/databindings/common includes the test schema; datagraph.xsd, sdoJava.xsd, and sdoModel.xsd -under the following license: - -License for the Service Data Objects JavaDoc, Interface Definition files -and XSD files. - -The Service Data Objects JavaDoc, Interface Definition files and XSD files -are being provided by the copyright holders under the following license. -By using and/or copying this work, you agree that you have read, -understood and will comply with the following terms and conditions: - -Permission to copy, display, make derivative works of and distribute -the Service Data Objects JavaDoc, Interface Definition files and XSD files -(the "Artifacts") in any medium without fee or royalty is hereby granted, -provided that you include the following on ALL copies of the Artifacts, -or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - - - -THE ARTIFACTS ARE PROVIDED "AS IS" AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Data -Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects -Specification will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.11, last updated on 2007/12/21 - -================================================================================================================= - -The 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. - -================================================================================================================= - -The module assembly-xsd includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================================================= -The modules - -binding-ws-xml -databinding -databinding-axiom -databinding-jaxb -databinding-json -databinding-sdo -databinding-sdo-axiom -databinding-xmlbeans -interface-wsdl-xml - -Include the ipo.xsd and address.xsd information from the XML Schema Primer -(http://www.w3.org/TR/2004/PER-xmlschema-0-20040318/) combined into the -file ipo.xsd and extended with UK postcode structures. - -The ipo.xsd file is include under the following license: - -W3C(c) SOFTWARE NOTICE AND LICENSE -http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - -This work (and included software, documentation such as READMEs, or other -related items) is being provided by the copyright holders under the following -license. By obtaining, using and/or copying this work, you (the licensee) agree -that you have read, understood, and will comply with the following terms and conditions. - -Permission to copy, modify, and distribute this software and its documentation, -with or without modification, for any purpose and without fee or royalty is -hereby granted, provided that you include the following on ALL copies of the -software and documentation or portions thereof, including modifications: - - 1. The full text of this NOTICE in a location viewable to users of the - redistributed or derivative work. - 2. Any pre-existing intellectual property disclaimers, notices, or terms - and conditions. If none exist, the W3C Software Short Notice should be - included (hypertext is preferred, text is permitted) within the body of - any redistributed or derivative code. - 3. Notice of any changes or modifications to the files, including the date - changes were made. (We recommend you provide URIs to the location from which - the code is derived.) - -THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE -NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, -WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE -USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, -COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. - -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. - -The name and trademarks of copyright holders may NOT be used in advertising or -publicity pertaining to the software without specific, written prior permission. -Title to copyright in this software and any associated documentation will at all -times remain with copyright holders. diff --git a/java/sca/contrib/distribution/features/web20/src/main/release/src/NOTICE b/java/sca/contrib/distribution/features/web20/src/main/release/src/NOTICE deleted file mode 100644 index 31540fd607..0000000000 --- a/java/sca/contrib/distribution/features/web20/src/main/release/src/NOTICE +++ /dev/null @@ -1,39 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) - Copyright (c) 2003-2004 Jan-Klaas Kollhof - Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd - -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. - -This product includes software under the Service Component Architecture JavaDoc, -Interface Definition files and XSD files license. - (c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - -This product includes software under the W3C(c) Software License -with the following copyright: - -Copyright (c) 2008 World Wide Web Consortium, (Massachusetts Institute of Technology, -European Research Consortium for Informatics and Mathematics, Keio University). -All Rights Reserved. This work is distributed under the W3C(c) Software License [1] in -the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied -warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - - diff --git a/java/sca/contrib/distribution/features/webservice/pom.xml b/java/sca/contrib/distribution/features/webservice/pom.xml deleted file mode 100644 index c1ff9080c3..0000000000 --- a/java/sca/contrib/distribution/features/webservice/pom.xml +++ /dev/null @@ -1,230 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-distribution-features - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-distribution-webservice - Apache Tuscany SCA Web Service Distribution - pom - - - - - - org.apache.tuscany.sca - tuscany-distribution-core - pom - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-binding-sca-axis2 - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-binding-ws-axis2 - 2.0-SNAPSHOT - - - org.apache.ant - ant-nodeps - - - org.apache.axis2 - addressing - - - org.apache.axis2 - axis2-xmlbeans - - - org.apache.axis2 - axis2-adb-codegen - - - bouncycastle - bcprov-jdk15 - - - opensaml - opensaml - - - - - - - org.apache.tuscany.sca - tuscany-databinding-axiom - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-databinding-jaxb-axiom - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-databinding-sdo - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-databinding-sdo-axiom - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-host-jetty - 2.0-SNAPSHOT - - - - - - org.apache.tuscany.sca - tuscany-policy-xml-ws - 2.0-SNAPSHOT - - - - - - - - default - - true - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - distribution-package - package - - single - - - - src/main/assembly/bin.xml - src/main/assembly/src.xml - - gnu - apache-tuscany-sca-webservice-1.4-SNAPSHOT - - - - - - - - - - - modules - - ../../../modules/assembly - ../../../modules/assembly-xml - ../../../modules/assembly-xsd - ../../../modules/binding-corba - ../../../modules/binding-corba-runtime - ../../../modules/binding-sca - ../../../modules/binding-sca-axis2 - ../../../modules/binding-sca-xml - ../../../modules/binding-ws - ../../../modules/binding-ws-axis2 - ../../../modules/binding-ws-axis2-policy - ../../../modules/binding-ws-wsdlgen - ../../../modules/binding-ws-xml - ../../../modules/contribution - ../../../modules/contribution-impl - ../../../modules/contribution-java - ../../../modules/contribution-namespace - ../../../modules/contribution-xml - ../../../modules/core - ../../../modules/core-databinding - ../../../modules/core-spi - ../../../modules/data-api - ../../../modules/databinding - ../../../modules/databinding-axiom - ../../../modules/databinding-jaxb - ../../../modules/databinding-jaxb-axiom - ../../../modules/databinding-sdo - ../../../modules/databinding-sdo-axiom - ../../../modules/definitions - ../../../modules/definitions-xml - ../../../modules/endpoint - ../../../modules/extensibility - ../../../modules/extensibility-equinox - ../../../modules/host-corba - ../../../modules/host-corba-jse - ../../../modules/host-embedded - ../../../modules/host-http - ../../../modules/host-jetty - ../../../modules/implementation-java - ../../../modules/implementation-java-runtime - ../../../modules/implementation-java-xml - ../../../modules/implementation-node - ../../../modules/implementation-node-runtime - ../../../modules/interface - ../../../modules/interface-java - ../../../modules/interface-java-jaxws - ../../../modules/interface-java-xml - ../../../modules/interface-wsdl - ../../../modules/interface-wsdl-xml - ../../../modules/monitor - ../../../modules/monitor-logging - ../../../modules/node-api - ../../../modules/node-impl - ../../../modules/node-launcher - ../../../modules/node-launcher-equinox - ../../../modules/node-launcher-webapp - ../../../modules/policy - ../../../modules/policy-security - ../../../modules/policy-security-ws - ../../../modules/policy-xml - ../../../modules/policy-xml-ws - ../../../modules/sca-api - ../../../modules/xsd - ../../../modules/xsd-xml - - - - - diff --git a/java/sca/contrib/distribution/features/webservice/src/main/assembly/bin.xml b/java/sca/contrib/distribution/features/webservice/src/main/assembly/bin.xml deleted file mode 100644 index fd49912e91..0000000000 --- a/java/sca/contrib/distribution/features/webservice/src/main/assembly/bin.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - true - tuscany-sca-1.4-SNAPSHOT - - - zip - - - - ../core/src/main/components/bin-common.xml - ../core/src/main/components/bin-filtered-dependencies.xml - src/main/components/bin-samples.xml - - diff --git a/java/sca/contrib/distribution/features/webservice/src/main/assembly/src.xml b/java/sca/contrib/distribution/features/webservice/src/main/assembly/src.xml deleted file mode 100644 index 0d832271b9..0000000000 --- a/java/sca/contrib/distribution/features/webservice/src/main/assembly/src.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - src - true - tuscany-sca-1.4-SNAPSHOT-src - - - zip - - - - ../core/src/main/components/src-common.xml - src/main/components/src-modules.xml - - diff --git a/java/sca/contrib/distribution/features/webservice/src/main/components/bin-samples.xml b/java/sca/contrib/distribution/features/webservice/src/main/components/bin-samples.xml deleted file mode 100644 index 1bb5c20536..0000000000 --- a/java/sca/contrib/distribution/features/webservice/src/main/components/bin-samples.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - ../../../samples - samples - - callback-ws-client/**/* - callback-ws-service/**/* - helloworld-ws-reference/**/* - helloworld-ws-service/**/* - helloworld-ws-reference-secure/**/* - helloworld-ws-service-secure/**/* - helloworld-ws-service-webapp/**/* - simple-callback-ws/**/* - zipcode-jaxws/**/* - - - - **/.* - **/.*/** - **/*.log - - - pom.xml - **/target - **/target/**/* - - - - diff --git a/java/sca/contrib/distribution/features/webservice/src/main/components/src-modules.xml b/java/sca/contrib/distribution/features/webservice/src/main/components/src-modules.xml deleted file mode 100644 index e551ca97ba..0000000000 --- a/java/sca/contrib/distribution/features/webservice/src/main/components/src-modules.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - ../../../modules - modules - - assembly/**/* - assembly-xml/**/* - assembly-xsd/**/* - binding-corba/**/* - binding-corba-runtime/**/* - binding-sca/**/* - binding-sca-axis2/**/* - binding-sca-xml/**/* - binding-ws/**/* - binding-ws-axis2/**/* - binding-ws-wsdlgen/**/* - binding-ws-xml/**/* - contribution/**/* - contribution-impl/**/* - contribution-java/**/* - contribution-namespace/**/* - contribution-xml/**/* - core/**/* - core-databinding/**/* - core-spi/**/* - data-api/**/* - databinding/**/* - databinding-axiom/**/* - databinding-jaxb/**/* - databinding-jaxb-axiom/**/* - databinding-sdo/**/* - databinding-sdo-axiom/**/* - definitions/**/* - definitions-xml/**/* - distribution-core/**/* - endpoint/**/* - extensibility/**/* - extensibility-equinox/**/* - host-corba/**/* - host-corba-jse/**/* - host-embedded/**/* - host-http/**/* - host-jetty/**/* - implementation-java/**/* - implementation-java-runtime/**/* - implementation-java-xml/**/* - implementation-node/**/* - implementation-node-runtime/**/* - interface/**/* - interface-java/**/* - interface-java-jaxws/**/* - interface-java-xml/**/* - interface-wsdl/**/* - interface-wsdl-xml/**/* - monitor/**/* - monitor-logging/**/* - node-api/**/* - node-impl/**/* - node-launcher/**/* - node-launcher-equinox/**/* - node-launcher-webapp/**/* - policy/**/* - policy-security/**/* - policy-security-ws/**/* - policy-xml/**/* - policy-xml-ws/**/* - sca-api/**/* - xsd/**/* - xsd-xml/**/* - - - - **/.* - **/.*/** - **/*.log - - - pom.xml - **/target - **/target/**/* - - - - diff --git a/java/sca/contrib/distribution/features/webservice/src/main/release/CHANGES b/java/sca/contrib/distribution/features/webservice/src/main/release/CHANGES deleted file mode 100644 index 3de7358ec6..0000000000 --- a/java/sca/contrib/distribution/features/webservice/src/main/release/CHANGES +++ /dev/null @@ -1,431 +0,0 @@ -Changes With Apache Tuscany SCA 1.2 (incubating) April 2008 -=========================================================== - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-2027 - * TUSCANY-1999 - * TUSCANY-2037 - * TUSCANY-2034 - * TUSCANY-2038 - * TUSCANY-2043 - * TUSCANY-2046 - * TUSCANY-2047 - * TUSCANY-2028 - * TUSCANY-1873 - * TUSCANY-2049 - * TUSCANY-2035 - * TUSCANY-1206 - * TUSCANY-2036 - * TUSCANY-1771 - * TUSCANY-2013 - * TUSCANY-1926 - * TUSCANY-1917 - * TUSCANY-1949 - * TUSCANY-1941 - * TUSCANY-2045 - * TUSCANY-2057 - * TUSCANY-2055 - * TUSCANY-2056 - * TUSCANY-2072 - * TUSCANY-2047 - * TUSCANY-2073 - * TUSCANY-1977 - * TUSCANY-2075 - * TUSCANY-1894 - * TUSCANY-2079 - * TUSCANY-2078 - * TUSCANY-2080 - * TUSCANY-2068 - * TUSCANY-1950 - * TUSCANY-2077 - * TUSCANY-2056 - * TUSCANY-2088 - * TUSCANY-2086 - * TUSCANY-2094 - * TUSCANY-2106 - - Features and/or Enhancements - - * Core - - Interceptor Enhancements - - Phase-based interceptor ordering to allow contribution of new interceptors and also define the order in witch they should be invoked - - Pass-by-reference SPI to allow interceptors to indicate if they support pass-by-reference - - PolicyProvider SPIs to allow extensions to plugin policy interceptors - - Support for JAXWS annotations and mapping of faults to Java exceptions according to JAXWS specification - - Improvement of contribution service to allow it to be used outside of the runtime environment - - Support for Contribution Import/Export resource - - Enhanced Distributed Domain story using Workspace - - Implementation of a SCA domain allowing a system administrator to manage contributions, composites and sca nodes that run these composites - - Set of core services providing management capabilities - - Administration web interface - - This is a work in progress and you can see it in action in samples/calculator-distributed. Other samples that use distributed operation are yet to move over to the workspace. - - Enhanced support for SCA Policy spec - - Ability to apply external policy definitions to a SCA composition - - Ability to spread policy definitions to multiple definitions.xml files available across the sca domain - - Bug fixes - - Improvements of http binding to support servlet components - - Enable Tuscany to run inside an OSGi runtime - - * Web 2.0 Extensions - - Enhancements to implementation.widget (support for properties) - - New atom binding based on Apache Abdera - - Refactoring of rss-rome binding - * Other Extensions - - Binding JMS - - greatly simplified the use of the JMS binding, support locating JMS resources from JNDI, and better compliance with the SCA JMS binding spec - - see the doc page for more details: http://incubator.apache.org/tuscany/sca-java-bindingjms.html - - Enhancements to Binding RMI - - Support shared RMI registry and use 999x as the ports in test case to avoid 1099 conflict - - Enhancements to Groovy extension - - Support for 'native' groovy classes - - Enhancements to OSGi bundle contributions - - Support Bundle URLs to be added as contributions - - * Tools - - Eclipse plugin providing a Tuscany runtime Library and Tuscany launcher in Eclipse environment - - An updatesite is also available to facilitate the plugin installation using the Eclipse update manager - - * Samples/Tutorial/Demos - - calculator-distributed migrated to use new Tuscany Distributed Workspace - - sample-calculator-ws-secure-webapp - - sample-helloworld-jms-webapp - - new jms samples - - improve bigbank demo to include support for policies - - tutorial store changes - - use of import/export - - development of contribution without requiring dependencies on the Tuscany runtime - - usage of new sca domain infrastructure - - * Testing - - Web Container Testing Framework integrated with (Tomcat, Jetty, Geronimo and Websphere) - - -Changes With Apache Tuscany SCA 1.1 (incubating) January 2008 -=============================================================== - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-1939 - * TUSCANY-1914 - * TUSCANY-1854 - * TUSCANY-1931 - * TUSCANY-1547 - * TUSCANY-1909 - * TUSCANY-1919 - * TUSCANY-1930 - * TUSCANY-1806 - * TUSCANY-1804 - * TUSCANY-1916 - * TUSCANY-1913 - * TUSCANY-1834 - * TUSCANY-1857 - * TUSCANY-1687 - * TUSCANY-1801 - * TUSCANY-1742 - * TUSCANY-1762 - * TUSCANY-1945 - * TUSCANY-1595 - * TUSCANY-1594 - * TUSCANY-1849 - * TUSCANY-1836 - * TUSCANY-1934 - * TUSCANY-1902 - * TUSCANY-1608 - * TUSCANY-1943 - * TUSCANY-1896 - * TUSCANY-1626 - * TUSCANY-1797 - * TUSCANY-1601 - * TUSCANY-1415 - -- Better JMS support - * binding.jms supporting point to point text based messaging only - * New SOAP/JMS sample (helloworld-ws-reference/service-jms) - -- Improvements in PolicyFramework Support - * Support for policy specifications on operation elements in a composite definition - * Separate sample (calculator-implementation-policies) to demonstrate use of Implementation Policies - (uses logging and JAAS Authentication) - -- Modeling of client side java script components - * See implementation.widget - -- Evolving support for doman API suggested by assembly spec including a standalone node and nodes running - connected together in a domain. This is still experimental. - -- Class loading and OSGI improvements - * Enable Tuscany to be run in a multi-classloader environment including inside OSGi. By default, - Tuscany continues to run using a single CLASSPATH-based classloader. - * Contributions no longer need to be in the CLASSPATH. All import/export dependencies across contributions should be - explicitly specified (as described in the spec). - -- JAXB based POJO transformations - -Changes With Apache Tuscany SCA 1.0.1 (incubating) November 2007 -================================================================ - -The Tuscany SCA Java 1.0.1 is mainly a bug-fix release. It also comes with some improvements as listed below. - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-1848 - * TUSCANY-1857 - * TUSCANY-1859 - * TUSCANY-1801 - * TUSCANY-1823 - * TUSCANY-1839 - * TUSCANY-1814 - * TUSCANY-1818 - * TUSCANY-1834 - * TUSCANY-1637 - * TUSCANY-1826 - * TUSCANY-1823 - * TUSCANY-1819 - * TUSCANY-1821 - * TUSCANY-1822 - * TUSCANY-1806 - * TUSCANY-1808 - * TUSCANY-1756 - * TUSCANY-1757 - -- Fix build issues with Maven 2.0.7 and JDK 6 - -- Reduce memory consumption for WSDLs that import large XSDs - -- Add more logging statements for better servicibility - -- Add an extension point to allow extensions to plug-in extension schemas. - -- Add a demo application to showcase XML integration story - -- Improve in databinding framework - * Add support for JSON Databindings and other refactoring - * Set databinding for introspected data type and enhance the checking of wrapper style - * Improve the tree-based XMLStreamReader and convert Bean & DOM to use this approach - * Add a tree-iterator based XMLStreamReader base impl - * Add default element info to java interface - * Rename Interface.setDefaultDataBinding to resetDataBinding - -- Limit the method injection to setters and allow the setter annotation to override field annotation - -- Evolving support in Intent and Policy handling - * Add support for policies in implementation - * Fix the algorithm for macthing policySets defined on bindings for the wire - * Add policy intent for implementation.java - * Extend java implementation type to recognize and apply policies, adding util support for this in Policy module - * Add policy module for logging - -- Evolving development in the SCA Domain/Node - -- Update NOTICE files with missing dependencies - - -Changes With Apache Tuscany SCA 1.0 (incubating) September 2007 -=============================================================== - -- Tuscany Java SCA now implements V1.0 of the core SCA - specifications - SCA Assembly Model V1.0 - SCA Java Common Annotations and APIs V1.0 - SCA Java Component Implementation V1.0 - SCA Web Services Binding V1.0 - Including callbacks, conversations and callable references - - -- Support for ws-security configurable in the web services binding - thro Tuscany SCA policy intents and policysets using the policy framework - introduced in the last release. - - Note : This release supports specifications of policies around axis2 - config params - see helloworld-ws-service-secure sample. The policy - intents that have been tested are authentication, integrity and - confidentiality. - There is no sample or test that exercises confidentiality since there - are some unresolved licensing issue around bouncycastle libraries. - However, users who are not encumbered by the bouncycastle license - restrictions can try the 'confidentiality' intent. See FAQ - - http://incubator.apache.org/tuscany/tuscany-sca-java-faq.html - - This release does not include support for WS-Policy - attachments in Tuscany Policysets for ws-security. - - -- An XQuery component implementation type - implementation-xquery - - -- A Databinding for converting data to and from nodes for XQuery - processing - databinding-saxon - - -- OSGI support has been extended to allow Tuscany contributions - packaged as OSGI bundles hence taking advantage of OSGI's bundle - loading an dependency management capabilities - - -- A BPEL component implementation type experimental implementation -based on SCA BPEL Client and Implementation V1.0. At the moment only -supports BPEL process as services. - implementation-bpel - - -- The distributed runtime implementation has been separated out - into - *) domain - *) node - It is now wrapped by a SCADomain interface as is the standalone - runtime. - - Note: This release does not include support for WebApp host deployment - for a distributed SCA Domain - - - -- The web service binding will now generate WSDL automatically - based on the service interface if no WSDL is provided - - -- A new "store" sample and associated document show how a - simple store front application can be constructed - samples/store - -- The following features of this release are still experimental: - - BPEL implementation type, integrating with Apache ODE - - OSGI implementation type, integrating with Apache Felix - - XQuery implementation type - - - -Changes With Apache Tuscany SCA 0.99 (incubating) August 2007 -============================================================= - -The following are the significant additions to release 0.99 -over and above all of what was offered in release 0.91. - -- A version of the default sca binding that works between - components runing in separate Java virtual machines - binding-sca-axis - -- A simple node implementation and a service discovery - function for running sca applications distributed - across more than one node - distributed - distributed-impl - -- integration with OSGi runtimes is now supported with - a new implementation-osgi component type - -- PUB/SUB interactions are now supported by using new - notification binding and implementation types, and - samples demonstrating the feature. - -- The Tuscany runtime now has a policy framework supporting - the SCA policy specification - -- the endpoint URIs used by SCA bindings has been rationalized - and now follows the SCA Assembly specification - -- binding-ajax has been renamed to binding-dwr - -Changes With Apache Tuscany SCA 0.91 (incubating) July 2007 -=========================================================== - -The following are the significant additions to release 0.91 -over and above all of what was offered in release 0.90. - - -- Enhancements to support multiple contributions to the SCA Domain - -- The inclusion of a alternative simplified extensions-helper -SPI layer to faciliate rapid development of extensions - -- More Implementation Extenstions - Spring - WebResource - -- More Binding Extensions - AJAX - EJB - RSS/ATOM Feeds - -- Demos that demonstrate the use of a mix of extensions - alert-aggregator-webapp - bigbank-account - bigbank-calculator - bigbank-stockquote - - -- Samples - Samples to demostrate use of Spring, Resource, AJAX extensions - -Changes With Apache Tuscany SCA 0.90 (incubating) June 2007 -=========================================================== - -- Implementations for all of the Java Annotations and API Specification V1.0 found at - (http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications) - apart from the following. - @ComponentName - Conversation - RequestContext - -- New assembly model implementation taking into account SCA 1.0 artifacts - Data duplication between assembly model and runtime removed - -- Simple single process domain support - Contribution support to scope items being deployed into the runtime - -- Improved Package/Class naming consistency across modules - -- Extensions now loaded via Java service mechanism - Refactored extensions to use new SPIs (see below) - -- Maven and Ant based sample builds in the binary distribution - -- Implementation Extensions - Java - Script supporting (Ruby, Python, Groovy, JavaScript) - -- Binding Extensions - Axis2 - RMI - JSONRPC - --Databinding Extensions - Axiom - JAXB - SDO - -- Host environments - Embedded - Tomcat - Jetty - RMI - -- A clear set of SPIs intended to be stable over future releases - SCA assembly model - org.apache.tuscany.sca.assembly - org.apache.tuscany.sca.interfacedef - org.apache.tuscany.sca.interfacedef.java - org.apache.tuscany.sca.interfacedef.wsdl - org.apache.tuscany.sca.policy - - SCA contribution model - org.apache.tuscany.sca.contribution - - Runtime extensions - org.apache.tuscany.sca.core - org.apache.tuscany.sca.invocation - org.apache.tuscany.sca.provider - org.apache.tuscany.sca.runtime - org.apache.tuscany.sca.work - - Data binding support - org.apache.tuscany.sca.databinding - - Embedding Tuscany - org.apache.tuscany.sca.host.embedded - - Servlet container integration - org.apache.tuscany.sca.http - -- For this point release a partial set of JavaDoc is provided to - be filled out as we close on release 1.0 diff --git a/java/sca/contrib/distribution/features/webservice/src/main/release/DISCLAIMER b/java/sca/contrib/distribution/features/webservice/src/main/release/DISCLAIMER deleted file mode 100644 index a65af91c5a..0000000000 --- a/java/sca/contrib/distribution/features/webservice/src/main/release/DISCLAIMER +++ /dev/null @@ -1,7 +0,0 @@ -Apache Tuscany is an effort undergoing incubation at The Apache Software -Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is -required of all newly accepted projects until a further review indicates that -the infrastructure, communications, and decision making process have stabilized -in a manner consistent with other successful ASF projects. While incubation -status is not necessarily a reflection of the completeness or stability of the -code, it does indicate that the project has yet to be fully endorsed by the ASF. \ No newline at end of file diff --git a/java/sca/contrib/distribution/features/webservice/src/main/release/README b/java/sca/contrib/distribution/features/webservice/src/main/release/README deleted file mode 100644 index 4d83dcfde9..0000000000 --- a/java/sca/contrib/distribution/features/webservice/src/main/release/README +++ /dev/null @@ -1,19 +0,0 @@ -Apache Tuscany SCA 1.2 (incubating) April 2008 README -===================================================== - -Welcome to the Tuscany SCA 1.2 release. - -See the RELEASE_NOTES file for information specific to this release. - -In the binary release see the INSTALL file for information on how to -install the release. - -In the source distribution see the BUILDING file for information on -building the source code. - - - - - - - diff --git a/java/sca/contrib/distribution/features/webservice/src/main/release/RELEASE_NOTES b/java/sca/contrib/distribution/features/webservice/src/main/release/RELEASE_NOTES deleted file mode 100644 index a04ef5c553..0000000000 --- a/java/sca/contrib/distribution/features/webservice/src/main/release/RELEASE_NOTES +++ /dev/null @@ -1,83 +0,0 @@ -Apache Tuscany SCA 1.2 (incubating) April 2008 Release Notes -============================================================ - -Apache Tuscany provides a runtime based on the Service Component -Architecture. SCA is a set of specifications aimed at simplifying SOA -Application Development which are being standardized at OASIS as part -of Open Composite Services Architecture (Open CSA) - http://www.oasis-opencsa.org/. - -Overview --------- - - The Apache Tuscany SCA 1.2 release includes implementations of the - main SCA specifications including: - - SCA Assembly Model V1.0 - SCA Policy Framework V1.0 - SCA Java Common Annotations and APIs V1.0 - SCA Java Component Implementation V1.0 - SCA Spring Component Implementation V1.0 - SCA BPEL Client and Implementation V1.0 - SCA Web Services Binding V1.0 - SCA EJB Session Bean Binding V1.0 - - It also includes implementations of many features not yet defined - by SCA specifications, including: - - - SCA bindings for Direct Web Remoting, RSS and ATOM Feeds, - HTTP resources, JSON-RPC, PUB/SUB Notifications, and RMI. - - SCA implementation types for OSGI, XQuery, BPEL, Widget and various - dynamic languages including Groovy, Javascript, Python and Ruby - - Databindings for Service Data Objects (SDO), JAXB, XmlBeans, - Axis2's AXIOM, JSON, SAXON, DOM, SAX and StAX - - The Tuscany SCA Runtime can be configured as a single node SCA domain or - as an SCA domain distributed across multiple nodes. - In addition Tuscany SCA supports the following host-deployment options: - - - running standalone - - running with distributed nodes across multiple JVMs - - running with embedded Jetty or Tomcat - - running as part of a standard web application - - The Wepapp samples included in this release have been tried and tested on - - Tomcat 5.5.20 and Tomcat 6.0.14 - - Jetty 6.1.3 - - Geronimo 2.0.2 Tomcat6 jee5 - - WebSphere 6.1 fix pack 9 - -See the CHANGES file for a detailed list of the features in this release. - -Support -------- - -For more information on Apache Tuscany visit the website at: - - http://incubator.apache.org/tuscany/ - -Any issues with this release can be reported to Apache Tuscany -using the mailing lists or in the JIRA issue tracker. - - Mailing list archives: - - http://mail-archives.apache.org/mod_mbox/ws-tuscany-user/ - http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev/ - - Jira: - - http://issues.apache.org/jira/browse/TUSCANY - -To join the project's mailing lists follow the instructions at: - - http://incubator.apache.org/tuscany/mailing-lists.html - -To find out more about OASIS Open CSA go to: - - http://www.oasis-opencsa.org. - -Apache Tuscany welcomes your help. Any contribution, including code, -testing, improving the documentation, or bug reporting is always -appreciated. - -Thank you for using Apache Tuscany! - -- The Tuscany Team. diff --git a/java/sca/contrib/distribution/features/webservice/src/main/release/bin/INSTALL b/java/sca/contrib/distribution/features/webservice/src/main/release/bin/INSTALL deleted file mode 100644 index 2da53a2b44..0000000000 --- a/java/sca/contrib/distribution/features/webservice/src/main/release/bin/INSTALL +++ /dev/null @@ -1,27 +0,0 @@ -Installing the Apache Tuscany SCA 1.2 (incubating) April 2008 Release binary distribution -========================================================================================= - -Unzip Tuscany binary distribution archive and you get the following: - -tuscany-sca-1.1-incubating - DISCLAIMER - the ASF incubation disclaimer - INSTALL - this help file - LICENSE - the Apache License and any dependecy licenses - NOTICE - attribution notices associated with the licenses - README - readme for the release - RELEASE_NOTES - description of this release - CHANGES - A note of the major changes in this release - - /demos - Demo applications showcasing the use of Apache Tuscany - - /lib - The tuscany-sca-all and tuscany-sca-manifest jars and all their dependencies - - /modules - all of the individual Tuscany jars - - /samples - all the Tuscany samples, see the README in that directory - - /tutorial - The store tutorial, see the README in that directory - - - - diff --git a/java/sca/contrib/distribution/features/webservice/src/main/release/bin/LICENSE b/java/sca/contrib/distribution/features/webservice/src/main/release/bin/LICENSE deleted file mode 100644 index 5e1f585d46..0000000000 --- a/java/sca/contrib/distribution/features/webservice/src/main/release/bin/LICENSE +++ /dev/null @@ -1,2366 +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 SUBCOMPONENTS: - -The Apache Tuscany binary distribution includes a number of subcomponents -with separate copyright notices and license terms. Your use of the -code for the these subcomponents is subject to the terms and -conditions of the following licenses. - -=============================================================================== - -The following components come under Apache Software License 1.1 - - commons-discovery-0.2.jar - commons-primitives-1.0.jar - -The following components come under Apache Software License 2.0 - - abdera-core-0.3.0-incubating.jar - abdera-i18n-0.3.0-incubating.jar - abdera-parser-0.3.0-incubating.jar - activeio-2.0-r118.jar - activeio-core-3.0.0-incubator.jar - apache-activemq-4.1.1.jar - addressing-1.3.mar - annogen-0.1.0.jar - annotations-api-6.0.14.jar - aopalliance-1.0.jar - axiom-api-1.2.5.jar - axiom-dom-1.2.5.jar - axiom-impl-1.2.5.jar - axis2-adb-1.3.jar - axis2-codegen-1.3.jar - axis2-java2wsdl-1.3.jar - axis2-kernel-1.3.jar - axis2-mtompolicy-1.3.jar - bsf-all-3.0-beta2.jar - catalina-6.0.14.jar - cglib-nodep-2.1_3.jar - commons-collections-3.1.jar - commons-codec-1.3.jar - commons-fileupload-1.1.1.jar - commons-httpclient-3.0.1.jar - commons-io-1.2.jar - commons-jexl-1.1.jar - commons-lang-2.1.jar - commons-logging-1.1.jar - coyote-6.0.14.jar - derby-10.1.3.1.jar - geronimo-activation_1.1_spec-1.0-M1.jar - geronimo-common-1.2-beta.jar - geronimo-commonj_1.1_spec-1.0.jar - geronimo-connector-1.2-beta.jar - geronimo-core-1.2-beta.jar - geronimo-deployment-1.2-beta.jar - geronimo-ejb_3.0_spec-1.0.jar - geronimo-interceptor-1.2-beta.jar - geronimo-j2ee-1.2-beta.jar - geronimo-j2ee-connector_1.5_spec-1.1.jar - geronimo-j2ee-jacc_1.0_spec-1.1.jar - geronimo-j2ee-management_1.0_spec-1.1.jar - geronimo-javamail_1.4_spec-1.0-M1.jar - geronimo-jms_1.1_spec-1.1.jar - geronimo-jpa_3.0_spec-1.0.jar - geronimo-jta_1.0.1B_spec-1.0.jar - geronimo-kernel-1.2-beta.jar - geronimo-management-1.2-beta.jar - geronimo-naming-1.2-beta.jar - geronimo-security-1.2-beta.jar - geronimo-spec-j2ee-connector-1.5-rc4.jar - geronimo-spec-jta-1.0.1B-rc4.jar - geronimo-system-1.2-beta.jar - geronimo-transaction-1.2-beta.jar - geronimo-util-1.2-beta.jar - httpcore-4.0-alpha5.jar - httpcore-nio-4.0-alpha5.jar - httpcore-niossl-4.0-alpha5.jar - jettison-1.0-RC2.jar - jetty-6.1.7.jar - jetty-util-6.1.7.jar - json-rpc-1.0.jar - juli-6.0.14.jar - log4j-1.2.12.jar - logkit-1.0.1.jar - neethi-2.0.2.jar - ode-bpel-api-1.1.jar - ode-bpel-compiler-1.1.jar - ode-bpel-dao-1.1.jar - ode-bpel-epr-1.1.jar - ode-bpel-obj-1.1.jar - ode-bpel-runtime-1.1.jar - ode-bpel-schemas-1.1.jar - ode-bpel-store-1.1.jar - ode-dao-jpa-1.1.jar - ode-dao-jpa-ojpa-derby-1.1.zip - ode-jacob-1.1.jar - ode-jacob-ap-1.1.jar - ode-scheduler-simple-1.1.jar - ode-utils-1.1.jar - openjpa-all-0.9.7-incubating.jar - openjpa-persistence-0.9.7-incubating.jar - org.apache.felix.bundlerepository-1.0.2.jar - org.apache.felix.framework-1.0.3.jar - org.apache.felix.main-1.0.3.jar - org.apache.felix.shell-1.0.0.jar - org.apache.felix.shell.tui-1.0.0.jar - rampart-core-1.3.jar - rampart-policy-1.3.jar - rampart-trust-1.3.jar - regexp-1.3.jar - spring-beans-2.0.6.jar - spring-context-2.0.6.jar - spring-core-2.0.6.jar - tranql-connector-1.1.jar - tuscany-sdo-api-r2.1-1.0-incubating.jar - tuscany-sdo-impl-1.0-incubating.jar - tuscany-sdo-lib-1.0-incubating.jar - tuscany-sdo-tools-1.0-incubating.jar - woden-1.0-incubating-M7b.jar - wss4j-1.5.3.jar - wstx-asl-3.2.1.jar - xalan-2.7.0.jar - xbean-naming-2.7.jar - xercesImpl-2.8.1.jar - xml-apis-1.3.03.jar - xmlbeans-2.3.0.jar - xml-resolver-1.1.jar - xmlsec-1.4.0.jar - XmlSchema-1.3.2.jar - -=============================================================================== -axion-1.0-M3-dev.jar - -Copyright (c) 2002-2003 Axion Development Team. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - -2. 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. - -3. The names "Tigris", "Axion", nor the names of its contributors may - not be used to endorse or promote products derived from this - software without specific prior written permission. - -4. Products derived from this software may not be called "Axion", nor - may "Tigris" or "Axion" appear in their names 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. - -The "Axion Development Team" is defined to be: - - * Chuck Burdick - * James Burke - * Morgan Delagrange - * Geir Magnusson Jr. - * Martin Poeschl - * Steve Polyak - * Daniel Rall - * Ahimanikya Satapathy - * Doug Sale - * James Strachan - * Rodney Waldhoff - * Jason van Zyl - -License changes are to be determined by a simple majority vote of the -Axion Development Team. - -=============================================================================== -dom4j-1.6.1.jar - -Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. - -Redistribution and use of this software and associated documentation -("Software"), with or without modification, are permitted provided -that the following conditions are met: - -1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - -2. 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. - -3. The name "DOM4J" must not be used to endorse or promote - products derived from this Software without prior written - permission of MetaStuff, Ltd. For written permission, - please contact dom4j-info@metastuff.com. - -4. Products derived from this Software may not be called "DOM4J" - nor may "DOM4J" appear in their names without prior written - permission of MetaStuff, Ltd. DOM4J is a registered - trademark of MetaStuff, Ltd. - -5. Due credit should be given to the DOM4J Project - - http://www.dom4j.org - -THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS -``AS IS'' AND ANY EXPRESSED 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 -METASTUFF, LTD. OR ITS 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. - -=============================================================================== - -The EMF jars; - codegen-2.2.3.jar - codegen-ecore-2.2.3.jar - common-2.2.3.jar - ecore-2.2.3.jar - ecore-change-2.2.3.jar - ecore-xmi-2.2.3.jar - xsd-2.2.3.jar - -Eclipse Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF -THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - -a) in the case of the initial Contributor, the initial code and -documentation distributed under this Agreement, and -b) in the case of each subsequent Contributor: - -i) changes to the Program, and - -ii) additions to the Program; - -where such changes and/or additions to the Program originate from and -are distributed by that particular Contributor. A Contribution -'originates' from a Contributor if it was added to the Program by such -Contributor itself or anyone acting on such Contributor's behalf. -Contributions do not include additions to the Program which: (i) are -separate modules of software distributed in conjunction with the -Program under their own license agreement, and (ii) are not derivative -works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor -which are necessarily infringed by the use or sale of its Contribution -alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this -Agreement. - -"Recipient" means anyone who receives the Program under this -Agreement, including all Contributors. - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free copyright -license to reproduce, prepare derivative works of, publicly display, -publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and -object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free patent -license under Licensed Patents to make, use, sell, offer to sell, -import and otherwise transfer the Contribution of such Contributor, if -any, in source code and object code form. This patent license shall -apply to the combination of the Contribution and the Program if, at -the time the Contribution is added by the Contributor, such addition -of the Contribution causes such combination to be covered by the -Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder. - -c) Recipient understands that although each Contributor grants the -licenses to its Contributions set forth herein, no assurances are -provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow -Recipient to distribute the Program, it is Recipient's responsibility -to acquire that license before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient -copyright rights in its Contribution, if any, to grant the copyright -license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form -under its own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties -and conditions, express and implied, including warranties or -conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability -for damages, including direct, indirect, special, incidental and -consequential damages, such as lost profits; - -iii) states that any provisions which differ from this Agreement are -offered by that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such -Contributor, and informs licensees how to obtain it in a reasonable -manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the -Program. - -Contributors may not remove or alter any copyright notices contained -within the Program. - -Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a -commercial product offering should do so in a manner which does not -create potential liability for other Contributors. Therefore, if a -Contributor includes the Program in a commercial product offering, -such Contributor ("Commercial Contributor") hereby agrees to defend -and indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") arising -from claims, lawsuits and other legal actions brought by a third party -against the Indemnified Contributor to the extent caused by the acts -or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. -In order to qualify, an Indemnified Contributor must: a) promptly -notify the Commercial Contributor in writing of such claim, and b) -allow the Commercial Contributor to control, and cooperate with the -Commercial Contributor in, the defense and any related settlement -negotiations. The Indemnified Contributor may participate in any such -claim at its own expense. - -For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED 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. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable -laws, damage to or loss of data, programs or equipment, and -unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR -ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), 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 OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further -action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that -the Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of -the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of -time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use -and distribution of the Program as soon as reasonably practicable. -However, Recipient's obligations under this Agreement and any licenses -granted by Recipient relating to the Program shall continue and -survive. - -Everyone is permitted to copy and distribute copies of this Agreement, -but in order to avoid inconsistency the Agreement is copyrighted and -may only be modified in the following manner. The Agreement Steward -reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement -Steward has the right to modify this Agreement. The Eclipse Foundation -is the initial Agreement Steward. The Eclipse Foundation may assign -the responsibility to serve as the Agreement Steward to a suitable -separate entity. Each new version of the Agreement will be given a -distinguishing version number. The Program (including Contributions) -may always be distributed subject to the version of the Agreement -under which it was received. In addition, after a new version of the -Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives -no rights or licenses to the intellectual property of any Contributor -under this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No -party to this Agreement will bring a legal action under this Agreement -more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation. - -=============================================================================== -For Saxon including - saxon-8.7.jar - saxon-dom-8.7.jar - saxon-xpath-8.7.jar - - MOZILLA PUBLIC LICENSE -Version 1.0 - -1. Definitions. - - 1.1. ``Contributor'' means each entity that creates or contributes to the creation of Modifications. - - 1.2. ``Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor. - - 1.3. ``Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof. - - 1.4. ``Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data. - - 1.5. ``Executable'' means Covered Code in any form other than Source Code. - - 1.6. ``Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A. - - 1.7. ``Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License. - - 1.8. ``License'' means this document. - - 1.9. ``Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is: - - A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or previous Modifications. - - 1.10. ``Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License. - - 1.11. ``Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge. - - 1.12. ``You'' means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, ``You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, ``control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (``Utilize'') the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - - 2.2. Contributor Grant. - Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - - (a) Third Party Claims. - If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled ``LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation (``Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License. - - 6.3. Derivative Works. - If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a ``commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer software'' and ``commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the United States of America: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Santa Clara County, California, under the auspices of JAMS/EndDispute; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. - -12. RESPONSIBILITY FOR CLAIMS. - - Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis. - -EXHIBIT A. - - ``The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved. - - Contributor(s): ______________________________________.'' - -=============================================================================== - -For the Rhino JavaScript engine js-1.6R7.jar: - - MOZILLA PUBLIC LICENSE - Version 1.1 - - --------------- - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Code, prior Modifications used by a Contributor, and the Modifications - made by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified - as the Initial Developer in the Source Code notice required by Exhibit - A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - A. Any addition to or deletion from the contents of a file - containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, - and apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated interface definition files, scripts used to control - compilation and installation of an Executable, or source code - differential comparisons against either the Original Code or another - well known, available Covered Code of the Contributor's choice. The - Source Code can be in a compressed or archival form, provided the - appropriate decompression or de-archiving software is widely available - for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - For legal entities, "You" includes any entity which controls, is - controlled by, or is under common control with You. For purposes of - this definition, "control" means (a) the power, direct or indirect, - to cause the direction or management of such entity, whether by - contract or otherwise, or (b) ownership of more than fifty percent - (50%) of the outstanding shares or beneficial ownership of such - entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer to use, reproduce, - modify, display, perform, sublicense and distribute the Original - Code (or portions thereof) with or without Modifications, and/or - as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or - selling of Original Code, to make, have made, use, practice, - sell, and offer for sale, and/or otherwise dispose of the - Original Code (or portions thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are - effective on the date Initial Developer first distributes - Original Code under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: 1) for code that You delete from the Original Code; 2) - separate from the Original Code; or 3) for infringements caused - by: i) the modification of the Original Code or ii) the - combination of the Original Code with other software or devices. - - 2.2. Contributor Grant. - Subject to third party intellectual property claims, each Contributor - hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor, to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications - created by such Contributor (or portions thereof) either on an - unmodified basis, with other Modifications, as Covered Code - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or - selling of Modifications made by that Contributor either alone - and/or in combination with its Contributor Version (or portions - of such combination), to make, use, sell, offer for sale, have - made, and/or otherwise dispose of: 1) Modifications made by that - Contributor (or portions thereof); and 2) the combination of - Modifications made by that Contributor with its Contributor - Version (or portions of such combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are - effective on the date Contributor first makes Commercial Use of - the Covered Code. - - (d) Notwithstanding Section 2.2(b) above, no patent license is - granted: 1) for any code that Contributor has deleted from the - Contributor Version; 2) separate from the Contributor Version; - 3) for infringements caused by: i) third party modifications of - Contributor Version or ii) the combination of Modifications made - by that Contributor with other software (except as part of the - Contributor Version) or other devices; or 4) under Patent Claims - infringed by Covered Code in the absence of Modifications made by - that Contributor. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, - Contributor must include a text file with the Source Code - distribution titled "LEGAL" which describes the claim and the - party making the claim in sufficient detail that a recipient will - know whom to contact. If Contributor obtains such knowledge after - the Modification is made available as described in Section 3.2, - Contributor shall promptly modify the LEGAL file in all copies - Contributor makes available thereafter and shall take other steps - (such as notifying appropriate mailing lists or newsgroups) - reasonably calculated to inform those who received the Covered - Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming - interface and Contributor has knowledge of patent licenses which - are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to - Section 3.4(a) above, Contributor believes that Contributor's - Modifications are Contributor's original creation(s) and/or - Contributor has sufficient rights to grant the rights conveyed by - this License. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. However, You - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear than - any such warranty, support, indemnity or liability obligation is - offered by You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred by the - Initial Developer or such Contributor as a result of warranty, - support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under a license of Your choice, which may - contain terms different from this License, provided that You are in - compliance with the terms of this License and that the license for the - Executable version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version under a different - license You must make it absolutely clear that any terms which differ - from this License are offered by You alone, not by the Initial - Developer or any Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such - terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code - not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised - and/or new versions of the License from time to time. Each version - will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Netscape. No one - other than Netscape has the right to modify the terms applicable to - Covered Code created under this License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must (a) rename Your license so that - the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", - "MPL", "NPL" or any confusingly similar phrase do not appear in your - license (except to note that your license differs from this License) - and (b) otherwise make it clear that Your version of the license - contains terms which differ from the Mozilla Public License and - Netscape Public License. (Filling in the name of the Initial - Developer, Original Code or Contributor in the notice described in - Exhibit A shall not of themselves be deemed to be modifications of - this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE - IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, - YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE - COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER - OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, - all end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, - OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR - ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY - CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, - WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" and "commercial computer software documentation," as such - terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 - C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), - all U.S. Government End Users acquire Covered Code with only those - rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, with the losing party responsible for costs, including - without limitation, court costs and reasonable attorneys' fees and - expenses. The application of the United Nations Convention on - Contracts for the International Sale of Goods is expressly excluded. - Any law or regulation which provides that the language of a contract - shall be construed against the drafter shall not apply to this - License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the NPL or the alternative licenses, if any, specified - by the Initial Developer in the file described in Exhibit A. - -EXHIBIT A -Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License - Version 1.1 (the "License"); you may not use this file except in - compliance with the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - License for the specific language governing rights and limitations - under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. - Portions created by ______________________ are Copyright (C) ______ - _______________________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those - above. If you wish to allow use of your version of this file only - under the terms of the [____] License and not to allow others to use - your version of this file under the MPL, indicate your decision by - deleting the provisions above and replace them with the notice and - other provisions required by the [___] License. If you do not delete - the provisions above, a recipient may use your version of this file - under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] - - -=============================================================================== -Groovy (groovy-all-minimal-1.5.4.jar): - -/* - $Id: LICENSE.txt 156 2003-09-26 17:36:37Z jstrachan $ - - Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - - Redistribution and use of this software and associated documentation - ("Software"), with or without modification, are permitted provided - that the following conditions are met: - - 1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - - 2. 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. - - 3. The name "groovy" must not be used to endorse or promote - products derived from this Software without prior written - permission of The Codehaus. For written permission, - please contact info@codehaus.org. - - 4. Products derived from this Software may not be called "groovy" - nor may "groovy" appear in their names without prior written - permission of The Codehaus. "groovy" is a registered - trademark of The Codehaus. - - 5. Due credit should be given to The Codehaus - - http://groovy.codehaus.org/ - - THIS SOFTWARE IS PROVIDED BY THE CODEHAUS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESSED 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 CODEHAUS OR ITS 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. - - */ - -=============================================================================== - -Jython (jython-2.2.jar): - -A. HISTORY OF THE SOFTWARE -======================= - -JPython was created in late 1997 by Jim Hugunin. Jim was also the -primary developer while he was at CNRI. In February 1999 Barry Warsaw -took over as primary developer and released JPython version 1.1. - -In October 2000 Barry helped move the software to SourceForge -where it was renamed to Jython. Jython 2.0 and on are licensed under -the Jython specific license below. - -The standard library is covered by the Python Software Foundation -license. See the LICENSE_CPython.txt file for details. - -The zxJDBC package was written by Brian Zimmer and originally licensed -under the GNU Public License. The package is now covered by the Jython -Software License. - -The command line interpreter is covered by the Apache Software -License. See the LICENSE_Apache.txt file for details. - -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING JYTHON -================================ - -Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Jython Developers -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 Jython Developers nor the names of - its 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 REGENTS 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. - - - - -JPython 1.1.x Software License. -========================= - -______________________________________________________________________ - -IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. - -BY CLICKING ON THE "ACCEPT" BUTTON WHERE INDICATED, OR BY INSTALLING, -COPYING OR OTHERWISE USING THE SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO -THE TERMS AND CONDITIONS OF THIS AGREEMENT. - -______________________________________________________________________ - -JPython version 1.1.x - - 1. This LICENSE AGREEMENT is between the Corporation for National Research - Initiatives, having an office at 1895 Preston White Drive, Reston, VA - 20191 ("CNRI"), and the Individual or Organization ("Licensee") - accessing and using JPython version 1.1.x in source or binary form and - its associated documentation as provided herein ("Software"). - - 2. Subject to the terms and conditions of this License Agreement, CNRI - hereby grants Licensee a non-exclusive, non-transferable, royalty-free, - world-wide license to reproduce, analyze, test, perform and/or display - publicly, prepare derivative works, distribute, and otherwise use the - Software alone or in any derivative version, provided, however, that - CNRI's License Agreement and CNRI's notice of copyright, i.e., - "Copyright ©1996-1999 Corporation for National Research Initiatives; - All Rights Reserved" are both retained in the Software, alone or in any - derivative version prepared by Licensee. - - Alternatively, in lieu of CNRI's License Agreement, Licensee may - substitute the following text (omitting the quotes), provided, however, - that such text is displayed prominently in the Software alone or in any - derivative version prepared by Licensee: "JPython (Version 1.1.x) is - made available subject to the terms and conditions in CNRI's License - Agreement. This Agreement may be located on the Internet using the - following unique, persistent identifier (known as a handle): - 1895.22/1006. The License may also be obtained from a proxy server on - the Web using the following URL: http://hdl.handle.net/1895.22/1006." - - 3. In the event Licensee prepares a derivative work that is based on or - incorporates the Software or any part thereof, and wants to make the - derivative work available to the public as provided herein, then - Licensee hereby agrees to indicate in any such work, in a prominently - visible way, the nature of the modifications made to CNRI's Software. - - 4. Licensee may not use CNRI trademarks or trade name, including JPython - or CNRI, in a trademark sense to endorse or promote products or - services of Licensee, or any third party. Licensee may use the mark - JPython in connection with Licensee's derivative versions that are - based on or incorporate the Software, but only in the form - "JPython-based ___________________," or equivalent. - - 5. CNRI is making the Software available to Licensee on an "AS IS" basis. - CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY - OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY - REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY - PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE - ANY THIRD PARTY RIGHTS. - - 6. CNRI SHALL NOT BE LIABLE TO LICENSEE OR OTHER USERS OF THE SOFTWARE FOR - ANY INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE - THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. SOME STATES DO NOT - ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY SO THE ABOVE DISCLAIMER - MAY NOT APPLY TO LICENSEE. - - 7. This License Agreement may be terminated by CNRI (i) immediately upon - written notice from CNRI of any material breach by the Licensee, if the - nature of the breach is such that it cannot be promptly remedied; or - (ii) sixty (60) days following notice from CNRI to Licensee of a - material remediable breach, if Licensee has not remedied such breach - within that sixty-day period. - - 8. This License Agreement shall be governed by and interpreted in all - respects by the law of the State of Virginia, excluding conflict of law - provisions. Nothing in this Agreement shall be deemed to create any - relationship of agency, partnership, or joint venture between CNRI and - Licensee. - - 9. By clicking on the "ACCEPT" button where indicated, or by installing, - copying or otherwise using the Software, Licensee agrees to be bound by - the terms and conditions of this License Agreement. - - -=============================================================================== - -The jars; -activation-1.1.jar, -jaxb-api-2.1.jar, -jaxb-impl-2.1.6.jar, -jaxb-xjc-2.1.4.jar, -jaxb2-reflection-2.1.4.jar, -jsr181-api-1.0-MR1.jar, -jsr250-api-1.0.jar, -jaxws-api-2.1-1.jar, -mail-1.4.jar, -saaj-api-1.3.jar, -servlet-api-2.5.jar, -stax-api-1.0-commons-cli-1.0.jar2.jar - -COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 - - - 1. Definitions. - - 1.1. "Contributor" means each individual or entity that - creates or contributes to the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the - Original Software, prior Modifications used by a - Contributor (if any), and the Modifications made by that - particular Contributor. - - 1.3. "Covered Software" means (a) the Original Software, or - (b) Modifications, or (c) the combination of files - containing Original Software with files containing - Modifications, in each case including portions thereof. - - 1.4. "Executable" means the Covered Software in any form - other than Source Code. - - 1.5. "Initial Developer" means the individual or entity - that first makes Original Software available under this - License. - - 1.6. "Larger Work" means a work which combines Covered - Software or portions thereof with code not governed by the - terms of this License. - - 1.7. "License" means this document. - - 1.8. "Licensable" means having the right to grant, to the - maximum extent possible, whether at the time of the initial - grant or subsequently acquired, any and all of the rights - conveyed herein. - - 1.9. "Modifications" means the Source Code and Executable - form of any of the following: - - A. Any file that results from an addition to, - deletion from or modification of the contents of a - file containing Original Software or previous - Modifications; - - B. Any new file that contains any part of the - Original Software or previous Modification; or - - C. Any new file that is contributed or otherwise made - available under the terms of this License. - - 1.10. "Original Software" means the Source Code and - Executable form of computer software code that is - originally released under this License. - - 1.11. "Patent Claims" means any patent claim(s), now owned - or hereafter acquired, including without limitation, - method, process, and apparatus claims, in any patent - Licensable by grantor. - - 1.12. "Source Code" means (a) the common form of computer - software code in which modifications are made and (b) - associated documentation included in or with such code. - - 1.13. "You" (or "Your") means an individual or a legal - entity exercising rights under, and complying with all of - the terms of, this License. For legal entities, "You" - includes any entity which controls, is controlled by, or is - under common control with You. For purposes of this - definition, "control" means (a) the power, direct or - indirect, to cause the direction or management of such - entity, whether by contract or otherwise, or (b) ownership - of more than fifty percent (50%) of the outstanding shares - or beneficial ownership of such entity. - - 2. License Grants. - - 2.1. The Initial Developer Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, the - Initial Developer hereby grants You a world-wide, - royalty-free, non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Initial Developer, - to use, reproduce, modify, display, perform, - sublicense and distribute the Original Software (or - portions thereof), with or without Modifications, - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, - using or selling of Original Software, to make, have - made, use, practice, sell, and offer for sale, and/or - otherwise dispose of the Original Software (or - portions thereof). - - (c) The licenses granted in Sections 2.1(a) and (b) - are effective on the date Initial Developer first - distributes or otherwise makes the Original Software - available to a third party under the terms of this - License. - - (d) Notwithstanding Section 2.1(b) above, no patent - license is granted: (1) for code that You delete from - the Original Software, or (2) for infringements - caused by: (i) the modification of the Original - Software, or (ii) the combination of the Original - Software with other software or devices. - - 2.2. Contributor Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, each - Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Contributor to - use, reproduce, modify, display, perform, sublicense - and distribute the Modifications created by such - Contributor (or portions thereof), either on an - unmodified basis, with other Modifications, as - Covered Software and/or as part of a Larger Work; and - - - (b) under Patent Claims infringed by the making, - using, or selling of Modifications made by that - Contributor either alone and/or in combination with - its Contributor Version (or portions of such - combination), to make, use, sell, offer for sale, - have made, and/or otherwise dispose of: (1) - Modifications made by that Contributor (or portions - thereof); and (2) the combination of Modifications - made by that Contributor with its Contributor Version - (or portions of such combination). - - (c) The licenses granted in Sections 2.2(a) and - 2.2(b) are effective on the date Contributor first - distributes or otherwise makes the Modifications - available to a third party. - - (d) Notwithstanding Section 2.2(b) above, no patent - license is granted: (1) for any code that Contributor - has deleted from the Contributor Version; (2) for - infringements caused by: (i) third party - modifications of Contributor Version, or (ii) the - combination of Modifications made by that Contributor - with other software (except as part of the - Contributor Version) or other devices; or (3) under - Patent Claims infringed by Covered Software in the - absence of Modifications made by that Contributor. - - 3. Distribution Obligations. - - 3.1. Availability of Source Code. - - Any Covered Software that You distribute or otherwise make - available in Executable form must also be made available in - Source Code form and that Source Code form must be - distributed only under the terms of this License. You must - include a copy of this License with every copy of the - Source Code form of the Covered Software You distribute or - otherwise make available. You must inform recipients of any - such Covered Software in Executable form as to how they can - obtain such Covered Software in Source Code form in a - reasonable manner on or through a medium customarily used - for software exchange. - - 3.2. Modifications. - - The Modifications that You create or to which You - contribute are governed by the terms of this License. You - represent that You believe Your Modifications are Your - original creation(s) and/or You have sufficient rights to - grant the rights conveyed by this License. - - 3.3. Required Notices. - - You must include a notice in each of Your Modifications - that identifies You as the Contributor of the Modification. - You may not remove or alter any copyright, patent or - trademark notices contained within the Covered Software, or - any notices of licensing or any descriptive text giving - attribution to any Contributor or the Initial Developer. - - 3.4. Application of Additional Terms. - - You may not offer or impose any terms on any Covered - Software in Source Code form that alters or restricts the - applicable version of this License or the recipients' - rights hereunder. You may choose to offer, and to charge a - fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Software. - However, you may do so only on Your own behalf, and not on - behalf of the Initial Developer or any Contributor. You - must make it absolutely clear that any such warranty, - support, indemnity or liability obligation is offered by - You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred - by the Initial Developer or such Contributor as a result of - warranty, support, indemnity or liability terms You offer. - - - 3.5. Distribution of Executable Versions. - - You may distribute the Executable form of the Covered - Software under the terms of this License or under the terms - of a license of Your choice, which may contain terms - different from this License, provided that You are in - compliance with the terms of this License and that the - license for the Executable form does not attempt to limit - or alter the recipient's rights in the Source Code form - from the rights set forth in this License. If You - distribute the Covered Software in Executable form under a - different license, You must make it absolutely clear that - any terms which differ from this License are offered by You - alone, not by the Initial Developer or Contributor. You - hereby agree to indemnify the Initial Developer and every - Contributor for any liability incurred by the Initial - Developer or such Contributor as a result of any such terms - You offer. - - 3.6. Larger Works. - - You may create a Larger Work by combining Covered Software - with other code not governed by the terms of this License - and distribute the Larger Work as a single product. In such - a case, You must make sure the requirements of this License - are fulfilled for the Covered Software. - - 4. Versions of the License. - - 4.1. New Versions. - - Sun Microsystems, Inc. is the initial license steward and - may publish revised and/or new versions of this License - from time to time. Each version will be given a - distinguishing version number. Except as provided in - Section 4.3, no one other than the license steward has the - right to modify this License. - - 4.2. Effect of New Versions. - - You may always continue to use, distribute or otherwise - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. If the Initial Developer includes a - notice in the Original Software prohibiting it from being - distributed or otherwise made available under any - subsequent version of the License, You must distribute and - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. Otherwise, You may also choose to - use, distribute or otherwise make the Covered Software - available under the terms of any subsequent version of the - License published by the license steward. - - 4.3. Modified Versions. - - When You are an Initial Developer and You want to create a - new license for Your Original Software, You may create and - use a modified version of this License if You: (a) rename - the license and remove any references to the name of the - license steward (except to note that the license differs - from this License); and (b) otherwise make it clear that - the license contains terms which differ from this License. - - - 5. DISCLAIMER OF WARRANTY. - - COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" - BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, - INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED - SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR - PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND - PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY - COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE - INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF - ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF - WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS - DISCLAIMER. - - 6. TERMINATION. - - 6.1. This License and the rights granted hereunder will - terminate automatically if You fail to comply with terms - herein and fail to cure such breach within 30 days of - becoming aware of the breach. Provisions which, by their - nature, must remain in effect beyond the termination of - this License shall survive. - - 6.2. If You assert a patent infringement claim (excluding - declaratory judgment actions) against Initial Developer or - a Contributor (the Initial Developer or Contributor against - whom You assert such claim is referred to as "Participant") - alleging that the Participant Software (meaning the - Contributor Version where the Participant is a Contributor - or the Original Software where the Participant is the - Initial Developer) directly or indirectly infringes any - patent, then any and all rights granted directly or - indirectly to You by such Participant, the Initial - Developer (if the Initial Developer is not the Participant) - and all Contributors under Sections 2.1 and/or 2.2 of this - License shall, upon 60 days notice from Participant - terminate prospectively and automatically at the expiration - of such 60 day notice period, unless if within such 60 day - period You withdraw Your claim with respect to the - Participant Software against such Participant either - unilaterally or pursuant to a written agreement with - Participant. - - 6.3. In the event of termination under Sections 6.1 or 6.2 - above, all end user licenses that have been validly granted - by You or any distributor hereunder prior to termination - (excluding licenses granted to You by any distributor) - shall survive termination. - - 7. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE - INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF - COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE - LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR - CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT - LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK - STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL - INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT - APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO - NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR - CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT - APPLY TO YOU. - - 8. U.S. GOVERNMENT END USERS. - - The Covered Software is a "commercial item," as that term is - defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial - computer software" (as that term is defined at 48 C.F.R. - 252.227-7014(a)(1)) and "commercial computer software - documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. - 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 - through 227.7202-4 (June 1995), all U.S. Government End Users - acquire Covered Software with only those rights set forth herein. - This U.S. Government Rights clause is in lieu of, and supersedes, - any other FAR, DFAR, or other clause or provision that addresses - Government rights in computer software under this License. - - 9. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the - extent necessary to make it enforceable. This License shall be - governed by the law of the jurisdiction specified in a notice - contained within the Original Software (except to the extent - applicable law, if any, provides otherwise), excluding such - jurisdiction's conflict-of-law provisions. Any litigation - relating to this License shall be subject to the jurisdiction of - the courts located in the jurisdiction and venue specified in a - notice contained within the Original Software, with the losing - party responsible for costs, including, without limitation, court - costs and reasonable attorneys' fees and expenses. The - application of the United Nations Convention on Contracts for the - International Sale of Goods is expressly excluded. Any law or - regulation which provides that the language of a contract shall - be construed against the drafter shall not apply to this License. - You agree that You alone are responsible for compliance with the - United States export administration regulations (and the export - control laws and regulation of any other countries) when You use, - distribute or otherwise make available any Covered Software. - - 10. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or - indirectly, out of its utilization of rights under this License - and You agree to work with Initial Developer and Contributors to - distribute such responsibility on an equitable basis. Nothing - herein is intended or shall be deemed to constitute any admission - of liability. - -=============================================================================== - -JRuby (jruby-complete-1.0.jar), wsdl4j (wsdl4j-1.6.2.jar): - -Common Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - - a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and - b) in the case of each subsequent Contributor: - - i) changes to the Program, and - - ii) additions to the Program; - - where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. - -2. GRANT OF RIGHTS - - a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. - - b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. - - c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. - - d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: - - a) it complies with the terms and conditions of this Agreement; and - - b) its license agreement: - - i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; - - ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; - - iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and - - iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - - a) it must be made available under this Agreement; and - - b) a copy of this Agreement must be included with each copy of the Program. - -Contributors may not remove or alter any copyright notices contained within the Program. - -Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 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. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. - -=============================================================================== - -backport-util-concurrent-2.2.jar: - -The software comprising backport-util-concurrent is based in large -part on the code from JSR166, and the package dl.util.concurrent. -The software has been released to the public domain, as explained at: -http://creativecommons.org/licenses/publicdomain, excepting portions -of the class -edu.emory.mathcs.backport.java.util.concurrent.CopyOnWriteArrayList, -which were adapted from class java.util.ArrayList, written by Sun -Microsystems, Inc, which are used with kind permission, and subject -to the following: - -Copyright 2002-2004 Sun Microsystems, Inc. All rights reserved. Use is -subject to the following license terms. - - "Sun hereby grants you a non-exclusive, worldwide, non-transferrable - license to use and distribute the Java Software technologies as part - of a larger work in source and binary forms, with or without - modification, provided that the following conditions are met: - - -Neither the name of or trademarks of Sun may be used to endorse or - promote products derived from the Java Software technology without - specific prior written permission. - - -Redistributions of source or binary code must be accompanied by the - following notice and disclaimers: - - Portions copyright Sun Microsystems, Inc. Used with kind permission. - - This software is provided AS IS, without a warranty of any kind. ALL - EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PUPOSE OR - NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN - MICROSYSTEMS, INC. AND ITS LICENSORS SHALL NOT BE LIABLE - FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS - DERIVATIVES. IN NO EVENT WILL SUN MICROSYSTEMS, INC. OR - ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR - DATA, OR FOR DIRECT, INDIRECT,CONSQUENTIAL, INCIDENTAL - OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF - THE THEORY OR LIABILITY, ARISING OUT OF THE USE OF OR - INABILITY TO USE SOFTWARE, EVEN IF SUN MICROSYSTEMS, INC. - HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - You acknowledge that Software is not designed, licensed or intended for - use in the design, construction, operation or maintenance of any nuclear - facility." - -=============================================================================== -rome-0.9.jar - -Copyright 2004 Sun Microsystems, Inc. - -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. - -=============================================================================== -jdom-1.0.jar : - -$Id: LICENSE.txt,v 1.11 2004/02/06 09:32:57 jhunter Exp $ - - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions, and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions, and the disclaimer that follows - these conditions in the documentation and/or other materials - provided with the distribution. - - 3. The name "JDOM" must not be used to endorse or promote products - derived from this software without prior written permission. For - written permission, please contact . - - 4. Products derived from this software may not be called "JDOM", nor - may "JDOM" appear in their name, without prior written permission - from the JDOM Project Management . - - In addition, we request (but do not require) that you include in the - end-user documentation provided with the redistribution and/or in the - software itself an acknowledgement equivalent to the following: - "This product includes software developed by the - JDOM Project (http://www.jdom.org/)." - Alternatively, the acknowledgment may be graphical using the logos - available at http://www.jdom.org/images/logos. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 JDOM AUTHORS OR THE PROJECT - 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. - - This software consists of voluntary contributions made by many - individuals on behalf of the JDOM Project and was originally - created by Jason Hunter and - Brett McLaughlin . For more information - on the JDOM Project, please see . - -======================================================================== - -dwr-2.0.1.jar : - -/* -* Copyright 2005 Joe Walker -* -* 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. -*/ - -========================================================================== - -dojotoolkit V1.0.0: - -The "New" BSD License: -********************** - -Copyright (c) 2005, The Dojo Foundation -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 Dojo Foundation nor the names of its 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. - -================================================================================ - -The module tuscany-implementation-script-1.0-incubating.jar temporarily includes -one file under the below BSD license with the following copyright: - - Copyright (c) 2006, Sun Microsystems, Inc. - All rights reserved. - -BSD license: - - 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. - -================================================================================ - -The serp-1.12.0.jar is distributed under the BSD license with the following copyright: - - Copyright (c) 2002, A. Abram White - All rights reserved. - -BSD license: - - 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. - -================================================================================ -The javacc-3.2.jar, and howl-1.0.1-1.jar are distributed under the BSD license: - -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. - -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. - -================================================================================ - -The tuscany-assembly-xsd jar includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================ -License for the Service Data Objects JavaDoc and Interface Definition files. (tuscany-sdo-api-r2.1-1.0-incubating.jar) - -These files being ... -commonj/sdo/ChangeSummary$Setting.class -commonj/sdo/ChangeSummary.class -commonj/sdo/DataGraph.class -commonj/sdo/DataObject.class -commonj/sdo/helper/CopyHelper.class -commonj/sdo/helper/DataFactory.class -commonj/sdo/helper/DataHelper.class -commonj/sdo/helper/EqualityHelper.class -commonj/sdo/helper/HelperContext.class -commonj/sdo/helper/TypeHelper.class -commonj/sdo/helper/XMLDocument.class -commonj/sdo/helper/XMLHelper.class -commonj/sdo/helper/XSDHelper.class -commonj/sdo/impl/ExternalizableDelegator$Resolvable.class -commonj/sdo/impl/ExternalizableDelegator.class -commonj/sdo/Property.class -commonj/sdo/Sequence.class -commonj/sdo/Type.class -xml/datagraph.xsd -xml/sdoJava.xml -xml/sdoJava.xsd -xml/sdoModel.xml -xml/sdoModel.xsd -xml/sdoXML.xml -xml/sdoXML.xsd - - -License for the Service Data Objects JavaDoc and Interface Definition files. - -The Service Data Objects Specification is being provided by the copyright holders under the following -license. By using and/or copying this work, you agree that you have read, understood and will comply with -the following terms and conditions: - -Permission to copy, display and distribute the Service Data Objects Specification and/or portions thereof, without -modification, in any medium without fee or royalty is hereby granted, provided that you include the -following on ALL copies of the Service Data Objects Specification, or portions thereof, that you make: - -1. A link or URL to the Service Data Objects Specification at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Service Data Objects Specification. - -BEA, IBM, Oracle, Primeton Technologies, Rogue Wave Software, SAP, Software AG, Sun Microsystems, Xcalia, -Zend Technologies (collectively, the “Authors”) agree to grant you a royalty-free license, under reasonable, -non-discriminatory terms and conditions to patents that they deem necessary to implement the Service Data -Objects Specification. - -THE Service Data Objects SPECIFICATION IS PROVIDED "AS IS," AND THE AUTHORS MAKE NO REPRESENTATIONS OR -WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SPECIFICATION AND THE IMPLEMENTATION OF ITS CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, -NON-INFRINGEMENT OR TITLE. THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL -OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THE SERVICE DATA OBJECTS -SPECIFICATION. - -The name and trademarks of the Authors may NOT be used in any manner, including advertising or publicity -pertaining to the Service Data Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects Specification will at all times remain with the -Authors. - -No other rights are granted by implication, estoppel or otherwise. -================================================================================ - diff --git a/java/sca/contrib/distribution/features/webservice/src/main/release/bin/NOTICE b/java/sca/contrib/distribution/features/webservice/src/main/release/bin/NOTICE deleted file mode 100644 index 5daa9a3dfe..0000000000 --- a/java/sca/contrib/distribution/features/webservice/src/main/release/bin/NOTICE +++ /dev/null @@ -1,95 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses XmlSchema developed at -The Apache Software Foundation (http://ws.apache.org/commons/XmlSchema) - Portions Copyright 2006 International Business Machines Corp. - -This product includes/uses ode-bpel-api-1.1 developed at -The Apache Software Foundation (http://ode.apache.org) - - Copyright 1999-2006 Intalio - This product includes software developed by Intalio (http://www.intalio.com) - - Copyright 2006 Sybase - This product includes software developed by Sybase.(http://www.sybase.com) - -"This product includes software developed by the Spring Framework - Project (http://www.springframework.org)." - -This product includes/uses the Jetty Servlet Engine (http://jetty.mortbay.org), -developed by Mort Bay Consulting (http://www.mortbay.com) - -This product includes/uses the Groovy Script Engine (http://groovy.codehaus.org/), -Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - -This product includes/uses the Axion : the Open Source Java Database (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. All rights reserved. - -This product includes/uses DOM4J : the flexible XML framework for java (http://www.dom4j.org/) - Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. - -This product includes/uses software, AOP alliance (http://aopalliance.sourceforge.net) -License: Public Domain - -This product includes/uses JSON-RPC-Java (http://oss.metaparadigm.com/jsonrpc/) - -This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) - Copyright (c) 2003-2004 Jan-Klaas Kollhof - Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd - -This product includes software from the GlassFish project (https://glassfish.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes software from the Rome project (https://rome.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes/uses the Eclipse Modeling Framework project (http://www.eclipse.org/emf/) - -This product includes/uses the Mozilla Rhino project (http://www.mozilla.org/rhino/) - -This product includes/uses the Sourceforge wsdl4j project (http://sourceforge.net/projects/wsdl4j/)i - -This product includes/uses the Codehaus JRuby project (http://jruby.codehaus.org/) - -This product includes/uses JDOM (http://www.jdom.org/) - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. All rights reserved. - -This product includes/uses DWR (http://getahead.org/dwr) - Copyright 2005 Joe Walker. All rights reserved. - -This product includes/uses dojotoolkit (http://dojotoolkit.org/) - Copyright (c) 2005, The Dojo Foundation. All rights reserved. - -This product includes/uses Howl (http://howl.objectweb.org/) - Copyright (c) 2004, Bull S.A. - -This product includes/uses axion (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. - -This product includes/uses javacc (https://javacc.dev.java.net/) - Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved. - -The Program includes all or portions of the following software: "The -Saxon XSLT and XQuery Processor from Saxonica Limited" distributed under -an MPL v1.0 license. Please refer to the homepage URL at -http://www.saxonica.com/. - -This product includes/uses Serp (http://serp.sourceforge.net/) under the BSD license: - Copyright (c) 2002, A. Abram White. All rights reserved. - -This product also includes software under the BSD license -with the following copyright: - Copyright (c) 2006, Sun Microsystems, Inc. All rights reserved. - -This product includes software under the Service Component Architecture JavaDoc, -Interface Definition files and XSD files license. - (c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - diff --git a/java/sca/contrib/distribution/features/webservice/src/main/release/src/BUILDING b/java/sca/contrib/distribution/features/webservice/src/main/release/src/BUILDING deleted file mode 100644 index 65d09c5eae..0000000000 --- a/java/sca/contrib/distribution/features/webservice/src/main/release/src/BUILDING +++ /dev/null @@ -1,55 +0,0 @@ -Building the Apache Tuscany SCA 1.2 (incubating) April 2008 Release source distribution -======================================================================================= - -Initial Setup -------------- - -1) Install J2SE 5.0 SDK, which can be downloaded from - http://java.sun.com/j2se/1.5.0/download.jsp. Use version of 1.5.0_06 JDK or higher. - -2) Make sure that your JAVA_HOME environment variable is set to the newly installed - JDK location, and that your PATH includes %JAVA_HOME%\bin (windows) or - $JAVA_HOME$/bin (unix). - -3) Install Maven 2.0.7 or higher, which can be downloaded from - http://maven.apache.org/download.html. Make sure that your PATH includes - the MVN_HOME/bin directory. - -4) Make sure that your MAVEN_OPTS environment variable has -Xmx128M (or more), - you can manually do this by executing the following in your prompt : - Windows users: - set MAVEN_OPTS=-Xmx128M - Unix users: - export MAVEN_OPTS=-Xmx128M - - -Building --------- - -1) Change to the top level directory of Apache Tuscany source distribution. -2) Run - - $> mvn - - This will compile Apache Tuscany and run all of the tests in the source - distribution. - - Depending on the load of remote Maven 2.0 repositories, you may have - to run "mvn" several times utill the required dependencies are - all located in your local maven repository. It usually takes some time for - maven to download required dependencies in the first build. Once all the - dependencies have been downloaded you may use the -o option to run maven - in offline mode, for example, 'mvn clean install -o'. - - -Building the distributions --------------------------- - -1) Change to the distribution folder -2) Run - - $> mvn - - This will build the binary and source distribution with .zip and .gz - formats in the distribution/target directory. - diff --git a/java/sca/contrib/distribution/features/webservice/src/main/release/src/LICENSE b/java/sca/contrib/distribution/features/webservice/src/main/release/src/LICENSE deleted file mode 100644 index 144d8ae692..0000000000 --- a/java/sca/contrib/distribution/features/webservice/src/main/release/src/LICENSE +++ /dev/null @@ -1,397 +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. - -=============================================================================================================== - -The module itest/databindings/common includes the test schema; datagraph.xsd, sdoJava.xsd, and sdoModel.xsd -under the following license: - -License for the Service Data Objects JavaDoc, Interface Definition files -and XSD files. - -The Service Data Objects JavaDoc, Interface Definition files and XSD files -are being provided by the copyright holders under the following license. -By using and/or copying this work, you agree that you have read, -understood and will comply with the following terms and conditions: - -Permission to copy, display, make derivative works of and distribute -the Service Data Objects JavaDoc, Interface Definition files and XSD files -(the "Artifacts") in any medium without fee or royalty is hereby granted, -provided that you include the following on ALL copies of the Artifacts, -or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - - - -THE ARTIFACTS ARE PROVIDED "AS IS" AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Data -Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects -Specification will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.11, last updated on 2007/12/21 - -================================================================================================================= - -The 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. - -================================================================================================================= - -The module assembly-xsd includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================================================= -The modules - -binding-ws-xml -databinding -databinding-axiom -databinding-jaxb -databinding-json -databinding-sdo -databinding-sdo-axiom -databinding-xmlbeans -interface-wsdl-xml - -Include the ipo.xsd and address.xsd information from the XML Schema Primer -(http://www.w3.org/TR/2004/PER-xmlschema-0-20040318/) combined into the -file ipo.xsd and extended with UK postcode structures. - -The ipo.xsd file is include under the following license: - -W3C(c) SOFTWARE NOTICE AND LICENSE -http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - -This work (and included software, documentation such as READMEs, or other -related items) is being provided by the copyright holders under the following -license. By obtaining, using and/or copying this work, you (the licensee) agree -that you have read, understood, and will comply with the following terms and conditions. - -Permission to copy, modify, and distribute this software and its documentation, -with or without modification, for any purpose and without fee or royalty is -hereby granted, provided that you include the following on ALL copies of the -software and documentation or portions thereof, including modifications: - - 1. The full text of this NOTICE in a location viewable to users of the - redistributed or derivative work. - 2. Any pre-existing intellectual property disclaimers, notices, or terms - and conditions. If none exist, the W3C Software Short Notice should be - included (hypertext is preferred, text is permitted) within the body of - any redistributed or derivative code. - 3. Notice of any changes or modifications to the files, including the date - changes were made. (We recommend you provide URIs to the location from which - the code is derived.) - -THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE -NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, -WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE -USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, -COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. - -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. - -The name and trademarks of copyright holders may NOT be used in advertising or -publicity pertaining to the software without specific, written prior permission. -Title to copyright in this software and any associated documentation will at all -times remain with copyright holders. diff --git a/java/sca/contrib/distribution/features/webservice/src/main/release/src/NOTICE b/java/sca/contrib/distribution/features/webservice/src/main/release/src/NOTICE deleted file mode 100644 index 31540fd607..0000000000 --- a/java/sca/contrib/distribution/features/webservice/src/main/release/src/NOTICE +++ /dev/null @@ -1,39 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) - Copyright (c) 2003-2004 Jan-Klaas Kollhof - Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd - -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. - -This product includes software under the Service Component Architecture JavaDoc, -Interface Definition files and XSD files license. - (c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - -This product includes software under the W3C(c) Software License -with the following copyright: - -Copyright (c) 2008 World Wide Web Consortium, (Massachusetts Institute of Technology, -European Research Consortium for Informatics and Mathematics, Keio University). -All Rights Reserved. This work is distributed under the W3C(c) Software License [1] in -the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied -warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - - diff --git a/java/sca/contrib/distribution/manifest/pom.xml b/java/sca/contrib/distribution/manifest/pom.xml deleted file mode 100644 index 320dcc2151..0000000000 --- a/java/sca/contrib/distribution/manifest/pom.xml +++ /dev/null @@ -1,596 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-sca - 2.0-SNAPSHOT - ../../pom.xml - - - tuscany-sca-manifest - Apache Tuscany SCA Manifest Jar - - - true - ${pom.version} - - - - - ${pom.groupId} - tuscany-assembly - ${pom.version} - - - ${pom.groupId} - tuscany-assembly-xml - ${pom.version} - - - ${pom.groupId} - tuscany-binding-dwr - ${pom.version} - - - ${pom.groupId} - tuscany-binding-ejb-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-binding-atom - ${pom.version} - - - ${pom.groupId} - tuscany-binding-atom-abdera - ${pom.version} - - - ${pom.groupId} - tuscany-binding-rss - ${pom.version} - - - ${pom.groupId} - tuscany-binding-rss-rome - ${pom.version} - - - ${pom.groupId} - tuscany-binding-http-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-binding-jms-runtime - ${pom.version} - - - org.apache.activemq - apache-activemq - 4.1.1 - - - commons-httpclient - commons-httpclient - - - commons-fileupload - commons-fileupload - - - commons-beanutils - commons-beanutils - - - org.apache.activemq - activemq-console - - - org.apache.activemq - activemq-core - - - org.apache.activemq - activemq-optional - - - org.apache.activemq - activemq-web - - - org.apache.activemq - activemq-web-demo - - - org.apache.activemq - activemq-jaas - - - org.apache.geronimo.specs - geronimo-j2ee-connector_1.5_spec - - - org.apache.geronimo.specs - geronimo-j2ee-jacc_1.0_spec - - - org.apache.geronimo.specs - geronimo-jms_1.1_spec - - - org.apache.geronimo.specs - geronimo-jsp_2.0_spec - - - org.apache.geronimo.specs - geronimo-j2ee-management_1.0_spec - - - org.mortbay.jetty - servlet-api-2.5 - - - org.mortbay.jetty - jetty - - - org.mortbay.jetty - jetty-util - - - xerces - xercesImpl - - - backport-util-concurrent - backport-util-concurrent - - - activesoap - jaxp-api - - - activemq - jmdns - - - jrms - jrms - - - xerces - xmlParserAPIs - - - xstream - xstream - - - xmlpull - xmlpull - - - mx4j - mx4j - - - mx4j - mx4j-remote - - - - - ${pom.groupId} - tuscany-binding-jsonrpc-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-binding-notification - ${pom.version} - - - ${pom.groupId} - tuscany-binding-rmi - ${pom.version} - - - ${pom.groupId} - tuscany-binding-rmi-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-binding-sca - ${pom.version} - - - ${pom.groupId} - tuscany-binding-sca-axis2 - ${pom.version} - - - ${pom.groupId} - tuscany-binding-sca-xml - ${pom.version} - - - ${pom.groupId} - tuscany-binding-ws - ${pom.version} - - - ${pom.groupId} - tuscany-binding-ws-axis2 - ${pom.version} - - - ${pom.groupId} - tuscany-binding-ws-xml - ${pom.version} - - - ${pom.groupId} - tuscany-binding-ws-wsdlgen - ${pom.version} - - - ${pom.groupId} - tuscany-contribution - ${pom.version} - - - ${pom.groupId} - tuscany-contribution-groovy - ${pom.version} - - - ${pom.groupId} - tuscany-contribution-impl - ${pom.version} - - - ${pom.groupId} - tuscany-contribution-java - ${pom.version} - - - ${pom.groupId} - tuscany-contribution-namespace - ${pom.version} - - - ${pom.groupId} - tuscany-core - ${pom.version} - - - ${pom.groupId} - tuscany-core-databinding - ${pom.version} - - - ${pom.groupId} - tuscany-core-spi - ${pom.version} - - - ${pom.groupId} - tuscany-databinding - ${pom.version} - - - ${pom.groupId} - tuscany-databinding-axiom - ${pom.version} - - - ${pom.groupId} - tuscany-databinding-jaxb - ${pom.version} - - - ${pom.groupId} - tuscany-databinding-sdo - ${pom.version} - - - ${pom.groupId} - tuscany-databinding-sdo-axiom - ${pom.version} - - - ${pom.groupId} - tuscany-host-embedded - ${pom.version} - - - ${pom.groupId} - tuscany-host-http - ${pom.version} - - - ${pom.groupId} - tuscany-host-rmi - ${pom.version} - - - ${pom.groupId} - tuscany-host-webapp - ${pom.version} - - - ${pom.groupId} - tuscany-host-jetty - ${pom.version} - - - - ${pom.groupId} - tuscany-interface - ${pom.version} - - - ${pom.groupId} - tuscany-interface-java - ${pom.version} - - - ${pom.groupId} - tuscany-interface-java-xml - ${pom.version} - - - ${pom.groupId} - tuscany-interface-wsdl - ${pom.version} - - - ${pom.groupId} - tuscany-interface-wsdl-xml - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-bpel - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-bpel-ode - ${pom.version} - - - ant - ant - - - - - ${pom.groupId} - tuscany-implementation-ejb - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-ejb - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-java - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-java-xml - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-java-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-node - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-node-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-host-tomcat - - - - - ${pom.groupId} - tuscany-implementation-osgi - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-resource-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-script - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-spring - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-xquery - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-widget-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-node-api - ${pom.version} - - - ${pom.groupId} - tuscany-node-impl - ${pom.version} - - - ${pom.groupId} - tuscany-node-launcher - ${pom.version} - - - ${pom.groupId} - tuscany-policy - ${pom.version} - - - ${pom.groupId} - tuscany-policy-logging - ${pom.version} - - - ${pom.groupId} - tuscany-policy-security - ${pom.version} - - - ${pom.groupId} - tuscany-policy-xml - ${pom.version} - - - ${pom.groupId} - tuscany-definitions - ${pom.version} - - - ${pom.groupId} - tuscany-workspace - ${pom.version} - - - ${pom.groupId} - tuscany-domain-manager - ${pom.version} - - - ${pom.groupId} - tuscany-host-tomcat - - - - - ${pom.groupId} - tuscany-workspace-impl - ${pom.version} - - - ${pom.groupId} - tuscany-workspace-xml - ${pom.version} - - - ${pom.groupId} - tuscany-java2wsdl - ${pom.version} - - - ${pom.groupId} - tuscany-wsdl2java - ${pom.version} - - - ${pom.groupId} - tuscany-sca-api - ${pom.version} - - - org.apache.tuscany.sdo - tuscany-sdo-impl - 1.1.1 - - - - org.codehaus.woodstox - wstx-asl - - - - - org.apache.tuscany.sdo - tuscany-sdo-tools - 1.1.1 - - - - - - - - - src/main/java - - **/* - - - - - - org.apache.maven.plugins - maven-jar-plugin - - tuscany-sca-manifest - - - true - - - - tuscany-sca-all-${pom.version}.jar - - - - - - - - diff --git a/java/sca/contrib/distribution/pom.xml b/java/sca/contrib/distribution/pom.xml deleted file mode 100644 index d7e9a46930..0000000000 --- a/java/sca/contrib/distribution/pom.xml +++ /dev/null @@ -1,330 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-sca - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-distribution - Apache Tuscany SCA Distribution - pom - - - true - ${pom.version} - - - - bundle - manifest - - - - - - ${pom.groupId} - tuscany-bundle - ${pom.version} - - - - - avalon-framework - avalon-framework - - - junit - junit - - - avalon-framework - avalon-framework - - - org.apache.ant - ant - - - org.apache.ant - ant-launcher - - - jline - jline - - - - stax - stax-api - - - javax.mail - mail - - - - org.apache.geronimo.specs - geronimo-activation_1.1_spec - - - org.apache.geronimo.specs - geronimo-activation_1.0.2_spec - - - - - org.apache.tuscany.sca - tuscany-host-webapp - 2.0-SNAPSHOT - - - - - - - org.apache.tuscany.sdo - tuscany-sdo-impl - 1.1-incubating - - - - org.codehaus.woodstox - wstx-asl - - - - stax - stax-api - - - - org.apache.felix - org.apache.felix.main - - - - - org.apache.activemq - apache-activemq - 4.1.1 - - - - commons-httpclient - commons-httpclient - - - commons-fileupload - commons-fileupload - - - commons-beanutils - commons-beanutils - - - org.apache.activemq - activemq-console - - - org.apache.activemq - activemq-core - - - org.apache.activemq - activemq-optional - - - org.apache.activemq - activemq-web - - - org.apache.activemq - activemq-web-demo - - - org.apache.activemq - activemq-jaas - - - org.apache.geronimo.specs - geronimo-j2ee-connector_1.5_spec - - - org.apache.geronimo.specs - geronimo-j2ee-jacc_1.0_spec - - - org.apache.geronimo.specs - geronimo-jms_1.1_spec - - - org.apache.geronimo.specs - geronimo-jsp_2.0_spec - - - org.apache.geronimo.specs - geronimo-j2ee-management_1.0_spec - - - org.mortbay.jetty - servlet-api-2.5 - - - org.mortbay.jetty - jetty - - - org.mortbay.jetty - jetty-util - - - xerces - xercesImpl - - - backport-util-concurrent - backport-util-concurrent - - - activesoap - jaxp-api - - - activemq - jmdns - - - jrms - jrms - - - xerces - xmlParserAPIs - - - xstream - xstream - - - xmlpull - xmlpull - - - mx4j - mx4j - - - mx4j - mx4j-remote - - - - backport-util-concurrent - backport-util-concurrent - - - - - - - - - - src/main/java - - **/* - - - - - - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - distribution-package - package - - single - - - - src/main/assembly/bin.xml - src/main/assembly/src.xml - - gnu - apache-tuscany-sca-${pom.version} - - - - - - - - - diff --git a/java/sca/contrib/distribution/src/main/assembly/bin.xml b/java/sca/contrib/distribution/src/main/assembly/bin.xml deleted file mode 100644 index de26867cf1..0000000000 --- a/java/sca/contrib/distribution/src/main/assembly/bin.xml +++ /dev/null @@ -1,350 +0,0 @@ - - - - - - false - - dir - tar.gz - zip - - - - - - src/main/release - tuscany-sca-${tuscany.version} - - CHANGES - README - RELEASE_NOTES - - - - src/main/release/bin - tuscany-sca-${tuscany.version} - - INSTALL - LICENSE - NOTICE - - - - - target/javadoc - tuscany-sca-${tuscany.version}/docs/javadoc - - **/* - - - - - ../samples - tuscany-sca-${tuscany.version}/samples - - **/* - - - - */.classpath - */.project - */.settings - */.settings/**/* - */.externalToolBuilders - */.externalToolBuilders/**/* - */work - */work/**/* - **/activemq-test.log - **/derby.log - **/target/war/** - */target/mvn-eclipse-cache.properties - */target/classes - */target/classes/**/* - */target/dependency-maven-plugin-markers - */target/dependency-maven-plugin-markers/**/* - */target/test-classes - */target/test-classes/**/* - */target/surefire-reports - */target/surefire-reports/**/* - */target/sdo-source - */target/sdo-source/**/* - */target/wsdl2java-source - */target/wsdl2java-source/**/* - */**/derby.log - */**/*.svg - - pom.xml - calculator-distributed/work - calculator-distributed/work/**/* - calculator-webapp/target/sample-calculator-webapp - calculator-webapp/target/sample-calculator-webapp/**/* - calculator-ws-webapp/target/sample-calculator-ws-webapp - calculator-ws-webapp/target/sample-calculator-ws-webapp/**/* - calculator-ws-secure-webapp - calculator-ws-secure-webapp/**/* - calculator-ws-secure-webapp/work - callback-ws-client/work - callback-ws-client/work/**/* - callback-ws-service/work - callback-ws-service/work/**/* - chat-webapp/target/sample-chat-webapp - chat-webapp/target/sample-chat-webapp/**/* - domain-webapp - domain-webapp/**/* - feed-aggregator-webapp/target/sample-feed-aggregator-webapp - feed-aggregator-webapp/target/sample-feed-aggregator-webapp/**/* - feed-aggregator-webapp/target/war - helloworld-bpel/target - helloworld-bpel/target/**/* - helloworld-dojo-webapp/src/main/webapp/dojo - helloworld-dojo-webapp/src/main/webapp/dojo/**/* - helloworld-dojo-webapp/target/sample-helloworld-dojo-webapp - helloworld-dojo-webapp/target/sample-helloworld-dojo-webapp/**/* - helloworld-dojo-webapp/target/war - helloworld-jms-webapp - helloworld-jms-webapp/**/* - helloworld-jms-webapp/work - helloworld-jsonrpc-webapp/target/sample-helloworld-jsonrpc-webapp - helloworld-jsonrpc-webapp/target/sample-helloworld-jsonrpc-webapp/**/* - helloworld-ws-deep-webapp - helloworld-ws-deep-webapp/**/* - helloworld-ws-deep-webapp/work - helloworld-ws-deep-webapp/work/**/* - helloworld-ws-reference/work - helloworld-ws-reference/work/**/* - helloworld-ws-reference-jms/activemq-data - helloworld-ws-reference-jms/activemq-data/**/* - helloworld-ws-reference-secure/work - helloworld-ws-reference-secure/work/**/* - helloworld-ws-service-webapp - helloworld-ws-service-webapp/**/* - helloworld-ws-service/work - helloworld-ws-service/secure/work/**/* - helloworld-ws-service/secure/work - helloworld-ws-service/work/**/* - helloworld-ws-service-jms/activemq-data - helloworld-ws-service-jms/activemq-data/**/* - helloworld-ws-service-secure/work - helloworld-ws-service-secure/work/**/* - helloworld-ws-service-webapp/target/sample-helloworld-ws-service-webapp - helloworld-ws-service-webapp/target/sample-helloworld-ws-service-webapp/**/* - helloworld-ws-sdo/work - helloworld-ws-sdo/work/**/* - helloworld-ws-sdo-webapp/target/sample-helloworld-ws-sdo-webapp - helloworld-ws-sdo-webapp/target/sample-helloworld-ws-sdo-webapp/**/* - loanapplication - loanapplication/**/* - osgi-supplychain/.felix - osgi-supplychain/.felix/**/* - osgi-supplychain/target/sample-osgi-supplychain - osgi-supplychain/target/sample-osgi-supplychain/**/* - simple-callback-ws/work - simple-callback-ws/work/**/* - spi-implementation-pojo - spi-implementation-pojo/**/* - - calculator-ws-secure-webapp/target/sample-calculator-ws-secure-webapp.war - calculator-ws-webapp/target/sample-calculator-ws-webapp.war - chat-webapp/target/sample-chat-webapp.war - domain-webapp/target/sample-domain-webapp.war - feed-aggregator-webapp/target/sample-feed-aggregator-webapp.war - helloworld-dojo-webapp/target/sample-helloworld-dojo-webapp.war - helloworld-jms-webapp/target/sample-helloworld-jms-webapp.war - helloworld-jsonrpc-webapp/target/sample-helloworld-jsonrpc-webapp.war - helloworld-ws-deep-webapp/target/sample-helloworld-ws-deep-webapp.war - helloworld-ws-sdo-webapp/target/sample-helloworld-ws-sdo-webapp.war - helloworld-ws-service-webapp/target/sample-helloworld-ws-service-webapp.war - - - - - ../demos - - tuscany-sca-${tuscany.version}/demos - - **/* - - - */.classpath - */.project - */.settings - */.settings/**/* - */work - */work/**/* - */target/classes - */target/classes/**/* - */target/test-classes - */target/test-classes/**/* - */target/surefire-reports - */target/surefire-reports/**/* - **/derby.log - */**/derby.log - */**/*.svg - */**/*.ruleset - alert-aggregator-webapp/bin - alert-aggregator-webapp/bin/**/* - alert-aggregator-webapp/src/main/webapp/dojo - alert-aggregator-webapp/src/main/webapp/dojo/**/* - alert-aggregator-webapp/target/demo-alert-aggregator - alert-aggregator-webapp/target/demo-alert-aggregator/**/* - alert-aggregator-webapp/target/sdo-source - alert-aggregator-webapp/target/sdo-source/**/* - alert-aggregator-webapp/target - alert-aggregator-webapp/target/**/* - bigbank/src/main/resources/web/dojo - bigbank/src/main/resources/web/dojo/**/* - bigbank/target - bigbank/target/**/* - bigbank-account/src/main/resources/web/dojo - bigbank-account/src/main/resources/web/dojo/**/* - bigbank-account/target - bigbank-account/target/**/* - bigbank-calculator/target - bigbank-calculator/target/**/* - bigbank-stockquote/target - bigbank-stockquote/target/**/* - helloworld-ws-sdo/work - helloworld-ws-sdo/work/**/* - mortgage-creditcheck/target/demo-mortgage-creditcheck - mortgage-creditcheck/target/demo-mortgage-creditcheck/**/* - mortgage-creditcheck/target - mortgage-creditcheck/target/**/* - mortgage-loanapproval/target - mortgage-loanapproval/target/**/* - secure-bigbank/secure-bigbank-account/src/main/resources/web/dojo - secure-bigbank/secure-bigbank-account/src/main/resources/web/dojo/**/* - secure-bigbank/secure-bigbank-account/target - secure-bigbank/secure-bigbank-account/target/**/* - secure-bigbank/secure-bigbank-calculator/target - secure-bigbank/secure-bigbank-calculator/target/**/* - secure-bigbank/secure-bigbank-stockquote/target - secure-bigbank/secure-bigbank-stockquote/target/**/* - xml-bigbank/target - xml-bigbank/target/**/* - target - target/**/* - - - - - ../tutorials - - tuscany-sca-${tuscany.version}/tutorials - - **/* - - - */.classpath - */.project - */.settings - */.settings/**/* - */work - */work/**/* - */target/classes - */target/classes/**/* - */target/test-classes - */target/test-classes/**/* - */target/surefire-reports - */target/surefire-reports/**/* - */target/war - */target/war/**/* - **/derby.log - */**/derby.log - */**/*.svg - */**/*.ruleset - target - target/**/* - store/catalog-webapp/target/war - store/catalog-webapp/target/war/**/* - store/catalog-webapp/target/tutorial-catalog-webapp - store/catalog-webapp/target/tutorial-catalog-webapp/**/* - store/store-db/target/cart-db/ - store/store-db/target/cart-db/**/* - store/store-eu/target/cart-eu-db/ - store/store-eu/target/cart-eu-db/**/* - store/store-supplier/target/cart-db/ - store/store-supplier/target/cart-db/**/* - - - - - manifest/target - tuscany-sca-${tuscany.version}/lib - - tuscany-sca-manifest.jar - - - - - ../modules/node2-launcher-webapp/target - tuscany-sca-${tuscany.version}/modules - - *.war - - - - - - - - - - - tuscany-sca-${tuscany.version}/modules - false - - org.apache.tuscany.sca:* - - - - org.apache.tuscany.sca:tuscany-bundle - - runtime - - - - tuscany-sca-${tuscany.version}/lib - false - - org.apache.tuscany.sca:* - - runtime - - - - tuscany-sca-${tuscany.version}/lib - false - - org.apache.tuscany.sca:tuscany-bundle - - runtime - tuscany-sca-all-${version}.jar - - - - - diff --git a/java/sca/contrib/distribution/src/main/assembly/src.xml b/java/sca/contrib/distribution/src/main/assembly/src.xml deleted file mode 100644 index 1d04b0d421..0000000000 --- a/java/sca/contrib/distribution/src/main/assembly/src.xml +++ /dev/null @@ -1,196 +0,0 @@ - - - - - src - false - - tar.gz - zip - - - - - src/main/release - tuscany-sca-${tuscany.version}-src - - CHANGES - README - RELEASE_NOTES - - - - src/main/release/src - tuscany-sca-${tuscany.version}-src - - BUILDING - LICENSE - NOTICE - - - - target/maven-shared-archive-resources/META-INF - tuscany-sca-${tuscany.version}-src - - NOTICE - - - - .. - tuscany-sca-${tuscany.version}-src - - **/* - - - contrib - contrib/**/* - doc - doc/**/* - **/target - **/target/**/* - **/build - **/build/**/* - **/.settings - **/.settings/**/* - **/.classpath - **/.project - **/.wtpmodules - **/surefire* - **/cobertura.ser - bin - bin/* - **/var/journal - **/build.out* - velocity.log - derby.log - distribution/target-last-successful - distribution/target-last-successful/**/* - itest/velocity.log - itest/bpel/helloworld-ws/work - itest/bpel/helloworld-ws/work/**/* - itest/callablereferences/work - itest/callablereferences/work/**/* - itest/callablereferences-ws/work - itest/callablereferences-ws/work/**/* - itest/contribution-import-export/import-composite/work - itest/contribution-import-export/import-composite/work/**/* - itest/contribution-import-export/import-resource/work - itest/contribution-import-export/import-resource/work/**/* - itest/contribution-import-export/import-wsdl/work - itest/contribution-import-export/import-wsdl/work/**/* - itest/conversations-ws/work - itest/conversations-ws/work/**/* - itest/databindings/jaxbgen/velocity.log - itest/domain/work - itest/domain/work/**/* - itest/exceptions-simple-ws/work - itest/exceptions-simple-ws/work/**/* - itest/large-sdo-ws/ - itest/large-sdo-ws/**/* - itest/policy/work - itest/policy/work/**/* - itest/transaction/derbydb - itest/transaction/derbydb/**/* - itest/ws-void-args-return/work - itest/ws-void-args-return/work/**/* - vtest/wsbinding/nowsdl/defaultbinding/work - vtest/wsbinding/nowsdl/defaultbinding/work/**/* - vtest/wsbinding/nowsdl/multisoapbindings/work - vtest/wsbinding/nowsdl/multisoapbindings/work/**/* - vtest/wsbinding/nowsdl/promoted/work - vtest/wsbinding/nowsdl/promoted/work/**/* - vtest/wsbinding/nowsdl/soapversion/work - vtest/wsbinding/nowsdl/soapversion/work/**/* - vtest/wsbinding/service/work - vtest/wsbinding/service/work/**/* - modules/domain-impl/work - modules/domain-impl/work/**/* - modules/host-tomcat/work - modules/host-tomcat/work/**/* - modules/node-impl/work - modules/node-impl/work/**/* - modules/implementation-bpel-ode/derby.log - modules/implementation-das - modules/implementation-das/**/* - modules/implementation-data - modules/implementation-data/**/* - modules/implementation-osgi/.felix - modules/implementation-osgi/.felix/**/* - modules/osgi-runtime/.felix - modules/osgi-runtime/.felix/**/* - samples/old - samples/old/**/* - samples/calculator-distributed/work - samples/calculator-distributed/work/**/* - samples/callback-ws-client/work - samples/callback-ws-client/work/**/* - samples/callback-ws-service/work - samples/callback-ws-service/work/**/* - samples/domain-webapp - samples/domain-webapp/**/* - samples/helloworld-jsonrpc-webapp/src/main/webapp/dojo - samples/helloworld-jsonrpc-webapp/src/main/webapp/dojo/**/* - samples/helloworld-dojo-webapp/src/main/webapp/dojo - samples/helloworld-dojo-webapp/src/main/webapp/dojo/**/* - samples/helloworld-ws-deep-webapp - samples/helloworld-ws-deep-webapp/**/* - samples/helloworld-ws-deep-webapp/work - samples/helloworld-ws-deep-webapp/work/**/* - samples/helloworld-ws-reference/work - samples/helloworld-ws-reference/work/**/* - samples/helloworld-ws-reference-jms/activemq-data - samples/helloworld-ws-reference-jms/activemq-data/**/* - samples/helloworld-ws-reference-secure/work - samples/helloworld-ws-reference-secure/work/**/* - samples/helloworld-ws-sdo/work - samples/helloworld-ws-sdo/work/**/* - samples/helloworld-ws-service/work - samples/helloworld-ws-service/work/**/* - samples/helloworld-ws-service-jms/activemq-data - samples/helloworld-ws-service-jms/activemq-data/**/* - samples/helloworld-ws-service-secure/work - samples/helloworld-ws-service-secure/work/**/* - samples/helloworld-ws-service-webapp - samples/helloworld-ws-service-webapp/**/* - samples/osgi-supplychain/.felix - samples/osgi-supplychain/.felix/**/* - samples/spi-implementation-pojo - samples/spi-implementation-pojo/**/* - samples/simple-callback-ws/work - samples/simple-callback-ws/work/**/* - demos/alert-aggregator-webapp/bin - demos/alert-aggregator-webapp/bin/**/* - demos/alert-aggregator-webapp/src/main/webapp/dojo - demos/alert-aggregator-webapp/src/main/webapp/dojo/**/* - demos/bigbank/src/main/resources/web/dojo - demos/bigbank/src/main/resources/web/dojo/**/* - demos/bigbank-account/src/main/resources/web/dojo - demos/bigbank-account/src/main/resources/web/dojo/**/* - demos/secure-bigbank/secure-bigbank-account/src/main/resources/web/dojo - demos/secure-bigbank/secure-bigbank-account/src/main/resources/web/dojo/**/* - */**/derby.log - */**/*.svg - */**/*.ruleset - */**/*.pmd - */**/*.checkstyle - - - - diff --git a/java/sca/contrib/distribution/src/main/release/CHANGES b/java/sca/contrib/distribution/src/main/release/CHANGES deleted file mode 100644 index 763ab8421b..0000000000 --- a/java/sca/contrib/distribution/src/main/release/CHANGES +++ /dev/null @@ -1,505 +0,0 @@ -Changes With Apache Tuscany SCA 1.3.2 October 2008 -================================================== - -Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-2628 Fix some other file license headers that should refer to the OSOA license - * TUSCANY-2620 Fix license header for sca.tld - * TUSCANY-2618 Add required attribute elements to sca.tld - * TUSCANY-2615 Fix NPE in databinding and a nested exception test in vtests - * TUSCANY-2614 Fix missing headers reported by RAT during release - * TUSCANY-2598 Patch to support zip protocol type - * TUSCANY-2592 Reduce size of demo/mortgage-loanapproval doc - * TUSCANY-2591 Invalid JMS Message Property in binding.jms - * TUSCANY-2590 Pool JAXB marshaller/unmarshallers for a given JAXBContext - * TUSCANY-2587 Inconsistent service naming in promoted service scenarios - * TUSCANY-2561 Soap intents are lower case while the policy framework says that they should be upper case - * TUSCANY-2538 Tuscany object model does not handle unknown content in composite files - * TUSCANY-2531 Problems with generated wsdl when using non service package - * TUSCANY-2513 Java intfs with @WebService should be treated like @Remotable intfs wrt calculation of services implemented by a Java implementation - * TUSCANY-2501 InterfaceContract is not established on reference when it's not calculated by introspection - * TUSCANY-2463 Provide capability for handling attribute extensions to standard SCA elements in composite file - * TUSCANY-2398 Problem with using interface.java on reference when using interface.wsdl in service with a doc/lit/bare wsdl - -Changes With Apache Tuscany SCA 1.3.1 August 2008 -================================================= - -Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-2539 File handle on composite affecting behaviour of tuscany deployments in websphere. - * TUSCANY-2535 Tuscany dosn't run if install on a WebSphere server that has itself been installed in a directory with a space in the name - * TUSCANY-2534 WebSphere issue java.lang.ClassCastException - * TUSCANY-2531 Problems with generated wsdl when using non service package - * TUSCANY-2519 "throws Exception" causes failure in JAXB type generation - * TUSCANY-2514 tuscany-host-{tomcat,jetty} and jsr181-api should be optional dependencies for binding.ws clients - * TUSCANY-2505 Problem in case: start with DLW wsdl, generate Java w/ wsimport, throw away WSDL and use , when wrapper elem used named type (not anonymous) - * TUSCANY-2389 null elements in Object array not getting passed over binding.ws - - -Changes With Apache Tuscany SCA 1.3 August 2008 -=============================================== - -- Features and/or Enhancements - - We have graduated as a top level Apache project. The incubating disclaimer has been removed - and the artifact names and version no longer containg the "-incubating" string. - - * Core - - More improvements to the Distributed Domain story - - Old domain and node code has been removed - - Improved runtime Java2WSDL processing - - No longer relies on Axis code - - Support for core validation monitoring - - A pluggable monitor can be used to trap and process validation messages - - Performance improvements - - Java 2 security enablement across the code base - * Extensions - - Validation monitoring added to extension processors - - Databinding improvements - - JSR250 annotation support - - OSGi support improvements - - Better BPEL support - * Tools - - No significant changes - * Samples/Tutorial/Demos - - No significant changes - * Testing - - more spec verifaction tests - - validation itests - -Changes With Apache Tuscany SCA 1.2.1 (incubating) June 2008 -============================================================ - -Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-2304 SCA client Hang Forver after getting exceptions from remote web service - - -Changes With Apache Tuscany SCA 1.2 (incubating) April 2008 -=========================================================== - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-2027 - * TUSCANY-1999 - * TUSCANY-2037 - * TUSCANY-2034 - * TUSCANY-2038 - * TUSCANY-2043 - * TUSCANY-2046 - * TUSCANY-2047 - * TUSCANY-2028 - * TUSCANY-1873 - * TUSCANY-2049 - * TUSCANY-2035 - * TUSCANY-1206 - * TUSCANY-2036 - * TUSCANY-1771 - * TUSCANY-2013 - * TUSCANY-1926 - * TUSCANY-1917 - * TUSCANY-1949 - * TUSCANY-1941 - * TUSCANY-2045 - * TUSCANY-2057 - * TUSCANY-2055 - * TUSCANY-2056 - * TUSCANY-2072 - * TUSCANY-2047 - * TUSCANY-2073 - * TUSCANY-1977 - * TUSCANY-2075 - * TUSCANY-1894 - * TUSCANY-2079 - * TUSCANY-2078 - * TUSCANY-2080 - * TUSCANY-2068 - * TUSCANY-1950 - * TUSCANY-2077 - * TUSCANY-2056 - * TUSCANY-2088 - * TUSCANY-2086 - * TUSCANY-2094 - * TUSCANY-2106 - - Features and/or Enhancements - - * Core - - Interceptor Enhancements - - Phase-based interceptor ordering to allow contribution of new interceptors and also define the order in witch they should be invoked - - Pass-by-reference SPI to allow interceptors to indicate if they support pass-by-reference - - PolicyProvider SPIs to allow extensions to plugin policy interceptors - - Support for JAXWS annotations and mapping of faults to Java exceptions according to JAXWS specification - - Improvement of contribution service to allow it to be used outside of the runtime environment - - Support for Contribution Import/Export resource - - Enhanced Distributed Domain story using Workspace - - Implementation of a SCA domain allowing a system administrator to manage contributions, composites and sca nodes that run these composites - - Set of core services providing management capabilities - - Administration web interface - - This is a work in progress and you can see it in action in samples/calculator-distributed. Other samples that use distributed operation are yet to move over to the workspace. - - Enhanced support for SCA Policy spec - - Ability to apply external policy definitions to a SCA composition - - Ability to spread policy definitions to multiple definitions.xml files available across the sca domain - - Bug fixes - - Improvements of http binding to support servlet components - - Enable Tuscany to run inside an OSGi runtime - - * Web 2.0 Extensions - - Enhancements to implementation.widget (support for properties) - - New atom binding based on Apache Abdera - - Refactoring of rss-rome binding - * Other Extensions - - Binding JMS - - greatly simplified the use of the JMS binding, support locating JMS resources from JNDI, and better compliance with the SCA JMS binding spec - - see the doc page for more details: http://incubator.apache.org/tuscany/sca-java-bindingjms.html - - Enhancements to Binding RMI - - Support shared RMI registry and use 999x as the ports in test case to avoid 1099 conflict - - Enhancements to Groovy extension - - Support for 'native' groovy classes - - Enhancements to OSGi bundle contributions - - Support Bundle URLs to be added as contributions - - * Tools - - Eclipse plugin providing a Tuscany runtime Library and Tuscany launcher in Eclipse environment - - An updatesite is also available to facilitate the plugin installation using the Eclipse update manager - - * Samples/Tutorial/Demos - - calculator-distributed migrated to use new Tuscany Distributed Workspace - - sample-calculator-ws-secure-webapp - - sample-helloworld-jms-webapp - - new jms samples - - improve bigbank demo to include support for policies - - tutorial store changes - - use of import/export - - development of contribution without requiring dependencies on the Tuscany runtime - - usage of new sca domain infrastructure - - * Testing - - Web Container Testing Framework integrated with (Tomcat, Jetty, Geronimo and Websphere) - - -Changes With Apache Tuscany SCA 1.1 (incubating) January 2008 -=============================================================== - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-1939 - * TUSCANY-1914 - * TUSCANY-1854 - * TUSCANY-1931 - * TUSCANY-1547 - * TUSCANY-1909 - * TUSCANY-1919 - * TUSCANY-1930 - * TUSCANY-1806 - * TUSCANY-1804 - * TUSCANY-1916 - * TUSCANY-1913 - * TUSCANY-1834 - * TUSCANY-1857 - * TUSCANY-1687 - * TUSCANY-1801 - * TUSCANY-1742 - * TUSCANY-1762 - * TUSCANY-1945 - * TUSCANY-1595 - * TUSCANY-1594 - * TUSCANY-1849 - * TUSCANY-1836 - * TUSCANY-1934 - * TUSCANY-1902 - * TUSCANY-1608 - * TUSCANY-1943 - * TUSCANY-1896 - * TUSCANY-1626 - * TUSCANY-1797 - * TUSCANY-1601 - * TUSCANY-1415 - -- Better JMS support - * binding.jms supporting point to point text based messaging only - * New SOAP/JMS sample (helloworld-ws-reference/service-jms) - -- Improvements in PolicyFramework Support - * Support for policy specifications on operation elements in a composite definition - * Separate sample (calculator-implementation-policies) to demonstrate use of Implementation Policies - (uses logging and JAAS Authentication) - -- Modeling of client side java script components - * See implementation.widget - -- Evolving support for doman API suggested by assembly spec including a standalone node and nodes running - connected together in a domain. This is still experimental. - -- Class loading and OSGI improvements - * Enable Tuscany to be run in a multi-classloader environment including inside OSGi. By default, - Tuscany continues to run using a single CLASSPATH-based classloader. - * Contributions no longer need to be in the CLASSPATH. All import/export dependencies across contributions should be - explicitly specified (as described in the spec). - -- JAXB based POJO transformations - -Changes With Apache Tuscany SCA 1.0.1 (incubating) November 2007 -================================================================ - -The Tuscany SCA Java 1.0.1 is mainly a bug-fix release. It also comes with some improvements as listed below. - -- Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY): - * TUSCANY-1848 - * TUSCANY-1857 - * TUSCANY-1859 - * TUSCANY-1801 - * TUSCANY-1823 - * TUSCANY-1839 - * TUSCANY-1814 - * TUSCANY-1818 - * TUSCANY-1834 - * TUSCANY-1637 - * TUSCANY-1826 - * TUSCANY-1823 - * TUSCANY-1819 - * TUSCANY-1821 - * TUSCANY-1822 - * TUSCANY-1806 - * TUSCANY-1808 - * TUSCANY-1756 - * TUSCANY-1757 - -- Fix build issues with Maven 2.0.7 and JDK 6 - -- Reduce memory consumption for WSDLs that import large XSDs - -- Add more logging statements for better servicibility - -- Add an extension point to allow extensions to plug-in extension schemas. - -- Add a demo application to showcase XML integration story - -- Improve in databinding framework - * Add support for JSON Databindings and other refactoring - * Set databinding for introspected data type and enhance the checking of wrapper style - * Improve the tree-based XMLStreamReader and convert Bean & DOM to use this approach - * Add a tree-iterator based XMLStreamReader base impl - * Add default element info to java interface - * Rename Interface.setDefaultDataBinding to resetDataBinding - -- Limit the method injection to setters and allow the setter annotation to override field annotation - -- Evolving support in Intent and Policy handling - * Add support for policies in implementation - * Fix the algorithm for macthing policySets defined on bindings for the wire - * Add policy intent for implementation.java - * Extend java implementation type to recognize and apply policies, adding util support for this in Policy module - * Add policy module for logging - -- Evolving development in the SCA Domain/Node - -- Update NOTICE files with missing dependencies - - -Changes With Apache Tuscany SCA 1.0 (incubating) September 2007 -=============================================================== - -- Tuscany Java SCA now implements V1.0 of the core SCA - specifications - SCA Assembly Model V1.0 - SCA Java Common Annotations and APIs V1.0 - SCA Java Component Implementation V1.0 - SCA Web Services Binding V1.0 - Including callbacks, conversations and callable references - - -- Support for ws-security configurable in the web services binding - thro Tuscany SCA policy intents and policysets using the policy framework - introduced in the last release. - - Note : This release supports specifications of policies around axis2 - config params - see helloworld-ws-service-secure sample. The policy - intents that have been tested are authentication, integrity and - confidentiality. - There is no sample or test that exercises confidentiality since there - are some unresolved licensing issue around bouncycastle libraries. - However, users who are not encumbered by the bouncycastle license - restrictions can try the 'confidentiality' intent. See FAQ - - http://incubator.apache.org/tuscany/tuscany-sca-java-faq.html - - This release does not include support for WS-Policy - attachments in Tuscany Policysets for ws-security. - - -- An XQuery component implementation type - implementation-xquery - - -- A Databinding for converting data to and from nodes for XQuery - processing - databinding-saxon - - -- OSGI support has been extended to allow Tuscany contributions - packaged as OSGI bundles hence taking advantage of OSGI's bundle - loading an dependency management capabilities - - -- A BPEL component implementation type experimental implementation -based on SCA BPEL Client and Implementation V1.0. At the moment only -supports BPEL process as services. - implementation-bpel - - -- The distributed runtime implementation has been separated out - into - *) domain - *) node - It is now wrapped by a SCADomain interface as is the standalone - runtime. - - Note: This release does not include support for WebApp host deployment - for a distributed SCA Domain - - - -- The web service binding will now generate WSDL automatically - based on the service interface if no WSDL is provided - - -- A new "store" sample and associated document show how a - simple store front application can be constructed - samples/store - -- The following features of this release are still experimental: - - BPEL implementation type, integrating with Apache ODE - - OSGI implementation type, integrating with Apache Felix - - XQuery implementation type - - - -Changes With Apache Tuscany SCA 0.99 (incubating) August 2007 -============================================================= - -The following are the significant additions to release 0.99 -over and above all of what was offered in release 0.91. - -- A version of the default sca binding that works between - components runing in separate Java virtual machines - binding-sca-axis - -- A simple node implementation and a service discovery - function for running sca applications distributed - across more than one node - distributed - distributed-impl - -- integration with OSGi runtimes is now supported with - a new implementation-osgi component type - -- PUB/SUB interactions are now supported by using new - notification binding and implementation types, and - samples demonstrating the feature. - -- The Tuscany runtime now has a policy framework supporting - the SCA policy specification - -- the endpoint URIs used by SCA bindings has been rationalized - and now follows the SCA Assembly specification - -- binding-ajax has been renamed to binding-dwr - -Changes With Apache Tuscany SCA 0.91 (incubating) July 2007 -=========================================================== - -The following are the significant additions to release 0.91 -over and above all of what was offered in release 0.90. - - -- Enhancements to support multiple contributions to the SCA Domain - -- The inclusion of a alternative simplified extensions-helper -SPI layer to faciliate rapid development of extensions - -- More Implementation Extenstions - Spring - WebResource - -- More Binding Extensions - AJAX - EJB - RSS/ATOM Feeds - -- Demos that demonstrate the use of a mix of extensions - alert-aggregator-webapp - bigbank-account - bigbank-calculator - bigbank-stockquote - - -- Samples - Samples to demostrate use of Spring, Resource, AJAX extensions - -Changes With Apache Tuscany SCA 0.90 (incubating) June 2007 -=========================================================== - -- Implementations for all of the Java Annotations and API Specification V1.0 found at - (http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications) - apart from the following. - @ComponentName - Conversation - RequestContext - -- New assembly model implementation taking into account SCA 1.0 artifacts - Data duplication between assembly model and runtime removed - -- Simple single process domain support - Contribution support to scope items being deployed into the runtime - -- Improved Package/Class naming consistency across modules - -- Extensions now loaded via Java service mechanism - Refactored extensions to use new SPIs (see below) - -- Maven and Ant based sample builds in the binary distribution - -- Implementation Extensions - Java - Script supporting (Ruby, Python, Groovy, JavaScript) - -- Binding Extensions - Axis2 - RMI - JSONRPC - --Databinding Extensions - Axiom - JAXB - SDO - -- Host environments - Embedded - Tomcat - Jetty - RMI - -- A clear set of SPIs intended to be stable over future releases - SCA assembly model - org.apache.tuscany.sca.assembly - org.apache.tuscany.sca.interfacedef - org.apache.tuscany.sca.interfacedef.java - org.apache.tuscany.sca.interfacedef.wsdl - org.apache.tuscany.sca.policy - - SCA contribution model - org.apache.tuscany.sca.contribution - - Runtime extensions - org.apache.tuscany.sca.core - org.apache.tuscany.sca.invocation - org.apache.tuscany.sca.provider - org.apache.tuscany.sca.runtime - org.apache.tuscany.sca.work - - Data binding support - org.apache.tuscany.sca.databinding - - Embedding Tuscany - org.apache.tuscany.sca.host.embedded - - Servlet container integration - org.apache.tuscany.sca.http - -- For this point release a partial set of JavaDoc is provided to - be filled out as we close on release 1.0 diff --git a/java/sca/contrib/distribution/src/main/release/README b/java/sca/contrib/distribution/src/main/release/README deleted file mode 100644 index 4d83dcfde9..0000000000 --- a/java/sca/contrib/distribution/src/main/release/README +++ /dev/null @@ -1,19 +0,0 @@ -Apache Tuscany SCA 1.2 (incubating) April 2008 README -===================================================== - -Welcome to the Tuscany SCA 1.2 release. - -See the RELEASE_NOTES file for information specific to this release. - -In the binary release see the INSTALL file for information on how to -install the release. - -In the source distribution see the BUILDING file for information on -building the source code. - - - - - - - diff --git a/java/sca/contrib/distribution/src/main/release/RELEASE_NOTES b/java/sca/contrib/distribution/src/main/release/RELEASE_NOTES deleted file mode 100644 index a04ef5c553..0000000000 --- a/java/sca/contrib/distribution/src/main/release/RELEASE_NOTES +++ /dev/null @@ -1,83 +0,0 @@ -Apache Tuscany SCA 1.2 (incubating) April 2008 Release Notes -============================================================ - -Apache Tuscany provides a runtime based on the Service Component -Architecture. SCA is a set of specifications aimed at simplifying SOA -Application Development which are being standardized at OASIS as part -of Open Composite Services Architecture (Open CSA) - http://www.oasis-opencsa.org/. - -Overview --------- - - The Apache Tuscany SCA 1.2 release includes implementations of the - main SCA specifications including: - - SCA Assembly Model V1.0 - SCA Policy Framework V1.0 - SCA Java Common Annotations and APIs V1.0 - SCA Java Component Implementation V1.0 - SCA Spring Component Implementation V1.0 - SCA BPEL Client and Implementation V1.0 - SCA Web Services Binding V1.0 - SCA EJB Session Bean Binding V1.0 - - It also includes implementations of many features not yet defined - by SCA specifications, including: - - - SCA bindings for Direct Web Remoting, RSS and ATOM Feeds, - HTTP resources, JSON-RPC, PUB/SUB Notifications, and RMI. - - SCA implementation types for OSGI, XQuery, BPEL, Widget and various - dynamic languages including Groovy, Javascript, Python and Ruby - - Databindings for Service Data Objects (SDO), JAXB, XmlBeans, - Axis2's AXIOM, JSON, SAXON, DOM, SAX and StAX - - The Tuscany SCA Runtime can be configured as a single node SCA domain or - as an SCA domain distributed across multiple nodes. - In addition Tuscany SCA supports the following host-deployment options: - - - running standalone - - running with distributed nodes across multiple JVMs - - running with embedded Jetty or Tomcat - - running as part of a standard web application - - The Wepapp samples included in this release have been tried and tested on - - Tomcat 5.5.20 and Tomcat 6.0.14 - - Jetty 6.1.3 - - Geronimo 2.0.2 Tomcat6 jee5 - - WebSphere 6.1 fix pack 9 - -See the CHANGES file for a detailed list of the features in this release. - -Support -------- - -For more information on Apache Tuscany visit the website at: - - http://incubator.apache.org/tuscany/ - -Any issues with this release can be reported to Apache Tuscany -using the mailing lists or in the JIRA issue tracker. - - Mailing list archives: - - http://mail-archives.apache.org/mod_mbox/ws-tuscany-user/ - http://mail-archives.apache.org/mod_mbox/ws-tuscany-dev/ - - Jira: - - http://issues.apache.org/jira/browse/TUSCANY - -To join the project's mailing lists follow the instructions at: - - http://incubator.apache.org/tuscany/mailing-lists.html - -To find out more about OASIS Open CSA go to: - - http://www.oasis-opencsa.org. - -Apache Tuscany welcomes your help. Any contribution, including code, -testing, improving the documentation, or bug reporting is always -appreciated. - -Thank you for using Apache Tuscany! - -- The Tuscany Team. diff --git a/java/sca/contrib/distribution/src/main/release/bin/INSTALL b/java/sca/contrib/distribution/src/main/release/bin/INSTALL deleted file mode 100644 index 44b3ff6444..0000000000 --- a/java/sca/contrib/distribution/src/main/release/bin/INSTALL +++ /dev/null @@ -1,26 +0,0 @@ -Installing the Apache Tuscany SCA 1.2 (incubating) April 2008 Release binary distribution -========================================================================================= - -Unzip Tuscany binary distribution archive and you get the following: - -tuscany-sca-1.1-incubating - INSTALL - this help file - LICENSE - the Apache License and any dependecy licenses - NOTICE - attribution notices associated with the licenses - README - readme for the release - RELEASE_NOTES - description of this release - CHANGES - A note of the major changes in this release - - /demos - Demo applications showcasing the use of Apache Tuscany - - /lib - The tuscany-sca-all and tuscany-sca-manifest jars and all their dependencies - - /modules - all of the individual Tuscany jars - - /samples - all the Tuscany samples, see the README in that directory - - /tutorial - The store tutorial, see the README in that directory - - - - diff --git a/java/sca/contrib/distribution/src/main/release/bin/LICENSE b/java/sca/contrib/distribution/src/main/release/bin/LICENSE deleted file mode 100644 index 7ea8d871a2..0000000000 --- a/java/sca/contrib/distribution/src/main/release/bin/LICENSE +++ /dev/null @@ -1,2494 +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 SUBCOMPONENTS: - -The Apache Tuscany binary distribution includes a number of subcomponents -with separate copyright notices and license terms. Your use of the -code for the these subcomponents is subject to the terms and -conditions of the following licenses. - -=============================================================================== - -The following components come under Apache Software License 1.1 - - commons-discovery-0.2.jar - commons-primitives-1.0.jar - -The following components come under Apache Software License 2.0 - - abdera-core-0.3.0-incubating.jar - abdera-i18n-0.3.0-incubating.jar - abdera-parser-0.3.0-incubating.jar - activeio-2.0-r118.jar - activeio-core-3.0.0-incubator.jar - apache-activemq-4.1.1.jar - addressing-1.3.mar - annogen-0.1.0.jar - aopalliance-1.0.jar - axiom-api-1.2.5.jar - axiom-dom-1.2.5.jar - axiom-impl-1.2.5.jar - axis2-adb-1.3.jar - axis2-codegen-1.3.jar - axis2-java2wsdl-1.3.jar - axis2-kernel-1.3.jar - axis2-mtompolicy-1.3.jar - bsf-all-3.0-beta2.jar - cglib-nodep-2.1_3.jar - commons-collections-3.1.jar - commons-codec-1.3.jar - commons-fileupload-1.1.1.jar - commons-httpclient-3.0.1.jar - commons-io-1.2.jar - commons-jexl-1.1.jar - commons-lang-2.1.jar - commons-logging-1.1.jar - derby-10.3.1.4.jar - geronimo-common-1.2-beta.jar - geronimo-commonj_1.1_spec-1.0.jar - geronimo-connector-1.2-beta.jar - geronimo-core-1.2-beta.jar - geronimo-deployment-1.2-beta.jar - geronimo-ejb_3.0_spec-1.0.jar - geronimo-interceptor-1.2-beta.jar - geronimo-j2ee-1.2-beta.jar - geronimo-j2ee-connector_1.5_spec-1.1.jar - geronimo-j2ee-jacc_1.0_spec-1.1.jar - geronimo-j2ee-management_1.0_spec-1.1.jar - geronimo-javamail_1.4_spec-1.0-M1.jar - geronimo-jms_1.1_spec-1.1.jar - geronimo-jpa_3.0_spec-1.0.jar - geronimo-jta_1.0.1B_spec-1.0.jar - geronimo-kernel-1.2-beta.jar - geronimo-management-1.2-beta.jar - geronimo-naming-1.2-beta.jar - geronimo-security-1.2-beta.jar - geronimo-spec-j2ee-connector-1.5-rc4.jar - geronimo-spec-jta-1.0.1B-rc4.jar - geronimo-system-1.2-beta.jar - geronimo-transaction-1.2-beta.jar - geronimo-util-1.2-beta.jar - httpcore-4.0-alpha5.jar - httpcore-nio-4.0-alpha5.jar - httpcore-niossl-4.0-alpha5.jar - jettison-1.0.jar - jetty-6.1.7.jar - jetty-util-6.1.7.jar - json-rpc-1.0.jar - log4j-1.2.12.jar - logkit-1.0.1.jar - neethi-2.0.2.jar - ode-bpel-api-1.1.jar - ode-bpel-compiler-1.1.jar - ode-bpel-dao-1.1.jar - ode-bpel-epr-1.1.jar - ode-bpel-obj-1.1.jar - ode-bpel-runtime-1.1.jar - ode-bpel-schemas-1.1.jar - ode-bpel-store-1.1.jar - ode-dao-jpa-1.1.jar - ode-dao-jpa-ojpa-derby-1.1.zip - ode-jacob-1.1.jar - ode-jacob-ap-1.1.jar - ode-scheduler-simple-1.1.jar - ode-utils-1.1.jar - openjpa-all-0.9.7-incubating.jar - openjpa-persistence-0.9.7-incubating.jar - org.apache.felix.bundlerepository-1.0.3.jar - org.apache.felix.framework-1.0.4.jar - org.apache.felix.main-1.0.4.jar - org.apache.felix.shell-1.0.1.jar - org.apache.felix.shell.tui-1.0.1.jar - rampart-core-1.3.jar - rampart-policy-1.3.jar - rampart-trust-1.3.jar - regexp-1.3.jar - spring-beans-2.0.8.jar - spring-context-2.0.8.jar - spring-core-2.0.8.jar - tranql-connector-1.1.jar - tuscany-sdo-api-r2.1-1.1-incubating.jar - tuscany-sdo-impl-1.1-incubating.jar - tuscany-sdo-lib-1.1-incubating.jar - tuscany-sdo-tools-1.1-incubating.jar - woden-1.0-incubating-M7b.jar - wss4j-1.5.3.jar - wstx-asl-3.2.1.jar - xalan-2.7.0.jar - xbean-naming-2.7.jar - xercesImpl-2.8.1.jar - xml-apis-1.3.03.jar - xmlbeans-2.3.0.jar - xml-resolver-1.1.jar - xmlsec-1.4.0.jar - XmlSchema-1.3.2.jar - -=============================================================================== -axion-1.0-M3-dev.jar - -Copyright (c) 2002-2003 Axion Development Team. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above - copyright notice, this list of conditions and the following - disclaimer. - -2. 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. - -3. The names "Tigris", "Axion", nor the names of its contributors may - not be used to endorse or promote products derived from this - software without specific prior written permission. - -4. Products derived from this software may not be called "Axion", nor - may "Tigris" or "Axion" appear in their names 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. - -The "Axion Development Team" is defined to be: - - * Chuck Burdick - * James Burke - * Morgan Delagrange - * Geir Magnusson Jr. - * Martin Poeschl - * Steve Polyak - * Daniel Rall - * Ahimanikya Satapathy - * Doug Sale - * James Strachan - * Rodney Waldhoff - * Jason van Zyl - -License changes are to be determined by a simple majority vote of the -Axion Development Team. - -=============================================================================== -dom4j-1.6.1.jar - -Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. - -Redistribution and use of this software and associated documentation -("Software"), with or without modification, are permitted provided -that the following conditions are met: - -1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - -2. 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. - -3. The name "DOM4J" must not be used to endorse or promote - products derived from this Software without prior written - permission of MetaStuff, Ltd. For written permission, - please contact dom4j-info@metastuff.com. - -4. Products derived from this Software may not be called "DOM4J" - nor may "DOM4J" appear in their names without prior written - permission of MetaStuff, Ltd. DOM4J is a registered - trademark of MetaStuff, Ltd. - -5. Due credit should be given to the DOM4J Project - - http://www.dom4j.org - -THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS -``AS IS'' AND ANY EXPRESSED 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 -METASTUFF, LTD. OR ITS 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. - -=============================================================================== - -The EMF jars; - codegen-2.2.3.jar - codegen-ecore-2.2.3.jar - common-2.2.3.jar - ecore-2.2.3.jar - ecore-change-2.2.3.jar - ecore-xmi-2.2.3.jar - xsd-2.2.3.jar - -Eclipse Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF -THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - -a) in the case of the initial Contributor, the initial code and -documentation distributed under this Agreement, and -b) in the case of each subsequent Contributor: - -i) changes to the Program, and - -ii) additions to the Program; - -where such changes and/or additions to the Program originate from and -are distributed by that particular Contributor. A Contribution -'originates' from a Contributor if it was added to the Program by such -Contributor itself or anyone acting on such Contributor's behalf. -Contributions do not include additions to the Program which: (i) are -separate modules of software distributed in conjunction with the -Program under their own license agreement, and (ii) are not derivative -works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor -which are necessarily infringed by the use or sale of its Contribution -alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this -Agreement. - -"Recipient" means anyone who receives the Program under this -Agreement, including all Contributors. - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free copyright -license to reproduce, prepare derivative works of, publicly display, -publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and -object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free patent -license under Licensed Patents to make, use, sell, offer to sell, -import and otherwise transfer the Contribution of such Contributor, if -any, in source code and object code form. This patent license shall -apply to the combination of the Contribution and the Program if, at -the time the Contribution is added by the Contributor, such addition -of the Contribution causes such combination to be covered by the -Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder. - -c) Recipient understands that although each Contributor grants the -licenses to its Contributions set forth herein, no assurances are -provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow -Recipient to distribute the Program, it is Recipient's responsibility -to acquire that license before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient -copyright rights in its Contribution, if any, to grant the copyright -license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form -under its own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties -and conditions, express and implied, including warranties or -conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability -for damages, including direct, indirect, special, incidental and -consequential damages, such as lost profits; - -iii) states that any provisions which differ from this Agreement are -offered by that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such -Contributor, and informs licensees how to obtain it in a reasonable -manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the -Program. - -Contributors may not remove or alter any copyright notices contained -within the Program. - -Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a -commercial product offering should do so in a manner which does not -create potential liability for other Contributors. Therefore, if a -Contributor includes the Program in a commercial product offering, -such Contributor ("Commercial Contributor") hereby agrees to defend -and indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") arising -from claims, lawsuits and other legal actions brought by a third party -against the Indemnified Contributor to the extent caused by the acts -or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. -In order to qualify, an Indemnified Contributor must: a) promptly -notify the Commercial Contributor in writing of such claim, and b) -allow the Commercial Contributor to control, and cooperate with the -Commercial Contributor in, the defense and any related settlement -negotiations. The Indemnified Contributor may participate in any such -claim at its own expense. - -For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED 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. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable -laws, damage to or loss of data, programs or equipment, and -unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR -ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), 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 OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further -action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that -the Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of -the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of -time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use -and distribution of the Program as soon as reasonably practicable. -However, Recipient's obligations under this Agreement and any licenses -granted by Recipient relating to the Program shall continue and -survive. - -Everyone is permitted to copy and distribute copies of this Agreement, -but in order to avoid inconsistency the Agreement is copyrighted and -may only be modified in the following manner. The Agreement Steward -reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement -Steward has the right to modify this Agreement. The Eclipse Foundation -is the initial Agreement Steward. The Eclipse Foundation may assign -the responsibility to serve as the Agreement Steward to a suitable -separate entity. Each new version of the Agreement will be given a -distinguishing version number. The Program (including Contributions) -may always be distributed subject to the version of the Agreement -under which it was received. In addition, after a new version of the -Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives -no rights or licenses to the intellectual property of any Contributor -under this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No -party to this Agreement will bring a legal action under this Agreement -more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation. - -=============================================================================== -For Saxon including - saxon-8.7.jar - saxon-dom-8.7.jar - saxon-xpath-8.7.jar - - MOZILLA PUBLIC LICENSE -Version 1.0 - -1. Definitions. - - 1.1. ``Contributor'' means each entity that creates or contributes to the creation of Modifications. - - 1.2. ``Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor. - - 1.3. ``Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof. - - 1.4. ``Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data. - - 1.5. ``Executable'' means Covered Code in any form other than Source Code. - - 1.6. ``Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A. - - 1.7. ``Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License. - - 1.8. ``License'' means this document. - - 1.9. ``Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is: - - A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or previous Modifications. - - 1.10. ``Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License. - - 1.11. ``Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge. - - 1.12. ``You'' means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, ``You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, ``control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (``Utilize'') the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - - 2.2. Contributor Grant. - Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - - (a) Third Party Claims. - If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled ``LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation (``Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License. - - 6.3. Derivative Works. - If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a ``commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer software'' and ``commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the United States of America: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Santa Clara County, California, under the auspices of JAMS/EndDispute; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. - -12. RESPONSIBILITY FOR CLAIMS. - - Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis. - -EXHIBIT A. - - ``The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved. - - Contributor(s): ______________________________________.'' - -=============================================================================== - -For the Rhino JavaScript engine js-1.6R7.jar: - - MOZILLA PUBLIC LICENSE - Version 1.1 - - --------------- - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Code, prior Modifications used by a Contributor, and the Modifications - made by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified - as the Initial Developer in the Source Code notice required by Exhibit - A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - A. Any addition to or deletion from the contents of a file - containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, - and apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated interface definition files, scripts used to control - compilation and installation of an Executable, or source code - differential comparisons against either the Original Code or another - well known, available Covered Code of the Contributor's choice. The - Source Code can be in a compressed or archival form, provided the - appropriate decompression or de-archiving software is widely available - for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - For legal entities, "You" includes any entity which controls, is - controlled by, or is under common control with You. For purposes of - this definition, "control" means (a) the power, direct or indirect, - to cause the direction or management of such entity, whether by - contract or otherwise, or (b) ownership of more than fifty percent - (50%) of the outstanding shares or beneficial ownership of such - entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer to use, reproduce, - modify, display, perform, sublicense and distribute the Original - Code (or portions thereof) with or without Modifications, and/or - as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or - selling of Original Code, to make, have made, use, practice, - sell, and offer for sale, and/or otherwise dispose of the - Original Code (or portions thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are - effective on the date Initial Developer first distributes - Original Code under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: 1) for code that You delete from the Original Code; 2) - separate from the Original Code; or 3) for infringements caused - by: i) the modification of the Original Code or ii) the - combination of the Original Code with other software or devices. - - 2.2. Contributor Grant. - Subject to third party intellectual property claims, each Contributor - hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor, to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications - created by such Contributor (or portions thereof) either on an - unmodified basis, with other Modifications, as Covered Code - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or - selling of Modifications made by that Contributor either alone - and/or in combination with its Contributor Version (or portions - of such combination), to make, use, sell, offer for sale, have - made, and/or otherwise dispose of: 1) Modifications made by that - Contributor (or portions thereof); and 2) the combination of - Modifications made by that Contributor with its Contributor - Version (or portions of such combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are - effective on the date Contributor first makes Commercial Use of - the Covered Code. - - (d) Notwithstanding Section 2.2(b) above, no patent license is - granted: 1) for any code that Contributor has deleted from the - Contributor Version; 2) separate from the Contributor Version; - 3) for infringements caused by: i) third party modifications of - Contributor Version or ii) the combination of Modifications made - by that Contributor with other software (except as part of the - Contributor Version) or other devices; or 4) under Patent Claims - infringed by Covered Code in the absence of Modifications made by - that Contributor. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, - Contributor must include a text file with the Source Code - distribution titled "LEGAL" which describes the claim and the - party making the claim in sufficient detail that a recipient will - know whom to contact. If Contributor obtains such knowledge after - the Modification is made available as described in Section 3.2, - Contributor shall promptly modify the LEGAL file in all copies - Contributor makes available thereafter and shall take other steps - (such as notifying appropriate mailing lists or newsgroups) - reasonably calculated to inform those who received the Covered - Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming - interface and Contributor has knowledge of patent licenses which - are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to - Section 3.4(a) above, Contributor believes that Contributor's - Modifications are Contributor's original creation(s) and/or - Contributor has sufficient rights to grant the rights conveyed by - this License. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. However, You - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear than - any such warranty, support, indemnity or liability obligation is - offered by You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred by the - Initial Developer or such Contributor as a result of warranty, - support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under a license of Your choice, which may - contain terms different from this License, provided that You are in - compliance with the terms of this License and that the license for the - Executable version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version under a different - license You must make it absolutely clear that any terms which differ - from this License are offered by You alone, not by the Initial - Developer or any Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such - terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code - not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised - and/or new versions of the License from time to time. Each version - will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Netscape. No one - other than Netscape has the right to modify the terms applicable to - Covered Code created under this License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must (a) rename Your license so that - the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", - "MPL", "NPL" or any confusingly similar phrase do not appear in your - license (except to note that your license differs from this License) - and (b) otherwise make it clear that Your version of the license - contains terms which differ from the Mozilla Public License and - Netscape Public License. (Filling in the name of the Initial - Developer, Original Code or Contributor in the notice described in - Exhibit A shall not of themselves be deemed to be modifications of - this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE - IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, - YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE - COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER - OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, - all end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, - OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR - ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY - CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, - WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" and "commercial computer software documentation," as such - terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 - C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), - all U.S. Government End Users acquire Covered Code with only those - rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, with the losing party responsible for costs, including - without limitation, court costs and reasonable attorneys' fees and - expenses. The application of the United Nations Convention on - Contracts for the International Sale of Goods is expressly excluded. - Any law or regulation which provides that the language of a contract - shall be construed against the drafter shall not apply to this - License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the NPL or the alternative licenses, if any, specified - by the Initial Developer in the file described in Exhibit A. - -EXHIBIT A -Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License - Version 1.1 (the "License"); you may not use this file except in - compliance with the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - License for the specific language governing rights and limitations - under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. - Portions created by ______________________ are Copyright (C) ______ - _______________________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those - above. If you wish to allow use of your version of this file only - under the terms of the [____] License and not to allow others to use - your version of this file under the MPL, indicate your decision by - deleting the provisions above and replace them with the notice and - other provisions required by the [___] License. If you do not delete - the provisions above, a recipient may use your version of this file - under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] - - -=============================================================================== -Groovy (groovy-all-minimal-1.5.4.jar): - -/* - $Id: LICENSE.txt 156 2003-09-26 17:36:37Z jstrachan $ - - Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - - Redistribution and use of this software and associated documentation - ("Software"), with or without modification, are permitted provided - that the following conditions are met: - - 1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - - 2. 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. - - 3. The name "groovy" must not be used to endorse or promote - products derived from this Software without prior written - permission of The Codehaus. For written permission, - please contact info@codehaus.org. - - 4. Products derived from this Software may not be called "groovy" - nor may "groovy" appear in their names without prior written - permission of The Codehaus. "groovy" is a registered - trademark of The Codehaus. - - 5. Due credit should be given to The Codehaus - - http://groovy.codehaus.org/ - - THIS SOFTWARE IS PROVIDED BY THE CODEHAUS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESSED 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 CODEHAUS OR ITS 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. - - */ - -=============================================================================== - -Jython (jython-2.2.jar): - -A. HISTORY OF THE SOFTWARE -======================= - -JPython was created in late 1997 by Jim Hugunin. Jim was also the -primary developer while he was at CNRI. In February 1999 Barry Warsaw -took over as primary developer and released JPython version 1.1. - -In October 2000 Barry helped move the software to SourceForge -where it was renamed to Jython. Jython 2.0 and on are licensed under -the Jython specific license below. - -The standard library is covered by the Python Software Foundation -license. See the LICENSE_CPython.txt file for details. - -The zxJDBC package was written by Brian Zimmer and originally licensed -under the GNU Public License. The package is now covered by the Jython -Software License. - -The command line interpreter is covered by the Apache Software -License. See the LICENSE_Apache.txt file for details. - -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING JYTHON -================================ - -Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Jython Developers -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 Jython Developers nor the names of - its 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 REGENTS 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. - - - - -JPython 1.1.x Software License. -========================= - -______________________________________________________________________ - -IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. - -BY CLICKING ON THE "ACCEPT" BUTTON WHERE INDICATED, OR BY INSTALLING, -COPYING OR OTHERWISE USING THE SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO -THE TERMS AND CONDITIONS OF THIS AGREEMENT. - -______________________________________________________________________ - -JPython version 1.1.x - - 1. This LICENSE AGREEMENT is between the Corporation for National Research - Initiatives, having an office at 1895 Preston White Drive, Reston, VA - 20191 ("CNRI"), and the Individual or Organization ("Licensee") - accessing and using JPython version 1.1.x in source or binary form and - its associated documentation as provided herein ("Software"). - - 2. Subject to the terms and conditions of this License Agreement, CNRI - hereby grants Licensee a non-exclusive, non-transferable, royalty-free, - world-wide license to reproduce, analyze, test, perform and/or display - publicly, prepare derivative works, distribute, and otherwise use the - Software alone or in any derivative version, provided, however, that - CNRI's License Agreement and CNRI's notice of copyright, i.e., - "Copyright ©1996-1999 Corporation for National Research Initiatives; - All Rights Reserved" are both retained in the Software, alone or in any - derivative version prepared by Licensee. - - Alternatively, in lieu of CNRI's License Agreement, Licensee may - substitute the following text (omitting the quotes), provided, however, - that such text is displayed prominently in the Software alone or in any - derivative version prepared by Licensee: "JPython (Version 1.1.x) is - made available subject to the terms and conditions in CNRI's License - Agreement. This Agreement may be located on the Internet using the - following unique, persistent identifier (known as a handle): - 1895.22/1006. The License may also be obtained from a proxy server on - the Web using the following URL: http://hdl.handle.net/1895.22/1006." - - 3. In the event Licensee prepares a derivative work that is based on or - incorporates the Software or any part thereof, and wants to make the - derivative work available to the public as provided herein, then - Licensee hereby agrees to indicate in any such work, in a prominently - visible way, the nature of the modifications made to CNRI's Software. - - 4. Licensee may not use CNRI trademarks or trade name, including JPython - or CNRI, in a trademark sense to endorse or promote products or - services of Licensee, or any third party. Licensee may use the mark - JPython in connection with Licensee's derivative versions that are - based on or incorporate the Software, but only in the form - "JPython-based ___________________," or equivalent. - - 5. CNRI is making the Software available to Licensee on an "AS IS" basis. - CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY - OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY - REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY - PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE - ANY THIRD PARTY RIGHTS. - - 6. CNRI SHALL NOT BE LIABLE TO LICENSEE OR OTHER USERS OF THE SOFTWARE FOR - ANY INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE - THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. SOME STATES DO NOT - ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY SO THE ABOVE DISCLAIMER - MAY NOT APPLY TO LICENSEE. - - 7. This License Agreement may be terminated by CNRI (i) immediately upon - written notice from CNRI of any material breach by the Licensee, if the - nature of the breach is such that it cannot be promptly remedied; or - (ii) sixty (60) days following notice from CNRI to Licensee of a - material remediable breach, if Licensee has not remedied such breach - within that sixty-day period. - - 8. This License Agreement shall be governed by and interpreted in all - respects by the law of the State of Virginia, excluding conflict of law - provisions. Nothing in this Agreement shall be deemed to create any - relationship of agency, partnership, or joint venture between CNRI and - Licensee. - - 9. By clicking on the "ACCEPT" button where indicated, or by installing, - copying or otherwise using the Software, Licensee agrees to be bound by - the terms and conditions of this License Agreement. - - -=============================================================================== - -The jars; -activation-1.1.jar, -jaxb-api-2.1.jar, -jaxb-impl-2.1.7.jar, -jaxb-xjc-2.1.7.jar, -jaxb2-reflection-2.1.4.jar, -jsr181-api-1.0-MR1.jar, -jsr250-api-1.0.jar, -jaxws-api-2.1.jar, -servlet-api-2.5.jar, -stax-api-1.0-2.jar - -COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 - - - 1. Definitions. - - 1.1. "Contributor" means each individual or entity that - creates or contributes to the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the - Original Software, prior Modifications used by a - Contributor (if any), and the Modifications made by that - particular Contributor. - - 1.3. "Covered Software" means (a) the Original Software, or - (b) Modifications, or (c) the combination of files - containing Original Software with files containing - Modifications, in each case including portions thereof. - - 1.4. "Executable" means the Covered Software in any form - other than Source Code. - - 1.5. "Initial Developer" means the individual or entity - that first makes Original Software available under this - License. - - 1.6. "Larger Work" means a work which combines Covered - Software or portions thereof with code not governed by the - terms of this License. - - 1.7. "License" means this document. - - 1.8. "Licensable" means having the right to grant, to the - maximum extent possible, whether at the time of the initial - grant or subsequently acquired, any and all of the rights - conveyed herein. - - 1.9. "Modifications" means the Source Code and Executable - form of any of the following: - - A. Any file that results from an addition to, - deletion from or modification of the contents of a - file containing Original Software or previous - Modifications; - - B. Any new file that contains any part of the - Original Software or previous Modification; or - - C. Any new file that is contributed or otherwise made - available under the terms of this License. - - 1.10. "Original Software" means the Source Code and - Executable form of computer software code that is - originally released under this License. - - 1.11. "Patent Claims" means any patent claim(s), now owned - or hereafter acquired, including without limitation, - method, process, and apparatus claims, in any patent - Licensable by grantor. - - 1.12. "Source Code" means (a) the common form of computer - software code in which modifications are made and (b) - associated documentation included in or with such code. - - 1.13. "You" (or "Your") means an individual or a legal - entity exercising rights under, and complying with all of - the terms of, this License. For legal entities, "You" - includes any entity which controls, is controlled by, or is - under common control with You. For purposes of this - definition, "control" means (a) the power, direct or - indirect, to cause the direction or management of such - entity, whether by contract or otherwise, or (b) ownership - of more than fifty percent (50%) of the outstanding shares - or beneficial ownership of such entity. - - 2. License Grants. - - 2.1. The Initial Developer Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, the - Initial Developer hereby grants You a world-wide, - royalty-free, non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Initial Developer, - to use, reproduce, modify, display, perform, - sublicense and distribute the Original Software (or - portions thereof), with or without Modifications, - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, - using or selling of Original Software, to make, have - made, use, practice, sell, and offer for sale, and/or - otherwise dispose of the Original Software (or - portions thereof). - - (c) The licenses granted in Sections 2.1(a) and (b) - are effective on the date Initial Developer first - distributes or otherwise makes the Original Software - available to a third party under the terms of this - License. - - (d) Notwithstanding Section 2.1(b) above, no patent - license is granted: (1) for code that You delete from - the Original Software, or (2) for infringements - caused by: (i) the modification of the Original - Software, or (ii) the combination of the Original - Software with other software or devices. - - 2.2. Contributor Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, each - Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Contributor to - use, reproduce, modify, display, perform, sublicense - and distribute the Modifications created by such - Contributor (or portions thereof), either on an - unmodified basis, with other Modifications, as - Covered Software and/or as part of a Larger Work; and - - - (b) under Patent Claims infringed by the making, - using, or selling of Modifications made by that - Contributor either alone and/or in combination with - its Contributor Version (or portions of such - combination), to make, use, sell, offer for sale, - have made, and/or otherwise dispose of: (1) - Modifications made by that Contributor (or portions - thereof); and (2) the combination of Modifications - made by that Contributor with its Contributor Version - (or portions of such combination). - - (c) The licenses granted in Sections 2.2(a) and - 2.2(b) are effective on the date Contributor first - distributes or otherwise makes the Modifications - available to a third party. - - (d) Notwithstanding Section 2.2(b) above, no patent - license is granted: (1) for any code that Contributor - has deleted from the Contributor Version; (2) for - infringements caused by: (i) third party - modifications of Contributor Version, or (ii) the - combination of Modifications made by that Contributor - with other software (except as part of the - Contributor Version) or other devices; or (3) under - Patent Claims infringed by Covered Software in the - absence of Modifications made by that Contributor. - - 3. Distribution Obligations. - - 3.1. Availability of Source Code. - - Any Covered Software that You distribute or otherwise make - available in Executable form must also be made available in - Source Code form and that Source Code form must be - distributed only under the terms of this License. You must - include a copy of this License with every copy of the - Source Code form of the Covered Software You distribute or - otherwise make available. You must inform recipients of any - such Covered Software in Executable form as to how they can - obtain such Covered Software in Source Code form in a - reasonable manner on or through a medium customarily used - for software exchange. - - 3.2. Modifications. - - The Modifications that You create or to which You - contribute are governed by the terms of this License. You - represent that You believe Your Modifications are Your - original creation(s) and/or You have sufficient rights to - grant the rights conveyed by this License. - - 3.3. Required Notices. - - You must include a notice in each of Your Modifications - that identifies You as the Contributor of the Modification. - You may not remove or alter any copyright, patent or - trademark notices contained within the Covered Software, or - any notices of licensing or any descriptive text giving - attribution to any Contributor or the Initial Developer. - - 3.4. Application of Additional Terms. - - You may not offer or impose any terms on any Covered - Software in Source Code form that alters or restricts the - applicable version of this License or the recipients' - rights hereunder. You may choose to offer, and to charge a - fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Software. - However, you may do so only on Your own behalf, and not on - behalf of the Initial Developer or any Contributor. You - must make it absolutely clear that any such warranty, - support, indemnity or liability obligation is offered by - You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred - by the Initial Developer or such Contributor as a result of - warranty, support, indemnity or liability terms You offer. - - - 3.5. Distribution of Executable Versions. - - You may distribute the Executable form of the Covered - Software under the terms of this License or under the terms - of a license of Your choice, which may contain terms - different from this License, provided that You are in - compliance with the terms of this License and that the - license for the Executable form does not attempt to limit - or alter the recipient's rights in the Source Code form - from the rights set forth in this License. If You - distribute the Covered Software in Executable form under a - different license, You must make it absolutely clear that - any terms which differ from this License are offered by You - alone, not by the Initial Developer or Contributor. You - hereby agree to indemnify the Initial Developer and every - Contributor for any liability incurred by the Initial - Developer or such Contributor as a result of any such terms - You offer. - - 3.6. Larger Works. - - You may create a Larger Work by combining Covered Software - with other code not governed by the terms of this License - and distribute the Larger Work as a single product. In such - a case, You must make sure the requirements of this License - are fulfilled for the Covered Software. - - 4. Versions of the License. - - 4.1. New Versions. - - Sun Microsystems, Inc. is the initial license steward and - may publish revised and/or new versions of this License - from time to time. Each version will be given a - distinguishing version number. Except as provided in - Section 4.3, no one other than the license steward has the - right to modify this License. - - 4.2. Effect of New Versions. - - You may always continue to use, distribute or otherwise - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. If the Initial Developer includes a - notice in the Original Software prohibiting it from being - distributed or otherwise made available under any - subsequent version of the License, You must distribute and - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. Otherwise, You may also choose to - use, distribute or otherwise make the Covered Software - available under the terms of any subsequent version of the - License published by the license steward. - - 4.3. Modified Versions. - - When You are an Initial Developer and You want to create a - new license for Your Original Software, You may create and - use a modified version of this License if You: (a) rename - the license and remove any references to the name of the - license steward (except to note that the license differs - from this License); and (b) otherwise make it clear that - the license contains terms which differ from this License. - - - 5. DISCLAIMER OF WARRANTY. - - COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" - BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, - INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED - SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR - PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND - PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY - COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE - INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF - ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF - WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS - DISCLAIMER. - - 6. TERMINATION. - - 6.1. This License and the rights granted hereunder will - terminate automatically if You fail to comply with terms - herein and fail to cure such breach within 30 days of - becoming aware of the breach. Provisions which, by their - nature, must remain in effect beyond the termination of - this License shall survive. - - 6.2. If You assert a patent infringement claim (excluding - declaratory judgment actions) against Initial Developer or - a Contributor (the Initial Developer or Contributor against - whom You assert such claim is referred to as "Participant") - alleging that the Participant Software (meaning the - Contributor Version where the Participant is a Contributor - or the Original Software where the Participant is the - Initial Developer) directly or indirectly infringes any - patent, then any and all rights granted directly or - indirectly to You by such Participant, the Initial - Developer (if the Initial Developer is not the Participant) - and all Contributors under Sections 2.1 and/or 2.2 of this - License shall, upon 60 days notice from Participant - terminate prospectively and automatically at the expiration - of such 60 day notice period, unless if within such 60 day - period You withdraw Your claim with respect to the - Participant Software against such Participant either - unilaterally or pursuant to a written agreement with - Participant. - - 6.3. In the event of termination under Sections 6.1 or 6.2 - above, all end user licenses that have been validly granted - by You or any distributor hereunder prior to termination - (excluding licenses granted to You by any distributor) - shall survive termination. - - 7. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE - INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF - COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE - LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR - CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT - LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK - STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL - INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT - APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO - NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR - CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT - APPLY TO YOU. - - 8. U.S. GOVERNMENT END USERS. - - The Covered Software is a "commercial item," as that term is - defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial - computer software" (as that term is defined at 48 C.F.R. - 252.227-7014(a)(1)) and "commercial computer software - documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. - 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 - through 227.7202-4 (June 1995), all U.S. Government End Users - acquire Covered Software with only those rights set forth herein. - This U.S. Government Rights clause is in lieu of, and supersedes, - any other FAR, DFAR, or other clause or provision that addresses - Government rights in computer software under this License. - - 9. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the - extent necessary to make it enforceable. This License shall be - governed by the law of the jurisdiction specified in a notice - contained within the Original Software (except to the extent - applicable law, if any, provides otherwise), excluding such - jurisdiction's conflict-of-law provisions. Any litigation - relating to this License shall be subject to the jurisdiction of - the courts located in the jurisdiction and venue specified in a - notice contained within the Original Software, with the losing - party responsible for costs, including, without limitation, court - costs and reasonable attorneys' fees and expenses. The - application of the United Nations Convention on Contracts for the - International Sale of Goods is expressly excluded. Any law or - regulation which provides that the language of a contract shall - be construed against the drafter shall not apply to this License. - You agree that You alone are responsible for compliance with the - United States export administration regulations (and the export - control laws and regulation of any other countries) when You use, - distribute or otherwise make available any Covered Software. - - 10. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or - indirectly, out of its utilization of rights under this License - and You agree to work with Initial Developer and Contributors to - distribute such responsibility on an equitable basis. Nothing - herein is intended or shall be deemed to constitute any admission - of liability. - -=============================================================================== - -JRuby (jruby-complete-1.0.jar), wsdl4j (wsdl4j-1.6.2.jar): - -Common Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - - a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and - b) in the case of each subsequent Contributor: - - i) changes to the Program, and - - ii) additions to the Program; - - where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. - -2. GRANT OF RIGHTS - - a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. - - b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. - - c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. - - d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: - - a) it complies with the terms and conditions of this Agreement; and - - b) its license agreement: - - i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; - - ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; - - iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and - - iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - - a) it must be made available under this Agreement; and - - b) a copy of this Agreement must be included with each copy of the Program. - -Contributors may not remove or alter any copyright notices contained within the Program. - -Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 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. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. - -=============================================================================== - -backport-util-concurrent-3.0.jar: - -The software comprising backport-util-concurrent is based in large -part on the code from JSR166, and the package dl.util.concurrent. -The software has been released to the public domain, as explained at: -http://creativecommons.org/licenses/publicdomain, excepting portions -of the class -edu.emory.mathcs.backport.java.util.concurrent.CopyOnWriteArrayList, -which were adapted from class java.util.ArrayList, written by Sun -Microsystems, Inc, which are used with kind permission, and subject -to the following: - -Copyright 2002-2004 Sun Microsystems, Inc. All rights reserved. Use is -subject to the following license terms. - - "Sun hereby grants you a non-exclusive, worldwide, non-transferrable - license to use and distribute the Java Software technologies as part - of a larger work in source and binary forms, with or without - modification, provided that the following conditions are met: - - -Neither the name of or trademarks of Sun may be used to endorse or - promote products derived from the Java Software technology without - specific prior written permission. - - -Redistributions of source or binary code must be accompanied by the - following notice and disclaimers: - - Portions copyright Sun Microsystems, Inc. Used with kind permission. - - This software is provided AS IS, without a warranty of any kind. ALL - EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PUPOSE OR - NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN - MICROSYSTEMS, INC. AND ITS LICENSORS SHALL NOT BE LIABLE - FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS - DERIVATIVES. IN NO EVENT WILL SUN MICROSYSTEMS, INC. OR - ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR - DATA, OR FOR DIRECT, INDIRECT,CONSQUENTIAL, INCIDENTAL - OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF - THE THEORY OR LIABILITY, ARISING OUT OF THE USE OF OR - INABILITY TO USE SOFTWARE, EVEN IF SUN MICROSYSTEMS, INC. - HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - You acknowledge that Software is not designed, licensed or intended for - use in the design, construction, operation or maintenance of any nuclear - facility." - -=============================================================================== -rome-0.9.jar - -Copyright 2004 Sun Microsystems, Inc. - -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. - -=============================================================================== -jdom-1.0.jar : - -$Id: LICENSE.txt,v 1.11 2004/02/06 09:32:57 jhunter Exp $ - - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions, and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions, and the disclaimer that follows - these conditions in the documentation and/or other materials - provided with the distribution. - - 3. The name "JDOM" must not be used to endorse or promote products - derived from this software without prior written permission. For - written permission, please contact . - - 4. Products derived from this software may not be called "JDOM", nor - may "JDOM" appear in their name, without prior written permission - from the JDOM Project Management . - - In addition, we request (but do not require) that you include in the - end-user documentation provided with the redistribution and/or in the - software itself an acknowledgement equivalent to the following: - "This product includes software developed by the - JDOM Project (http://www.jdom.org/)." - Alternatively, the acknowledgment may be graphical using the logos - available at http://www.jdom.org/images/logos. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 JDOM AUTHORS OR THE PROJECT - 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. - - This software consists of voluntary contributions made by many - individuals on behalf of the JDOM Project and was originally - created by Jason Hunter and - Brett McLaughlin . For more information - on the JDOM Project, please see . - -======================================================================== - -dwr-2.0.1.jar : - -/* -* Copyright 2005 Joe Walker -* -* 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. -*/ - -========================================================================== - -dojotoolkit V1.0.0: - -The "New" BSD License: -********************** - -Copyright (c) 2005, The Dojo Foundation -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 Dojo Foundation nor the names of its 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. - -================================================================================ - -The module tuscany-implementation-script-1.0-incubating.jar temporarily includes -one file under the below BSD license with the following copyright: - - Copyright (c) 2006, Sun Microsystems, Inc. - All rights reserved. - -BSD license: - - 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. - -================================================================================ - -The serp-1.12.0.jar is distributed under the BSD license with the following copyright: - - Copyright (c) 2002, A. Abram White - All rights reserved. - -BSD license: - - 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. - -================================================================================ -The javacc-3.2.jar, and howl-1.0.1-1.jar are distributed under the BSD license: - -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. - -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. - -================================================================================ - -The tuscany-assembly-xsd jar includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================ -License for the Service Data Objects JavaDoc and Interface Definition files. (tuscany-sdo-api-r2.1-1.1-incubating.jar) - -These files being ... -commonj/sdo/ChangeSummary$Setting.class -commonj/sdo/ChangeSummary.class -commonj/sdo/DataGraph.class -commonj/sdo/DataObject.class -commonj/sdo/helper/CopyHelper.class -commonj/sdo/helper/DataFactory.class -commonj/sdo/helper/DataHelper.class -commonj/sdo/helper/EqualityHelper.class -commonj/sdo/helper/HelperContext.class -commonj/sdo/helper/TypeHelper.class -commonj/sdo/helper/XMLDocument.class -commonj/sdo/helper/XMLHelper.class -commonj/sdo/helper/XSDHelper.class -commonj/sdo/impl/ExternalizableDelegator$Resolvable.class -commonj/sdo/impl/ExternalizableDelegator.class -commonj/sdo/Property.class -commonj/sdo/Sequence.class -commonj/sdo/Type.class -xml/datagraph.xsd -xml/sdoJava.xml -xml/sdoJava.xsd -xml/sdoModel.xml -xml/sdoModel.xsd -xml/sdoXML.xml -xml/sdoXML.xsd - - -License for the Service Data Objects JavaDoc and Interface Definition files. - -The Service Data Objects Specification is being provided by the copyright holders under the following -license. By using and/or copying this work, you agree that you have read, understood and will comply with -the following terms and conditions: - -Permission to copy, display and distribute the Service Data Objects Specification and/or portions thereof, without -modification, in any medium without fee or royalty is hereby granted, provided that you include the -following on ALL copies of the Service Data Objects Specification, or portions thereof, that you make: - -1. A link or URL to the Service Data Objects Specification at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Service Data Objects Specification. - -BEA, IBM, Oracle, Primeton Technologies, Rogue Wave Software, SAP, Software AG, Sun Microsystems, Xcalia, -Zend Technologies (collectively, the “Authors”) agree to grant you a royalty-free license, under reasonable, -non-discriminatory terms and conditions to patents that they deem necessary to implement the Service Data -Objects Specification. - -THE Service Data Objects SPECIFICATION IS PROVIDED "AS IS," AND THE AUTHORS MAKE NO REPRESENTATIONS OR -WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SPECIFICATION AND THE IMPLEMENTATION OF ITS CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, -NON-INFRINGEMENT OR TITLE. THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL -OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THE SERVICE DATA OBJECTS -SPECIFICATION. - -The name and trademarks of the Authors may NOT be used in any manner, including advertising or publicity -pertaining to the Service Data Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects Specification will at all times remain with the -Authors. - -No other rights are granted by implication, estoppel or otherwise. -================================================================================ - -The asm-all-3.1.jar: - -Copyright (c) 2000-2005 INRIA, France Telecom -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. 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. - -3. Neither the name of the copyright holders nor the names of its - 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. - -================================================================================ - -The jaxen-1.1.1.jar: - - $Id: LICENSE.txt,v 1.5 2006/02/05 21:49:04 elharo Exp $ - - Copyright 2003-2006 The Werken Company. 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 Jaxen Project nor the names of its - 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. - -================================================================================ - -The tuscany-host-webapp and tuscany-sca-api jars include files under the following license: - -Permission to copy, display and distribute the Service Component Architecture Specification and/or -portions thereof, without modification, in any medium without fee or royalty is hereby granted, provided -that you include the following on ALL copies of the Service Component Architecture Specification, or -portions thereof, that you make: - -1. A link or URL to the Service Component Architecture Specification at this location: -· http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of the copyright notice as shown in the Service Component Architecture Specification. - -BEA, Cape Clear, IBM, Interface21, IONA, Oracle, Primeton, Progress Software, Red Hat, Rogue Wave, -SAP, Siemens, Software AG., Sun, Sybase, TIBCO (collectively, the "Authors") agree to grant you a -royalty-free license, under reasonable, non-discriminatory terms and conditions to patents that they deem -necessary to implement the Service Component Architecture Specification. -THE Service Component Architecture SPECIFICATION IS PROVIDED "AS IS," AND THE -AUTHORS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, -REGARDING THIS SPECIFICATION AND THE IMPLEMENTATION OF ITS CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE, NON-INFRINGEMENT OR TITLE. -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL -OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR -DISTRIBUTION OF THE Service Components Architecture SPECIFICATION. -The name and trademarks of the Authors may NOT be used in any manner, including advertising or -publicity pertaining to the Service Component Architecture Specification or its contents without specific, - -================================================================================ - -The tuscany-assembly-xsd jar includes files under the following license: - -W3C® SOFTWARE NOTICE AND LICENSE -http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - -This work (and included software, documentation such as READMEs, or other related items) -is being provided by the copyright holders under the following license. By obtaining, -using and/or copying this work, you (the licensee) agree that you have read, understood, -and will comply with the following terms and conditions. - -Permission to copy, modify, and distribute this software and its documentation, with or -without modification, for any purpose and without fee or royalty is hereby granted, provided -that you include the following on ALL copies of the software and documentation or portions -thereof, including modifications: - - 1. The full text of this NOTICE in a location viewable to users of the redistributed or - derivative work. - 2. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. - If none exist, the W3C Software Short Notice should be included (hypertext is preferred, - text is permitted) within the body of any redistributed or derivative code. - 3. Notice of any changes or modifications to the files, including the date changes were - made. (We recommend you provide URIs to the location from which the code is derived.) - -THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES -OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR -DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER -RIGHTS. - -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL -DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. - -The name and trademarks of copyright holders may NOT be used in advertising or publicity -pertaining to the software without specific, written prior permission. Title to copyright -in this software and any associated documentation will at all times remain with copyright -holders. - diff --git a/java/sca/contrib/distribution/src/main/release/bin/NOTICE b/java/sca/contrib/distribution/src/main/release/bin/NOTICE deleted file mode 100644 index 770362e711..0000000000 --- a/java/sca/contrib/distribution/src/main/release/bin/NOTICE +++ /dev/null @@ -1,127 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses XmlSchema developed at -The Apache Software Foundation (http://ws.apache.org/commons/XmlSchema) - Portions Copyright 2006 International Business Machines Corp. - -This product includes/uses ode-bpel-api-1.1 developed at -The Apache Software Foundation (http://ode.apache.org) - - Copyright 1999-2006 Intalio - This product includes software developed by Intalio (http://www.intalio.com) - - Copyright 2006 Sybase - This product includes software developed by Sybase.(http://www.sybase.com) - -"This product includes software developed by the Spring Framework - Project (http://www.springframework.org)." - -This product includes/uses the Jetty Servlet Engine (http://jetty.mortbay.org), -developed by Mort Bay Consulting (http://www.mortbay.com) - -This product includes/uses the Groovy Script Engine (http://groovy.codehaus.org/), -Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - -This product includes/uses the Axion : the Open Source Java Database (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. All rights reserved. - -This product includes/uses DOM4J : the flexible XML framework for java (http://www.dom4j.org/) - Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. - -This product includes/uses software, AOP alliance (http://aopalliance.sourceforge.net) -License: Public Domain - -This product includes/uses JSON-RPC-Java (http://oss.metaparadigm.com/jsonrpc/) - -This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) - Copyright (c) 2003-2004 Jan-Klaas Kollhof - Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd - -This product includes software from the GlassFish project (https://glassfish.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes software from the Rome project (https://rome.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes/uses the Eclipse Modeling Framework project (http://www.eclipse.org/emf/) - -This product includes/uses the Mozilla Rhino project (http://www.mozilla.org/rhino/) - -This product includes/uses the Sourceforge wsdl4j project (http://sourceforge.net/projects/wsdl4j/)i - -This product includes/uses the Codehaus JRuby project (http://jruby.codehaus.org/) - -This product includes/uses JDOM (http://www.jdom.org/) - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. All rights reserved. - -This product includes/uses DWR (http://getahead.org/dwr) - Copyright 2005 Joe Walker. All rights reserved. - -This product includes/uses dojotoolkit (http://dojotoolkit.org/) - Copyright (c) 2005, The Dojo Foundation. All rights reserved. - -This product includes/uses Howl (http://howl.objectweb.org/) - Copyright (c) 2004, Bull S.A. - -This product includes/uses axion (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. - -This product includes/uses javacc (https://javacc.dev.java.net/) - Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved. - -The Program includes all or portions of the following software: "The -Saxon XSLT and XQuery Processor from Saxonica Limited" distributed under -an MPL v1.0 license. Please refer to the homepage URL at -http://www.saxonica.com/. - -This product includes/uses Serp (http://serp.sourceforge.net/) under the BSD license: - Copyright (c) 2002, A. Abram White. All rights reserved. - -This product also includes software under the BSD license -with the following copyright: - Copyright (c) 2006, Sun Microsystems, Inc. All rights reserved. - -This product includes software under the Service Component Architecture JavaDoc, -Interface Definition files and XSD files license. - (c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - -This product includes/uses ASM (http://asm.objectweb.org) - Copyright (c) 2000-2005 INRIA, France Telecom - All rights reserved. - -This product includes/uses Jaxen (http://jaxen.codehaus.org/) - Copyright 2003-2006 The Werken Company. All Rights Reserved. - -This product also includes software under the Service Component Architecture specification license -(see the LICENSE file contained in this distribution) with the following copyright - -(C) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, -37 Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase -38 Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - -This product also includes software under the Service Component Architecture specification license -(see the LICENSE file contained in this distribution) with the following copyright - -(C) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA -Technologies, Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens -AG., Software AG., Sun Microsystems, Inc., Sybase Inc., TIBCO Software Inc., 2005, 2008. All rights reserved. - -This product also includes software under the W3C(r) Software License -(see the LICENSE file contained in this distribution), with the following -copyright: - -Copyright (c) 2004 World Wide Web Consortium (Massachusetts Institute of Technology, -European Research Consortium for Informatics and Mathematics, Keio University). -All Rights Reserved. This work is distributed under the W3C(r) Software License [1] -in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied -warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 diff --git a/java/sca/contrib/distribution/src/main/release/src/BUILDING b/java/sca/contrib/distribution/src/main/release/src/BUILDING deleted file mode 100644 index 65d09c5eae..0000000000 --- a/java/sca/contrib/distribution/src/main/release/src/BUILDING +++ /dev/null @@ -1,55 +0,0 @@ -Building the Apache Tuscany SCA 1.2 (incubating) April 2008 Release source distribution -======================================================================================= - -Initial Setup -------------- - -1) Install J2SE 5.0 SDK, which can be downloaded from - http://java.sun.com/j2se/1.5.0/download.jsp. Use version of 1.5.0_06 JDK or higher. - -2) Make sure that your JAVA_HOME environment variable is set to the newly installed - JDK location, and that your PATH includes %JAVA_HOME%\bin (windows) or - $JAVA_HOME$/bin (unix). - -3) Install Maven 2.0.7 or higher, which can be downloaded from - http://maven.apache.org/download.html. Make sure that your PATH includes - the MVN_HOME/bin directory. - -4) Make sure that your MAVEN_OPTS environment variable has -Xmx128M (or more), - you can manually do this by executing the following in your prompt : - Windows users: - set MAVEN_OPTS=-Xmx128M - Unix users: - export MAVEN_OPTS=-Xmx128M - - -Building --------- - -1) Change to the top level directory of Apache Tuscany source distribution. -2) Run - - $> mvn - - This will compile Apache Tuscany and run all of the tests in the source - distribution. - - Depending on the load of remote Maven 2.0 repositories, you may have - to run "mvn" several times utill the required dependencies are - all located in your local maven repository. It usually takes some time for - maven to download required dependencies in the first build. Once all the - dependencies have been downloaded you may use the -o option to run maven - in offline mode, for example, 'mvn clean install -o'. - - -Building the distributions --------------------------- - -1) Change to the distribution folder -2) Run - - $> mvn - - This will build the binary and source distribution with .zip and .gz - formats in the distribution/target directory. - diff --git a/java/sca/contrib/distribution/src/main/release/src/LICENSE b/java/sca/contrib/distribution/src/main/release/src/LICENSE deleted file mode 100644 index 3200103252..0000000000 --- a/java/sca/contrib/distribution/src/main/release/src/LICENSE +++ /dev/null @@ -1,434 +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. - -=============================================================================================================== - -The module itest/databindings/common includes the test schema; datagraph.xsd, sdoJava.xsd, and sdoModel.xsd -under the following license: - -License for the Service Data Objects JavaDoc, Interface Definition files -and XSD files. - -The Service Data Objects JavaDoc, Interface Definition files and XSD files -are being provided by the copyright holders under the following license. -By using and/or copying this work, you agree that you have read, -understood and will comply with the following terms and conditions: - -Permission to copy, display, make derivative works of and distribute -the Service Data Objects JavaDoc, Interface Definition files and XSD files -(the "Artifacts") in any medium without fee or royalty is hereby granted, -provided that you include the following on ALL copies of the Artifacts, -or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - - - -THE ARTIFACTS ARE PROVIDED "AS IS" AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Data -Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects -Specification will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.11, last updated on 2007/12/21 - -================================================================================================================= - -The 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. - -================================================================================================================= - -The module assembly-xsd includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================================================= -The modules - -binding-ws-xml -databinding -databinding-axiom -databinding-jaxb -databinding-json -databinding-sdo -databinding-sdo-axiom -databinding-xmlbeans -interface-wsdl-xml - -Include the ipo.xsd and address.xsd information from the XML Schema Primer -(http://www.w3.org/TR/2004/PER-xmlschema-0-20040318/) combined into the -file ipo.xsd and extended with UK postcode structures. - -The module - -tuscany-assembly-xsd - -Includes file wsdli.xsd - -From http://www.w3.org/2004/08/wsdl-instance - -The ipo.xsd and wsdli.xsd files are included under the following license: - -W3C(c) SOFTWARE NOTICE AND LICENSE -http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - -This work (and included software, documentation such as READMEs, or other -related items) is being provided by the copyright holders under the following -license. By obtaining, using and/or copying this work, you (the licensee) agree -that you have read, understood, and will comply with the following terms and conditions. - -Permission to copy, modify, and distribute this software and its documentation, -with or without modification, for any purpose and without fee or royalty is -hereby granted, provided that you include the following on ALL copies of the -software and documentation or portions thereof, including modifications: - - 1. The full text of this NOTICE in a location viewable to users of the - redistributed or derivative work. - 2. Any pre-existing intellectual property disclaimers, notices, or terms - and conditions. If none exist, the W3C Software Short Notice should be - included (hypertext is preferred, text is permitted) within the body of - any redistributed or derivative code. - 3. Notice of any changes or modifications to the files, including the date - changes were made. (We recommend you provide URIs to the location from which - the code is derived.) - -THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE -NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, -WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE -USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, -COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. - -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. - -The name and trademarks of copyright holders may NOT be used in advertising or -publicity pertaining to the software without specific, written prior permission. -Title to copyright in this software and any associated documentation will at all -times remain with copyright holders. - -================================================================================================================= - -The modules host-webapp and sca-api include files under the following license: - -Permission to copy, display and distribute the Service Component Architecture Specification and/or -portions thereof, without modification, in any medium without fee or royalty is hereby granted, provided -that you include the following on ALL copies of the Service Component Architecture Specification, or -portions thereof, that you make: - -1. A link or URL to the Service Component Architecture Specification at this location: -· http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of the copyright notice as shown in the Service Component Architecture Specification. - -BEA, Cape Clear, IBM, Interface21, IONA, Oracle, Primeton, Progress Software, Red Hat, Rogue Wave, -SAP, Siemens, Software AG., Sun, Sybase, TIBCO (collectively, the "Authors") agree to grant you a -royalty-free license, under reasonable, non-discriminatory terms and conditions to patents that they deem -necessary to implement the Service Component Architecture Specification. -THE Service Component Architecture SPECIFICATION IS PROVIDED "AS IS," AND THE -AUTHORS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, -REGARDING THIS SPECIFICATION AND THE IMPLEMENTATION OF ITS CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE, NON-INFRINGEMENT OR TITLE. -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL -OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR -DISTRIBUTION OF THE Service Components Architecture SPECIFICATION. -The name and trademarks of the Authors may NOT be used in any manner, including advertising or -publicity pertaining to the Service Component Architecture Specification or its contents without specific, diff --git a/java/sca/contrib/distribution/src/main/release/src/NOTICE b/java/sca/contrib/distribution/src/main/release/src/NOTICE deleted file mode 100644 index 2faebfe6c2..0000000000 --- a/java/sca/contrib/distribution/src/main/release/src/NOTICE +++ /dev/null @@ -1,52 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses JSON-RPC JavaScript client (jsonrpc.js) - Copyright (c) 2003-2004 Jan-Klaas Kollhof - Copyright (c) 2005 Michael Clark, Metaparadigm Pte Ltd - -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. - -This product includes software under the Service Component Architecture JavaDoc, -Interface Definition files and XSD files license. - (c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - -This product includes software under the W3C(c) Software License -with the following copyright: - -Copyright (c) 2008 World Wide Web Consortium, (Massachusetts Institute of Technology, -European Research Consortium for Informatics and Mathematics, Keio University). -All Rights Reserved. This work is distributed under the W3C(c) Software License [1] in -the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied -warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - -This product also includes software under the Service Component Architecture specification license -(see the LICENSE file contained in this distribution) with the following copyright - -(C) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA Technologies, -37 Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens AG., Software AG., Sybase -38 Inc., TIBCO Software Inc., 2005, 2007. All rights reserved. - -This product also includes software under the Service Component Architecture specification license -(see the LICENSE file contained in this distribution) with the following copyright - -(C) Copyright BEA Systems, Inc., Cape Clear Software, International Business Machines Corp, Interface21, IONA -Technologies, Oracle, Primeton Technologies, Progress Software, Red Hat, Rogue Wave Software, SAP AG., Siemens -AG., Software AG., Sun Microsystems, Inc., Sybase Inc., TIBCO Software Inc., 2005, 2008. All rights reserved. - diff --git a/java/sca/contrib/distribution/src/main/xsl/srcbuild_paths.xsl b/java/sca/contrib/distribution/src/main/xsl/srcbuild_paths.xsl deleted file mode 100644 index ab7a40b94a..0000000000 --- a/java/sca/contrib/distribution/src/main/xsl/srcbuild_paths.xsl +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - - ${user.home}/.m2/maven.properties - - - ${user.home}/.m2/repository - - - - - - - ${user.home}/.m2/repository - - - - - - - - - diff --git a/java/sca/contrib/distribution/standalone/pom.xml b/java/sca/contrib/distribution/standalone/pom.xml deleted file mode 100644 index 83cf69211e..0000000000 --- a/java/sca/contrib/distribution/standalone/pom.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-sca - 2.0-SNAPSHOT - ../../pom.xml - - - Apache Tuscany SCA Standalone Runtime - tuscany-standalone - jar - - - - ${pom.groupId} - tuscany-runtime-standalone - ${pom.version} - - - - - - - src/main/java - - **/* - - - - - - org.apache.maven.plugins - maven-jar-plugin - - tuscany-sca - - - org.apache.tuscany.sca.runtime.standalone.StandaloneLauncher - false - - - - tuscany-standalone-${pom.version}.jar - - - - - - - - diff --git a/java/sca/contrib/distribution/standalone/src/test/resources/repo/tuscany.properties b/java/sca/contrib/distribution/standalone/src/test/resources/repo/tuscany.properties deleted file mode 100644 index a0d83168f7..0000000000 --- a/java/sca/contrib/distribution/standalone/src/test/resources/repo/tuscany.properties +++ /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. -# -nodeName=http://localhost:8080/myNode/ -#domainName=http://localhost:8777/tuscany/foo/ -#startManager=true -#hotDeployInterval=10000 -#useHotUpdate=true diff --git a/java/sca/contrib/distribution/tomcat/pom.xml b/java/sca/contrib/distribution/tomcat/pom.xml deleted file mode 100644 index 83d4884d6d..0000000000 --- a/java/sca/contrib/distribution/tomcat/pom.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-sca - 2.0-SNAPSHOT - ../../pom.xml - - - Apache Tuscany SCA WebApp Runtime - tuscany-tomcat-overlay - pom - - - - ${pom.groupId} - tuscany-runtime-tomcat - ${pom.version} - - - - - - - - src/main/java - - **/* - - - - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - distribution-package - package - - single - - - - src/main/assembly/bin.xml - - gnu - apache-tuscany-tomcat-overlay-${pom.version} - - - - - - - - - - diff --git a/java/sca/contrib/distribution/tomcat/src/main/assembly/bin.xml b/java/sca/contrib/distribution/tomcat/src/main/assembly/bin.xml deleted file mode 100644 index c66b086e27..0000000000 --- a/java/sca/contrib/distribution/tomcat/src/main/assembly/bin.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - bin - false - - dir - tar.gz - zip - - - - - - - - - src/main/resources/sca-contributions - /sca-contributions - - tuscany.properties - - - - - - - - /lib - false - runtime - - - - - diff --git a/java/sca/contrib/distribution/tomcat/src/main/resources/sca-contributions/tuscany.properties b/java/sca/contrib/distribution/tomcat/src/main/resources/sca-contributions/tuscany.properties deleted file mode 100644 index 6e2ca20deb..0000000000 --- a/java/sca/contrib/distribution/tomcat/src/main/resources/sca-contributions/tuscany.properties +++ /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. -# -#nodeName=http://localhost:8080/tuscany/ -#domainName=http://localhost:8877 -hotDeployInterval=10000 diff --git a/java/sca/contrib/distribution/war/pom.xml b/java/sca/contrib/distribution/war/pom.xml deleted file mode 100644 index 08c2687e20..0000000000 --- a/java/sca/contrib/distribution/war/pom.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-sca - 2.0-SNAPSHOT - ../../pom.xml - - - Apache Tuscany SCA WAR Distribution - tuscany-war - pom - - - - - ${pom.groupId} - tuscany-runtime-war - ${pom.version} - - - - - junit - junit - - - javax.servlet - servlet-api - - - avalon-framework - avalon-framework - - - - - - - - package - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - distribution-package - package - - single - - - - war.xml - - gnu - tuscany - - - - - - - - - - diff --git a/java/sca/contrib/distribution/war/src/main/release/LICENSE b/java/sca/contrib/distribution/war/src/main/release/LICENSE deleted file mode 100644 index 815617a23b..0000000000 --- a/java/sca/contrib/distribution/war/src/main/release/LICENSE +++ /dev/null @@ -1,2296 +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 SUBCOMPONENTS: - -The Apache Tuscany binary distribution includes a number of subcomponents -with separate copyright notices and license terms. Your use of the -code for the these subcomponents is subject to the terms and -conditions of the following licenses. - -=============================================================================== - -The following components come under Apache Software License 2.0 - - activeio-2.0-r118.jar - addressing-1.3.mar - annogen-0.1.0.jar - annotations-api-6.0.10.jar - aopalliance-1.0.jar - axiom-api-1.2.5.jar - axiom-dom-1.2.5.jar - axiom-impl-1.2.5.jar - axis2-adb-1.3.jar - axis2-adb-codegen-1.3.jar - axis2-codegen-1.3.jar - axis2-java2wsdl-1.3.jar - axis2-kernel-1.3.jar - axis2-mtompolicy-1.3.jar - bsf-all-3.0-beta1.jar - catalina-6.0.10.jar - cglib-nodep-2.1_3.jar - common-2.2.2.jar - commons-collections-3.1.jar - commons-codec-1.3.jar - commons-fileupload-1.1.1.jar - commons-httpclient-3.0.1.jar - commons-io-1.2.jar - commons-jexl-1.1.jar - commons-lang-2.1.jar - commons-logging-1.1.jar - commons-primitives-1.0.jar - coyote-6.0.10.jar - derby-10.1.3.1.jar - geronimo-activation_1.1_spec-1.0-M1.jar - geronimo-common-1.2-beta.jar - geronimo-commonj_1.1_spec-1.0.jar - geronimo-connector-1.2-beta.jar - geronimo-core-1.2-beta.jar - geronimo-deployment-1.2-beta.jar - geronimo-ejb_3.0_spec-1.0.jar - geronimo-interceptor-1.2-beta.jar - geronimo-jms_1.1_spec-1.1.jar - geronimo-j2ee-1.2-beta.jar - geronimo-j2ee-connector_1.5_spec-1.1.jar - geronimo-j2ee-jacc_1.0_spec-1.1.jar - geronimo-j2ee-management_1.0_spec-1.1.jar - geronimo-javamail_1.4_spec-1.0-M1.jar - geronimo-jpa_3.0_spec-1.0.jar - geronimo-jta_1.0.1B_spec-1.0.jar - geronimo-kernel-1.2-beta.jar - geronimo-management-1.2-beta.jar - geronimo-naming-1.2-beta.jar - geronimo-security-1.2-beta.jar - geronimo-spec-j2ee-connector-1.5-rc4.jar - geronimo-spec-jta-1.0.1B-rc4.jar - geronimo-system-1.2-beta.jar - geronimo-transaction-1.2-beta.jar - geronimo-util-1.2-beta.jar - httpcore-4.0-alpha5.jar - httpcore-nio-4.0-alpha5.jar - httpcore-niossl-4.0-alpha5.jar - jetty-6.1.3.jar - jetty-util-6.1.3.jar - json-rpc-1.0.jar - juli-6.0.10.jar - log4j-1.2.12.jar - logkit-1.0.1.jar - maven-artifact-2.0.2.jar - maven-artifact-manager-2.0.2.jar - maven-error-diagnostics-2.0.2.jar - maven-model-2.0.2.jar - maven-profile-2.0.2.jar - maven-project-2.0.2.jar - maven-repository-metadata-2.0.2.jar - maven-settings-2.0.2.jar - neethi-2.0.2.jar - ode-bpel-api-1.1.jar - ode-bpel-compiler-1.1.jar - ode-bpel-dao-1.1.jar - ode-bpel-epr-1.1.jar - ode-bpel-obj-1.1.jar - ode-bpel-runtime-1.1.jar - ode-bpel-schemas-1.1.jar - ode-bpel-store-1.1.jar - ode-dao-jpa-1.1.jar - ode-dao-jpa-ojpa-derby-1.1.zip - ode-jacob-1.1.jar - ode-jacob-ap-1.1.jar - ode-scheduler-simple-1.1.jar - ode-utils-1.1.jar - openjpa-all-0.9.7-incubating.jar - openjpa-persistence-0.9.7-incubating.jar - opensaml-1.1.jar - org.apache.felix.bundlerepository-1.0.0.jar - org.apache.felix.framework-1.0.0.jar - org.apache.felix.main-1.0.0.jar - org.apache.felix.shell-1.0.0.jar - org.apache.felix.shell.tui-1.0.0.jar - plexus-container-default-1.0-alpha-9.jar - plexus-utils-1.1.jar - rampart-1.3.mar - rampart-core-1.3.jar - rampart-policy-1.3.jar - rampart-trust-1.3.jar - regexp-1.3.jar - spring-beans-2.0.6.jar - spring-context-2.0.6.jar - spring-core-2.0.6.jar - stax-api-1.0.2.jar - tranql-connector-1.1.jar - tuscany-sdo-api-r2.1-1.0-incubating.jar - tuscany-sdo-impl-1.0-incubating.jar - tuscany-sdo-lib-1.0-incubating.jar - tuscany-sdo-tools-1.0-incubating.jar - wagon-file-1.0-alpha-7.jar - wagon-http-lightweight-1.0-alpha-6.jar - wagon-provider-api-1.0-alpha-6.jar - woden-1.0-incubating-M7b.jar - wss4j-1.5.3.jar - wstx-asl-3.2.1.jar - xalan-2.7.0.jar - xmlbeans-2.3.0.jar - xbean-naming-2.7.jar - xercesImpl-2.8.1.jar - xml-apis-1.3.03.jar - xml-resolver-1.1.jar - xmlsec-1.4.0.jar - XmlSchema-1.3.2.jar - -=============================================================================== - -jaxen-1.1-beta-9.jar: - - Copyright 2003-2006 The Werken Company. 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 Jaxen Project nor the names of its - 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. - -=============================================================================== - -The EMF jars; - codegen-2.2.3.jar - codegen-ecore-2.2.3.jar - common-2.2.3.jar - ecore-2.2.3.jar - ecore-change-2.2.3.jar - ecore-xmi-2.2.3.jar - xsd-2.2.3.jar - -Eclipse Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF -THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - -a) in the case of the initial Contributor, the initial code and -documentation distributed under this Agreement, and -b) in the case of each subsequent Contributor: - -i) changes to the Program, and - -ii) additions to the Program; - -where such changes and/or additions to the Program originate from and -are distributed by that particular Contributor. A Contribution -'originates' from a Contributor if it was added to the Program by such -Contributor itself or anyone acting on such Contributor's behalf. -Contributions do not include additions to the Program which: (i) are -separate modules of software distributed in conjunction with the -Program under their own license agreement, and (ii) are not derivative -works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor -which are necessarily infringed by the use or sale of its Contribution -alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this -Agreement. - -"Recipient" means anyone who receives the Program under this -Agreement, including all Contributors. - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free copyright -license to reproduce, prepare derivative works of, publicly display, -publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and -object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby -grants Recipient a non-exclusive, worldwide, royalty-free patent -license under Licensed Patents to make, use, sell, offer to sell, -import and otherwise transfer the Contribution of such Contributor, if -any, in source code and object code form. This patent license shall -apply to the combination of the Contribution and the Program if, at -the time the Contribution is added by the Contributor, such addition -of the Contribution causes such combination to be covered by the -Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder. - -c) Recipient understands that although each Contributor grants the -licenses to its Contributions set forth herein, no assurances are -provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow -Recipient to distribute the Program, it is Recipient's responsibility -to acquire that license before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient -copyright rights in its Contribution, if any, to grant the copyright -license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form -under its own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties -and conditions, express and implied, including warranties or -conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability -for damages, including direct, indirect, special, incidental and -consequential damages, such as lost profits; - -iii) states that any provisions which differ from this Agreement are -offered by that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such -Contributor, and informs licensees how to obtain it in a reasonable -manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the -Program. - -Contributors may not remove or alter any copyright notices contained -within the Program. - -Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a -commercial product offering should do so in a manner which does not -create potential liability for other Contributors. Therefore, if a -Contributor includes the Program in a commercial product offering, -such Contributor ("Commercial Contributor") hereby agrees to defend -and indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") arising -from claims, lawsuits and other legal actions brought by a third party -against the Indemnified Contributor to the extent caused by the acts -or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. -In order to qualify, an Indemnified Contributor must: a) promptly -notify the Commercial Contributor in writing of such claim, and b) -allow the Commercial Contributor to control, and cooperate with the -Commercial Contributor in, the defense and any related settlement -negotiations. The Indemnified Contributor may participate in any such -claim at its own expense. - -For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED 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. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable -laws, damage to or loss of data, programs or equipment, and -unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR -ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), 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 OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further -action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that -the Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of -the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of -time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use -and distribution of the Program as soon as reasonably practicable. -However, Recipient's obligations under this Agreement and any licenses -granted by Recipient relating to the Program shall continue and -survive. - -Everyone is permitted to copy and distribute copies of this Agreement, -but in order to avoid inconsistency the Agreement is copyrighted and -may only be modified in the following manner. The Agreement Steward -reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement -Steward has the right to modify this Agreement. The Eclipse Foundation -is the initial Agreement Steward. The Eclipse Foundation may assign -the responsibility to serve as the Agreement Steward to a suitable -separate entity. Each new version of the Agreement will be given a -distinguishing version number. The Program (including Contributions) -may always be distributed subject to the version of the Agreement -under which it was received. In addition, after a new version of the -Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives -no rights or licenses to the intellectual property of any Contributor -under this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No -party to this Agreement will bring a legal action under this Agreement -more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation. - -=============================================================================== -For Saxon including - saxon-8.7.jar - saxon-dom-8.7.jar - saxon-xpath-8.7.jar - - MOZILLA PUBLIC LICENSE -Version 1.0 - -1. Definitions. - - 1.1. ``Contributor'' means each entity that creates or contributes to the creation of Modifications. - - 1.2. ``Contributor Version'' means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor. - - 1.3. ``Covered Code'' means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof. - - 1.4. ``Electronic Distribution Mechanism'' means a mechanism generally accepted in the software development community for the electronic transfer of data. - - 1.5. ``Executable'' means Covered Code in any form other than Source Code. - - 1.6. ``Initial Developer'' means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A. - - 1.7. ``Larger Work'' means a work which combines Covered Code or portions thereof with code not governed by the terms of this License. - - 1.8. ``License'' means this document. - - 1.9. ``Modifications'' means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is: - - A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or previous Modifications. - - 1.10. ``Original Code'' means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License. - - 1.11. ``Source Code'' means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or a list of source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge. - - 1.12. ``You'' means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, ``You'' includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, ``control'' means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of fifty percent (50%) or more of the outstanding shares or beneficial ownership of such entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Initial Developer, to make, have made, use and sell (``Utilize'') the Original Code (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Original Code (or portions thereof) and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - - 2.2. Contributor Grant. - Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: - - (a) to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code or as part of a Larger Work; and - - (b) under patents now or hereafter owned or controlled by Contributor, to Utilize the Contributor Version (or portions thereof), but solely to the extent that any such patent is reasonably necessary to enable You to Utilize the Contributor Version (or portions thereof), and not to any greater extent that may be necessary to Utilize further Modifications or combinations. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which you contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - - (a) Third Party Claims. - If You have knowledge that a party claims an intellectual property right in particular functionality or code (or its utilization under this License), you must include a text file with the source code distribution titled ``LEGAL'' which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If you obtain such knowledge after You make Your Modification available as described in Section 3.2, You shall promptly modify the LEGAL file in all copies You make available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Your Modification is an application programming interface and You own or control patents which are reasonably necessary to implement that API, you must also include this information in the LEGAL file. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source Code, and this License in any documentation for the Source Code, where You describe recipients' rights relating to Covered Code. If You created one or more Modification(s), You may add your name as a Contributor to the notice described in Exhibit A. If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has attached the notice in Exhibit A, and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation (``Netscape'') may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License. - - 6.3. Derivative Works. - If you create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), you must (a) rename Your license so that the phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or any confusingly similar phrase do not appear anywhere in your license and (b) otherwise make it clear that your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a ``commercial item,'' as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer software'' and ``commercial computer software documentation,'' as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in, the United States of America: (a) unless otherwise agreed in writing, all disputes relating to this License (excepting any dispute relating to intellectual property rights) shall be subject to final and binding arbitration, with the losing party paying all costs of arbitration; (b) any arbitration relating to this Agreement shall be held in Santa Clara County, California, under the auspices of JAMS/EndDispute; and (c) any litigation relating to this Agreement shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. - -12. RESPONSIBILITY FOR CLAIMS. - - Except in cases where another Contributor has failed to comply with Section 3.4, You are responsible for damages arising, directly or indirectly, out of Your utilization of rights under this License, based on the number of copies of Covered Code you made available, the revenues you received from utilizing such rights, and other relevant factors. You agree to work with affected parties to distribute responsibility on an equitable basis. - -EXHIBIT A. - - ``The contents of this file are subject to the Mozilla Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved. - - Contributor(s): ______________________________________.'' - -=============================================================================== - -For the Rhino JavaScript engine js-1.6R6.jar: - - MOZILLA PUBLIC LICENSE - Version 1.1 - - --------------- - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Code, prior Modifications used by a Contributor, and the Modifications - made by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified - as the Initial Developer in the Source Code notice required by Exhibit - A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - A. Any addition to or deletion from the contents of a file - containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, - and apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated interface definition files, scripts used to control - compilation and installation of an Executable, or source code - differential comparisons against either the Original Code or another - well known, available Covered Code of the Contributor's choice. The - Source Code can be in a compressed or archival form, provided the - appropriate decompression or de-archiving software is widely available - for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - For legal entities, "You" includes any entity which controls, is - controlled by, or is under common control with You. For purposes of - this definition, "control" means (a) the power, direct or indirect, - to cause the direction or management of such entity, whether by - contract or otherwise, or (b) ownership of more than fifty percent - (50%) of the outstanding shares or beneficial ownership of such - entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer to use, reproduce, - modify, display, perform, sublicense and distribute the Original - Code (or portions thereof) with or without Modifications, and/or - as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or - selling of Original Code, to make, have made, use, practice, - sell, and offer for sale, and/or otherwise dispose of the - Original Code (or portions thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are - effective on the date Initial Developer first distributes - Original Code under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: 1) for code that You delete from the Original Code; 2) - separate from the Original Code; or 3) for infringements caused - by: i) the modification of the Original Code or ii) the - combination of the Original Code with other software or devices. - - 2.2. Contributor Grant. - Subject to third party intellectual property claims, each Contributor - hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor, to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications - created by such Contributor (or portions thereof) either on an - unmodified basis, with other Modifications, as Covered Code - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or - selling of Modifications made by that Contributor either alone - and/or in combination with its Contributor Version (or portions - of such combination), to make, use, sell, offer for sale, have - made, and/or otherwise dispose of: 1) Modifications made by that - Contributor (or portions thereof); and 2) the combination of - Modifications made by that Contributor with its Contributor - Version (or portions of such combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are - effective on the date Contributor first makes Commercial Use of - the Covered Code. - - (d) Notwithstanding Section 2.2(b) above, no patent license is - granted: 1) for any code that Contributor has deleted from the - Contributor Version; 2) separate from the Contributor Version; - 3) for infringements caused by: i) third party modifications of - Contributor Version or ii) the combination of Modifications made - by that Contributor with other software (except as part of the - Contributor Version) or other devices; or 4) under Patent Claims - infringed by Covered Code in the absence of Modifications made by - that Contributor. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, - Contributor must include a text file with the Source Code - distribution titled "LEGAL" which describes the claim and the - party making the claim in sufficient detail that a recipient will - know whom to contact. If Contributor obtains such knowledge after - the Modification is made available as described in Section 3.2, - Contributor shall promptly modify the LEGAL file in all copies - Contributor makes available thereafter and shall take other steps - (such as notifying appropriate mailing lists or newsgroups) - reasonably calculated to inform those who received the Covered - Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming - interface and Contributor has knowledge of patent licenses which - are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to - Section 3.4(a) above, Contributor believes that Contributor's - Modifications are Contributor's original creation(s) and/or - Contributor has sufficient rights to grant the rights conveyed by - this License. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. However, You - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear than - any such warranty, support, indemnity or liability obligation is - offered by You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred by the - Initial Developer or such Contributor as a result of warranty, - support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under a license of Your choice, which may - contain terms different from this License, provided that You are in - compliance with the terms of this License and that the license for the - Executable version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version under a different - license You must make it absolutely clear that any terms which differ - from this License are offered by You alone, not by the Initial - Developer or any Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such - terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code - not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised - and/or new versions of the License from time to time. Each version - will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Netscape. No one - other than Netscape has the right to modify the terms applicable to - Covered Code created under this License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must (a) rename Your license so that - the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", - "MPL", "NPL" or any confusingly similar phrase do not appear in your - license (except to note that your license differs from this License) - and (b) otherwise make it clear that Your version of the license - contains terms which differ from the Mozilla Public License and - Netscape Public License. (Filling in the name of the Initial - Developer, Original Code or Contributor in the notice described in - Exhibit A shall not of themselves be deemed to be modifications of - this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE - IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, - YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE - COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER - OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, - all end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, - OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR - ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY - CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, - WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" and "commercial computer software documentation," as such - terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 - C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), - all U.S. Government End Users acquire Covered Code with only those - rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, with the losing party responsible for costs, including - without limitation, court costs and reasonable attorneys' fees and - expenses. The application of the United Nations Convention on - Contracts for the International Sale of Goods is expressly excluded. - Any law or regulation which provides that the language of a contract - shall be construed against the drafter shall not apply to this - License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the NPL or the alternative licenses, if any, specified - by the Initial Developer in the file described in Exhibit A. - -EXHIBIT A -Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License - Version 1.1 (the "License"); you may not use this file except in - compliance with the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - License for the specific language governing rights and limitations - under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. - Portions created by ______________________ are Copyright (C) ______ - _______________________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those - above. If you wish to allow use of your version of this file only - under the terms of the [____] License and not to allow others to use - your version of this file under the MPL, indicate your decision by - deleting the provisions above and replace them with the notice and - other provisions required by the [___] License. If you do not delete - the provisions above, a recipient may use your version of this file - under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] - - -=============================================================================== -Groovy: - -/* - $Id: LICENSE.txt 156 2003-09-26 17:36:37Z jstrachan $ - - Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - - Redistribution and use of this software and associated documentation - ("Software"), with or without modification, are permitted provided - that the following conditions are met: - - 1. Redistributions of source code must retain copyright - statements and notices. Redistributions must also contain a - copy of this document. - - 2. 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. - - 3. The name "groovy" must not be used to endorse or promote - products derived from this Software without prior written - permission of The Codehaus. For written permission, - please contact info@codehaus.org. - - 4. Products derived from this Software may not be called "groovy" - nor may "groovy" appear in their names without prior written - permission of The Codehaus. "groovy" is a registered - trademark of The Codehaus. - - 5. Due credit should be given to The Codehaus - - http://groovy.codehaus.org/ - - THIS SOFTWARE IS PROVIDED BY THE CODEHAUS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESSED 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 CODEHAUS OR ITS 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. - - */ - -=============================================================================== - -Jython: - -A. HISTORY OF THE SOFTWARE -======================= - -JPython was created in late 1997 by Jim Hugunin. Jim was also the -primary developer while he was at CNRI. In February 1999 Barry Warsaw -took over as primary developer and released JPython version 1.1. - -In October 2000 Barry helped move the software to SourceForge -where it was renamed to Jython. Jython 2.0 and on are licensed under -the Jython specific license below. - -The standard library is covered by the Python Software Foundation -license. See the LICENSE_CPython.txt file for details. - -The zxJDBC package was written by Brian Zimmer and originally licensed -under the GNU Public License. The package is now covered by the Jython -Software License. - -The command line interpreter is covered by the Apache Software -License. See the LICENSE_Apache.txt file for details. - -B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING JYTHON -================================ - -Copyright (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Jython Developers -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 Jython Developers nor the names of - its 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 REGENTS 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. - - - - -JPython 1.1.x Software License. -========================= - -______________________________________________________________________ - -IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. - -BY CLICKING ON THE "ACCEPT" BUTTON WHERE INDICATED, OR BY INSTALLING, -COPYING OR OTHERWISE USING THE SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO -THE TERMS AND CONDITIONS OF THIS AGREEMENT. - -______________________________________________________________________ - -JPython version 1.1.x - - 1. This LICENSE AGREEMENT is between the Corporation for National Research - Initiatives, having an office at 1895 Preston White Drive, Reston, VA - 20191 ("CNRI"), and the Individual or Organization ("Licensee") - accessing and using JPython version 1.1.x in source or binary form and - its associated documentation as provided herein ("Software"). - - 2. Subject to the terms and conditions of this License Agreement, CNRI - hereby grants Licensee a non-exclusive, non-transferable, royalty-free, - world-wide license to reproduce, analyze, test, perform and/or display - publicly, prepare derivative works, distribute, and otherwise use the - Software alone or in any derivative version, provided, however, that - CNRI's License Agreement and CNRI's notice of copyright, i.e., - "Copyright ©1996-1999 Corporation for National Research Initiatives; - All Rights Reserved" are both retained in the Software, alone or in any - derivative version prepared by Licensee. - - Alternatively, in lieu of CNRI's License Agreement, Licensee may - substitute the following text (omitting the quotes), provided, however, - that such text is displayed prominently in the Software alone or in any - derivative version prepared by Licensee: "JPython (Version 1.1.x) is - made available subject to the terms and conditions in CNRI's License - Agreement. This Agreement may be located on the Internet using the - following unique, persistent identifier (known as a handle): - 1895.22/1006. The License may also be obtained from a proxy server on - the Web using the following URL: http://hdl.handle.net/1895.22/1006." - - 3. In the event Licensee prepares a derivative work that is based on or - incorporates the Software or any part thereof, and wants to make the - derivative work available to the public as provided herein, then - Licensee hereby agrees to indicate in any such work, in a prominently - visible way, the nature of the modifications made to CNRI's Software. - - 4. Licensee may not use CNRI trademarks or trade name, including JPython - or CNRI, in a trademark sense to endorse or promote products or - services of Licensee, or any third party. Licensee may use the mark - JPython in connection with Licensee's derivative versions that are - based on or incorporate the Software, but only in the form - "JPython-based ___________________," or equivalent. - - 5. CNRI is making the Software available to Licensee on an "AS IS" basis. - CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY - OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY - REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY - PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE - ANY THIRD PARTY RIGHTS. - - 6. CNRI SHALL NOT BE LIABLE TO LICENSEE OR OTHER USERS OF THE SOFTWARE FOR - ANY INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE - THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. SOME STATES DO NOT - ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY SO THE ABOVE DISCLAIMER - MAY NOT APPLY TO LICENSEE. - - 7. This License Agreement may be terminated by CNRI (i) immediately upon - written notice from CNRI of any material breach by the Licensee, if the - nature of the breach is such that it cannot be promptly remedied; or - (ii) sixty (60) days following notice from CNRI to Licensee of a - material remediable breach, if Licensee has not remedied such breach - within that sixty-day period. - - 8. This License Agreement shall be governed by and interpreted in all - respects by the law of the State of Virginia, excluding conflict of law - provisions. Nothing in this Agreement shall be deemed to create any - relationship of agency, partnership, or joint venture between CNRI and - Licensee. - - 9. By clicking on the "ACCEPT" button where indicated, or by installing, - copying or otherwise using the Software, Licensee agrees to be bound by - the terms and conditions of this License Agreement. - - -=============================================================================== - -The jars; activation, jaxb-api, jaxb-impl, jaxb-xjc, jsr181-api, -jsr250-api, jaxws-api, mail, saaj-api, servlet-api-2.5.jar: - -COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 - - - 1. Definitions. - - 1.1. "Contributor" means each individual or entity that - creates or contributes to the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the - Original Software, prior Modifications used by a - Contributor (if any), and the Modifications made by that - particular Contributor. - - 1.3. "Covered Software" means (a) the Original Software, or - (b) Modifications, or (c) the combination of files - containing Original Software with files containing - Modifications, in each case including portions thereof. - - 1.4. "Executable" means the Covered Software in any form - other than Source Code. - - 1.5. "Initial Developer" means the individual or entity - that first makes Original Software available under this - License. - - 1.6. "Larger Work" means a work which combines Covered - Software or portions thereof with code not governed by the - terms of this License. - - 1.7. "License" means this document. - - 1.8. "Licensable" means having the right to grant, to the - maximum extent possible, whether at the time of the initial - grant or subsequently acquired, any and all of the rights - conveyed herein. - - 1.9. "Modifications" means the Source Code and Executable - form of any of the following: - - A. Any file that results from an addition to, - deletion from or modification of the contents of a - file containing Original Software or previous - Modifications; - - B. Any new file that contains any part of the - Original Software or previous Modification; or - - C. Any new file that is contributed or otherwise made - available under the terms of this License. - - 1.10. "Original Software" means the Source Code and - Executable form of computer software code that is - originally released under this License. - - 1.11. "Patent Claims" means any patent claim(s), now owned - or hereafter acquired, including without limitation, - method, process, and apparatus claims, in any patent - Licensable by grantor. - - 1.12. "Source Code" means (a) the common form of computer - software code in which modifications are made and (b) - associated documentation included in or with such code. - - 1.13. "You" (or "Your") means an individual or a legal - entity exercising rights under, and complying with all of - the terms of, this License. For legal entities, "You" - includes any entity which controls, is controlled by, or is - under common control with You. For purposes of this - definition, "control" means (a) the power, direct or - indirect, to cause the direction or management of such - entity, whether by contract or otherwise, or (b) ownership - of more than fifty percent (50%) of the outstanding shares - or beneficial ownership of such entity. - - 2. License Grants. - - 2.1. The Initial Developer Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, the - Initial Developer hereby grants You a world-wide, - royalty-free, non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Initial Developer, - to use, reproduce, modify, display, perform, - sublicense and distribute the Original Software (or - portions thereof), with or without Modifications, - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, - using or selling of Original Software, to make, have - made, use, practice, sell, and offer for sale, and/or - otherwise dispose of the Original Software (or - portions thereof). - - (c) The licenses granted in Sections 2.1(a) and (b) - are effective on the date Initial Developer first - distributes or otherwise makes the Original Software - available to a third party under the terms of this - License. - - (d) Notwithstanding Section 2.1(b) above, no patent - license is granted: (1) for code that You delete from - the Original Software, or (2) for infringements - caused by: (i) the modification of the Original - Software, or (ii) the combination of the Original - Software with other software or devices. - - 2.2. Contributor Grant. - - Conditioned upon Your compliance with Section 3.1 below and - subject to third party intellectual property claims, each - Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - (a) under intellectual property rights (other than - patent or trademark) Licensable by Contributor to - use, reproduce, modify, display, perform, sublicense - and distribute the Modifications created by such - Contributor (or portions thereof), either on an - unmodified basis, with other Modifications, as - Covered Software and/or as part of a Larger Work; and - - - (b) under Patent Claims infringed by the making, - using, or selling of Modifications made by that - Contributor either alone and/or in combination with - its Contributor Version (or portions of such - combination), to make, use, sell, offer for sale, - have made, and/or otherwise dispose of: (1) - Modifications made by that Contributor (or portions - thereof); and (2) the combination of Modifications - made by that Contributor with its Contributor Version - (or portions of such combination). - - (c) The licenses granted in Sections 2.2(a) and - 2.2(b) are effective on the date Contributor first - distributes or otherwise makes the Modifications - available to a third party. - - (d) Notwithstanding Section 2.2(b) above, no patent - license is granted: (1) for any code that Contributor - has deleted from the Contributor Version; (2) for - infringements caused by: (i) third party - modifications of Contributor Version, or (ii) the - combination of Modifications made by that Contributor - with other software (except as part of the - Contributor Version) or other devices; or (3) under - Patent Claims infringed by Covered Software in the - absence of Modifications made by that Contributor. - - 3. Distribution Obligations. - - 3.1. Availability of Source Code. - - Any Covered Software that You distribute or otherwise make - available in Executable form must also be made available in - Source Code form and that Source Code form must be - distributed only under the terms of this License. You must - include a copy of this License with every copy of the - Source Code form of the Covered Software You distribute or - otherwise make available. You must inform recipients of any - such Covered Software in Executable form as to how they can - obtain such Covered Software in Source Code form in a - reasonable manner on or through a medium customarily used - for software exchange. - - 3.2. Modifications. - - The Modifications that You create or to which You - contribute are governed by the terms of this License. You - represent that You believe Your Modifications are Your - original creation(s) and/or You have sufficient rights to - grant the rights conveyed by this License. - - 3.3. Required Notices. - - You must include a notice in each of Your Modifications - that identifies You as the Contributor of the Modification. - You may not remove or alter any copyright, patent or - trademark notices contained within the Covered Software, or - any notices of licensing or any descriptive text giving - attribution to any Contributor or the Initial Developer. - - 3.4. Application of Additional Terms. - - You may not offer or impose any terms on any Covered - Software in Source Code form that alters or restricts the - applicable version of this License or the recipients' - rights hereunder. You may choose to offer, and to charge a - fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Software. - However, you may do so only on Your own behalf, and not on - behalf of the Initial Developer or any Contributor. You - must make it absolutely clear that any such warranty, - support, indemnity or liability obligation is offered by - You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred - by the Initial Developer or such Contributor as a result of - warranty, support, indemnity or liability terms You offer. - - - 3.5. Distribution of Executable Versions. - - You may distribute the Executable form of the Covered - Software under the terms of this License or under the terms - of a license of Your choice, which may contain terms - different from this License, provided that You are in - compliance with the terms of this License and that the - license for the Executable form does not attempt to limit - or alter the recipient's rights in the Source Code form - from the rights set forth in this License. If You - distribute the Covered Software in Executable form under a - different license, You must make it absolutely clear that - any terms which differ from this License are offered by You - alone, not by the Initial Developer or Contributor. You - hereby agree to indemnify the Initial Developer and every - Contributor for any liability incurred by the Initial - Developer or such Contributor as a result of any such terms - You offer. - - 3.6. Larger Works. - - You may create a Larger Work by combining Covered Software - with other code not governed by the terms of this License - and distribute the Larger Work as a single product. In such - a case, You must make sure the requirements of this License - are fulfilled for the Covered Software. - - 4. Versions of the License. - - 4.1. New Versions. - - Sun Microsystems, Inc. is the initial license steward and - may publish revised and/or new versions of this License - from time to time. Each version will be given a - distinguishing version number. Except as provided in - Section 4.3, no one other than the license steward has the - right to modify this License. - - 4.2. Effect of New Versions. - - You may always continue to use, distribute or otherwise - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. If the Initial Developer includes a - notice in the Original Software prohibiting it from being - distributed or otherwise made available under any - subsequent version of the License, You must distribute and - make the Covered Software available under the terms of the - version of the License under which You originally received - the Covered Software. Otherwise, You may also choose to - use, distribute or otherwise make the Covered Software - available under the terms of any subsequent version of the - License published by the license steward. - - 4.3. Modified Versions. - - When You are an Initial Developer and You want to create a - new license for Your Original Software, You may create and - use a modified version of this License if You: (a) rename - the license and remove any references to the name of the - license steward (except to note that the license differs - from this License); and (b) otherwise make it clear that - the license contains terms which differ from this License. - - - 5. DISCLAIMER OF WARRANTY. - - COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" - BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, - INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED - SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR - PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND - PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY - COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE - INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF - ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF - WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS - DISCLAIMER. - - 6. TERMINATION. - - 6.1. This License and the rights granted hereunder will - terminate automatically if You fail to comply with terms - herein and fail to cure such breach within 30 days of - becoming aware of the breach. Provisions which, by their - nature, must remain in effect beyond the termination of - this License shall survive. - - 6.2. If You assert a patent infringement claim (excluding - declaratory judgment actions) against Initial Developer or - a Contributor (the Initial Developer or Contributor against - whom You assert such claim is referred to as "Participant") - alleging that the Participant Software (meaning the - Contributor Version where the Participant is a Contributor - or the Original Software where the Participant is the - Initial Developer) directly or indirectly infringes any - patent, then any and all rights granted directly or - indirectly to You by such Participant, the Initial - Developer (if the Initial Developer is not the Participant) - and all Contributors under Sections 2.1 and/or 2.2 of this - License shall, upon 60 days notice from Participant - terminate prospectively and automatically at the expiration - of such 60 day notice period, unless if within such 60 day - period You withdraw Your claim with respect to the - Participant Software against such Participant either - unilaterally or pursuant to a written agreement with - Participant. - - 6.3. In the event of termination under Sections 6.1 or 6.2 - above, all end user licenses that have been validly granted - by You or any distributor hereunder prior to termination - (excluding licenses granted to You by any distributor) - shall survive termination. - - 7. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE - INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF - COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE - LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR - CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT - LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK - STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL - INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT - APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO - NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR - CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT - APPLY TO YOU. - - 8. U.S. GOVERNMENT END USERS. - - The Covered Software is a "commercial item," as that term is - defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial - computer software" (as that term is defined at 48 C.F.R. - 252.227-7014(a)(1)) and "commercial computer software - documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. - 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 - through 227.7202-4 (June 1995), all U.S. Government End Users - acquire Covered Software with only those rights set forth herein. - This U.S. Government Rights clause is in lieu of, and supersedes, - any other FAR, DFAR, or other clause or provision that addresses - Government rights in computer software under this License. - - 9. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the - extent necessary to make it enforceable. This License shall be - governed by the law of the jurisdiction specified in a notice - contained within the Original Software (except to the extent - applicable law, if any, provides otherwise), excluding such - jurisdiction's conflict-of-law provisions. Any litigation - relating to this License shall be subject to the jurisdiction of - the courts located in the jurisdiction and venue specified in a - notice contained within the Original Software, with the losing - party responsible for costs, including, without limitation, court - costs and reasonable attorneys' fees and expenses. The - application of the United Nations Convention on Contracts for the - International Sale of Goods is expressly excluded. Any law or - regulation which provides that the language of a contract shall - be construed against the drafter shall not apply to this License. - You agree that You alone are responsible for compliance with the - United States export administration regulations (and the export - control laws and regulation of any other countries) when You use, - distribute or otherwise make available any Covered Software. - - 10. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or - indirectly, out of its utilization of rights under this License - and You agree to work with Initial Developer and Contributors to - distribute such responsibility on an equitable basis. Nothing - herein is intended or shall be deemed to constitute any admission - of liability. - -=============================================================================== - -JRuby, wsdl4j: - -Common Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - - a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and - b) in the case of each subsequent Contributor: - - i) changes to the Program, and - - ii) additions to the Program; - - where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. - -2. GRANT OF RIGHTS - - a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. - - b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. - - c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. - - d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: - - a) it complies with the terms and conditions of this Agreement; and - - b) its license agreement: - - i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; - - ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; - - iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and - - iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - - a) it must be made available under this Agreement; and - - b) a copy of this Agreement must be included with each copy of the Program. - -Contributors may not remove or alter any copyright notices contained within the Program. - -Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 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. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. - -=============================================================================== - -backport-util-concurrent: - -The software comprising backport-util-concurrent is based in large -part on the code from JSR166, and the package dl.util.concurrent. -The software has been released to the public domain, as explained at: -http://creativecommons.org/licenses/publicdomain, excepting portions -of the class -edu.emory.mathcs.backport.java.util.concurrent.CopyOnWriteArrayList, -which were adapted from class java.util.ArrayList, written by Sun -Microsystems, Inc, which are used with kind permission, and subject -to the following: - -Copyright 2002-2004 Sun Microsystems, Inc. All rights reserved. Use is -subject to the following license terms. - - "Sun hereby grants you a non-exclusive, worldwide, non-transferrable - license to use and distribute the Java Software technologies as part - of a larger work in source and binary forms, with or without - modification, provided that the following conditions are met: - - -Neither the name of or trademarks of Sun may be used to endorse or - promote products derived from the Java Software technology without - specific prior written permission. - - -Redistributions of source or binary code must be accompanied by the - following notice and disclaimers: - - Portions copyright Sun Microsystems, Inc. Used with kind permission. - - This software is provided AS IS, without a warranty of any kind. ALL - EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND - WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PUPOSE OR - NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN - MICROSYSTEMS, INC. AND ITS LICENSORS SHALL NOT BE LIABLE - FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF - USING, MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS - DERIVATIVES. IN NO EVENT WILL SUN MICROSYSTEMS, INC. OR - ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR - DATA, OR FOR DIRECT, INDIRECT,CONSQUENTIAL, INCIDENTAL - OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF - THE THEORY OR LIABILITY, ARISING OUT OF THE USE OF OR - INABILITY TO USE SOFTWARE, EVEN IF SUN MICROSYSTEMS, INC. - HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - You acknowledge that Software is not designed, licensed or intended for - use in the design, construction, operation or maintenance of any nuclear - facility." - -=============================================================================== -rome-0.9.jar - -Copyright 2004 Sun Microsystems, Inc. - -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. - -=============================================================================== -jdom-1.0.jar : - -$Id: LICENSE.txt,v 1.11 2004/02/06 09:32:57 jhunter Exp $ - - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions, and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions, and the disclaimer that follows - these conditions in the documentation and/or other materials - provided with the distribution. - - 3. The name "JDOM" must not be used to endorse or promote products - derived from this software without prior written permission. For - written permission, please contact . - - 4. Products derived from this software may not be called "JDOM", nor - may "JDOM" appear in their name, without prior written permission - from the JDOM Project Management . - - In addition, we request (but do not require) that you include in the - end-user documentation provided with the redistribution and/or in the - software itself an acknowledgement equivalent to the following: - "This product includes software developed by the - JDOM Project (http://www.jdom.org/)." - Alternatively, the acknowledgment may be graphical using the logos - available at http://www.jdom.org/images/logos. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 JDOM AUTHORS OR THE PROJECT - 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. - - This software consists of voluntary contributions made by many - individuals on behalf of the JDOM Project and was originally - created by Jason Hunter and - Brett McLaughlin . For more information - on the JDOM Project, please see . - -======================================================================== - -dwr-2.0.1.jar : - -/* -* Copyright 2005 Joe Walker -* -* 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. -*/ - -========================================================================== - -dojotoolkit : - -The "New" BSD License: -********************** - -Copyright (c) 2005, The Dojo Foundation -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 Dojo Foundation nor the names of its 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. - -================================================================================ - -The module tuscany-implementation-script-1.0-incubating.jar temporarily includes -one file under the below BSD license with the following copyright: - - Copyright (c) 2006, Sun Microsystems, Inc. - All rights reserved. - -BSD license: - - 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. - -================================================================================ - -The serp jar is distributed under the BSD license with the following copyright: - - Copyright (c) 2002, A. Abram White - All rights reserved. - -BSD license: - - 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. - -================================================================================ -The axion, javacc, and howl are distributed under the BSD license: - -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. - -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. - -================================================================================ - -The tuscany-assembly-xsd jar includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface -Definition files and XSD files. - -The Service Component Architecture JavaDoc, Interface Definition files, -and XSD files are being provided by the copyright holders under the -following license. By using and/or copying this work, you agree that -you have read, understood and will comply with the following terms and -conditions: - -Permission to copy, display, make derivative works of, and distribute -the Service Component Architecture JavaDoc, Interface Definition Files -and XSD files (the "Artifacts") in any medium without fee or royalty is -hereby granted, provided that you include the following on ALL copies -of the Artifacts, or portions thereof, that you make: - -1. A link or URL to the Artifacts at this location: -http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications - -2. The full text of this copyright notice as shown in the Artifacts. - -THE ARTIFACTS ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THE -ARTIFACTS AND THE IMPLEMENTATION OF THEIR CONTENTS, INCLUDING, BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, NON-INFRINGEMENT OR TITLE. - -THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY -USE OR DISTRIBUTION OF THE ARTIFACTS. - -The name and trademarks of the Authors may NOT be used in any manner, -including advertising or publicity pertaining to the Service Component -Architecture Specification or its contents without specific, written -prior permission. Title to copyright in the Service Component -Architecture Specification and the JavaDoc, Interface Definition Files -and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -Revision level 1.1, last updated on 2007/11/19 - -================================================================================ -License for the Service Data Objects JavaDoc and Interface Definition files. (tuscany-sdo-api-r2.1-1.0-incubating.jar) - -These files being ... -commonj/sdo/ChangeSummary$Setting.class -commonj/sdo/ChangeSummary.class -commonj/sdo/DataGraph.class -commonj/sdo/DataObject.class -commonj/sdo/helper/CopyHelper.class -commonj/sdo/helper/DataFactory.class -commonj/sdo/helper/DataHelper.class -commonj/sdo/helper/EqualityHelper.class -commonj/sdo/helper/HelperContext.class -commonj/sdo/helper/TypeHelper.class -commonj/sdo/helper/XMLDocument.class -commonj/sdo/helper/XMLHelper.class -commonj/sdo/helper/XSDHelper.class -commonj/sdo/impl/ExternalizableDelegator$Resolvable.class -commonj/sdo/impl/ExternalizableDelegator.class -commonj/sdo/Property.class -commonj/sdo/Sequence.class -commonj/sdo/Type.class -xml/datagraph.xsd -xml/sdoJava.xml -xml/sdoJava.xsd -xml/sdoModel.xml -xml/sdoModel.xsd -xml/sdoXML.xml -xml/sdoXML.xsd - - -License for the Service Data Objects JavaDoc and Interface Definition files. - -The Service Data Objects Specification is being provided by the copyright holders under the following -license. By using and/or copying this work, you agree that you have read, understood and will comply with -the following terms and conditions: - -Permission to copy, display and distribute the Service Data Objects Specification and/or portions thereof, without -modification, in any medium without fee or royalty is hereby granted, provided that you include the -following on ALL copies of the Service Data Objects Specification, or portions thereof, that you make: - -1. A link or URL to the Service Data Objects Specification at this location: -http://www.osoa.org/display/Main/Service+Data+Objects+Specifications - -2. The full text of this copyright notice as shown in the Service Data Objects Specification. - -BEA, IBM, Oracle, Primeton Technologies, Rogue Wave Software, SAP, Software AG, Sun Microsystems, Xcalia, -Zend Technologies (collectively, the “Authors”) agree to grant you a royalty-free license, under reasonable, -non-discriminatory terms and conditions to patents that they deem necessary to implement the Service Data -Objects Specification. - -THE Service Data Objects SPECIFICATION IS PROVIDED "AS IS," AND THE AUTHORS MAKE NO REPRESENTATIONS OR -WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SPECIFICATION AND THE IMPLEMENTATION OF ITS CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, -NON-INFRINGEMENT OR TITLE. THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL -OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THE SERVICE DATA OBJECTS -SPECIFICATION. - -The name and trademarks of the Authors may NOT be used in any manner, including advertising or publicity -pertaining to the Service Data Objects Specification or its contents without specific, written prior -permission. Title to copyright in the Service Data Objects Specification will at all times remain with the -Authors. - -No other rights are granted by implication, estoppel or otherwise. -================================================================================ - diff --git a/java/sca/contrib/distribution/war/src/main/release/NOTICE b/java/sca/contrib/distribution/war/src/main/release/NOTICE deleted file mode 100644 index 9d36d48f2e..0000000000 --- a/java/sca/contrib/distribution/war/src/main/release/NOTICE +++ /dev/null @@ -1,98 +0,0 @@ -Apache Tuscany -Copyright (c) 2005 - 2009 The Apache Software Foundation - -========================================================================= -== NOTICE file corresponding to the section 4 d of == -== the Apache License, Version 2.0, == -== in this case for the Apache Tuscany distribution. == -========================================================================= - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes/uses XmlSchema developed at -The Apache Software Foundation (http://ws.apache.org/commons/XmlSchema) - Portions Copyright 2006 International Business Machines Corp. - -This product includes/uses ode-bpel-api-1.1 developed at -The Apache Software Foundation (http://ode.apache.org) - - Copyright 1999-2006 Intalio - This product includes software developed by Intalio (http://www.intalio.com) - - Copyright 2006 Sybase - This product includes software developed by Sybase.(http://www.sybase.com) - -"This product includes software developed by the Spring Framework - Project (http://www.springframework.org)." - -This product includes/uses the Jetty Servlet Engine (http://jetty.mortbay.org), -developed by Mort Bay Consulting (http://www.mortbay.com) - -This product includes/uses the Groovy Script Engine (http://groovy.codehaus.org/), -Copyright 2003 (C) James Strachan and Bob Mcwhirter. All Rights Reserved. - -This product includes/uses the Jaxen XPATH engine (http://jaxen.org/) - Copyright 2003-2006 The Werken Company. All Rights Reserved. - -This product includes/uses software, AOP alliance (http://aopalliance.sourceforge.net) -License: Public Domain - -This product includes/uses JSON-RPC-Java (http://oss.metaparadigm.com/jsonrpc/) - -This product includes software from the GlassFish project (https://glassfish.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product includes software from the Rome project (https://rome.dev.java.net/) - Copyright (c) 2006, Sun Microsystems, Inc. - -This product also includes software developed by: -- the Eclipse Modeling Framework project (http://www.eclipse.org/emf/) -- the Mozilla Rhino project (http://www.mozilla.org/rhino/) - -This product includes/uses JDOM (http://www.jdom.org/) - Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. All rights reserved. - -This product includes/uses DWR (http://getahead.org/dwr) - Copyright 2005 Joe Walker. All rights reserved. - -This product includes/uses dojotoolkit (http://dojotoolkit.org/) - Copyright (c) 2005, The Dojo Foundation. All rights reserved. - -This product includes/uses Howl (http://howl.objectweb.org/) - Copyright (c) 2004, Bull S.A. - -This product includes/uses axion (http://axion.tigris.org/) - Copyright (c) 2002-2003 Axion Development Team. - -This product includes/uses javacc (https://javacc.dev.java.net/) - Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved. - -The Program includes all or portions of the following software: "The -Saxon XSLT and XQuery Processor from Saxonica Limited" distributed under -an MPL v1.0 license. Please refer to the homepage URL at -http://www.saxonica.com/. - -This product includes/uses Serp (http://serp.sourceforge.net/) under the BSD license: - Copyright (c) 2002, A. Abram White. All rights reserved. - -This product also includes software under the BSD license -with the following copyright: - - Copyright (c) 2006, Sun Microsystems, Inc. - All rights reserved. - -This product also includes software under the OSOA license -(see the LICENSE file contained in this distribution), with -the following copyright: - -(c) Copyright SCA Collaboration 2006, 2007 - -This product includes software under the Service Data Objects JavaDoc and -Interface Definition file license - -(c) Copyright BEA Systems, Inc., International Business Machines Corporation, -Oracle Corporation, Primeton Technologies Ltd., Rogue Wave Software, SAP AG., -Software AG., Sun Microsystems, Sybase Inc., Xcalia, Zend Technologies, -2005, 2006. All rights reserved. - -Please see the LICENSE file present in the root directory of this -distribution. - - diff --git a/java/sca/contrib/distribution/war/src/main/release/README b/java/sca/contrib/distribution/war/src/main/release/README deleted file mode 100644 index 7c5ba2db37..0000000000 --- a/java/sca/contrib/distribution/war/src/main/release/README +++ /dev/null @@ -1,12 +0,0 @@ -Apache Tuscany 1.2 WAR Distribution September 2007 README -========================================================= - -Welcome to the Tuscany SCA WAR Distribution see the RELEASE_NOTES -and CHANGES files for information specific to this release. - - - - - - - diff --git a/java/sca/contrib/distribution/war/src/main/webapp/web.xml b/java/sca/contrib/distribution/war/src/main/webapp/web.xml deleted file mode 100644 index 787ff847b0..0000000000 --- a/java/sca/contrib/distribution/war/src/main/webapp/web.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - Apache Tuscany WAR Distribution - - - org.apache.tuscany.sca.runtime.war.WarContextListener - - - - - - tuscany - org.apache.tuscany.sca.host.webapp.TuscanyServletFilter - - - - tuscany - /* - - - diff --git a/java/sca/contrib/distribution/war/war.xml b/java/sca/contrib/distribution/war/war.xml deleted file mode 100644 index 8fb1044714..0000000000 --- a/java/sca/contrib/distribution/war/war.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - false - - - war - - - - - - - src/main/release - - - * - - - - - - src/main/webapp - WEB-INF/ - - * - - - - - - ../../samples/feed-aggregator/target - repository/ - - *.jar - - - - ../../samples/helloworld-ws-service/target - repository/ - - *.jar - - - - - - - - - - WEB-INF/lib - false - - org.apache.tuscany.sca:sample-* - - runtime - - - - - diff --git a/java/sca/contrib/distribution/webapp/pom.xml b/java/sca/contrib/distribution/webapp/pom.xml deleted file mode 100644 index 6745a87c60..0000000000 --- a/java/sca/contrib/distribution/webapp/pom.xml +++ /dev/null @@ -1,355 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-sca - 2.0-SNAPSHOT - ../../pom.xml - - - Apache Tuscany SCA WebApp Runtime - tuscany-webapp - war - - - - ${pom.groupId} - tuscany-assembly - ${pom.version} - - - ${pom.groupId} - tuscany-assembly-xml - ${pom.version} - - - ${pom.groupId} - tuscany-binding-dwr - ${pom.version} - - - ${pom.groupId} - tuscany-binding-ejb - ${pom.version} - - - ${pom.groupId} - tuscany-binding-feed - ${pom.version} - - - ${pom.groupId} - tuscany-binding-http - ${pom.version} - - - ${pom.groupId} - tuscany-binding-jsonrpc - ${pom.version} - - - ${pom.groupId} - tuscany-binding-notification - ${pom.version} - - - ${pom.groupId} - tuscany-binding-rmi - ${pom.version} - - - ${pom.groupId} - tuscany-binding-rmi-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-binding-sca - ${pom.version} - - - ${pom.groupId} - tuscany-binding-sca-xml - ${pom.version} - - - ${pom.groupId} - tuscany-binding-ws - ${pom.version} - - - ${pom.groupId} - tuscany-binding-ws-axis2 - ${pom.version} - - - javax.servlet - servlet-api - - - junit - junit - - - - - ${pom.groupId} - tuscany-binding-ws-xml - ${pom.version} - - - ${pom.groupId} - tuscany-contribution - ${pom.version} - - - ${pom.groupId} - tuscany-contribution-impl - ${pom.version} - - - ${pom.groupId} - tuscany-contribution-java - ${pom.version} - - - ${pom.groupId} - tuscany-contribution-namespace - ${pom.version} - - - ${pom.groupId} - tuscany-core - ${pom.version} - - - ${pom.groupId} - tuscany-core-databinding - ${pom.version} - - - ${pom.groupId} - tuscany-core-spi - ${pom.version} - - - ${pom.groupId} - tuscany-core-spring - ${pom.version} - - - ${pom.groupId} - tuscany-databinding - ${pom.version} - - - ${pom.groupId} - tuscany-databinding-axiom - ${pom.version} - - - ${pom.groupId} - tuscany-databinding-jaxb - ${pom.version} - - - ${pom.groupId} - tuscany-databinding-sdo - ${pom.version} - - - ${pom.groupId} - tuscany-databinding-sdo-axiom - ${pom.version} - - - ${pom.groupId} - tuscany-definitions - ${pom.version} - - - ${pom.groupId} - tuscany-definitions-xml - ${pom.version} - - - ${pom.groupId} - tuscany-domain - ${pom.version} - - - ${pom.groupId} - tuscany-domain-api - ${pom.version} - - - ${pom.groupId} - tuscany-domain-impl - ${pom.version} - - - ${pom.groupId} - tuscany-extension-helper - ${pom.version} - - - ${pom.groupId} - tuscany-host-embedded - ${pom.version} - - - ${pom.groupId} - tuscany-host-http - ${pom.version} - - - ${pom.groupId} - tuscany-host-rmi - ${pom.version} - - - ${pom.groupId} - tuscany-host-webapp - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-java - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-java-xml - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-java-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-node - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-node-runtime - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-notification - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-resource - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-script - ${pom.version} - - - ${pom.groupId} - tuscany-implementation-spring - ${pom.version} - - - ${pom.groupId} - tuscany-interface - ${pom.version} - - - ${pom.groupId} - tuscany-interface-java - ${pom.version} - - - ${pom.groupId} - tuscany-interface-java-xml - ${pom.version} - - - ${pom.groupId} - tuscany-interface-wsdl - ${pom.version} - - - ${pom.groupId} - tuscany-interface-wsdl-xml - ${pom.version} - - - ${pom.groupId} - tuscany-node - ${pom.version} - - - ${pom.groupId} - tuscany-node-api - ${pom.version} - - - ${pom.groupId} - tuscany-node-impl - ${pom.version} - - - ${pom.groupId} - tuscany-policy - ${pom.version} - - - ${pom.groupId} - tuscany-policy-xml - ${pom.version} - - - ${pom.groupId} - tuscany-sca-api - ${pom.version} - - - javax.servlet - servlet-api - 2.3 - provided - - - commons-fileupload - commons-fileupload - 1.1.1 - - - commons-io - commons-io - 1.1 - - - - - tuscany - - diff --git a/java/sca/contrib/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/ContributionUploaderServlet.java b/java/sca/contrib/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/ContributionUploaderServlet.java deleted file mode 100644 index 9a0c66a776..0000000000 --- a/java/sca/contrib/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/ContributionUploaderServlet.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.webapp; - -import java.io.File; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.Iterator; -import java.util.List; - -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.commons.fileupload.FileItem; -import org.apache.commons.fileupload.FileItemFactory; -import org.apache.commons.fileupload.FileUploadException; -import org.apache.commons.fileupload.disk.DiskFileItemFactory; -import org.apache.commons.fileupload.servlet.ServletFileUpload; - -import org.apache.tuscany.sca.host.webapp.HotUpdateContextListener; - -/** - * A Servlet to upload a contribution file. - */ -public class ContributionUploaderServlet extends HttpServlet { - - private static final long serialVersionUID = System.currentTimeMillis(); - - private File repository; - - @Override - public void init(ServletConfig config) throws ServletException { - ServletContext servletContext = config.getServletContext(); - repository = new File(servletContext.getRealPath(HotUpdateContextListener.REPOSITORY_FOLDER_NAME)); - } - - @Override - public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { - // Check that we have a file upload request - boolean isMultipart = ServletFileUpload.isMultipartContent(request); - if (!isMultipart) { - throw new RuntimeException("Need multipart content"); - } - - // Create a factory for disk-based file items - FileItemFactory factory = new DiskFileItemFactory(); - - // Create a new file upload handler - ServletFileUpload upload = new ServletFileUpload(factory); - - try { - // Parse the request - List /* FileItem */ items = upload.parseRequest(request); - // Process the uploaded items - Iterator iter = items.iterator(); - while (iter.hasNext()) { - FileItem item = (FileItem) iter.next(); - - if (!item.isFormField()) { - String fileName = item.getName(); - int index = fileName.lastIndexOf("\\") + 1; - String uploadedFileName = repository.getAbsolutePath() + "/" + fileName.substring(index); - File uploadedFile = new File(uploadedFileName); - item.write(uploadedFile); - } - } - } - catch(FileUploadException e) { - throw new RuntimeException(e); - } - catch(Throwable e) { - e.printStackTrace(); - throw new RuntimeException(e); - } - - setResponse(response, request); - } - - private void setResponse(HttpServletResponse response, HttpServletRequest request) throws IOException { - response.setContentType("text/html"); - PrintWriter out = response.getWriter(); - out.println(""); - out.println(""); - out.println("Apache Tuscany WebApp Runtime"); - out.println(""); - out.println(""); - out.println("

Composite file uploaded

"); - int port = request.getServerPort(); - String portSubStr = ((port == -1) ? "" : (":" + request.getServerPort())); - String backPath = request.getScheme() + "://" + request.getServerName() + portSubStr + request.getContextPath(); - out.println("Go back"); - out.println(""); - out.println(""); - } -} diff --git a/java/sca/contrib/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/WarContextListener.java b/java/sca/contrib/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/WarContextListener.java deleted file mode 100644 index e46cadfa3d..0000000000 --- a/java/sca/contrib/distribution/webapp/src/main/java/org/apache/tuscany/sca/webapp/WarContextListener.java +++ /dev/null @@ -1,304 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.webapp; - -import java.io.File; -import java.io.FilenameFilter; -import java.net.MalformedURLException; -import java.net.URISyntaxException; -import java.net.URL; -import java.net.URLClassLoader; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.servlet.ServletContext; -import javax.servlet.ServletContextEvent; -import javax.servlet.ServletContextListener; - -import org.apache.tuscany.sca.domain.SCADomain; -import org.apache.tuscany.sca.node.NodeException; -import org.apache.tuscany.sca.node.SCANode; -import org.apache.tuscany.sca.node.SCANodeFactory; - -/** - * A ServletContextListener for the Tuscany WAR distribution. - * - * Starts and stops a Tuscany SCA domain Node for the webapp. - */ -public class WarContextListener implements ServletContextListener { - private final static Logger logger = Logger.getLogger(WarContextListener.class.getName()); - - protected SCANode node; - protected SCADomain domain; - protected AddableURLClassLoader classLoader; - protected File repository; - - protected boolean useHotUpdate; - protected long hotDeployInterval = 2000; // 2 seconds, 0 = no hot deploy - protected Thread hotDeployThread; - protected boolean stopHotDeployThread; - - protected HashMap existingContributions; // value is last modified time - - private String domainName; - private String nodeName; - - protected static final String NODE_ATTRIBUTE = WarContextListener.class.getName() + ".TuscanyNode"; - protected static final String REPOSITORY_FOLDER_NAME = "sca-contributions"; - - public void contextInitialized(ServletContextEvent event) { - ServletContext servletContext = event.getServletContext(); - initParameters(servletContext); - try { - - initNode(); - - } catch (Throwable e) { - e.printStackTrace(); - servletContext.log("exception initializing SCA node", e); - } - } - - public void contextDestroyed(ServletContextEvent event) { - if (node != null) { - stopNode(); - } - } - - protected void stopNode() { - try { - - node.stop(); - logger.log(Level.INFO, "SCA node stopped"); - - } catch (Throwable e) { - e.printStackTrace(); - logger.log(Level.SEVERE, "exception stopping SCA Node", e); - } - } - - protected void initNode() throws NodeException, URISyntaxException { - logger.log(Level.INFO, "SCA node starting"); - - classLoader = new AddableURLClassLoader(new URL[] {}, Thread.currentThread().getContextClassLoader()); - Thread.currentThread().setContextClassLoader(classLoader); - - SCANodeFactory nodeFactory = SCANodeFactory.newInstance(); - node = nodeFactory.createSCANode(nodeName, domainName); - domain = node.getDomain(); - - existingContributions = new HashMap(); - URL[] contributions = getContributionJarURLs(repository); - for (URL contribution : contributions) { - addContribution(contribution); - } - - node.start(); - - initHotDeploy(repository); - } - - protected void addContribution(URL contribution) throws URISyntaxException, NodeException { - classLoader.addURL(contribution); - node.addContribution(contribution.toString(), contribution); - existingContributions.put(contribution, new Long(new File(contribution.toURI()).lastModified())); - logger.log(Level.INFO, "Added contribution: " + contribution); - } - - protected URL[] getContributionJarURLs(File repositoryDir) { - - String[] jarNames = repositoryDir.list(new FilenameFilter() { - public boolean accept(File dir, String name) { - return name.endsWith(".jar"); - }}); - - List contributionJars = new ArrayList(); - if (jarNames != null) { - for (String jar : jarNames) { - try { - contributionJars.add(new File(repositoryDir, jar).toURL()); - } catch (MalformedURLException e) { - throw new RuntimeException(e); - } - } - } - - return contributionJars.toArray(new URL[contributionJars.size()]); - } - - private 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("Tuscany contribution hot deploy stopped"); - } - }; - hotDeployThread = new Thread(runable, "TuscanyHotDeploy"); - stopHotDeployThread = false; - hotDeployThread.start(); - } - - protected void checkForUpdates(File repository) { - URL[] currentContributions = getContributionJarURLs(repository); - - List addedContributions = getAddedContributions(currentContributions); - for (URL contribution : addedContributions) { - try { - addContribution(contribution); - // node.startContribution(contribution.toString()); - } catch (Throwable e) { - e.printStackTrace(); - logger.log(Level.WARNING, "Exception adding contribution: " + e); - } - } - if (addedContributions.size() > 0) { - try { - node.start(); - } catch (NodeException e) { - e.printStackTrace(); - logger.log(Level.WARNING, "Exception restarting node for added contributions: " + e); - } - } - - if (useHotUpdate && areContributionsAltered(currentContributions)) { - stopNode(); - try { - initNode(); - } catch (Throwable e) { - e.printStackTrace(); - logger.log(Level.SEVERE, "exception starting SCA Node", e); - } - } - } - - protected List getAddedContributions(URL[] currentContrabutions) { - List urls = new ArrayList(); - for (URL url : currentContrabutions) { - if (!existingContributions.containsKey(url)) { - urls.add(url); - } - } - return urls; - } - - protected boolean areContributionsAltered(URL[] currentContrabutions) { - try { - - List removedContributions = getRemovedContributions(currentContrabutions); - List updatedContributions = getUpdatedContributions(currentContrabutions); - - return (removedContributions.size() > 0 || updatedContributions.size() > 0); - - } catch (URISyntaxException e) { - throw new RuntimeException(e); - } - } - - protected List getUpdatedContributions(URL[] currentContrabutions) throws URISyntaxException { - List urls = new ArrayList(); - 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 currentUrls = Arrays.asList(currentContrabutions); - List urls = new ArrayList(); - 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 initParameters(ServletContext servletContext) { - if (servletContext.getInitParameter("domainName") != null) { - domainName = servletContext.getInitParameter("domainName"); - } else { - domainName = null; - } - - if (servletContext.getInitParameter("nodeName") != null) { - nodeName = servletContext.getInitParameter("nodeName"); - } else { - nodeName = "DefaultNode"; - } - - if (servletContext.getInitParameter("hotDeployInterval") != null) { - hotDeployInterval = Long.parseLong(servletContext.getInitParameter("hotDeployInterval")); - } - - useHotUpdate = Boolean.valueOf(servletContext.getInitParameter("hotUpdate")).booleanValue(); - - if (servletContext.getInitParameter("repositoryFolder") != null) { - repository = new File(servletContext.getInitParameter("repositoryFolder")); - } else { - repository = new File(servletContext.getRealPath(REPOSITORY_FOLDER_NAME)); - } - logger.info("Tuscany Contribution Repository -> " + repository); - } - -} - -class AddableURLClassLoader extends URLClassLoader { - - public AddableURLClassLoader(URL[] urls, ClassLoader parent) { - super(urls, parent); - } - - /** - * Make URLClassLoader addURL public - */ - @Override - public void addURL(URL url) { - super.addURL(url); - } - -} diff --git a/java/sca/contrib/distribution/webapp/src/main/webapp/WEB-INF/web.xml b/java/sca/contrib/distribution/webapp/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 8e65a9b96d..0000000000 --- a/java/sca/contrib/distribution/webapp/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - Apache Tuscany WebApp Runtime - - - org.apache.tuscany.sca.webapp.WarContextListener - - - - repositoryFolder - /TuscanyRepository - - - - - - nodeName - http://localhost:8080/ - - - - hotDeployInterval - 2000 - - - - hotUpdate - no - - - - tuscany - org.apache.tuscany.sca.host.webapp.TuscanyServletFilter - - - - tuscany - /* - - - diff --git a/java/sca/contrib/distribution/webapp/src/main/webapp/sca-contributions/safeToDelete.tmp b/java/sca/contrib/distribution/webapp/src/main/webapp/sca-contributions/safeToDelete.tmp deleted file mode 100644 index 4efe4b5db3..0000000000 --- a/java/sca/contrib/distribution/webapp/src/main/webapp/sca-contributions/safeToDelete.tmp +++ /dev/null @@ -1 +0,0 @@ -File just to get the sca-contributions folder included in webapp \ No newline at end of file diff --git a/java/sca/contrib/distribution/webapp/src/main/webapp/sca-contributions/sample-calculator-nodeB.jar b/java/sca/contrib/distribution/webapp/src/main/webapp/sca-contributions/sample-calculator-nodeB.jar deleted file mode 100644 index 0df7ab8d74..0000000000 Binary files a/java/sca/contrib/distribution/webapp/src/main/webapp/sca-contributions/sample-calculator-nodeB.jar and /dev/null differ diff --git a/java/sca/contrib/distribution/webapp/src/main/webapp/sca-contributions/sample-helloworld-ws-service.jar b/java/sca/contrib/distribution/webapp/src/main/webapp/sca-contributions/sample-helloworld-ws-service.jar deleted file mode 100644 index acf47451b3..0000000000 Binary files a/java/sca/contrib/distribution/webapp/src/main/webapp/sca-contributions/sample-helloworld-ws-service.jar and /dev/null differ diff --git a/java/sca/contrib/distribution/webapp/src/main/webapp/scaDomainInfo.jsp b/java/sca/contrib/distribution/webapp/src/main/webapp/scaDomainInfo.jsp deleted file mode 100644 index c92c164cfb..0000000000 --- a/java/sca/contrib/distribution/webapp/src/main/webapp/scaDomainInfo.jsp +++ /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. ---%> - -<%@ page import="org.apache.tuscany.sca.host.embedded.SCADomain"%> -<%@ page import="org.apache.tuscany.sca.host.embedded.management.ComponentManager"%> -<%@ page import="org.apache.tuscany.sca.assembly.ComponentService"%> -<%@ page import="org.apache.tuscany.sca.assembly.Binding"%> - -<%@ page contentType="text/html;charset=UTF-8" language="java" %> -<% - SCADomain scaDomain = (SCADomain) application.getAttribute("org.apache.tuscany.sca.SCADomain"); - ComponentManager componentManager = scaDomain.getComponentManager(); -%> - -Apache Tuscany WebApp Runtime - - -Apache Tuscany WebApp Runtime -
-Components in SCA Domain: - <% - java.util.Iterator i = componentManager.getComponentNames().iterator(); - while (i.hasNext()) { - String compName = i.next().toString(); - - %>
<%=compName%>
<% - - org.apache.tuscany.sca.assembly.Component comp = componentManager.getComponent(compName); - java.util.Iterator j = comp.getServices().iterator(); - while (j.hasNext()) { - ComponentService compService = (ComponentService)j.next(); - - %><%=" - Service: " + compService.getName()%>
<% - - java.util.Iterator k = compService.getBindings().iterator(); - while (k.hasNext()) { - Binding b = (Binding)k.next(); - String bindingType = b.getClass().getName(); - - %><%="-- Binding: " + b.getName() + "(" + bindingType.substring(bindingType.lastIndexOf('.')+1) + ") URI: " + b.getURI()%>
<% - } - } - } - %> -
- -
-You can fill in a composite file to upload - -
-Composite file to upload:
-
- to upload the composite file -
- - - - diff --git a/java/sca/contrib/modules/api/LICENSE b/java/sca/contrib/modules/api/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/api/NOTICE b/java/sca/contrib/modules/api/NOTICE deleted file mode 100644 index 51042eab05..0000000000 --- a/java/sca/contrib/modules/api/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/api/pom.xml b/java/sca/contrib/modules/api/pom.xml deleted file mode 100644 index 92f6bf9189..0000000000 --- a/java/sca/contrib/modules/api/pom.xml +++ /dev/null @@ -1,304 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-api - Apache Tuscany SCA API - - - - org.apache.tuscany.sca - tuscany-sca-api - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-extensibility - - - org.apache.tuscany.sca - tuscany-core - - - org.apache.tuscany.sca - tuscany-definitions - - - org.apache.tuscany.sca - tuscany-definitions-xml - - - org.apache.tuscany.sca - tuscany-assembly-xml - - - org.apache.tuscany.sca - tuscany-binding-sca - - - org.apache.tuscany.sca - tuscany-binding-sca-xml - - - org.apache.tuscany.sca - tuscany-contribution-impl - - - org.apache.tuscany.sca - tuscany-policy-xml - - - org.apache.tuscany.sca - tuscany-core-databinding - - - org.apache.tuscany.sca - tuscany-assembly-xsd - - - org.apache.tuscany.sca - tuscany-policy-xml - - - org.apache.tuscany.sca - tuscany-endpoint - - - - - - - - - - - src/main/resources - - **/* - - - - - - - - org.apache.maven.plugins - maven-shade-plugin - - - - package - - shade - - - org.apache.tuscany.sca - - false - ${createSourcesJar} - false - true - - - - - - org.apache.tuscany.sca:tuscany-host-embedded - - org/apache/tuscany/sca/host/embedded/impl/** - - - - ${project.groupId}:${project.artifactId} - - - org/** - - - - - - - META-INF/services/org.apache.tuscany.sca.assembly.AssemblyFactory - - - META-INF/services/org.apache.tuscany.sca.assembly.SCABindingFactory - - - META-INF/services/org.apache.tuscany.sca.binding.feed.AtomBindingFactory - - - META-INF/services/org.apache.tuscany.sca.binding.feed.RSSBindingFactory - - - META-INF/services/org.apache.tuscany.sca.binding.atom.AtomBindingFactory - - - META-INF/services/org.apache.tuscany.sca.binding.rss.RSSBindingFactory - - - META-INF/services/org.apache.tuscany.sca.binding.http.HTTPResourceBindingFactory - - - META-INF/services/org.apache.tuscany.sca.contribution.ContributionFactory - - - META-INF/services/org.apache.tuscany.sca.contribution.java.JavaImportExportFactory - - - META-INF/services/org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory - - - META-INF/services/org.apache.tuscany.sca.contribution.processor.ContributionPostProcessorExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor - - - META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessorExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor - - - META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor - - - META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver - - - META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener - - - META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListenerExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.core.ModuleActivator - - - META-INF/services/org.apache.tuscany.sca.databinding.DataBinding - - - META-INF/services/org.apache.tuscany.sca.databinding.DataBindingExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer - - - META-INF/services/org.apache.tuscany.sca.databinding.PushTransformer - - - META-INF/services/org.apache.tuscany.sca.databinding.TransformerExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator - - - META-INF/services/org.apache.tuscany.sca.extension.helper.ImplementationActivator - - - META-INF/services/org.apache.tuscany.sca.host.http.ServletHostExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.host.rmi.RMIHostExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.implementation.java.JavaImplementationFactory - - - META-INF/services/org.apache.tuscany.sca.implementation.resource.ResourceImplementationFactory - - - META-INF/services/org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceVisitor - - - META-INF/services/org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory - - - META-INF/services/org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory - - - META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory - - - META-INF/services/org.apache.tuscany.sca.provider.ImplementationProviderFactory - - - META-INF/services/org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint - - - META-INF/services/org.apache.tuscany.sca.spi.ImplementationActivator - - - META-INF/services/org.apache.tuscany.sca.work.WorkScheduler - - - META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler - - - META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory - - - META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-java-dsl/LICENSE b/java/sca/contrib/modules/assembly-java-dsl/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/assembly-java-dsl/NOTICE b/java/sca/contrib/modules/assembly-java-dsl/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/assembly-java-dsl/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/assembly-java-dsl/pom.xml b/java/sca/contrib/modules/assembly-java-dsl/pom.xml deleted file mode 100644 index 8da66dbfef..0000000000 --- a/java/sca/contrib/modules/assembly-java-dsl/pom.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-assembly-java-dsl - Apache Tuscany SCA Assembly Model Java DSL - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.assembly.java.dsl - ${pom.name} - org.apache.tuscany.assembly.java.dsl* - - - - - - diff --git a/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/AssemblyBuilder.java b/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/AssemblyBuilder.java deleted file mode 100644 index 28a5ecdc24..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentBuilder.java b/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentBuilder.java deleted file mode 100644 index 3d97041907..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentPropertyBuilder.java b/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentPropertyBuilder.java deleted file mode 100644 index 7f3c89fd2f..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentReferenceBuilder.java b/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentReferenceBuilder.java deleted file mode 100644 index 8966a4be9d..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentServiceBuilder.java b/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/ComponentServiceBuilder.java deleted file mode 100644 index f3e36e8c38..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/CompositeBuilder.java b/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/CompositeBuilder.java deleted file mode 100644 index e2108b5ef8..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/AssemblyBuilderImpl.java b/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/AssemblyBuilderImpl.java deleted file mode 100644 index 0968310548..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentBuilderImpl.java b/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentBuilderImpl.java deleted file mode 100644 index 9022b9d9e6..0000000000 --- a/java/sca/contrib/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 references = getReferences(); - for (ComponentReferenceBuilder componentReference: componentReferences) { - references.add((ComponentReference)componentReference); - } - return this; - } - - public ComponentBuilder provides(ComponentServiceBuilder... componentServices) { - List services = getServices(); - for (ComponentServiceBuilder componentService: componentServices) { - services.add((ComponentService)componentService); - } - return this; - } - - public ComponentBuilder declares(ComponentPropertyBuilder...componentProperties) { - List properties = getProperties(); - for (ComponentPropertyBuilder componentProperty: componentProperties) { - properties.add((ComponentProperty)componentProperty); - } - return this; - } - -} diff --git a/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentPropertyBuilderImpl.java b/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentPropertyBuilderImpl.java deleted file mode 100644 index 49f7cd46b2..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentReferenceBuilderImpl.java b/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentReferenceBuilderImpl.java deleted file mode 100644 index d9aab9de22..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentServiceBuilderImpl.java b/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/ComponentServiceBuilderImpl.java deleted file mode 100644 index 379429d17e..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/CompositeBuilderImpl.java b/java/sca/contrib/modules/assembly-java-dsl/src/main/java/org/apache/tuscany/sca/assembly/dsl/impl/CompositeBuilderImpl.java deleted file mode 100644 index 709562cd72..0000000000 --- a/java/sca/contrib/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 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 list = getIncludes(); - for (CompositeBuilder composite: compositeBuilders) { - list.add((Composite)composite); - } - return this; - } - -} diff --git a/java/sca/contrib/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataService.java b/java/sca/contrib/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataService.java deleted file mode 100644 index ba91fd2168..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataServiceImpl.java b/java/sca/contrib/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountDataServiceImpl.java deleted file mode 100644 index 4e239d03d3..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountService.java b/java/sca/contrib/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountService.java deleted file mode 100644 index 030c820ed2..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountServiceImpl.java b/java/sca/contrib/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/AccountServiceImpl.java deleted file mode 100644 index 92f448ec87..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilder.java b/java/sca/contrib/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilder.java deleted file mode 100644 index b856201551..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilderTestCase.java b/java/sca/contrib/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/BigBankBuilderTestCase.java deleted file mode 100644 index fb950b5c13..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/StockQuoteService.java b/java/sca/contrib/modules/assembly-java-dsl/src/test/java/org/apache/tuscany/sca/assembly/dsl/StockQuoteService.java deleted file mode 100644 index a0580095a0..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/assembly-xml/LICENSE b/java/sca/contrib/modules/assembly-xml/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/assembly-xml/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/java/sca/contrib/modules/assembly-xml/META-INF/MANIFEST.MF b/java/sca/contrib/modules/assembly-xml/META-INF/MANIFEST.MF deleted file mode 100644 index ccfe6de575..0000000000 --- a/java/sca/contrib/modules/assembly-xml/META-INF/MANIFEST.MF +++ /dev/null @@ -1,39 +0,0 @@ -Manifest-Version: 1.0 -Export-Package: org.apache.tuscany.sca.assembly.xml;uses:="org.apache. - tuscany.sca.definitions,javax.xml.transform.dom,org.apache.tuscany.sc - a.core,org.apache.tuscany.sca.policy,javax.xml.namespace,org.apache.t - uscany.sca.contribution.java,javax.xml.stream,org.apache.tuscany.sca. - contribution.resolver,org.apache.tuscany.sca.policy.util,org.apache.t - uscany.sca.assembly,javax.xml.parsers,org.apache.tuscany.sca.contribu - tion,org.apache.tuscany.sca.monitor,org.w3c.dom,org.apache.tuscany.sc - a.interfacedef,org.apache.tuscany.sca.contribution.namespace,javax.xm - l.xpath,javax.xml.transform,org.apache.tuscany.sca.contribution.proce - ssor,org.apache.tuscany.sca.interfacedef.impl";version="2.0" -Tool: Bnd-0.0.255 -Bundle-Name: Apache Tuscany SCA XML Assembly Model -Created-By: 1.6.0_07 (Sun Microsystems Inc.) -Bundle-Vendor: The Apache Software Foundation -Bundle-Version: 2.0 -Bnd-LastModified: 1225397124328 -Bundle-ManifestVersion: 2 -Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt -Bundle-Description: Apache Tuscany SCA XML Assembly Model -Import-Package: javax.xml.namespace,javax.xml.parsers,javax.xml.stream - ,javax.xml.transform,javax.xml.transform.dom,javax.xml.xpath,org.apac - he.tuscany.sca.assembly;version="2.0",org.apache.tuscany.sca.assembly - .xml;version="2.0",org.apache.tuscany.sca.contribution;version="2.0", - org.apache.tuscany.sca.contribution.java;version="2.0",org.apache.tus - cany.sca.contribution.namespace;version="2.0",org.apache.tuscany.sca. - contribution.processor;version="2.0",org.apache.tuscany.sca.contribut - ion.resolver;version="2.0",org.apache.tuscany.sca.core;version="2.0", - org.apache.tuscany.sca.definitions;version="2.0",org.apache.tuscany.s - ca.interfacedef;version="2.0",org.apache.tuscany.sca.interfacedef.imp - l;version="2.0",org.apache.tuscany.sca.monitor;version="2.0",org.apac - he.tuscany.sca.policy;version="2.0",org.apache.tuscany.sca.policy.uti - l;version="2.0",org.w3c.dom,org.xml.sa - x;resolution:=optional,javax.xml - .validation;resolution:=optional,org.apache.tuscany.sca.assembly.buil - der;version="2.0";resolution:=optional -Bundle-SymbolicName: org.apache.tuscany.sca.assembly.xml -Bundle-DocURL: http://www.apache.org/ - diff --git a/java/sca/contrib/modules/assembly-xml/NOTICE b/java/sca/contrib/modules/assembly-xml/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/assembly-xml/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/assembly-xml/pom.xml b/java/sca/contrib/modules/assembly-xml/pom.xml deleted file mode 100644 index e8bb73d2b5..0000000000 --- a/java/sca/contrib/modules/assembly-xml/pom.xml +++ /dev/null @@ -1,141 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-assembly-xml - Apache Tuscany SCA XML Assembly Model - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-definitions - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-policy - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-contribution - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-contribution-namespace - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-contribution-java - 2.0-SNAPSHOT - - - - javax.xml.stream - stax-api - 1.0-2 - - - - org.codehaus.woodstox - wstx-asl - 3.2.4 - runtime - - - stax - stax-api - - - - - - org.apache.tuscany.sca - tuscany-definitions-xml - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-policy-xml - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-policy-xml-ws - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-assembly-xsd - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-contribution-impl - 2.0-SNAPSHOT - test - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.assembly.xml - ${pom.name} - org.apache.tuscany.sca.assembly.xml* - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/BaseAssemblyProcessor.java b/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/BaseAssemblyProcessor.java deleted file mode 100644 index 80c5e807fe..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/BaseAssemblyProcessor.java +++ /dev/null @@ -1,926 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI; -import static javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI; - -import java.util.ArrayList; -import java.util.List; -import java.util.StringTokenizer; - -import javax.xml.namespace.QName; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamConstants; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; -import javax.xml.transform.dom.DOMSource; - -import org.apache.tuscany.sca.assembly.AbstractContract; -import org.apache.tuscany.sca.assembly.AbstractProperty; -import org.apache.tuscany.sca.assembly.AbstractReference; -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.Base; -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Component; -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.ConfiguredOperation; -import org.apache.tuscany.sca.assembly.ConstrainingType; -import org.apache.tuscany.sca.assembly.Contract; -import org.apache.tuscany.sca.assembly.Extensible; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.assembly.Multiplicity; -import org.apache.tuscany.sca.assembly.OperationsConfigurator; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.contribution.ContributionFactory; -import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXAttributeProcessor; -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.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentAttachPoint; -import org.apache.tuscany.sca.policy.IntentAttachPointType; -import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory; -import org.apache.tuscany.sca.policy.PolicyFactory; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.impl.IntentAttachPointTypeFactoryImpl; -import org.apache.tuscany.sca.policy.util.PolicyValidationException; -import org.apache.tuscany.sca.policy.util.PolicyValidationUtils; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -/** - * A base class with utility methods for the other artifact processors in this module. - * - * @version $Rev$ $Date$ - */ -abstract class BaseAssemblyProcessor extends BaseStAXArtifactProcessor implements Constants { - - protected ContributionFactory contributionFactory; - protected AssemblyFactory assemblyFactory; - protected PolicyFactory policyFactory; - protected StAXArtifactProcessor extensionProcessor; - protected PolicyAttachPointProcessor policyProcessor; - private DocumentBuilderFactory documentBuilderFactory; - protected IntentAttachPointTypeFactory intentAttachPointTypeFactory; - private Monitor monitor; - - /** - * Constructs a new BaseArtifactProcessor. - * @param contribFactory - * @param factory - * @param policyFactory - */ - @SuppressWarnings("unchecked") - public BaseAssemblyProcessor(ContributionFactory contribFactory, - AssemblyFactory factory, - PolicyFactory policyFactory, - StAXArtifactProcessor extensionProcessor, - Monitor monitor) { - this.assemblyFactory = factory; - this.policyFactory = policyFactory; - this.extensionProcessor = (StAXArtifactProcessor)extensionProcessor; - this.contributionFactory = contribFactory; - this.policyProcessor = new PolicyAttachPointProcessor(policyFactory); - this.intentAttachPointTypeFactory = new IntentAttachPointTypeFactoryImpl(); - this.monitor = monitor; - } - - /** - * Constructs a new BaseArtifactProcessor. - * @param factory - * @param policyFactory - */ - @SuppressWarnings("unchecked") - public BaseAssemblyProcessor(AssemblyFactory factory, - PolicyFactory policyFactory, - StAXArtifactProcessor extensionProcessor, - Monitor monitor) { - this.assemblyFactory = factory; - this.policyFactory = policyFactory; - this.extensionProcessor = (StAXArtifactProcessor)extensionProcessor; - this.policyProcessor = new PolicyAttachPointProcessor(policyFactory); - this.monitor = monitor; - - //TODO - this constructor should take a monitor too. - } - - /** - * Marshals warnings into the monitor - * - * @param message - * @param model - * @param messageParameters - */ - protected void warning(String message, Object model, String... messageParameters) { - if (monitor != null){ - Problem problem = new ProblemImpl(this.getClass().getName(), "assembly-xml-validation-messages", Severity.WARNING, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Marshals errors into the monitor - * - * @param problems - * @param message - * @param model - */ - protected void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "assembly-xml-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Marshals exceptions into the monitor - * - * @param problems - * @param message - * @param model - */ - protected void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "assembly-xml-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - /** - * Start an element. - * @param writer - * @param name - * @param attrs - * @throws XMLStreamException - */ - protected void writeStart(XMLStreamWriter writer, String name, XAttr... attrs) throws XMLStreamException { - writeStart(writer, SCA10_NS, name, attrs); - } - - /** - * Start a document. - * @param writer - * @throws XMLStreamException - */ - protected void writeStartDocument(XMLStreamWriter writer, String name, XAttr... attrs) throws XMLStreamException { - writer.writeStartDocument(); - writer.setDefaultNamespace(SCA10_NS); - writeStart(writer, SCA10_NS, name, attrs); - writer.writeDefaultNamespace(SCA10_NS); - } - - /** - * Read list of reference targets - * @param reference - * @param reader - */ - protected void readTargets(Reference reference, XMLStreamReader reader) { - String value = reader.getAttributeValue(null, TARGET); - ComponentService target = null; - if (value != null) { - for (StringTokenizer tokens = new StringTokenizer(value); tokens.hasMoreTokens();) { - target = assemblyFactory.createComponentService(); - target.setUnresolved(true); - target.setName(tokens.nextToken()); - reference.getTargets().add(target); - } - } - } - - /** - * Write a list of targets into an attribute - * @param reference - * @return - */ - protected XAttr writeTargets(Reference reference) { - List targets = new ArrayList(); - for (Service target : reference.getTargets()) { - targets.add(target.getName()); - } - return new XAttr(TARGET, targets); - } - - /** - * Read a multiplicity attribute. - * @param reference - * @param reader - */ - protected void readMultiplicity(AbstractReference reference, XMLStreamReader reader) { - String value = reader.getAttributeValue(null, MULTIPLICITY); - if (ZERO_ONE.equals(value)) { - reference.setMultiplicity(Multiplicity.ZERO_ONE); - } else if (ONE_N.equals(value)) { - reference.setMultiplicity(Multiplicity.ONE_N); - } else if (ZERO_N.equals(value)) { - reference.setMultiplicity(Multiplicity.ZERO_N); - } else if (ONE_ONE.equals(value)) { - reference.setMultiplicity(Multiplicity.ONE_ONE); - } - } - - protected XAttr writeMultiplicity(AbstractReference reference) { - Multiplicity multiplicity = reference.getMultiplicity(); - if (multiplicity != null) { - String value = null; - if (Multiplicity.ZERO_ONE.equals(multiplicity)) { - value = ZERO_ONE; - } else if (Multiplicity.ONE_N.equals(multiplicity)) { - value = ONE_N; - } else if (Multiplicity.ZERO_N.equals(multiplicity)) { - value = ZERO_N; - } else if (Multiplicity.ONE_ONE.equals(multiplicity)) { - value = ONE_ONE; - return null; - } - return new XAttr(MULTIPLICITY, value); - } - return null; - } - - /** - * Returns the value of a constrainingType attribute. - * @param reader - * @return - */ - protected ConstrainingType readConstrainingType(XMLStreamReader reader) { - QName constrainingTypeName = getQName(reader, Constants.CONSTRAINING_TYPE); - if (constrainingTypeName != null) { - ConstrainingType constrainingType = assemblyFactory.createConstrainingType(); - constrainingType.setName(constrainingTypeName); - constrainingType.setUnresolved(true); - return constrainingType; - } else { - return null; - } - } - - /** - * Reads an abstract property element. - * @param property - * @param reader - * @throws XMLStreamException - * @throws ContributionReadException - */ - protected void readAbstractProperty(AbstractProperty property, XMLStreamReader reader) throws XMLStreamException, - ContributionReadException { - - property.setName(getString(reader, NAME)); - property.setMany(getBoolean(reader, MANY)); - property.setMustSupply(getBoolean(reader, MUST_SUPPLY)); - property.setXSDElement(getQName(reader, ELEMENT)); - property.setXSDType(getQName(reader, TYPE)); - } - - /** - * Resolve an implementation. - * @param implementation - * @param resolver - * @return - * @throws ContributionResolveException - */ - protected Implementation resolveImplementation(Implementation implementation, ModelResolver resolver) - throws ContributionResolveException, PolicyValidationException { - if (implementation != null) { - if (implementation.isUnresolved()) { - implementation = resolver.resolveModel(Implementation.class, implementation); - - // Lazily resolve implementations - if (implementation.isUnresolved()) { - extensionProcessor.resolve(implementation, resolver); - if (!implementation.isUnresolved()) { - //resolve policies - if ( implementation instanceof PolicySetAttachPoint ) { - PolicySetAttachPoint policiedImpl = (PolicySetAttachPoint)implementation; - resolveIntents(policiedImpl.getRequiredIntents(), resolver); - PolicyValidationUtils.validateIntents(policiedImpl, policiedImpl.getType()); - - resolvePolicySets(policiedImpl.getPolicySets(), resolver); - PolicyValidationUtils.validatePolicySets(policiedImpl); - - if ( implementation instanceof OperationsConfigurator ) { - OperationsConfigurator opsConfigurator = (OperationsConfigurator)implementation; - for ( ConfiguredOperation implOp : opsConfigurator.getConfiguredOperations() ) { - resolveIntents(implOp.getRequiredIntents(), resolver); - PolicyValidationUtils.validateIntents(implOp, policiedImpl.getType()); - - resolvePolicySets(implOp.getPolicySets(), resolver); - PolicyValidationUtils.validatePolicySets(implOp, - policiedImpl.getType(), - policiedImpl.getApplicablePolicySets()); - } - } - - for ( Service service : implementation.getServices() ) { - resolveIntents(service.getRequiredIntents(), resolver); - resolvePolicySets(service.getPolicySets(), resolver); - - for ( ConfiguredOperation svcOp : service.getConfiguredOperations() ) { - resolveIntents(svcOp.getRequiredIntents(), resolver); - resolvePolicySets(svcOp.getPolicySets(), resolver); - } - } - - for ( Reference reference : implementation.getReferences() ) { - resolveIntents(reference.getRequiredIntents(), resolver); - resolvePolicySets(reference.getPolicySets(), resolver); - } - } - - resolver.addModel(implementation); - } - } - } - - if ( implementation instanceof IntentAttachPoint && - ((IntentAttachPoint)implementation).getType() != null && - ((IntentAttachPoint)implementation).getType().isUnresolved() ) { - ((IntentAttachPoint)implementation).setType( - resolver.resolveModel(IntentAttachPointType.class, - ((IntentAttachPoint)implementation).getType())); - } - } - return implementation; - } - - /** - * Resolve interface, callback interface and bindings on a list of contracts. - * @param contracts the list of contracts - * @param resolver the resolver to use to resolve models - */ - protected void resolveContracts(List contracts, ModelResolver resolver) - throws ContributionResolveException { - resolveContracts(null, contracts, resolver); - } - - - /** - * Resolve interface, callback interface and bindings on a list of contracts. - * @param parent element for the contracts - * @param contracts the list of contracts - * @param resolver the resolver to use to resolve models - */ - protected void resolveContracts(Base parent, List contracts, ModelResolver resolver) - throws ContributionResolveException { - - String parentName = (parent instanceof Composite) ? ((Composite)parent).getName().toString() : - (parent instanceof Component) ? ((Component)parent).getName() : "UNKNOWN"; - - for (Contract contract : contracts) { - try { - //resolve the intents and policysets as they need to be copied over into the - //child binding elements - resolveIntents(contract.getRequiredIntents(), resolver); - resolvePolicySets(contract.getPolicySets(), resolver); - resolvePolicySets(contract.getApplicablePolicySets(), resolver); - - // Inherit the composite / component level applicable policy sets. - if ( parent != null && parent instanceof PolicySetAttachPoint ) { - addInheritedPolicySets(((PolicySetAttachPoint)parent).getApplicablePolicySets(), contract.getApplicablePolicySets()); - } - - for ( ConfiguredOperation confOp : contract.getConfiguredOperations() ) { - resolveIntents(confOp.getRequiredIntents(), resolver); - resolvePolicySets(confOp.getPolicySets(), resolver); - resolvePolicySets(confOp.getApplicablePolicySets(), resolver); - - //inherit applicable policy sets from parent contract - addInheritedPolicySets(contract.getApplicablePolicySets(), confOp.getApplicablePolicySets()); - } - - // Resolve the interface contract - InterfaceContract interfaceContract = contract.getInterfaceContract(); - if (interfaceContract != null) { - extensionProcessor.resolve(interfaceContract, resolver); - } - - // Resolve bindings - for (int i = 0, n = contract.getBindings().size(); i < n; i++) { - Binding binding = contract.getBindings().get(i); - extensionProcessor.resolve(binding, resolver); - - if (binding instanceof IntentAttachPoint) { - IntentAttachPoint policiedBinding = (IntentAttachPoint)binding; - - if ( policiedBinding.getType() != null && policiedBinding.getType().isUnresolved() ) { - IntentAttachPointType resolved = - resolver.resolveModel(IntentAttachPointType.class, - policiedBinding.getType()); - policiedBinding.setType(resolved); - } - - resolveIntents(policiedBinding.getRequiredIntents(), resolver); - PolicyValidationUtils.validateIntents(policiedBinding, policiedBinding.getType()); - } - - if (binding instanceof PolicySetAttachPoint) { - PolicySetAttachPoint policiedBinding = (PolicySetAttachPoint)binding; - resolvePolicySets(policiedBinding.getPolicySets(), resolver); - //validate if attached policysets apply to the binding - resolvePolicySets(policiedBinding.getApplicablePolicySets(), resolver); - //inherit the applicable policysets from parent contract as whatever applies to that - //applies to the binding as well - addInheritedPolicySets(contract.getApplicablePolicySets(), policiedBinding.getApplicablePolicySets()); - PolicyValidationUtils.validatePolicySets(policiedBinding); - } - - if (binding instanceof OperationsConfigurator) { - OperationsConfigurator opConfigurator = (OperationsConfigurator)binding; - for (ConfiguredOperation confOp : opConfigurator.getConfiguredOperations()) { - resolveIntents(confOp.getRequiredIntents(), resolver); - PolicyValidationUtils.validateIntents(confOp, ((PolicySetAttachPoint)binding).getType()); - - resolvePolicySets(confOp.getPolicySets(), resolver); - resolvePolicySets(confOp.getApplicablePolicySets(), resolver); - //inherit the applicable policysets from parent binding as whatever applies to that - //applies to the binding as well - addInheritedPolicySets(((PolicySetAttachPoint)binding).getApplicablePolicySets(), - confOp.getApplicablePolicySets()); - PolicyValidationUtils.validatePolicySets(confOp, ((PolicySetAttachPoint)binding).getType()); - } - } - } - - // Resolve callback bindings - if (contract.getCallback() != null) { - resolveIntents(contract.getCallback().getRequiredIntents(), resolver); - resolvePolicySets(contract.getCallback().getPolicySets(), resolver); - resolvePolicySets(contract.getCallback().getApplicablePolicySets(), resolver); - //inherit the contract's policy intents and policysets - addInheritedPolicySets(contract.getApplicablePolicySets(), contract.getCallback().getApplicablePolicySets()); - - for (int i = 0, n = contract.getCallback().getBindings().size(); i < n; i++) { - Binding binding = contract.getCallback().getBindings().get(i); - extensionProcessor.resolve(binding, resolver); - - if (binding instanceof IntentAttachPoint) { - IntentAttachPoint policiedBinding = (IntentAttachPoint)binding; - - if ( policiedBinding.getType().isUnresolved() ) { - IntentAttachPointType resolved = - resolver.resolveModel(IntentAttachPointType.class, - policiedBinding.getType()); - policiedBinding.setType(resolved); - } - - resolveIntents(policiedBinding.getRequiredIntents(), resolver); - PolicyValidationUtils.validateIntents(policiedBinding, policiedBinding.getType()); - } - - if (binding instanceof PolicySetAttachPoint) { - PolicySetAttachPoint policiedBinding = (PolicySetAttachPoint)binding; - resolvePolicySets(policiedBinding.getPolicySets(), resolver); - //validate if attached policysets apply to the binding - resolvePolicySets(policiedBinding.getApplicablePolicySets(), resolver); - //inherit the applicable policysets from parent contract as whatever applies to that - //applies to the binding as well - addInheritedPolicySets(contract.getApplicablePolicySets(), policiedBinding.getApplicablePolicySets()); - PolicyValidationUtils.validatePolicySets(policiedBinding); - } - - if (binding instanceof OperationsConfigurator) { - OperationsConfigurator opConfigurator = (OperationsConfigurator)binding; - for (ConfiguredOperation confOp : opConfigurator.getConfiguredOperations()) { - resolveIntents(confOp.getRequiredIntents(), resolver); - PolicyValidationUtils.validateIntents(confOp, ((PolicySetAttachPoint)binding).getType()); - - resolvePolicySets(confOp.getPolicySets(), resolver); - resolvePolicySets(confOp.getApplicablePolicySets(), resolver); - //inherit the applicable policysets from parent binding as whatever applies to that - //applies to the binding as well - addInheritedPolicySets(((PolicySetAttachPoint)binding).getApplicablePolicySets(), - confOp.getApplicablePolicySets()); - PolicyValidationUtils.validatePolicySets(confOp, ((PolicySetAttachPoint)binding).getType()); - } - } - } - } - } catch ( PolicyValidationException e ) { - error("PolicyServiceValidationException", contract, contract.getName(), parentName, e.getMessage()); - //throw new ContributionResolveException("PolicyValidation exceptions when processing service/reference '" - //+ contract.getName() + "' in '" + parentName + "'"); - } - } - } - - /** - * Resolve interface and callback interface on a list of abstract contracts. - * @param contracts the list of contracts - * @param resolver the resolver to use to resolve models - */ - protected void resolveAbstractContracts(List contracts, ModelResolver resolver) - throws ContributionResolveException { - for (AbstractContract contract : contracts) { - - // Resolve the interface contract - InterfaceContract interfaceContract = contract.getInterfaceContract(); - if (interfaceContract != null) { - extensionProcessor.resolve(interfaceContract, resolver); - } - } - } - - /** - * Returns a constrainingType attribute. - * @param componentType - * @return - */ - protected XAttr writeConstrainingType(ComponentType componentType) { - ConstrainingType constrainingType = componentType.getConstrainingType(); - if (constrainingType != null) - return new XAttr(Constants.CONSTRAINING_TYPE, constrainingType.getName()); - else - return null; - } - - /** - * Read a property value into a DOM document. - * @param element - * @param type - * @param reader - * @return - * @throws XMLStreamException - * @throws ContributionReadException - * @throws ParserConfigurationException - */ - protected Document readPropertyValue(QName element, QName type, XMLStreamReader reader) throws XMLStreamException, - ContributionReadException { - - Document document; - try { - if (documentBuilderFactory == null) { - documentBuilderFactory = DocumentBuilderFactory.newInstance(); - documentBuilderFactory.setNamespaceAware(true); - } - document = documentBuilderFactory.newDocumentBuilder().newDocument(); - } catch (ParserConfigurationException e) { - ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", documentBuilderFactory, ce); - throw ce; - } - - // root element has no namespace and local name "value" - Element root = document.createElementNS(null, "value"); - if (type != null) { - org.w3c.dom.Attr xsi = document.createAttributeNS(XMLNS_ATTRIBUTE_NS_URI, "xmlns:xsi"); - xsi.setValue(W3C_XML_SCHEMA_INSTANCE_NS_URI); - root.setAttributeNodeNS(xsi); - - String prefix = type.getPrefix(); - if (prefix == null || prefix.length() == 0) { - prefix = "ns"; - } - - declareNamespace(root, prefix, type.getNamespaceURI()); - - org.w3c.dom.Attr xsiType = document.createAttributeNS(W3C_XML_SCHEMA_INSTANCE_NS_URI, "xsi:type"); - xsiType.setValue(prefix + ":" + type.getLocalPart()); - root.setAttributeNodeNS(xsiType); - } - document.appendChild(root); - - loadElement(reader, root); - return document; - } - - /** - * Create a DOM element - * @param document - * @param name - * @return - */ - private Element createElement(Document document, QName name) { - String prefix = name.getPrefix(); - String qname = - (prefix != null && prefix.length() > 0) ? prefix + ":" + name.getLocalPart() : name.getLocalPart(); - return document.createElementNS(name.getNamespaceURI(), qname); - } - - /** - * Declare a namespace. - * @param element - * @param prefix - * @param ns - */ - private void declareNamespace(Element element, String prefix, String ns) { - if (ns == null) { - ns = ""; - } - if (prefix == null) { - prefix = ""; - } - String qname = null; - if ("".equals(prefix)) { - qname = "xmlns"; - } else { - qname = "xmlns:" + prefix; - } - Node node = element; - boolean declared = false; - while (node != null && node.getNodeType() == Node.ELEMENT_NODE) { - NamedNodeMap attrs = node.getAttributes(); - if (attrs == null) { - break; - } - Node attr = attrs.getNamedItem(qname); - if (attr != null) { - declared = ns.equals(attr.getNodeValue()); - break; - } - node = node.getParentNode(); - } - if (!declared) { - org.w3c.dom.Attr attr = element.getOwnerDocument().createAttributeNS(XMLNS_ATTRIBUTE_NS_URI, qname); - attr.setValue(ns); - element.setAttributeNodeNS(attr); - } - } - - /** - * Load a property value specification from an StAX stream into a DOM - * Document. Only elements, text and attributes are processed; all comments - * and other whitespace are ignored. - * - * @param reader the stream to read from - * @param root the DOM node to load - * @throws javax.xml.stream.XMLStreamException - */ - private void loadElement(XMLStreamReader reader, Element root) throws XMLStreamException { - Document document = root.getOwnerDocument(); - Node current = root; - while (true) { - switch (reader.next()) { - case XMLStreamConstants.START_ELEMENT: - QName name = reader.getName(); - Element child = createElement(document, name); - - // push the new element and make it the current one - current.appendChild(child); - current = child; - - int count = reader.getNamespaceCount(); - for (int i = 0; i < count; i++) { - String prefix = reader.getNamespacePrefix(i); - String ns = reader.getNamespaceURI(i); - declareNamespace(child, prefix, ns); - } - - if (!"".equals(name.getNamespaceURI())) { - declareNamespace(child, name.getPrefix(), name.getNamespaceURI()); - } - - // add the attributes for this element - count = reader.getAttributeCount(); - for (int i = 0; i < count; i++) { - String ns = reader.getAttributeNamespace(i); - String prefix = reader.getAttributePrefix(i); - String qname = reader.getAttributeLocalName(i); - String value = reader.getAttributeValue(i); - if (prefix != null && prefix.length() != 0) { - qname = prefix + ":" + qname; - } - child.setAttributeNS(ns, qname, value); - if (ns != null) { - declareNamespace(child, prefix, ns); - } - } - - break; - case XMLStreamConstants.CDATA: - current.appendChild(document.createCDATASection(reader.getText())); - break; - case XMLStreamConstants.CHARACTERS: - current.appendChild(document.createTextNode(reader.getText())); - break; - case XMLStreamConstants.END_ELEMENT: - // if we are back at the root then we are done - if (current == root) { - return; - } - - // pop the element off the stack - current = current.getParentNode(); - } - } - } - - /** - * Resolve policy intents attached to a specific SCA Artifact - * @param policyIntents list of policy intents - * @param resolver - */ - protected void resolveIntents(List policyIntents, ModelResolver resolver) { - List requiredIntents = new ArrayList(); - Intent resolvedIntent = null; - for (Intent intent : policyIntents) { - resolvedIntent = resolver.resolveModel(Intent.class, intent); - requiredIntents.add(resolvedIntent); - } - policyIntents.clear(); - policyIntents.addAll(requiredIntents); - } - - /** - * Resolve policy sets attached to a specific SCA Construct - * @param policySets list of attached policy sets - * @param resolver - */ - protected void resolvePolicySets(List policySets, ModelResolver resolver) { - List resolvedPolicySets = new ArrayList(); - PolicySet resolvedPolicySet = null; - for (PolicySet policySet : policySets) { - if (policySet.isUnresolved()) { - resolvedPolicySet = resolver.resolveModel(PolicySet.class, policySet); - resolvedPolicySets.add(resolvedPolicySet); - } else { - resolvedPolicySets.add(policySet); - } - } - policySets.clear(); - policySets.addAll(resolvedPolicySets); - } - - /** - * Write the value of a property - * @param document - * @param element - * @param type - * @param writer - * @throws XMLStreamException - */ - protected void writePropertyValue(Object propertyValue, QName element, QName type, XMLStreamWriter writer) - throws XMLStreamException { - - if (propertyValue instanceof Document) { - Document document = (Document)propertyValue; - NodeList nodeList = document.getDocumentElement().getChildNodes(); - - for (int item = 0; item < nodeList.getLength(); ++item) { - Node node = nodeList.item(item); - int nodeType = node.getNodeType(); - if (nodeType == Node.ELEMENT_NODE) { - XMLStreamReader reader = - XMLInputFactory.newInstance().createXMLStreamReader(new DOMSource(node)); - - while (reader.hasNext()) { - switch (reader.next()) { - case XMLStreamConstants.START_ELEMENT: - QName name = reader.getName(); - writer.writeStartElement(name.getPrefix(), name.getLocalPart(), name.getNamespaceURI()); - - int namespaces = reader.getNamespaceCount(); - for (int i = 0; i < namespaces; i++) { - String prefix = reader.getNamespacePrefix(i); - String ns = reader.getNamespaceURI(i); - writer.writeNamespace(prefix, ns); - } - - if (!"".equals(name.getNamespaceURI())) { - writer.writeNamespace(name.getPrefix(), name.getNamespaceURI()); - } - - // add the attributes for this element - namespaces = reader.getAttributeCount(); - for (int i = 0; i < namespaces; i++) { - String ns = reader.getAttributeNamespace(i); - String prefix = reader.getAttributePrefix(i); - String qname = reader.getAttributeLocalName(i); - String value = reader.getAttributeValue(i); - - writer.writeAttribute(prefix, ns, qname, value); - } - - break; - case XMLStreamConstants.CDATA: - writer.writeCData(reader.getText()); - break; - case XMLStreamConstants.CHARACTERS: - writer.writeCharacters(reader.getText()); - break; - case XMLStreamConstants.END_ELEMENT: - writer.writeEndElement(); - break; - } - } - } else { - writer.writeCharacters(node.getTextContent()); - } - } - } - } - - protected void addInheritedIntents(List sourceList, List targetList) { - if (sourceList != null) { - targetList.addAll(sourceList); - } - } - - protected void addInheritedPolicySets(List sourceList, List targetList) { - if (sourceList != null) { - targetList.addAll(sourceList); - } - } - - /** - * - * @param reader - * @param elementName - * @param estensibleElement - * @param extensionAttributeProcessor - * @throws ContributionReadException - * @throws XMLStreamException - */ - protected void readExtendedAttributes(XMLStreamReader reader, QName elementName, Extensible estensibleElement, StAXAttributeProcessor extensionAttributeProcessor) throws ContributionReadException, XMLStreamException { - for (int a = 0; a < reader.getAttributeCount(); a++) { - QName attributeName = reader.getAttributeName(a); - if( attributeName.getNamespaceURI() != null && attributeName.getNamespaceURI().length() > 0) { - if( ! elementName.getNamespaceURI().equals(attributeName.getNamespaceURI()) ) { - String attributeExtension = (String) extensionAttributeProcessor.read(attributeName, reader); - estensibleElement.getExtensions().add(attributeExtension); - } - } - } - } - - - /** - * - * @param attributeModel - * @param writer - * @param extensibleElement - * @param extensionAttributeProcessor - * @throws ContributionWriteException - * @throws XMLStreamException - */ - protected void writeExtendedAttributes(XMLStreamWriter writer, Extensible extensibleElement, StAXAttributeProcessor extensionAttributeProcessor) throws ContributionWriteException, XMLStreamException { - for(Object o : extensibleElement.getExtensions()) { - //FIXME How to identify it's a extended attribute ? - if(o instanceof String) { - extensionAttributeProcessor.write(o, writer); - } - } - } - - /*protected void validatePolicySets(PolicySetAttachPoint policySetAttachPoint) - throws ContributionResolveException { - validatePolicySets(policySetAttachPoint, policySetAttachPoint.getApplicablePolicySets()); - } - - - protected void validatePolicySets(PolicySetAttachPoint policySetAttachPoint, - List applicablePolicySets) throws ContributionResolveException { - //Since the applicablePolicySets in a policySetAttachPoint will already have the - //list of policysets that might ever be applicable to this attachPoint, just check - //if the defined policysets feature in the list of applicable policysets - IntentAttachPointType attachPointType = policySetAttachPoint.getType(); - for ( PolicySet definedPolicySet : policySetAttachPoint.getPolicySets() ) { - if ( !definedPolicySet.isUnresolved() ) { - if ( !applicablePolicySets.contains(definedPolicySet)) { - throw new ContributionResolveException("Policy Set '" + definedPolicySet.getName() - + "' does not apply to binding type " - + attachPointType.getName()); - } - } else { - throw new ContributionResolveException("Policy Set '" + definedPolicySet.getName() - + "' is not defined in this domain "); - - - } - } - }*/ -} diff --git a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ComponentTypeDocumentProcessor.java b/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ComponentTypeDocumentProcessor.java deleted file mode 100644 index b07c91d1b3..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ComponentTypeDocumentProcessor.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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 java.io.IOException; -import java.io.InputStream; -import java.net.URI; -import java.net.URL; -import java.net.URLConnection; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.ValidatingXMLInputFactory; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.contribution.service.ContributionReadException; -import org.apache.tuscany.sca.contribution.service.ContributionResolveException; - -/** - * A componentType processor. - * - * @version $Rev$ $Date$ - */ -public class ComponentTypeDocumentProcessor extends BaseAssemblyProcessor implements URLArtifactProcessor { - private XMLInputFactory inputFactory; - - /** - * Constructs a new componentType processor. - * @param factory - * @param policyFactory - * @param registry - */ - public ComponentTypeDocumentProcessor(StAXArtifactProcessor staxProcessor, - XMLInputFactory inputFactory, - Monitor monitor) { - super(null, null, staxProcessor, monitor); - this.inputFactory = inputFactory; - } - - /** - * Constructs a new componentType processor. - * @param modelFactories - * @param staxProcessor - */ - public ComponentTypeDocumentProcessor(ModelFactoryExtensionPoint modelFactories, - StAXArtifactProcessor staxProcessor, - Monitor monitor) { - super(null, null, staxProcessor, monitor); - this.inputFactory = modelFactories.getFactory(ValidatingXMLInputFactory.class); - } - - public ComponentType read(URL contributionURL, URI uri, URL url) throws ContributionReadException { - InputStream urlStream = null; - try { - - // Create a stream reader - URLConnection connection = url.openConnection(); - connection.setUseCaches(false); - urlStream = connection.getInputStream(); - XMLStreamReader reader = inputFactory.createXMLStreamReader(url.toString(), urlStream); - reader.nextTag(); - - // Reader the componentType model - ComponentType componentType = (ComponentType)extensionProcessor.read(reader); - if (componentType != null) { - componentType.setURI(uri.toString()); - } - - // For debugging purposes, write it back to XML -// if (componentType != null) { -// try { -// ByteArrayOutputStream bos = new ByteArrayOutputStream(); -// XMLOutputFactory outputFactory = XMLOutputFactory.newInstance(); -// outputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, Boolean.TRUE); -// extensionProcessor.write(componentType, outputFactory.createXMLStreamWriter(bos)); -// Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new ByteArrayInputStream(bos.toByteArray())); -// OutputFormat format = new OutputFormat(); -// format.setIndenting(true); -// format.setIndent(2); -// XMLSerializer serializer = new XMLSerializer(System.out, format); -// serializer.serialize(document); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } - - return componentType; - - } catch (XMLStreamException e) { - ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", inputFactory, ce); - throw ce; - } catch (IOException e) { - ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", inputFactory, ce); - throw ce; - } finally { - try { - if (urlStream != null) { - urlStream.close(); - urlStream = null; - } - } catch (IOException ioe) { - //ignore - } - } - } - - public void resolve(ComponentType componentType, ModelResolver resolver) throws ContributionResolveException { - extensionProcessor.resolve(componentType, resolver); - } - - public String getArtifactType() { - return ".componentType"; - } - - public Class getModelType() { - return ComponentType.class; - } -} diff --git a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ComponentTypeModelResolver.java b/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ComponentTypeModelResolver.java deleted file mode 100644 index d0d11cd02b..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ComponentTypeModelResolver.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.assembly.xml; - -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.Import; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.java.JavaImport; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * A Model Resolver for ComponentType models. - * - * @version $Rev$ $Date$ - */ -public class ComponentTypeModelResolver implements ModelResolver { - private Contribution contribution; - private Map map = new HashMap(); - - public ComponentTypeModelResolver(Contribution contribution, ModelFactoryExtensionPoint modelFactories) { - this.contribution = contribution; - } - - public void addModel(Object resolved) { - ComponentType componentType = (ComponentType)resolved; - map.put(componentType.getURI(), componentType); - } - - public Object removeModel(Object resolved) { - return map.remove(((ComponentType)resolved).getURI()); - } - - public T resolveModel(Class modelClass, T unresolved) { - - //get componentType artifact URI - String uri = ((ComponentType)unresolved).getURI(); - if (uri == null) { - return (T)unresolved; - } - - //lookup the componentType - ComponentType resolved = (ComponentType) map.get(uri); - if (resolved != null) { - return modelClass.cast(resolved); - } - - //If not found, delegate the resolution to the imports (in this case based on the java imports) - //compute the package name from the componentType URI - if (unresolved instanceof ComponentType) { - //FIXME The core assembly model now depends on java imports to - // resolve componentTypes of all kinds, this is not right at all!!! - int s = uri.lastIndexOf('/'); - if (s != -1) { - String packageName = uri.substring(0, uri.lastIndexOf("/")); - for (Import import_ : this.contribution.getImports()) { - if (import_ instanceof JavaImport) { - JavaImport javaImport = (JavaImport)import_; - //check the import location against the computed package name from the componentType URI - if (javaImport.getPackage().equals(packageName)) { - // Delegate the resolution to the import resolver - resolved = javaImport.getModelResolver().resolveModel(ComponentType.class, (ComponentType)unresolved); - if (!resolved.isUnresolved()) { - return modelClass.cast(resolved); - } - } - } - } - } - } - - return (T)unresolved; - } - -} diff --git a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ComponentTypeProcessor.java b/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ComponentTypeProcessor.java deleted file mode 100644 index 07e1507449..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ComponentTypeProcessor.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.assembly.xml; - -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; - -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.ComponentType; -import org.apache.tuscany.sca.assembly.Contract; -import org.apache.tuscany.sca.assembly.Extensible; -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.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXAttributeProcessor; -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.Operation; -import org.apache.tuscany.sca.interfacedef.impl.OperationImpl; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.policy.IntentAttachPoint; -import org.apache.tuscany.sca.policy.PolicyFactory; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.w3c.dom.Document; - -/** - * A componentType processor. - * - * @version $Rev$ $Date$ - */ -public class ComponentTypeProcessor extends BaseAssemblyProcessor implements StAXArtifactProcessor { - - /** - * Constructs a new componentType processor. - * @param factory - * @param policyFactory - * @param registry - */ - public ComponentTypeProcessor(AssemblyFactory factory, PolicyFactory policyFactory, - StAXArtifactProcessor extensionProcessor, StAXAttributeProcessor extensionAttributeProcessor, Monitor monitor) { - super(factory, policyFactory, extensionProcessor, monitor); - } - - /** - * Constructs a new componentType processor. - * - * @param modelFactories - * @param extensionProcessor - */ - public ComponentTypeProcessor(ModelFactoryExtensionPoint modelFactories, - StAXArtifactProcessor extensionProcessor, - StAXAttributeProcessor extensionAttributeProcessor, - Monitor monitor) { - super(modelFactories.getFactory(AssemblyFactory.class), - modelFactories.getFactory(PolicyFactory.class), extensionProcessor, monitor); - } - - public ComponentType read(XMLStreamReader reader) throws ContributionReadException { - ComponentType componentType = null; - Service service = null; - Reference reference = null; - Contract contract = null; - Property property = null; - Callback callback = null; - QName name = null; - - try { - // Read the componentType document - while (reader.hasNext()) { - int event = reader.getEventType(); - switch (event) { - case START_ELEMENT: - name = reader.getName(); - - if (Constants.COMPONENT_TYPE_QNAME.equals(name)) { - - // Read a - componentType = assemblyFactory.createComponentType(); - componentType.setConstrainingType(readConstrainingType(reader)); - - } else if (Constants.SERVICE_QNAME.equals(name)) { - - // Read a - service = assemblyFactory.createService(); - contract = service; - service.setName(getString(reader, Constants.NAME)); - componentType.getServices().add(service); - policyProcessor.readPolicies(service, reader); - - } else if (Constants.REFERENCE_QNAME.equals(name)) { - - // Read a - reference = assemblyFactory.createReference(); - contract = reference; - reference.setName(getString(reader, Constants.NAME)); - reference.setWiredByImpl(getBoolean(reader, Constants.WIRED_BY_IMPL)); - readMultiplicity(reference, reader); - readTargets(reference, reader); - componentType.getReferences().add(reference); - policyProcessor.readPolicies(reference, reader); - - } else if (Constants.PROPERTY_QNAME.equals(name)) { - - // Read a - property = assemblyFactory.createProperty(); - readAbstractProperty(property, reader); - policyProcessor.readPolicies(property, reader); - - // Read the property value - Document value = readPropertyValue(property.getXSDElement(), property.getXSDType(), reader); - property.setValue(value); - - componentType.getProperties().add(property); - - } else if (Constants.IMPLEMENTATION_QNAME.equals(name)) { - - // Read an element - policyProcessor.readPolicies(componentType, reader); - - } else if (Constants.CALLBACK_QNAME.equals(name)) { - - // Read a - callback = assemblyFactory.createCallback(); - contract.setCallback(callback); - policyProcessor.readPolicies(callback, reader); - - } else if (OPERATION_QNAME.equals(name)) { - - // Read an - Operation operation = new OperationImpl(); - operation.setName(getString(reader, NAME)); - operation.setUnresolved(true); - if (callback != null) { - policyProcessor.readPolicies(callback, operation, reader); - } else { - policyProcessor.readPolicies(contract, operation, reader); - } - } else { - - // Read an extension element - Object extension = extensionProcessor.read(reader); - if (extension != null) { - if (extension instanceof InterfaceContract) { - - // and - contract.setInterfaceContract((InterfaceContract)extension); - - } else if (extension instanceof Binding) { - - // and - if (callback != null) { - callback.getBindings().add((Binding)extension); - } else { - contract.getBindings().add((Binding)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 (componentType instanceof Extensible) { - ((Extensible)componentType).getExtensions().add(extension); - } - } - } - } - } - break; - - case END_ELEMENT: - name = reader.getName(); - - // Clear current state when reading reaching end element - if (SERVICE_QNAME.equals(name)) { - service = null; - contract = null; - } else if (REFERENCE_QNAME.equals(name)) { - reference = null; - contract = null; - } else if (PROPERTY_QNAME.equals(name)) { - property = null; - } else if (CALLBACK_QNAME.equals(name)) { - callback = null; - } - break; - } - - // Read the next element - if (reader.hasNext()) { - reader.next(); - } - } - } - catch (XMLStreamException e) { - ContributionReadException ex = new ContributionReadException(e); - error("XMLStreamException", reader, ex); - } - - return componentType; - } - - public void write(ComponentType componentType, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - - // Write element - writeStartDocument(writer, COMPONENT_TYPE, - writeConstrainingType(componentType)); - - // Write elements - for (Service service : componentType.getServices()) { - writeStart(writer, SERVICE, new XAttr(NAME, service.getName()), - policyProcessor.writePolicies(service)); - - if (service.getInterfaceContract() != null) { - extensionProcessor.write(service.getInterfaceContract(), writer); - } - - for (Binding binding: service.getBindings()) { - extensionProcessor.write(binding, writer); - } - - if (service.getCallback() != null) { - Callback callback = service.getCallback(); - writeStart(writer, CALLBACK, policyProcessor.writePolicies(callback)); - - for (Binding binding: callback.getBindings()) { - extensionProcessor.write(binding, writer); - } - for (Object extension: callback.getExtensions()) { - extensionProcessor.write(extension, writer); - } - - writeEnd(writer); - } - - for (Object extension: service.getExtensions()) { - extensionProcessor.write(extension, writer); - } - - writeEnd(writer); - } - - // Write elements - for (Reference reference : componentType.getReferences()) { - - writeStart(writer, REFERENCE, - new XAttr(NAME, reference.getName()), - writeMultiplicity(reference), - writeTargets(reference), - policyProcessor.writePolicies(reference)); - - extensionProcessor.write(reference.getInterfaceContract(), writer); - - for (Binding binding: reference.getBindings()) { - extensionProcessor.write(binding, writer); - } - - if (reference.getCallback() != null) { - Callback callback = reference.getCallback(); - writeStart(writer, CALLBACK, - policyProcessor.writePolicies(callback)); - - for (Binding binding: callback.getBindings()) { - extensionProcessor.write(binding, writer); - } - for (Object extension: callback.getExtensions()) { - extensionProcessor.write(extension, writer); - } - - writeEnd(writer); - } - - for (Object extension: reference.getExtensions()) { - extensionProcessor.write(extension, writer); - } - - writeEnd(writer); - } - - // Write elements - for (Property property : componentType.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 extension elements - if (componentType instanceof Extensible) { - for (Object extension: ((Extensible)componentType).getExtensions()) { - extensionProcessor.write(extension, writer); - } - } - - // Write elements if the componentType has - // any intents or policySets - boolean writeImplementation = false; - if (componentType instanceof IntentAttachPoint) { - if (!((IntentAttachPoint)componentType).getRequiredIntents().isEmpty()) { - writeImplementation = true; - } - } - if (componentType instanceof PolicySetAttachPoint) { - if (!((PolicySetAttachPoint)componentType).getPolicySets().isEmpty()) { - writeImplementation = true; - } - } - if (writeImplementation) { - writeStart(writer, IMPLEMENTATION, - policyProcessor.writePolicies(componentType)); - } - - writeEndDocument(writer); - } - - public void resolve(ComponentType componentType, ModelResolver resolver) throws ContributionResolveException { - - // Resolve component type services and references - resolveContracts(componentType.getServices(), resolver); - resolveContracts(componentType.getReferences(), resolver); - if ( componentType instanceof PolicySetAttachPoint ) { - resolveIntents(((PolicySetAttachPoint)componentType).getRequiredIntents(), resolver); - resolvePolicySets(((PolicySetAttachPoint)componentType).getPolicySets(), resolver); - } - } - - public QName getArtifactType() { - return COMPONENT_TYPE_QNAME; - } - - public Class getModelType() { - return ComponentType.class; - } -} diff --git a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java b/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java deleted file mode 100644 index bc74773d85..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java +++ /dev/null @@ -1,229 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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 java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.net.URI; -import java.net.URL; -import java.net.URLConnection; -import java.util.Collection; -import java.util.Hashtable; -import java.util.List; -import java.util.Map; - -import javax.xml.namespace.QName; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.ValidatingXMLInputFactory; -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.definitions.SCADefinitions; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.util.PolicyComputationUtils; - -/** - * A composite processor. - * - * @version $Rev$ $Date$ - */ -public class CompositeDocumentProcessor extends BaseAssemblyProcessor implements URLArtifactProcessor { - private XMLInputFactory inputFactory; - private DocumentBuilderFactory documentBuilderFactory; - private List scaDefnSink; - private Collection domainPolicySets = null; - private int scaDefnsCount = 0; - - /** - * Construct a new composite processor - * @param assemblyFactory - * @param policyFactory - * @param staxProcessor - */ - @Deprecated - public CompositeDocumentProcessor(StAXArtifactProcessor staxProcessor, - XMLInputFactory inputFactory, - List scaDefnsSink, Monitor monitor) { - super(null, null, staxProcessor, monitor); - this.inputFactory = inputFactory; - this.scaDefnSink = scaDefnsSink; - } - - /** - * Construct a new composite processor - * @param assemblyFactory - * @param policyFactory - * @param staxProcessor - */ - public CompositeDocumentProcessor(StAXArtifactProcessor staxProcessor, - XMLInputFactory inputFactory, - DocumentBuilderFactory documentBuilderFactory, - List scaDefnsSink, Monitor monitor) { - super(null, null, staxProcessor, monitor); - this.documentBuilderFactory = documentBuilderFactory; - this.inputFactory = inputFactory; - this.scaDefnSink = scaDefnsSink; - } - - /** - * Constructs a new composite processor. - * @param modelFactories - * @param staxProcessor - */ - public CompositeDocumentProcessor(ModelFactoryExtensionPoint modelFactories, - StAXArtifactProcessor staxProcessor, Monitor monitor) { - super(null, null, staxProcessor, monitor); - this.inputFactory = modelFactories.getFactory(ValidatingXMLInputFactory.class); - this.documentBuilderFactory = modelFactories.getFactory(DocumentBuilderFactory.class); - } - - public Composite read(URL contributionURL, URI uri, URL url) throws ContributionReadException { - InputStream scdlStream = null; - try { - URLConnection connection = url.openConnection(); - connection.setUseCaches(false); - scdlStream = connection.getInputStream(); - } catch (IOException e) { - ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", url, ce); - throw ce; - } - return read(uri, scdlStream); - } - - public Composite read(URI uri, InputStream scdlStream) throws ContributionReadException { - try { - if (scaDefnSink != null ) { - fillDomainPolicySets(scaDefnSink); - } - - Composite composite = null; - - byte[] transformedArtifactContent; - try { - if ( domainPolicySets != null ) { - transformedArtifactContent = - PolicyComputationUtils.addApplicablePolicySets(scdlStream, domainPolicySets, documentBuilderFactory); - scdlStream = new ByteArrayInputStream(transformedArtifactContent); - } - } catch ( IOException e ) { - ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", scdlStream, ce); - throw ce; - } catch ( Exception e ) { - ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", scdlStream, ce); - //throw ce; - } - - XMLStreamReader reader = inputFactory.createXMLStreamReader(scdlStream); - - reader.nextTag(); - - // Read the composite model - composite = (Composite)extensionProcessor.read(reader); - if (composite != null) { - composite.setURI(uri.toString()); - } - - // For debugging purposes, write it back to XML -// if (composite != null) { -// try { -// ByteArrayOutputStream bos = new ByteArrayOutputStream(); -// XMLOutputFactory outputFactory = XMLOutputFactory.newInstance(); -// outputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, Boolean.TRUE); -// extensionProcessor.write(composite, outputFactory.createXMLStreamWriter(bos)); -// Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new ByteArrayInputStream(bos.toByteArray())); -// OutputFormat format = new OutputFormat(); -// format.setIndenting(true); -// format.setIndent(2); -// XMLSerializer serializer = new XMLSerializer(System.out, format); -// serializer.serialize(document); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } - - return composite; - - } catch (XMLStreamException e) { - ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", inputFactory, ce); - throw ce; - } finally { - try { - if (scdlStream != null) { - scdlStream.close(); - scdlStream = null; - } - } catch (IOException ioe) { - //ignore - } - } - } - - public void resolve(Composite composite, ModelResolver resolver) throws ContributionResolveException { - if (composite != null) - extensionProcessor.resolve(composite, resolver); - } - - public String getArtifactType() { - return ".composite"; - } - - public Class getModelType() { - return Composite.class; - } - - private void fillDomainPolicySets(List scaDefnsSink) { - Map domainPolicySetMap = null; - if ( scaDefnsSink.size() > scaDefnsCount ) { - //if ( !scaDefnsSink.isEmpty() ) { - domainPolicySetMap = new Hashtable(); - - if ( domainPolicySets != null ) { - for ( PolicySet policySet : domainPolicySets ) { - domainPolicySetMap.put(policySet.getName(), policySet); - } - } - - for ( Object object : scaDefnsSink ) { - if ( object instanceof SCADefinitions ) { - for ( PolicySet policySet : ((SCADefinitions)object).getPolicySets() ) { - domainPolicySetMap.put( policySet.getName(), policySet); - } - } - } - domainPolicySets = domainPolicySetMap.values(); - //scaDefnsSink.clear(); - scaDefnsCount = scaDefnsSink.size(); - } - } -} diff --git a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeModelResolver.java b/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeModelResolver.java deleted file mode 100644 index 72744259f6..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeModelResolver.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.assembly.xml; - -import java.util.HashMap; -import java.util.Map; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.Import; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.namespace.NamespaceImport; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * A Model Resolver for Composite models. - * - * @version $Rev$ $Date$ - */ -public class CompositeModelResolver implements ModelResolver { - - private Contribution contribution; - private Map map = new HashMap(); - - public CompositeModelResolver(Contribution contribution, ModelFactoryExtensionPoint modelFactories) { - this.contribution = contribution; - } - - public void addModel(Object resolved) { - Composite composite = (Composite)resolved; - map.put(composite.getName(), composite); - } - - public Object removeModel(Object resolved) { - return map.remove(((Composite)resolved).getName()); - } - - public T resolveModel(Class modelClass, T unresolved) { - - // Lookup a definition for the given namespace - QName qname = ((Composite)unresolved).getName(); - Composite resolved = (Composite) map.get(qname); - if (resolved != null) { - return modelClass.cast(resolved); - } - - // No definition found, delegate the resolution to the imports - for (Import import_ : this.contribution.getImports()) { - if (import_ instanceof NamespaceImport) { - NamespaceImport namespaceImport = (NamespaceImport)import_; - if (namespaceImport.getNamespace().equals(qname.getNamespaceURI())) { - - // Delegate the resolution to the import resolver - resolved = namespaceImport.getModelResolver().resolveModel(Composite.class, (Composite)unresolved); - if (!resolved.isUnresolved()) { - return modelClass.cast(resolved); - } - } - } - } - return (T)unresolved; - } - -} diff --git a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java b/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java deleted file mode 100644 index 285bcc448d..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeProcessor.java +++ /dev/null @@ -1,1233 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.Iterator; -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 javax.xml.xpath.XPath; -import javax.xml.xpath.XPathExpressionException; -import javax.xml.xpath.XPathFactory; - -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.ConfiguredOperation; -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.OperationsConfigurator; -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.Artifact; -import org.apache.tuscany.sca.contribution.ContributionFactory; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXAttributeProcessor; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.contribution.resolver.ResolverExtension; -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.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.MonitorFactory; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentAttachPointType; -import org.apache.tuscany.sca.policy.PolicyFactory; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.util.PolicyComputationUtils; -import org.apache.tuscany.sca.policy.util.PolicyValidationException; -import org.apache.tuscany.sca.policy.util.PolicyValidationUtils; -import org.w3c.dom.Document; - -/** - * A composite processor. - * - * @version $Rev$ $Date$ - */ -public class CompositeProcessor extends BaseAssemblyProcessor implements StAXArtifactProcessor { - // FIXME: to be refactored - private XPathFactory xPathFactory = XPathFactory.newInstance(); - - protected StAXAttributeProcessor extensionAttributeProcessor; - - /** - * Construct a new composite processor - * - * @param extensionPoints - * @param extensionProcessor - */ - public CompositeProcessor(ExtensionPointRegistry extensionPoints, - StAXArtifactProcessor extensionProcessor, - StAXAttributeProcessor extensionAttributeProcessor, - Monitor monitor) { - - this(modelFactories(extensionPoints), - extensionProcessor, - extensionAttributeProcessor, - monitor(extensionPoints)); - - this.extensionAttributeProcessor = extensionAttributeProcessor; - } - - /** - * Constructs a new composite processor - * - * @param modelFactories - * @param extensionProcessor - * @param monitor - */ - private CompositeProcessor(ModelFactoryExtensionPoint modelFactories, - StAXArtifactProcessor extensionProcessor, - StAXAttributeProcessor extensionAttributeProcessor, - Monitor monitor) { - - super(modelFactories.getFactory(ContributionFactory.class), - modelFactories.getFactory(AssemblyFactory.class), - modelFactories.getFactory(PolicyFactory.class), - extensionProcessor, - monitor); - - this.extensionAttributeProcessor = extensionAttributeProcessor; - - } - - /** - * Construct a new composite processor - * - * @param contributionFactory - * @param assemblyFactory - * @param policyFactory - * @param extensionProcessor - */ - public CompositeProcessor(ContributionFactory contributionFactory, - AssemblyFactory assemblyFactory, - PolicyFactory policyFactory, - StAXArtifactProcessor extensionProcessor, - StAXAttributeProcessor extensionAttributeProcessor, - Monitor monitor) { - super(contributionFactory, assemblyFactory, policyFactory, extensionProcessor, monitor); - } - - public Composite read(XMLStreamReader reader) throws ContributionReadException { - Composite composite = null; - 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; - - try { - // Read the composite document - while (reader.hasNext()) { - int event = reader.getEventType(); - switch (event) { - case START_ELEMENT: - name = reader.getName(); - - if (COMPOSITE_QNAME.equals(name)) { - - // Read a - composite = assemblyFactory.createComposite(); - - composite.setName(new QName(getString(reader, TARGET_NAMESPACE), getString(reader, NAME))); - - if(!isSet(reader, TARGET_NAMESPACE)){ - // spec says that a composite must have a namespace - warning("NoCompositeNamespace", composite, composite.getName().toString()); - } - - if(isSet(reader, AUTOWIRE)) { - composite.setAutowire(getBoolean(reader, AUTOWIRE)); - } - - //handle extension attributes - this.readExtendedAttributes(reader, name, composite, extensionAttributeProcessor); - - composite.setLocal(getBoolean(reader, LOCAL)); - composite.setConstrainingType(readConstrainingType(reader)); - policyProcessor.readPolicies(composite, reader); - - } else if (INCLUDE_QNAME.equals(name)) { - - // Read an - include = assemblyFactory.createComposite(); - include.setName(getQName(reader, NAME)); - include.setURI(getString(reader, URI)); - include.setUnresolved(true); - composite.getIncludes().add(include); - - } else if (SERVICE_QNAME.equals(name)) { - if (component != null) { - - // Read a - componentService = assemblyFactory.createComponentService(); - contract = componentService; - componentService.setName(getString(reader, NAME)); - - //handle extension attributes - this.readExtendedAttributes(reader, name, componentService, extensionAttributeProcessor); - - component.getServices().add(componentService); - policyProcessor.readPolicies(contract, reader); - } else { - - // Read a - compositeService = assemblyFactory.createCompositeService(); - contract = compositeService; - compositeService.setName(getString(reader, NAME)); - - String promoted = getString(reader, PROMOTE); - if (promoted != null) { - String promotedComponentName; - String promotedServiceName; - int s = promoted.indexOf('/'); - if (s == -1) { - promotedComponentName = promoted; - promotedServiceName = null; - } else { - promotedComponentName = promoted.substring(0, s); - promotedServiceName = promoted.substring(s + 1); - } - - Component promotedComponent = assemblyFactory.createComponent(); - promotedComponent.setUnresolved(true); - promotedComponent.setName(promotedComponentName); - compositeService.setPromotedComponent(promotedComponent); - - ComponentService promotedService = assemblyFactory.createComponentService(); - promotedService.setUnresolved(true); - promotedService.setName(promotedServiceName); - compositeService.setPromotedService(promotedService); - } - - //handle extension attributes - this.readExtendedAttributes(reader, name, compositeService, extensionAttributeProcessor); - - composite.getServices().add(compositeService); - policyProcessor.readPolicies(contract, reader); - } - - } else if (REFERENCE_QNAME.equals(name)) { - if (component != null) { - // Read a - 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)); - - //handle extension attributes - this.readExtendedAttributes(reader, name, componentReference, extensionAttributeProcessor); - - component.getReferences().add(componentReference); - policyProcessor.readPolicies(contract, reader); - } else { - // Read a - compositeReference = assemblyFactory.createCompositeReference(); - contract = compositeReference; - compositeReference.setName(getString(reader, NAME)); - readMultiplicity(compositeReference, reader); - readTargets(compositeReference, reader); - String promote = reader.getAttributeValue(null, Constants.PROMOTE); - if (promote != null) { - for (StringTokenizer tokens = new StringTokenizer(promote); tokens.hasMoreTokens();) { - ComponentReference promotedReference = - assemblyFactory.createComponentReference(); - promotedReference.setUnresolved(true); - promotedReference.setName(tokens.nextToken()); - compositeReference.getPromotedReferences().add(promotedReference); - } - } - compositeReference.setWiredByImpl(getBoolean(reader, WIRED_BY_IMPL)); - - //handle extension attributes - this.readExtendedAttributes(reader, name, compositeReference, extensionAttributeProcessor); - - composite.getReferences().add(compositeReference); - policyProcessor.readPolicies(contract, reader); - } - - } else if (PROPERTY_QNAME.equals(name)) { - if (component != null) { - - // Read a - componentProperty = assemblyFactory.createComponentProperty(); - property = componentProperty; - String source = getString(reader, SOURCE); - if(source!=null) { - source = source.trim(); - } - componentProperty.setSource(source); - if (source != null) { - // $/... - if (source.charAt(0) == '$') { - int index = source.indexOf('/'); - if (index == -1) { - // Tolerating $prop - source = source + "/"; - index = source.length() - 1; - } - source = source.substring(index + 1); - if ("".equals(source)) { - source = "."; - } - } - XPath xpath = xPathFactory.newXPath(); - xpath.setNamespaceContext(reader.getNamespaceContext()); - try { - componentProperty.setSourceXPathExpression(xpath.compile(source)); - } catch (XPathExpressionException e) { - ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", xpath, ce); - //throw ce; - } - } - componentProperty.setFile(getString(reader, FILE)); - - //handle extension attributes - this.readExtendedAttributes(reader, name, componentProperty, extensionAttributeProcessor); - - 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 { - - // Read a - property = assemblyFactory.createProperty(); - policyProcessor.readPolicies(property, reader); - readAbstractProperty(property, reader); - - // Read the property value - Document value = readPropertyValue(property.getXSDElement(), property.getXSDType(), reader); - property.setValue(value); - - composite.getProperties().add(property); - } - - // TUSCANY-1949 - // If the property doesn't have a value, the END_ELEMENT event is read by the readPropertyValue - if (reader.getEventType() == END_ELEMENT && PROPERTY_QNAME.equals(reader.getName())) { - property = null; - componentProperty = null; - } - - } else if (COMPONENT_QNAME.equals(name)) { - - // Read a - 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)); - } - - //handle extension attributes - this.readExtendedAttributes(reader, name, component, extensionAttributeProcessor); - - component.setConstrainingType(readConstrainingType(reader)); - composite.getComponents().add(component); - policyProcessor.readPolicies(component, reader); - - } else if (WIRE_QNAME.equals(name)) { - - // Read a - 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); - - //handle extension attributes - this.readExtendedAttributes(reader, name, wire, extensionAttributeProcessor); - - composite.getWires().add(wire); - policyProcessor.readPolicies(wire, reader); - - } else if (CALLBACK_QNAME.equals(name)) { - - // Read a - callback = assemblyFactory.createCallback(); - contract.setCallback(callback); - - //handle extension attributes - this.readExtendedAttributes(reader, name, callback, extensionAttributeProcessor); - - policyProcessor.readPolicies(callback, reader); - - } else if (OPERATION_QNAME.equals(name)) { - - // Read an - ConfiguredOperation operation = assemblyFactory.createConfiguredOperation(); - operation.setName(getString(reader, NAME)); - operation.setUnresolved(true); - if (callback != null) { - policyProcessor.readPolicies(operation, reader); - } else { - policyProcessor.readPolicies(operation, reader); - } - - OperationsConfigurator opConfigurator = null; - if ( compositeService != null ) { - opConfigurator = compositeService; - } else if ( componentService != null ) { - opConfigurator = componentService; - } else if ( compositeReference != null ) { - opConfigurator = compositeReference; - } else if ( componentReference != null ) { - opConfigurator = componentReference; - } - - opConfigurator.getConfiguredOperations().add(operation); - } else if (IMPLEMENTATION_COMPOSITE_QNAME.equals(name)) { - - // Read an implementation.composite - Composite implementation = assemblyFactory.createComposite(); - implementation.setName(getQName(reader, NAME)); - implementation.setUnresolved(true); - - //handle extension attributes - this.readExtendedAttributes(reader, name, implementation, extensionAttributeProcessor); - - component.setImplementation(implementation); - policyProcessor.readPolicies(implementation, reader); - } else { - - // Read an extension element - Object extension = extensionProcessor.read(reader); - if (extension != null) { - if (extension instanceof InterfaceContract) { - - // and - // - if (contract != null) { - contract.setInterfaceContract((InterfaceContract)extension); - } else { - if (name.getNamespaceURI().equals(SCA10_NS)) { - error("UnexpectedInterfaceElement", extension); - //throw new ContributionReadException("Unexpected element found. It should appear inside a or element"); - } else { - composite.getExtensions().add(extension); - } - } - } else if (extension instanceof Binding) { - if ( extension instanceof PolicySetAttachPoint ) { - IntentAttachPointType bindingType = intentAttachPointTypeFactory.createBindingType(); - bindingType.setName(name); - bindingType.setUnresolved(true); - ((PolicySetAttachPoint)extension).setType(bindingType); - } - // and - // - if (callback != null) { - callback.getBindings().add((Binding)extension); - } else { - if (contract != null) { - contract.getBindings().add((Binding)extension); - } else { - if (name.getNamespaceURI().equals(SCA10_NS)) { - error("UnexpectedBindingElement", extension); - //throw new ContributionReadException("Unexpected element found. It should appear inside a or element"); - } else { - composite.getExtensions().add(extension); - } - } - } - - } else if (extension instanceof Implementation) { - if ( extension instanceof PolicySetAttachPoint ) { - IntentAttachPointType implType = intentAttachPointTypeFactory.createImplementationType(); - implType.setName(name); - implType.setUnresolved(true); - ((PolicySetAttachPoint)extension).setType(implType); - } - // - if (component != null) { - component.setImplementation((Implementation)extension); - } else { - if (name.getNamespaceURI().equals(SCA10_NS)) { - error("UnexpectedImplementationElement", extension); - //throw new ContributionReadException("Unexpected element found. It should appear inside a 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(); - } - } - } - catch (XMLStreamException e) { - ContributionReadException ex = new ContributionReadException(e); - error("XMLStreamException", reader, ex); - } - - return composite; - } - - public void write(Composite composite, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - - // Write element - writeStartDocument(writer, - COMPOSITE, - writeConstrainingType(composite), - new XAttr(TARGET_NAMESPACE, composite.getName().getNamespaceURI()), - new XAttr(NAME, composite.getName().getLocalPart()), - new XAttr(LOCAL, composite.isLocal() ? Boolean.TRUE : null), - new XAttr(AUTOWIRE, composite.getAutowire()), - policyProcessor.writePolicies(composite)); - - //write extended attributes - this.writeExtendedAttributes(writer, composite, extensionAttributeProcessor); - - // Write elements - for (Composite include : composite.getIncludes()) { - String uri = include.isUnresolved()? include.getURI() : null; - writeStart(writer, - INCLUDE, - new XAttr(NAME, include.getName()), - new XAttr(URI, uri)); - - //write extended attributes - this.writeExtendedAttributes(writer, include, extensionAttributeProcessor); - - writeEnd(writer); - } - - // Write 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.getName(); - } else { - promote = promotedComponent.getName(); - } - } else { - promote = null; - } - writeStart(writer, SERVICE, new XAttr(NAME, service.getName()), new XAttr(PROMOTE, promote), - policyProcessor.writePolicies(service)); - - //write extended attributes - this.writeExtendedAttributes(writer, service, extensionAttributeProcessor); - - - // Write service interface - extensionProcessor.write(service.getInterfaceContract(), writer); - - // Write bindings - for (Binding binding : service.getBindings()) { - extensionProcessor.write(binding, writer); - } - - // Write element - if (service.getCallback() != null) { - Callback callback = service.getCallback(); - writeStart(writer, CALLBACK, - policyProcessor.writePolicies(callback)); - - //write extended attributes - this.writeExtendedAttributes(writer, callback, extensionAttributeProcessor); - - // 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 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 extended attributes - this.writeExtendedAttributes(writer, component, extensionAttributeProcessor); - - // Write the component implementation - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - writeStart(writer, IMPLEMENTATION_COMPOSITE, new XAttr(NAME, ((Composite)implementation).getName())); - - //write extended attributes - this.writeExtendedAttributes(writer, (Composite)implementation, extensionAttributeProcessor); - - writeEnd(writer); - } else { - extensionProcessor.write(component.getImplementation(), writer); - } - - for (Object extension : component.getExtensions()) { - extensionProcessor.write(extension, writer); - } - - // Write elements - for (ComponentService service : component.getServices()) { - writeStart(writer, SERVICE, new XAttr(NAME, service.getName()), - policyProcessor.writePolicies(service)); - - //write extended attributes - this.writeExtendedAttributes(writer, service, extensionAttributeProcessor); - - // Write service interface - extensionProcessor.write(service.getInterfaceContract(), writer); - - // Write bindings - for (Binding binding : service.getBindings()) { - extensionProcessor.write(binding, writer); - } - - // Write element - if (service.getCallback() != null) { - Callback callback = service.getCallback(); - writeStart(writer, CALLBACK, policyProcessor.writePolicies(callback)); - - //write extended attributes - this.writeExtendedAttributes(writer, callback, extensionAttributeProcessor); - - // 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 elements - for (ComponentReference reference : component.getReferences()) { - writeStart(writer, REFERENCE, new XAttr(NAME, reference.getName()), - new XAttr(AUTOWIRE, reference.getAutowire()), - writeMultiplicity(reference), - writeTargets(reference), - policyProcessor.writePolicies(reference)); - - //write extended attributes - this.writeExtendedAttributes(writer, reference, extensionAttributeProcessor); - - // 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 extended attributes - this.writeExtendedAttributes(writer, callback, extensionAttributeProcessor); - - // 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 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 extended attributes - this.writeExtendedAttributes(writer, property, extensionAttributeProcessor); - - // Write property value - writePropertyValue(property.getValue(), property.getXSDElement(), property.getXSDType(), writer); - - // Write extensions - for (Object extension : property.getExtensions()) { - extensionProcessor.write(extension, writer); - } - - writeEnd(writer); - } - - writeEnd(writer); - } - - // Write elements - for (Reference reference : composite.getReferences()) { - CompositeReference compositeReference = (CompositeReference)reference; - - // Write list of promoted references - List promote = new ArrayList(); - for (ComponentReference promoted: compositeReference.getPromotedReferences()) { - promote.add(promoted.getName()); - } - - // Write element - writeStart(writer, REFERENCE, new XAttr(NAME, reference.getName()), - new XAttr(PROMOTE, promote), - writeMultiplicity(reference), - policyProcessor.writePolicies(reference)); - - //write extended attributes - this.writeExtendedAttributes(writer, reference, extensionAttributeProcessor); - - // Write reference interface - extensionProcessor.write(reference.getInterfaceContract(), writer); - - // Write bindings - for (Binding binding : reference.getBindings()) { - extensionProcessor.write(binding, writer); - } - - // Write element - if (reference.getCallback() != null) { - Callback callback = reference.getCallback(); - writeStart(writer, CALLBACK); - - //write extended attributes - this.writeExtendedAttributes(writer, callback, extensionAttributeProcessor); - - // 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 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 extended attributes - this.writeExtendedAttributes(writer, property, extensionAttributeProcessor); - - // 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 elements - for (Wire wire : composite.getWires()) { - writeStart(writer, WIRE, new XAttr(SOURCE, wire.getSource().getName()), new XAttr(TARGET, wire - .getTarget().getName())); - - //write extended attributes - this.writeExtendedAttributes(writer, wire, extensionAttributeProcessor); - - // 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 { - - // 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 intents and policy sets - List compositeIntents = null; - List compositePolicySets = null; - List compositeApplicablePolicySets = null; - resolveIntents(composite.getRequiredIntents(), resolver); - resolvePolicySets(composite.getPolicySets(), resolver); - resolvePolicySets(composite.getApplicablePolicySets(), resolver); - compositeIntents = composite.getRequiredIntents(); - compositePolicySets = composite.getPolicySets(); - compositeApplicablePolicySets = composite.getApplicablePolicySets(); - - //Resolve composite services and references - resolveContracts(composite, composite.getServices(), resolver); - resolveContracts(composite, composite.getReferences(), 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); - } - - //resolve intents and policy sets - resolveIntents(component.getRequiredIntents(), resolver); - resolvePolicySets(component.getPolicySets(), resolver); - resolvePolicySets(component.getApplicablePolicySets(), resolver); - - //inherit composite intents and policysets - PolicyComputationUtils.addDefaultPolicies(compositeIntents, - compositePolicySets, - component.getRequiredIntents(), - component.getPolicySets()); - - addInheritedPolicySets(compositeApplicablePolicySets, component.getApplicablePolicySets()); - - //resolve component services and references - resolveContracts(component, component.getServices(), resolver); - resolveContracts(component, component.getReferences(), resolver); - - for (ComponentProperty componentProperty : component.getProperties()) { - if (componentProperty.getFile() != null) { - Artifact artifact = contributionFactory.createArtifact(); - artifact.setURI(componentProperty.getFile()); - artifact = resolver.resolveModel(Artifact.class, artifact); - if (artifact.getLocation() != null) { - componentProperty.setFile(artifact.getLocation()); - } - } - } - - //resolve component implementation - Implementation implementation = component.getImplementation(); - if (implementation != null) { - try { - //resolve intents and policysets specified on this implementation - //before copying them over to the component. Before that, from the component - //copy over the applicablePolicySets alone as it might have to be - //used to validate the policysets specified on the implementation - - resolveImplIntentsAndPolicySets(implementation, - component.getApplicablePolicySets(), - resolver); - - copyPoliciesToComponent(component, implementation, resolver, true); - - //now resolve the implementation so that even if there is a shared instance - //for this that is resolved, the specified intents and policysets are safe in the - //component and not lost - implementation = resolveImplementation(implementation, resolver); - - //resolved implementation may contain intents and policysets specified at - //componentType (either in the componentType side file or in annotations if its a - //java implementation). This has to be consolidated in to the component. - copyPoliciesToComponent(component, implementation, resolver, false); - - component.setImplementation(implementation); - } catch ( PolicyValidationException e ) { - error("PolicyImplValidationException", resolver, component.getName(), e.getMessage()); - //throw new ContributionResolveException("PolicyValidation exception when processing implementation of component '" - //+ component.getName() + "' due to " + e.getMessage(), e); - } - - } - - //add model resolver to component - if (component instanceof ResolverExtension) { - ((ResolverExtension)component).setModelResolver(resolver); - } - } - - // Add model resolver to promoted components - for (Service service : composite.getServices()) { - CompositeService compositeService = (CompositeService)service; - Component promotedComponent = compositeService.getPromotedComponent(); - if (promotedComponent instanceof ResolverExtension) { - ((ResolverExtension)promotedComponent).setModelResolver(resolver); - } - } - } - - private void resolveImplIntentsAndPolicySets(Implementation implementation, - List inheritedApplicablePolicySets, - ModelResolver resolver) throws ContributionResolveException, - PolicyValidationException - { - if ( implementation instanceof PolicySetAttachPoint ) { - PolicySetAttachPoint policiedImpl = (PolicySetAttachPoint)implementation; - - policiedImpl.getApplicablePolicySets().addAll(inheritedApplicablePolicySets); - - resolveIntents(policiedImpl.getRequiredIntents(), resolver); - PolicyValidationUtils.validateIntents(policiedImpl, policiedImpl.getType()); - - resolvePolicySets(policiedImpl.getPolicySets(), resolver); - resolvePolicySets(policiedImpl.getApplicablePolicySets(), resolver); - - PolicyValidationUtils.validatePolicySets(policiedImpl); - - if ( implementation instanceof OperationsConfigurator ) { - for ( ConfiguredOperation implConfOp : ((OperationsConfigurator)implementation).getConfiguredOperations() ) { - resolveIntents(implConfOp.getRequiredIntents(), resolver); - PolicyValidationUtils.validateIntents(implConfOp, policiedImpl.getType()); - - resolvePolicySets(implConfOp.getPolicySets(), resolver); - resolvePolicySets(implConfOp.getApplicablePolicySets(), resolver); - //add the inherited applicablePolicysets - addInheritedPolicySets(policiedImpl.getApplicablePolicySets(), implConfOp.getApplicablePolicySets()); - - PolicyValidationUtils.validatePolicySets(implConfOp, policiedImpl.getType()); - - PolicyComputationUtils.addDefaultPolicies( - ((PolicySetAttachPoint)implementation).getRequiredIntents(), - ((PolicySetAttachPoint)implementation).getPolicySets(), - implConfOp.getRequiredIntents(), - implConfOp.getPolicySets()); - } - } - } - } - - private void copyPoliciesToComponent(Component component, - Implementation implementation, - ModelResolver resolver, - boolean clearImplSettings) throws ContributionResolveException { - if (implementation instanceof PolicySetAttachPoint) { - // Add implementation policies into component, since implementation instances are - // reused and it's likely that this implementation instance will not hold after its resolution. - // On the first call to this method (clearImplSettings=true), we are moving policies from the - // implementation XML element up to the component. In this case if there are mutually exclusive - // policies we must clear the component policy so that the implementation policy "wins". - // On the second call to this method (clearImplSettings=false), we are moving policies from the - // componentType implementation up to the component. In this case if there are mutually - // exclusive policies it is an error. This error will be detected later in the PolicyComputer. - if (clearImplSettings) { - for (Intent intent : ((PolicySetAttachPoint)implementation).getRequiredIntents()) { - for (Intent excluded : intent.getExcludedIntents()) { - if (component.getRequiredIntents().contains(excluded)) { - component.getRequiredIntents().remove(excluded); - } - for (Iterator i = component.getPolicySets().iterator(); i.hasNext(); ) { - PolicySet cmpPolicySet = (PolicySet) i.next(); - if (cmpPolicySet.getProvidedIntents().contains(excluded)) { - i.remove(); - } - } - } - } - for (PolicySet policySet : ((PolicySetAttachPoint)implementation).getPolicySets()) { - for (Intent intent : policySet.getProvidedIntents()) { - for (Intent excluded : intent.getExcludedIntents()) { - if (component.getRequiredIntents().contains(excluded)) { - component.getRequiredIntents().remove(excluded); - } - for (Iterator i = component.getPolicySets().iterator(); i.hasNext(); ) { - PolicySet cmpPolicySet = (PolicySet) i.next(); - if (cmpPolicySet.getProvidedIntents().contains(excluded)) { - i.remove(); - } - } - } - } - } - } - component.getRequiredIntents().addAll(((PolicySetAttachPoint)implementation).getRequiredIntents()); - component.getPolicySets().addAll(((PolicySetAttachPoint)implementation).getPolicySets()); - component.getApplicablePolicySets().addAll(((PolicySetAttachPoint)implementation).getApplicablePolicySets()); - - if ( implementation instanceof OperationsConfigurator ) { - boolean notFound; - List opsFromImplementation = new ArrayList(); - List implConfOperations = - new ArrayList(((OperationsConfigurator)implementation).getConfiguredOperations()); - for ( ConfiguredOperation implConfOp : implConfOperations ) { - notFound = true; - for ( ConfiguredOperation compConfOp : ((OperationsConfigurator)component).getConfiguredOperations() ) { - if ( implConfOp.getName().equals(compConfOp.getName()) ) { - notFound = false; - - if (clearImplSettings) { - for (Intent intent : implConfOp.getRequiredIntents()) { - for (Intent excluded : intent.getExcludedIntents()) { - if (compConfOp.getRequiredIntents().contains(excluded)) { - compConfOp.getRequiredIntents().remove(excluded); - } - } - } - for (PolicySet policySet : implConfOp.getPolicySets()) { - for (Intent intent : policySet.getProvidedIntents()) { - for (Intent excluded : intent.getExcludedIntents()) { - if (compConfOp.getRequiredIntents().contains(excluded)) { - compConfOp.getRequiredIntents().remove(excluded); - } - for (Iterator i = compConfOp.getPolicySets().iterator(); i.hasNext(); ) { - PolicySet cmpPolicySet = (PolicySet) i.next(); - if (cmpPolicySet.getProvidedIntents().contains(excluded)) { - i.remove(); - } - } - } - } - } - } - - addInheritedIntents(implConfOp.getRequiredIntents(), compConfOp.getRequiredIntents()); - addInheritedPolicySets(implConfOp.getPolicySets(), compConfOp.getPolicySets()); - addInheritedPolicySets(implConfOp.getApplicablePolicySets(), compConfOp.getApplicablePolicySets()); - } - } - - if ( notFound ) { - opsFromImplementation.add(implConfOp); - } - - if ( clearImplSettings ) { - ((OperationsConfigurator)implementation).getConfiguredOperations().remove(implConfOp); - } - } - ((OperationsConfigurator)component).getConfiguredOperations().addAll(opsFromImplementation); - } - - if ( clearImplSettings ) { - ((PolicySetAttachPoint)implementation).getRequiredIntents().clear(); - ((PolicySetAttachPoint)implementation).getPolicySets().clear(); - } - } - } - - - public QName getArtifactType() { - return COMPOSITE_QNAME; - } - - public Class getModelType() { - return Composite.class; - } - - /** - * Returns the model factory extension point to use. - * - * @param extensionPoints - * @return - */ - private static ModelFactoryExtensionPoint modelFactories(ExtensionPointRegistry extensionPoints) { - return extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - } - - /** - * Returns the monitor to use. - * - * @param extensionPoints - * @return - */ - private static Monitor monitor(ExtensionPointRegistry extensionPoints) { - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - if (utilities != null) { - MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class); - if (monitorFactory != null) { - return monitorFactory.createMonitor(); - } - } - return null; - } - -} diff --git a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConfiguredOperationProcessor.java b/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConfiguredOperationProcessor.java deleted file mode 100644 index aa4980fcb6..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConfiguredOperationProcessor.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.assembly.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.ConfiguredOperation; -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.policy.PolicyFactory; -import org.apache.tuscany.sca.monitor.Monitor; - -/** - * Processor for dealing with 'operation' elements from composite definitions - * - * @version $Rev$ $Date$ - */ -public class ConfiguredOperationProcessor implements StAXArtifactProcessor, Constants{ - - private AssemblyFactory assemblyFactory; - private PolicyAttachPointProcessor policyProcessor; - private PolicyFactory policyFactory; - private Monitor monitor; - - public ConfiguredOperationProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - this.assemblyFactory = modelFactories.getFactory(AssemblyFactory.class); - this.policyFactory = modelFactories.getFactory(PolicyFactory.class); - this.policyProcessor = new PolicyAttachPointProcessor(policyFactory); - this.monitor = monitor; - } - - public ConfiguredOperation read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - ConfiguredOperation configuredOp = assemblyFactory.createConfiguredOperation(); - - //Read an - configuredOp.setName(reader.getAttributeValue(null, NAME)); - configuredOp.setContractName(reader.getAttributeValue(null, SERVICE)); - configuredOp.setUnresolved(true); - - // Read policies - policyProcessor.readPolicies(configuredOp, reader); - - //Skip to end element - while (reader.hasNext()) { - if (reader.next() == END_ELEMENT && OPERATION_QNAME.equals(reader.getName())) { - break; - } - } - - return configuredOp; - } - - public void write(ConfiguredOperation configuredOperation, XMLStreamWriter writer) - throws ContributionWriteException, XMLStreamException { - - // Write an - policyProcessor.writePolicyPrefixes(configuredOperation, writer); - writer.writeStartElement(Constants.SCA10_NS, OPERATION); - policyProcessor.writePolicyAttributes(configuredOperation, writer); - - writer.writeAttribute(NAME, configuredOperation.getName()); - if ( configuredOperation.getContractName() != null ) { - writer.writeAttribute(SERVICE, configuredOperation.getContractName()); - } - writer.writeEndElement(); - } - - public void resolve(ConfiguredOperation configuredOperation, ModelResolver resolver) - throws ContributionResolveException { - } - - public QName getArtifactType() { - return OPERATION_QNAME; - } - - public Class getModelType() { - return ConfiguredOperation.class; - } - -} - - diff --git a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/Constants.java b/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/Constants.java deleted file mode 100644 index 3bf5a1173b..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/Constants.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.assembly.xml; - -import javax.xml.namespace.QName; - -/** - * Constants used in SCA assembly XML files. - * - * @version $Rev$ $Date$ - */ -public interface Constants { - String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0"; - String SCA10_TUSCANY_NS = "http://tuscany.apache.org/xmlns/sca/1.0"; - - String COMPONENT_TYPE = "componentType"; - QName COMPONENT_TYPE_QNAME = new QName(SCA10_NS, COMPONENT_TYPE); - - String SERVICE = "service"; - QName SERVICE_QNAME = new QName(SCA10_NS, SERVICE); - - String REFERENCE = "reference"; - QName REFERENCE_QNAME = new QName(SCA10_NS, REFERENCE); - - String PROPERTY = "property"; - QName PROPERTY_QNAME = new QName(SCA10_NS, PROPERTY); - - String CONSTRAINING_TYPE = "constrainingType"; - QName CONSTRAINING_TYPE_QNAME = new QName(SCA10_NS, CONSTRAINING_TYPE); - - String COMPOSITE = "composite"; - QName COMPOSITE_QNAME = new QName(SCA10_NS, COMPOSITE); - - String INCLUDE = "include"; - QName INCLUDE_QNAME = new QName(SCA10_NS, INCLUDE); - - String COMPONENT = "component"; - QName COMPONENT_QNAME = new QName(SCA10_NS, COMPONENT); - - String WIRE = "wire"; - QName WIRE_QNAME = new QName(SCA10_NS, WIRE); - - String OPERATION = "operation"; - QName OPERATION_QNAME = new QName(SCA10_NS, OPERATION); - - String CALLBACK = "callback"; - QName CALLBACK_QNAME = new QName(SCA10_NS, CALLBACK); - - String IMPLEMENTATION_COMPOSITE = "implementation.composite"; - QName IMPLEMENTATION_COMPOSITE_QNAME = new QName(SCA10_NS, IMPLEMENTATION_COMPOSITE); - - String IMPLEMENTATION = "implementation"; - QName IMPLEMENTATION_QNAME = new QName(SCA10_NS, IMPLEMENTATION); - - String BINDING_SCA = "binding.sca"; - QName BINDING_SCA_QNAME = new QName(Constants.SCA10_NS, BINDING_SCA); - - String NAME = "name"; - String TARGET_NAMESPACE = "targetNamespace"; - String LOCAL = "local"; - String AUTOWIRE = "autowire"; - String REQUIRES = "requires"; - String POLICY_SETS = "policySets"; - String APPLICABLE_POLICY_SETS = "applicablePolicySets"; - String PROMOTE = "promote"; - String TARGET = "target"; - String WIRED_BY_IMPL = "wiredByImpl"; - String MULTIPLICITY = "multiplicity"; - String TYPE = "type"; - String ELEMENT = "element"; - String MANY = "many"; - String MUST_SUPPLY = "mustSupply"; - String SOURCE = "source"; - String FILE = "file"; - String URI = "uri"; - String ZERO_ONE = "0..1"; - String ZERO_N = "0..n"; - String ONE_ONE = "1..1"; - String ONE_N = "1..n"; -} diff --git a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeDocumentProcessor.java b/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeDocumentProcessor.java deleted file mode 100644 index 4c5d6f8f49..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeDocumentProcessor.java +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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 java.io.IOException; -import java.io.InputStream; -import java.net.URI; -import java.net.URL; -import java.net.URLConnection; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -import org.apache.tuscany.sca.assembly.ConstrainingType; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.ValidatingXMLInputFactory; -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 contrainingType content handler. - * - * @version $Rev$ $Date$ - */ -public class ConstrainingTypeDocumentProcessor extends BaseAssemblyProcessor implements URLArtifactProcessor { - private XMLInputFactory inputFactory; - - /** - * Construct a new constrainingType processor. - * @param factory - * @param policyFactory - * @param staxProcessor - */ - public ConstrainingTypeDocumentProcessor(StAXArtifactProcessor staxProcessor, - XMLInputFactory inputFactory, - Monitor monitor) { - super(null, null, staxProcessor, monitor); - this.inputFactory = inputFactory; - } - - /** - * Constructs a new constrainingType processor. - * @param modelFactories - * @param staxProcessor - */ - public ConstrainingTypeDocumentProcessor(ModelFactoryExtensionPoint modelFactories, - StAXArtifactProcessor staxProcessor, - Monitor monitor) { - super(null, null, staxProcessor, monitor); - this.inputFactory = modelFactories.getFactory(ValidatingXMLInputFactory.class); - } - - public ConstrainingType read(URL contributionURL, URI uri, URL url) throws ContributionReadException { - InputStream urlStream = null; - try { - - // Create a stream reader - URLConnection connection = url.openConnection(); - connection.setUseCaches(false); - urlStream = connection.getInputStream(); - XMLStreamReader reader = inputFactory.createXMLStreamReader(url.toString(), urlStream); - reader.nextTag(); - - // Read the constrainingType model - ConstrainingType constrainingType = (ConstrainingType)extensionProcessor.read(reader); - - // For debugging purposes, write it back to XML -// if (constrainingType != null) { -// try { -// ByteArrayOutputStream bos = new ByteArrayOutputStream(); -// XMLOutputFactory outputFactory = XMLOutputFactory.newInstance(); -// outputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, Boolean.TRUE); -// extensionProcessor.write(constrainingType, outputFactory.createXMLStreamWriter(bos)); -// Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new ByteArrayInputStream(bos.toByteArray())); -// OutputFormat format = new OutputFormat(); -// format.setIndenting(true); -// format.setIndent(2); -// XMLSerializer serializer = new XMLSerializer(System.out, format); -// serializer.serialize(document); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// } - - return constrainingType; - - } catch (XMLStreamException e) { - ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", inputFactory, ce); - throw ce; - } catch (IOException e) { - ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", inputFactory, ce); - throw ce; - } finally { - try { - if (urlStream != null) { - urlStream.close(); - urlStream = null; - } - } catch (IOException ioe) { - //ignore - } - } - } - - public void resolve(ConstrainingType constrainingType, ModelResolver resolver) throws ContributionResolveException { - extensionProcessor.resolve(constrainingType, resolver); - } - - public String getArtifactType() { - return ".constrainingType"; - } - - public Class getModelType() { - return ConstrainingType.class; - } -} diff --git a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeModelResolver.java b/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeModelResolver.java deleted file mode 100644 index 7dd95e3944..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeModelResolver.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.assembly.xml; - -import java.util.HashMap; -import java.util.Map; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.ConstrainingType; -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.Import; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.namespace.NamespaceImport; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * A Model Resolver for ConstrainingType models. - * - * @version $Rev$ $Date$ - */ -public class ConstrainingTypeModelResolver implements ModelResolver { - - private Contribution contribution; - private Map map = new HashMap(); - - public ConstrainingTypeModelResolver(Contribution contribution, ModelFactoryExtensionPoint modelFactories) { - this.contribution = contribution; - } - - public void addModel(Object resolved) { - ConstrainingType composite = (ConstrainingType)resolved; - map.put(composite.getName(), composite); - } - - public Object removeModel(Object resolved) { - return map.remove(((ConstrainingType)resolved).getName()); - } - - public T resolveModel(Class modelClass, T unresolved) { - - // Lookup a definition for the given namespace - QName qname = ((ConstrainingType)unresolved).getName(); - ConstrainingType resolved = (ConstrainingType) map.get(qname); - if (resolved != null) { - return modelClass.cast(resolved); - } - - // No definition found, delegate the resolution to the imports - for (Import import_ : this.contribution.getImports()) { - if (import_ instanceof NamespaceImport) { - NamespaceImport namespaceImport = (NamespaceImport)import_; - if (namespaceImport.getNamespace().equals(qname.getNamespaceURI())) { - - // Delegate the resolution to the import resolver - resolved = namespaceImport.getModelResolver().resolveModel(ConstrainingType.class, (ConstrainingType)unresolved); - if (!resolved.isUnresolved()) { - return modelClass.cast(resolved); - } - } - } - } - return (T)unresolved; - } - -} diff --git a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeProcessor.java b/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeProcessor.java deleted file mode 100644 index 7b0751437a..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeProcessor.java +++ /dev/null @@ -1,281 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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 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.AbstractContract; -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.ConstrainingType; -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.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.impl.OperationImpl; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.policy.PolicyFactory; -import org.w3c.dom.Document; - -/** - * A constrainingType processor. - * - * @version $Rev$ $Date$ - */ -public class ConstrainingTypeProcessor extends BaseAssemblyProcessor implements StAXArtifactProcessor { - - /** - * Construct a new constrainingType processor. - * @param factory - * @param policyFactory - * @param extensionProcessor - */ - public ConstrainingTypeProcessor(AssemblyFactory factory, PolicyFactory policyFactory, - StAXArtifactProcessor extensionProcessor, Monitor monitor) { - super(factory, policyFactory, extensionProcessor, monitor); - } - - /** - * Constructs a new constrainingType processor. - * - * @param modelFactories - * @param extensionProcessor - */ - public ConstrainingTypeProcessor(ModelFactoryExtensionPoint modelFactories, - StAXArtifactProcessor extensionProcessor, - Monitor monitor) { - super(modelFactories.getFactory(AssemblyFactory.class), - modelFactories.getFactory(PolicyFactory.class), extensionProcessor, monitor); - } - - public ConstrainingType read(XMLStreamReader reader) throws ContributionReadException { - ConstrainingType constrainingType = null; - AbstractService abstractService = null; - AbstractReference abstractReference = null; - AbstractProperty abstractProperty = null; - AbstractContract abstractContract = null; - QName name = null; - - try { - // Read the constrainingType document - while (reader.hasNext()) { - int event = reader.getEventType(); - switch (event) { - - case START_ELEMENT: - name = reader.getName(); - - // Read a - if (Constants.CONSTRAINING_TYPE_QNAME.equals(name)) { - constrainingType = assemblyFactory.createConstrainingType(); - constrainingType.setName(new QName(getString(reader, TARGET_NAMESPACE), getString(reader, NAME))); - policyProcessor.readPolicies(constrainingType, reader); - - } else if (Constants.SERVICE_QNAME.equals(name)) { - - // Read a - abstractService = assemblyFactory.createAbstractService(); - abstractContract = abstractService; - abstractService.setName(getString(reader, Constants.NAME)); - constrainingType.getServices().add(abstractService); - policyProcessor.readPolicies(abstractService, reader); - - } else if (Constants.REFERENCE_QNAME.equals(name)) { - - // Read a - abstractReference = assemblyFactory.createAbstractReference(); - abstractContract = abstractReference; - abstractReference.setName(getString(reader, Constants.NAME)); - readMultiplicity(abstractReference, reader); - constrainingType.getReferences().add(abstractReference); - policyProcessor.readPolicies(abstractReference, reader); - - } else if (Constants.PROPERTY_QNAME.equals(name)) { - - // Read a - abstractProperty = assemblyFactory.createAbstractProperty(); - readAbstractProperty(abstractProperty, reader); - - // Read the property value - Document value = readPropertyValue(abstractProperty.getXSDElement(), abstractProperty.getXSDType(), reader); - abstractProperty.setValue(value); - - constrainingType.getProperties().add(abstractProperty); - policyProcessor.readPolicies(abstractProperty, reader); - - } else if (OPERATION_QNAME.equals(name)) { - - // Read an - Operation operation = new OperationImpl(); - operation.setName(getString(reader, NAME)); - operation.setUnresolved(true); - policyProcessor.readPolicies(abstractContract, operation, reader); - - } else { - - // Read an extension element - Object extension = extensionProcessor.read(reader); - if (extension instanceof InterfaceContract) { - - // and - abstractContract.setInterfaceContract((InterfaceContract)extension); - } else { - - // Add the extension element to the current element - if (abstractContract != null) { - abstractContract.getExtensions().add(extension); - } else { - constrainingType.getExtensions().add(extension); - } - - } - } - break; - - case END_ELEMENT: - name = reader.getName(); - - // Clear current state when reading reaching end element - if (SERVICE_QNAME.equals(name)) { - abstractService = null; - abstractContract = null; - } else if (REFERENCE_QNAME.equals(name)) { - abstractReference = null; - abstractContract = null; - } else if (PROPERTY_QNAME.equals(name)) { - abstractProperty = null; - } - break; - } - if (reader.hasNext()) { - reader.next(); - } - } - } - catch (XMLStreamException e) { - ContributionReadException ex = new ContributionReadException(e); - error("XMLStreamException", reader, ex); - } - - return constrainingType; - } - - public void write(ConstrainingType constrainingType, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - - // Write element - writeStartDocument(writer, CONSTRAINING_TYPE, - new XAttr(TARGET_NAMESPACE, constrainingType.getName().getNamespaceURI()), - new XAttr(NAME, constrainingType.getName().getLocalPart()), - policyProcessor.writePolicies(constrainingType)); - - // Write elements - for (AbstractService service : constrainingType.getServices()) { - writeStart(writer, SERVICE, new XAttr(NAME, service.getName()), - policyProcessor.writePolicies(service)); - - extensionProcessor.write(service.getInterfaceContract(), writer); - - for (Object extension: service.getExtensions()) { - extensionProcessor.write(extension, writer); - } - - writeEnd(writer); - } - - // Write elements - for (AbstractReference reference : constrainingType.getReferences()) { - writeStart(writer, REFERENCE, new XAttr(NAME, reference.getName()), - writeMultiplicity(reference), - policyProcessor.writePolicies(reference)); - - extensionProcessor.write(reference.getInterfaceContract(), writer); - - for (Object extension: reference.getExtensions()) { - extensionProcessor.write(extension, writer); - } - - writeEnd(writer); - } - - // Write elements - for (AbstractProperty abstractProperty : constrainingType.getProperties()) { - writeStart(writer, - PROPERTY, - new XAttr(NAME, abstractProperty.getName()), - new XAttr(MUST_SUPPLY, abstractProperty.isMustSupply()), - new XAttr(MANY, abstractProperty.isMany()), - new XAttr(TYPE, abstractProperty.getXSDType()), - new XAttr(ELEMENT, abstractProperty.getXSDElement()), - policyProcessor.writePolicies(abstractProperty)); - - // Write property value - writePropertyValue(abstractProperty.getValue(), abstractProperty.getXSDElement(), abstractProperty.getXSDType(), writer); - - // Write extensions - for (Object extension : abstractProperty.getExtensions()) { - extensionProcessor.write(extension, writer); - } - - writeEnd(writer); - } - - // Write extension elements - for (Object extension: constrainingType.getExtensions()) { - extensionProcessor.write(extension, writer); - } - - writeEndDocument(writer); - } - - public void resolve(ConstrainingType constrainingType, ModelResolver resolver) throws ContributionResolveException { - // Resolve component type services and references - resolveAbstractContracts(constrainingType.getServices(), resolver); - resolveAbstractContracts(constrainingType.getReferences(), resolver); - - resolveIntents(constrainingType.getRequiredIntents(), resolver); - for ( AbstractService service : constrainingType.getServices() ) { - resolveIntents(service.getRequiredIntents(), resolver); - } - - for ( AbstractReference reference : constrainingType.getReferences() ) { - resolveIntents(reference.getRequiredIntents(), resolver); - } - } - - public QName getArtifactType() { - return CONSTRAINING_TYPE_QNAME; - } - - public Class getModelType() { - return ConstrainingType.class; - } -} diff --git a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/DefaultBeanModelProcessor.java b/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/DefaultBeanModelProcessor.java deleted file mode 100644 index a63ccdf151..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/DefaultBeanModelProcessor.java +++ /dev/null @@ -1,256 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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 java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -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.Base; -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.monitor.Monitor; -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; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; - -/** - * Default Model Processor for beans. - * - * @version $Rev$ $Date$ - */ -public class DefaultBeanModelProcessor extends BaseAssemblyProcessor implements StAXArtifactProcessor { - - private QName artifactType; - private Class modelClass; - private Object modelFactory; - private Method factoryMethod; - private Map setterMethods = new HashMap(); - private Map getterMethods = new HashMap(); - - public DefaultBeanModelProcessor(AssemblyFactory assemblyFactory, - PolicyFactory policyFactory, - QName artifactType, - Class modelClass, - Object modelFactory, - Monitor monitor) { - super(assemblyFactory, policyFactory, null, monitor); - this.artifactType = artifactType; - this.modelClass = modelClass; - this.modelFactory = modelFactory; - - // Introspect the factory class and bean model class - if (modelFactory != null) { - - // Find the model create method - for (Method method: modelFactory.getClass().getMethods()) { - if (method.getName().startsWith("create") && method.getReturnType() == modelClass) { - factoryMethod = method; - break; - } - } - } - - // Index the bean's setter methods - for (Method method: modelClass.getMethods()) { - Method getter; - String name = method.getName(); - if (name.startsWith("set") && name.length() > 3) { - - // Get the corresponding getter method - try { - getter = modelClass.getMethod("get" + name.substring(3)); - } catch (Exception e) { - getter = null; - continue; - } - - // Get the property name - name = name.substring(3); - if (name.length() > 1) { - if (!name.toUpperCase().equals(name)) { - name = name.substring(0, 1).toLowerCase() + name.substring(1); - } - } - } else { - continue; - } - - // Map an uppercase property name to a lowercase attribute name - if (name.toUpperCase().equals(name)) { - name = name.toLowerCase(); - } - - // Trim trailing _ from property names - if (name.endsWith("_")) { - name = name.substring(0, name.length()-1); - } - setterMethods.put(name, method); - getterMethods.put(name, getter); - } - } - - public Object read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - - // Read an element - try { - - // Create a new instance of the model - Object model; - if (modelFactory != null) { - // Invoke the factory create method - model = factoryMethod.invoke(modelFactory); - } else { - // Invoke the model bean class default constructor - model = modelClass.newInstance(); - } - - // Initialize the bean properties with the attributes found in the - // XML element - for (int i = 0, n = reader.getAttributeCount(); i < n; i++) { - String attributeName = reader.getAttributeLocalName(i); - Method setter = setterMethods.get(attributeName); - if (setter != null) { - String value = reader.getAttributeValue(i); - setter.invoke(model, value); - } - } - - // Read policies - policyProcessor.readPolicies(model, reader); - - // FIXME read extension elements - - // By default mark the model object unresolved - if (model instanceof Base) { - ((Base)model).setUnresolved(true); - } - - // Skip to end element - while (reader.hasNext()) { - if (reader.next() == END_ELEMENT && artifactType.equals(reader.getName())) { - break; - } - } - return model; - - } catch (Exception e) { - ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", reader, ce); - throw ce; - } - } - - public void write(Object bean, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - try { - // Write the bean properties as attributes - List attrs = new ArrayList(); - for (Map.Entry entry: getterMethods.entrySet()) { - if (entry.getValue().getReturnType() == String.class) { - String value = (String)entry.getValue().invoke(bean); - attrs.add(new XAttr(entry.getKey(), value)); - } - } - - // Write element - writeStart(writer, artifactType.getNamespaceURI(), artifactType.getLocalPart(), - policyProcessor.writePolicies(bean), new XAttr(null, attrs)); - - writeEnd(writer); - - } catch (Exception e) { - ContributionWriteException ce = new ContributionWriteException(e); - error("ContributionWriteException", writer, ce); - throw ce; - } - } - - public void resolve(Object bean, ModelResolver resolver) throws ContributionResolveException { - - // Resolve and merge the component type associated with an - // implementation model - if (bean instanceof Implementation) { - Implementation implementation = (Implementation)bean; - String uri = implementation.getURI(); - if (uri != null) { - int d = uri.lastIndexOf('.'); - if (d != -1) { - uri = uri.substring(0, d) + ".componentType"; - - // Resolve the component type - ComponentType componentType = assemblyFactory.createComponentType(); - componentType.setURI(uri); - componentType.setUnresolved(true); - - componentType = resolver.resolveModel(ComponentType.class, componentType); - if (componentType != null && !componentType.isUnresolved()) { - - // We found a component type, merge it into the implementation model - implementation.getServices().addAll(componentType.getServices()); - implementation.getReferences().addAll(componentType.getReferences()); - implementation.getProperties().addAll(componentType.getProperties()); - implementation.setConstrainingType(componentType.getConstrainingType()); - - if (implementation instanceof PolicySetAttachPoint && - componentType instanceof PolicySetAttachPoint ) { - PolicySetAttachPoint policiedImpl = (PolicySetAttachPoint)implementation; - PolicySetAttachPoint policiedCompType = (PolicySetAttachPoint)componentType; - - if ( policiedImpl.getPolicySets() != null) { - policiedImpl.getPolicySets().addAll(policiedCompType.getPolicySets()); - } - if (policiedImpl.getRequiredIntents() != null) { - policiedImpl.getRequiredIntents().addAll(policiedCompType.getRequiredIntents()); - } - } - } - } - } - } - - // Mark the model resolved - if (bean instanceof Base) { - ((Base)bean).setUnresolved(false); - } - } - - public QName getArtifactType() { - return artifactType; - } - - public Class getModelType() { - return modelClass; - } - -} diff --git a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/PolicyAttachPointProcessor.java b/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/PolicyAttachPointProcessor.java deleted file mode 100644 index fc4e10654d..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/PolicyAttachPointProcessor.java +++ /dev/null @@ -1,266 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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 java.util.ArrayList; -import java.util.List; -import java.util.StringTokenizer; - -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.contribution.processor.BaseStAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentAttachPoint; -import org.apache.tuscany.sca.policy.PolicyFactory; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; - -/** - * A Policy Attach Point processor. - * - * @version $Rev$ $Date$ - */ -public class PolicyAttachPointProcessor extends BaseStAXArtifactProcessor implements Constants { - - private PolicyFactory policyFactory; - - public PolicyAttachPointProcessor(PolicyFactory policyFactory) { - this.policyFactory = policyFactory; - } - - /** - * Read policy intents associated with an operation. - * @param attachPoint - * @param operation - * @param reader - */ - private void readIntents(Object attachPoint, Operation operation, XMLStreamReader reader) { - if (!(attachPoint instanceof IntentAttachPoint)) - return; - IntentAttachPoint intentAttachPoint = (IntentAttachPoint)attachPoint; - String value = reader.getAttributeValue(null, REQUIRES); - if (value != null) { - List requiredIntents = intentAttachPoint.getRequiredIntents(); - for (StringTokenizer tokens = new StringTokenizer(value); tokens.hasMoreTokens();) { - QName qname = getQNameValue(reader, tokens.nextToken()); - Intent intent = policyFactory.createIntent(); - intent.setName(qname); - if (operation != null) { - //FIXME Don't we need to handle intent specification - // on an operation basis? - //intent.getOperations().add(operation); - } - requiredIntents.add(intent); - } - } - } - - /** - * Reads policy intents and policy sets associated with an operation. - * @param attachPoint - * @param operation - * @param reader - */ - public void readPolicies(Object attachPoint, Operation operation, XMLStreamReader reader) { - readIntents(attachPoint, operation, reader); - readPolicySets(attachPoint, operation, reader); - } - - /** - * Reads policy intents and policy sets. - * @param attachPoint - * @param reader - */ - public void readPolicies(Object attachPoint, XMLStreamReader reader) { - readPolicies(attachPoint, null, reader); - } - - /** - * Reads policy sets associated with an operation. - * @param attachPoint - * @param operation - * @param reader - */ - private void readPolicySets(Object attachPoint, Operation operation, XMLStreamReader reader) { - if (!(attachPoint instanceof PolicySetAttachPoint)) { - return; - } - PolicySetAttachPoint policySetAttachPoint = (PolicySetAttachPoint)attachPoint; - String value = reader.getAttributeValue(null, POLICY_SETS); - if (value != null) { - List policySets = policySetAttachPoint.getPolicySets(); - for (StringTokenizer tokens = new StringTokenizer(value); tokens.hasMoreTokens();) { - QName qname = getQNameValue(reader, tokens.nextToken()); - PolicySet policySet = policyFactory.createPolicySet(); - policySet.setName(qname); - if (operation != null) { - //FIXME Don't we need to handle policySet specification - // on an operation basis? - //policySet.getOperations().add(operation); - } - policySets.add(policySet); - } - } - - value = reader.getAttributeValue(SCA10_TUSCANY_NS, APPLICABLE_POLICY_SETS); - if (value != null) { - List applicablePolicySets = policySetAttachPoint.getApplicablePolicySets(); - for (StringTokenizer tokens = new StringTokenizer(value); tokens.hasMoreTokens();) { - QName qname = getQNameValue(reader, tokens.nextToken()); - PolicySet policySet = policyFactory.createPolicySet(); - policySet.setName(qname); - if (operation != null) { - //FIXME Don't we need to handle policySet specification - // on an operation basis? - //policySet.getOperations().add(operation); - } - applicablePolicySets.add(policySet); - } - } - } - - /** - * Write policies - * @param attachPoint - * @return - */ - XAttr writePolicies(Object attachPoint) throws XMLStreamException { - return writePolicies(attachPoint, (Operation)null); - } - - /** - * Write policies - * @param attachPoint - * @return - */ - public void writePolicyAttributes(Object attachPoint, XMLStreamWriter writer) throws XMLStreamException { - writePolicyAttributes(attachPoint, (Operation)null, writer); - } - - /** - * Write policies - * @param attachPoint - * @return - */ - public void writePolicyPrefixes(Object attachPoint, XMLStreamWriter writer) throws XMLStreamException { - writePolicyPrefixes(attachPoint, (Operation)null, writer); - } - - /** - * Write policies associated with an operation - * @param attachPoint - * @param operation - * @return - */ - XAttr writePolicies(Object attachPoint, Operation operation) { - List attrs =new ArrayList(); - attrs.add(writeIntents(attachPoint, operation)); - attrs.add(writePolicySets(attachPoint, operation)); - return new XAttr(null, attrs); - } - - /** - * Write policies - * @param attachPoint - * @return - */ - public void writePolicyAttributes(Object attachPoint, Operation operation, XMLStreamWriter writer) throws XMLStreamException { - XAttr attr = writePolicies(attachPoint, operation); - attr.write(writer); - } - - /** - * Write policies - * @param attachPoint - * @return - */ - public void writePolicyPrefixes(Object attachPoint, Operation operation, XMLStreamWriter writer) throws XMLStreamException { - XAttr attr = writePolicies(attachPoint, operation); - attr.writePrefix(writer); - } - - /** - * Write policy intents associated with an operation. - * @param attachPoint - * @param operation - */ - private XAttr writeIntents(Object attachPoint, Operation operation) { - if (!(attachPoint instanceof IntentAttachPoint)) { - return null; - } - IntentAttachPoint intentAttachPoint = (IntentAttachPoint)attachPoint; - List qnames = new ArrayList(); - for (Intent intent: intentAttachPoint.getRequiredIntents()) { - qnames.add(intent.getName()); - } - return new XAttr(Constants.REQUIRES, qnames); - } - - /** - * Write policy sets associated with an operation. - * @param attachPoint - * @param operation - */ - private XAttr writePolicySets(Object attachPoint, Operation operation) { - if (!(attachPoint instanceof PolicySetAttachPoint)) { - return null; - } - PolicySetAttachPoint policySetAttachPoint = (PolicySetAttachPoint)attachPoint; - List qnames = new ArrayList(); - for (PolicySet policySet: policySetAttachPoint.getPolicySets()) { - qnames.add(policySet.getName()); - } - return new XAttr(Constants.POLICY_SETS, qnames); - } - - public void resolvePolicies(Object attachPoint, ModelResolver resolver) { - if ( attachPoint instanceof PolicySetAttachPoint ) { - PolicySetAttachPoint policySetAttachPoint = (PolicySetAttachPoint)attachPoint; - - List requiredIntents = new ArrayList(); - Intent resolvedIntent = null; - - if ( policySetAttachPoint.getRequiredIntents() != null && policySetAttachPoint.getRequiredIntents().size() > 0 ) { - for ( Intent intent : policySetAttachPoint.getRequiredIntents() ) { - resolvedIntent = resolver.resolveModel(Intent.class, intent); - requiredIntents.add(resolvedIntent); - } - policySetAttachPoint.getRequiredIntents().clear(); - policySetAttachPoint.getRequiredIntents().addAll(requiredIntents); - } - - if ( policySetAttachPoint.getPolicySets() != null && policySetAttachPoint.getPolicySets().size() > 0 ) { - List resolvedPolicySets = new ArrayList(); - PolicySet resolvedPolicySet = null; - for ( PolicySet policySet : policySetAttachPoint.getPolicySets() ) { - resolvedPolicySet = resolver.resolveModel(PolicySet.class, policySet); - resolvedPolicySets.add(resolvedPolicySet); - } - policySetAttachPoint.getPolicySets().clear(); - policySetAttachPoint.getPolicySets().addAll(resolvedPolicySets); - } - } - } -} diff --git a/java/sca/contrib/modules/assembly-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/assembly-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index 7a190dea9c..0000000000 --- a/java/sca/contrib/modules/assembly-xml/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. - -# Implementation class for the artifact processor extension -org.apache.tuscany.sca.assembly.xml.ComponentTypeProcessor;qname=http://www.osoa.org/xmlns/sca/1.0#componentType,model=org.apache.tuscany.sca.assembly.ComponentType -org.apache.tuscany.sca.assembly.xml.ConstrainingTypeProcessor;qname=http://www.osoa.org/xmlns/sca/1.0#constrainingType,model=org.apache.tuscany.sca.assembly.ConstrainingType -org.apache.tuscany.sca.assembly.xml.CompositeProcessor;qname=http://www.osoa.org/xmlns/sca/1.0#composite,model=org.apache.tuscany.sca.assembly.Composite diff --git a/java/sca/contrib/modules/assembly-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor b/java/sca/contrib/modules/assembly-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor deleted file mode 100644 index 403c049b48..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor +++ /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. - -# Implementation class for the artifact processor extension -org.apache.tuscany.sca.assembly.xml.ComponentTypeDocumentProcessor;type=.componentType,model=org.apache.tuscany.sca.assembly.ComponentType -org.apache.tuscany.sca.assembly.xml.ConstrainingTypeDocumentProcessor;type=.constrainingType,model=org.apache.tuscany.sca.assembly.ConstrainingType -org.apache.tuscany.sca.assembly.xml.CompositeDocumentProcessor;type=.composite,model=org.apache.tuscany.sca.assembly.Composite diff --git a/java/sca/contrib/modules/assembly-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver b/java/sca/contrib/modules/assembly-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver deleted file mode 100644 index ecc34942f1..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver +++ /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. - -org.apache.tuscany.sca.assembly.xml.CompositeModelResolver;model=org.apache.tuscany.sca.assembly.Composite -org.apache.tuscany.sca.assembly.xml.ConstrainingTypeModelResolver;model=org.apache.tuscany.sca.assembly.ConstrainingType -org.apache.tuscany.sca.assembly.xml.ComponentTypeModelResolver;model=org.apache.tuscany.sca.assembly.ComponentType diff --git a/java/sca/contrib/modules/assembly-xml/src/main/resources/assembly-xml-validation-messages.properties b/java/sca/contrib/modules/assembly-xml/src/main/resources/assembly-xml-validation-messages.properties deleted file mode 100644 index 8cc5e5a5ec..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/main/resources/assembly-xml-validation-messages.properties +++ /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. -# -# -NoCompositeNamespace = No namespace found: Composite = {0} -UnexpectedInterfaceElement = Unexpected element found. It should appear inside a or element. -UnexpectedBindingElement = Unexpected element found. It should appear inside a or element. -UnexpectedImplementationElement = Unexpected element found. It should appear inside a element. -PolicyImplValidationException = PolicyValidation exception when processing implementation of component {0} due to {1}. -PolicyServiceValidationException = PolicyValidation exceptions when processing service/reference {0} in {1}. Error is {2} -ContributionReadException = ContributionReadException occured due to : {0} -ContributionWriteException = ContributionWriteException occured due to : {0} -XMLStreamException = XMLStreamException occured due to : {0} diff --git a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/AnyElementReadWriteTestCase.java b/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/AnyElementReadWriteTestCase.java deleted file mode 100644 index abf0269c0f..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/AnyElementReadWriteTestCase.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.assembly.xml; - -import java.io.ByteArrayOutputStream; -import java.io.InputStream; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLOutputFactory; -import javax.xml.stream.XMLStreamReader; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.ValidatingXMLInputFactory; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.junit.Test; - -public class AnyElementReadWriteTestCase extends TestCase { - - private XMLInputFactory inputFactory; - String XML = ""; - private ExtensibleStAXArtifactProcessor staxProcessor; - - @Override - public void setUp() throws Exception { - ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - inputFactory = modelFactories.getFactory(ValidatingXMLInputFactory.class); - - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints - .getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, - inputFactory, XMLOutputFactory.newInstance(), null); - } - - @Override - public void tearDown() throws Exception { - } - - /* - @Test - public void testReadWriteComposite() throws Exception { - InputStream is = getClass().getResourceAsStream("Calculator.composite"); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - Composite composite = (Composite) staxProcessor.read(reader); - assertNotNull(composite); - - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - staxProcessor.write(composite, bos); - //System.out.println(bos.toString()); - assertEquals(XML, bos.toString()); - bos.close(); - - is.close(); - } - */ - - @Test - public void testReadWriteUnknownElementComposite() throws Exception { - InputStream is = getClass().getResourceAsStream("UnknownElement.composite"); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - Composite composite = (Composite) staxProcessor.read(reader); - assertNotNull(composite); - - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - staxProcessor.write(composite, bos); - System.out.println(bos.toString()); - //assertEquals(XML, bos.toString()); - bos.close(); - - is.close(); - } - -} diff --git a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/BuildPolicyTestCase.java b/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/BuildPolicyTestCase.java deleted file mode 100644 index 5f8f976b84..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/BuildPolicyTestCase.java +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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 java.net.URI; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; - -import javax.xml.namespace.QName; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.ConstrainingType; -import org.apache.tuscany.sca.assembly.OperationsConfigurator; -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.DefaultURLArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.resolver.DefaultModelResolver; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.definitions.SCADefinitions; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.MonitorFactory; -import org.apache.tuscany.sca.monitor.impl.DefaultMonitorFactoryImpl; -import org.apache.tuscany.sca.policy.IntentAttachPoint; -import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory; - -/** - * Test reading SCA XML assembly documents. - * - * @version $Rev: 561254 $ $Date: 2007-07-31 13:16:27 +0530 (Tue, 31 Jul 2007) $ - */ -public class BuildPolicyTestCase extends TestCase { - private URLArtifactProcessor documentProcessor; - private URLArtifactProcessor policyDefinitionsProcessor; - private ModelResolver resolver; - private CompositeBuilder compositeBuilder; - private Composite composite; - private Monitor monitor; - - @Override - public void setUp() throws Exception { - DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - AssemblyFactory assemblyFactory = modelFactories.getFactory(AssemblyFactory.class); - SCABindingFactory scaBindingFactory = new TestSCABindingFactoryImpl(); - IntentAttachPointTypeFactory attachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class); - List policyDefinitions = new ArrayList(); - resolver = new DefaultModelResolver(); - - MonitorFactory monitorFactory = new DefaultMonitorFactoryImpl(); - monitor = monitorFactory.createMonitor(); - - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - InterfaceContractMapper mapper = utilities.getUtility(InterfaceContractMapper.class); - - compositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, attachPointTypeFactory, mapper, monitor); - URLArtifactProcessorExtensionPoint documentProcessors = new DefaultURLArtifactProcessorExtensionPoint(extensionPoints); - documentProcessor = new ExtensibleURLArtifactProcessor(documentProcessors, null); - policyDefinitionsProcessor = documentProcessors.getProcessor(SCADefinitions.class); - - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - staxProcessors.addArtifactProcessor(new TestPolicyProcessor()); - - URL url = getClass().getResource("CalculatorComponent.constrainingType"); - URI uri = URI.create("CalculatorComponent.constrainingType"); - ConstrainingType constrainingType = (ConstrainingType)documentProcessor.read(null, uri, url); - assertNotNull(constrainingType); - resolver.addModel(constrainingType); - - url = getClass().getResource("TestAllPolicyCalculator.composite"); - uri = URI.create("TestAllCalculator.constrainingType"); - composite = (Composite)documentProcessor.read(null, uri, url); - assertNotNull(composite); - - url = getClass().getResource("another_test_definitions.xml"); - uri = URI.create("another_test_definitions.xml"); - SCADefinitions definitions = (SCADefinitions)policyDefinitionsProcessor.read(null, uri, url); - assertNotNull(definitions); - policyDefinitions.add(definitions); - - documentProcessor.resolve(definitions, resolver); - documentProcessor.resolve(composite, resolver); - - compositeBuilder.build(composite); - } - - public void testPolicyIntentInheritance() throws Exception { - String namespaceUri = "http://test"; - - IntentAttachPoint policiedComposite = (IntentAttachPoint)composite; - assertEquals(policiedComposite.getRequiredIntents().size(), 1); - assertEquals(policiedComposite.getRequiredIntents().get(0).getName(), new QName(namespaceUri, "tuscanyIntent_1")); - - //1 defined for composite, 2 defined for the service, 1 defined and 3 inherited for the promoted service (4) - assertEquals(composite.getServices().get(0).getRequiredIntents().size(), 7); - //1 from the operation defined in this service and 2 from the operation defined in the promoted service - assertEquals(composite.getServices().get(0).getConfiguredOperations().get(0).getRequiredIntents().size(), 5); - assertEquals(composite.getServices().get(0).getRequiredIntents().get(3).getName(), new QName(namespaceUri, "tuscanyIntent_3")); - //bindings will have only 2 intents since duplications will be cut out - assertEquals(((IntentAttachPoint)composite.getServices().get(0).getBindings().get(0)).getRequiredIntents().size(), 3); - assertEquals(((OperationsConfigurator)composite.getServices().get(0).getBindings().get(0)).getConfiguredOperations().size(), 1); - assertEquals(((OperationsConfigurator)composite.getServices().get(0).getBindings().get(0)).getConfiguredOperations().get(0).getRequiredIntents().size(), 5); - - assertEquals(composite.getReferences().get(0).getRequiredIntents().size(), 5); - assertEquals(composite.getReferences().get(0).getConfiguredOperations().size(), 1); - assertEquals(composite.getReferences().get(0).getConfiguredOperations().get(0).getRequiredIntents().size(), 4); - assertEquals(composite.getReferences().get(0).getRequiredIntents().get(1).getName(), new QName(namespaceUri, "tuscanyIntent_1")); - assertEquals(((IntentAttachPoint)composite.getReferences().get(0).getBindings().get(0)).getRequiredIntents().size(), 3); - - assertEquals(composite.getComponents().get(0).getRequiredIntents().size(), 3); - assertEquals(composite.getComponents().get(0).getRequiredIntents().get(2).getName(), new QName(namespaceUri, "tuscanyIntent_1")); - assertEquals(composite.getComponents().get(0).getServices().get(0).getRequiredIntents().size(), 4); - assertEquals(composite.getComponents().get(0).getServices().get(0).getCallback().getRequiredIntents().size(), 4); - assertEquals(composite.getComponents().get(0).getServices().get(0).getConfiguredOperations().get(0).getRequiredIntents().size(), 5); - assertEquals(composite.getComponents().get(0).getReferences().get(0).getRequiredIntents().size(), 5); - assertEquals(composite.getComponents().get(0).getReferences().get(0).getConfiguredOperations().get(0).getRequiredIntents().size(), 5); - } -} diff --git a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/MultiplicityReadWriteTestCase.java b/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/MultiplicityReadWriteTestCase.java deleted file mode 100644 index f34ff1f8bc..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/MultiplicityReadWriteTestCase.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.assembly.xml; - -import static junit.framework.Assert.assertEquals; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLOutputFactory; - -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.Multiplicity; -import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.junit.Before; -import org.junit.Test; - -/** - * Test writing SCA XML assemblies. - * - * TUSCANY-2662 - * - * @version $Rev$ $Date$ - */ -public class MultiplicityReadWriteTestCase { - private XMLInputFactory inputFactory; - private XMLOutputFactory outputFactory; - private ExtensibleStAXArtifactProcessor staxProcessor; - - - @Before - public void setUp() throws Exception { - DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - inputFactory = XMLInputFactory.newInstance(); - outputFactory = XMLOutputFactory.newInstance(); - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory, null); - } - - - @Test - public void testReadWriteComposite() throws Exception { - InputStream is = getClass().getResourceAsStream("Multiplicity.composite"); - Composite composite = staxProcessor.read(is, Composite.class); - - verifyComposite(composite); - - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - staxProcessor.write(composite, bos); - bos.close(); - - ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray()); - composite = staxProcessor.read(bis, Composite.class); - - verifyComposite(composite); - - } - - - private void verifyComposite(Composite composite) { - assertEquals(composite.getComponents().get(0).getReferences().get(0).getMultiplicity(), Multiplicity.ZERO_N); - assertEquals(composite.getReferences().get(0).getMultiplicity(), Multiplicity.ONE_N); - } - -} diff --git a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadAllTestCase.java b/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadAllTestCase.java deleted file mode 100644 index e2aeb85d32..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadAllTestCase.java +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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 java.io.InputStream; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLInputFactory; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.assembly.Callback; -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.CompositeReference; -import org.apache.tuscany.sca.assembly.CompositeService; -import org.apache.tuscany.sca.assembly.Property; -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.policy.PolicySetAttachPoint; -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -/** - * Test reading SCA XML assemblies. - * - * @version $Rev$ $Date$ - */ -public class ReadAllTestCase extends TestCase { - private StAXArtifactProcessor staxProcessor; - private XMLInputFactory inputFactory; - - @Override - public void setUp() throws Exception { - DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - inputFactory = XMLInputFactory.newInstance(); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null); - } - - public void testReadComposite() throws Exception { - InputStream is = getClass().getResourceAsStream("TestAllCalculator.composite"); - Composite composite = (Composite)staxProcessor.read(inputFactory.createXMLStreamReader(is)); - assertNotNull(composite); - assertEquals(composite.getName(), new QName("http://calc", "TestAllCalculator")); - assertEquals(composite.getConstrainingType().getName(), new QName("http://calc", "CalculatorComponent")); - assertTrue(composite.isLocal()); - assertFalse(composite.getAutowire() == Boolean.TRUE); - assertEquals(((PolicySetAttachPoint)composite).getRequiredIntents().get(0).getName(), new QName("http://test", - "confidentiality")); - assertEquals(((PolicySetAttachPoint)composite).getPolicySets().get(0).getName(), new QName("http://test", "SecureReliablePolicy")); - - Composite include = composite.getIncludes().get(0); - assertEquals(include.getName(), new QName("http://calc", "TestAllDivide")); - - CompositeService calcCompositeService = (CompositeService)composite.getServices().get(0); - assertEquals(calcCompositeService.getName(), "CalculatorService"); - assertTrue(calcCompositeService.getPromotedService().isUnresolved()); - assertEquals(calcCompositeService.getPromotedService().getName(), - "CalculatorService"); - assertEquals(calcCompositeService.getRequiredIntents().get(0).getName(), - new QName("http://test", "confidentiality")); - assertEquals(calcCompositeService.getPolicySets().get(0).getName(), new QName("http://test", "SecureReliablePolicy")); - // TODO test operations - Callback calcServiceCallback = calcCompositeService.getCallback(); - assertNotNull(calcServiceCallback); - assertEquals(calcServiceCallback.getRequiredIntents().get(0).getName(), - new QName("http://test", "confidentiality")); - assertEquals(calcServiceCallback.getPolicySets().get(0).getName(), new QName("http://test", "SecureReliablePolicy")); - // TODO test operations - - Component calcComponent = composite.getComponents().get(0); - assertEquals(calcComponent.getName(), "CalculatorServiceComponent"); - assertEquals(calcComponent.getAutowire(), Boolean.FALSE); - assertEquals(calcComponent.getConstrainingType().getName(), new QName("http://calc", - "CalculatorComponent")); - assertEquals(calcComponent.getRequiredIntents().get(0).getName(), new QName("http://test", - "confidentiality")); - assertEquals(calcComponent.getPolicySets().get(0).getName(), new QName("http://test", "SecureReliablePolicy")); - - ComponentService calcComponentService = calcComponent.getServices().get(0); - assertEquals(calcComponentService.getName(), "CalculatorService"); - assertEquals(calcComponentService.getRequiredIntents().get(0).getName(), - new QName("http://test", "confidentiality")); - assertEquals(calcComponentService.getPolicySets().get(0).getName(), new QName("http://test", "SecureReliablePolicy")); - // TODO test operations - - ComponentReference calcComponentReference = calcComponent.getReferences().get(0); - assertEquals(calcComponentReference.getName(), "addService"); - assertEquals(calcComponentReference.getAutowire(), Boolean.FALSE); - assertEquals(calcComponentReference.isWiredByImpl(), false); - assertEquals(calcComponentReference.getRequiredIntents().get(0).getName(), - new QName("http://test", "confidentiality")); - assertEquals(calcComponentReference.getPolicySets().get(0).getName(), new QName("http://test", "SecureReliablePolicy")); - // TODO test operations - - Property property = calcComponent.getProperties().get(0); - assertEquals(property.getName(), "round"); - Document doc = (Document) property.getValue(); - Element element = doc.getDocumentElement(); - String value = element.getTextContent(); - assertEquals(value, "true"); - assertEquals(property.getXSDType(), new QName("http://www.w3.org/2001/XMLSchema", "boolean")); - assertEquals(property.isMany(), false); - - CompositeReference calcCompositeReference = (CompositeReference)composite.getReferences().get(0); - assertEquals(calcCompositeReference.getName(), "MultiplyService"); - assertTrue(calcCompositeReference.getPromotedReferences().get(0).isUnresolved()); - assertEquals(calcCompositeReference.getPromotedReferences().get(0).getName(), - "CalculatorServiceComponent/multiplyService"); - assertEquals(calcCompositeReference.getRequiredIntents().get(0).getName(), - new QName("http://test", "confidentiality")); - assertEquals(calcCompositeReference.getPolicySets().get(0).getName(), new QName("http://test", "SecureReliablePolicy")); - // TODO test operations - Callback calcCallback = calcCompositeReference.getCallback(); - assertEquals(calcCompositeReference.getRequiredIntents().get(0).getName(), - new QName("http://test", "confidentiality")); - assertEquals(calcCompositeReference.getPolicySets().get(0).getName(), new QName("http://test", "SecureReliablePolicy")); - assertNotNull(calcCallback); - // TODO test operations - - } - -} diff --git a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadDocumentTestCase.java b/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadDocumentTestCase.java deleted file mode 100644 index b3760789c8..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadDocumentTestCase.java +++ /dev/null @@ -1,207 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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 java.net.URI; -import java.net.URL; - -import javax.xml.XMLConstants; -import javax.xml.parsers.SAXParserFactory; -import javax.xml.stream.XMLInputFactory; -import javax.xml.validation.Schema; -import javax.xml.validation.SchemaFactory; -import javax.xml.validation.ValidatorHandler; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.ConstrainingType; -import org.apache.tuscany.sca.contribution.processor.DefaultValidatingXMLInputFactory; -import org.apache.tuscany.sca.contribution.processor.DefaultValidationSchemaExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.ValidationSchemaExtensionPoint; -import org.apache.tuscany.sca.contribution.resolver.DefaultModelResolver; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.xml.sax.InputSource; -import org.xml.sax.XMLReader; - -/** - * Test reading SCA XML assembly documents. - * - * @version $Rev$ $Date$ - */ -public class ReadDocumentTestCase extends TestCase { - - private URLArtifactProcessor documentProcessor; - private ModelResolver resolver; - private XMLInputFactory inputFactory; - private StAXArtifactProcessor staxProcessor; - - @Override - public void setUp() throws Exception { - DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - URLArtifactProcessorExtensionPoint documentProcessors = extensionPoints.getExtensionPoint(URLArtifactProcessorExtensionPoint.class); - documentProcessor = new ExtensibleURLArtifactProcessor(documentProcessors, null); - - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - inputFactory = XMLInputFactory.newInstance(); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null); - - resolver = new DefaultModelResolver(); - } - - public void testValidateAssembly() throws Exception { - - SchemaFactory schemaFactory; - try { - schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); - } catch (Error e) { - // Some old JDKs don't support XMLSchema validation - return; - } catch (Exception e) { - // Some old JDKs don't support XMLSchema validation - return; - } - Schema schema = schemaFactory.newSchema(getClass().getClassLoader().getResource("tuscany-sca.xsd")); - ValidatorHandler handler = schema.newValidatorHandler(); - - SAXParserFactory parserFactory = SAXParserFactory.newInstance(); - URL url = getClass().getResource("Calculator.composite"); - XMLReader reader = parserFactory.newSAXParser().getXMLReader(); - reader.setFeature("http://xml.org/sax/features/namespaces", true); - reader.setContentHandler(handler); - reader.parse(new InputSource(url.openStream())); - - } - - public void testValidateImplementation() throws Exception { - - SchemaFactory schemaFactory; - try { - schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); - } catch (Error e) { - // Some old JDKs don't support XMLSchema validation - return; - } catch (Exception e) { - // Some old JDKs don't support XMLSchema validation - return; - } - Schema schema = schemaFactory.newSchema(getClass().getClassLoader().getResource("tuscany-sca.xsd")); - ValidatorHandler handler = schema.newValidatorHandler(); - - SAXParserFactory parserFactory = SAXParserFactory.newInstance(); - URL url = getClass().getResource("JavaScriptReference.composite"); - XMLReader reader = parserFactory.newSAXParser().getXMLReader(); - reader.setFeature("http://xml.org/sax/features/namespaces", true); - reader.setContentHandler(handler); - reader.parse(new InputSource(url.openStream())); - } - - public void testReadImplementation() throws Exception { - - ValidationSchemaExtensionPoint schemas = new DefaultValidationSchemaExtensionPoint(); - schemas.addSchema(getClass().getClassLoader().getResource("tuscany-sca.xsd").toString()); - XMLInputFactory validatingInputFactory = new DefaultValidatingXMLInputFactory(inputFactory, schemas, null); - CompositeDocumentProcessor compositeDocumentProcessor = new CompositeDocumentProcessor(staxProcessor, validatingInputFactory, null, null); - - URL url = getClass().getResource("JavaScriptReference.composite"); - URI uri = URI.create("JavaScriptReference.composite"); - Composite composite = (Composite)compositeDocumentProcessor.read(null, uri, url); - assertNotNull(composite); - } - - public void testValidateBinding() throws Exception { - - SchemaFactory schemaFactory; - try { - schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); - } catch (Error e) { - // Some old JDKs don't support XMLSchema validation - return; - } catch (Exception e) { - // Some old JDKs don't support XMLSchema validation - return; - } - Schema schema = schemaFactory.newSchema(getClass().getClassLoader().getResource("tuscany-sca.xsd")); - ValidatorHandler handler = schema.newValidatorHandler(); - - SAXParserFactory parserFactory = SAXParserFactory.newInstance(); - URL url = getClass().getResource("RMIBindingTest.composite"); - XMLReader reader = parserFactory.newSAXParser().getXMLReader(); - reader.setFeature("http://xml.org/sax/features/namespaces", true); - reader.setContentHandler(handler); - reader.parse(new InputSource(url.openStream())); - } - - public void testReadBinding() throws Exception { - - ValidationSchemaExtensionPoint schemas = new DefaultValidationSchemaExtensionPoint(); - schemas.addSchema(getClass().getClassLoader().getResource("tuscany-sca.xsd").toString()); - XMLInputFactory validatingInputFactory = new DefaultValidatingXMLInputFactory(inputFactory, schemas, null); - CompositeDocumentProcessor compositeDocumentProcessor = new CompositeDocumentProcessor(staxProcessor, validatingInputFactory, null, null); - - URL url = getClass().getResource("RMIBindingTest.composite"); - URI uri = URI.create("RMIBindingTest.composite"); - Composite composite = (Composite)compositeDocumentProcessor.read(null, uri, url); - assertNotNull(composite); - } - - public void testResolveConstrainingType() throws Exception { - - URL url = getClass().getResource("CalculatorComponent.constrainingType"); - URI uri = URI.create("CalculatorComponent.constrainingType"); - ConstrainingType constrainingType = (ConstrainingType)documentProcessor.read(null, uri, url); - assertNotNull(constrainingType); - resolver.addModel(constrainingType); - - url = getClass().getResource("TestAllCalculator.composite"); - uri = URI.create("TestAllCalculator.constrainingType"); - Composite composite = (Composite)documentProcessor.read(null, uri, url); - assertNotNull(composite); - - documentProcessor.resolve(composite, resolver); - - assertEquals(composite.getConstrainingType(), constrainingType); - assertEquals(composite.getComponents().get(0).getConstrainingType(), constrainingType); - } - - public void testResolveComposite() throws Exception { - URL url = getClass().getResource("Calculator.composite"); - URI uri = URI.create("Calculator.composite"); - Composite nestedComposite = (Composite)documentProcessor.read(null, uri, url); - assertNotNull(nestedComposite); - resolver.addModel(nestedComposite); - - url = getClass().getResource("TestAllCalculator.composite"); - uri = URI.create("TestAllCalculator.composite"); - Composite composite = (Composite)documentProcessor.read(null, uri, url); - - documentProcessor.resolve(composite, resolver); - - assertEquals(composite.getComponents().get(2).getImplementation(), nestedComposite); - } - -} diff --git a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadTestCase.java b/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadTestCase.java deleted file mode 100644 index 1aede413a5..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadTestCase.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.assembly.xml; - -import java.io.InputStream; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLOutputFactory; -import javax.xml.stream.XMLStreamReader; - -import junit.framework.TestCase; - -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.ExtensionPointRegistry; - -/** - * Test reading SCA XML assemblies. - * - * @version $Rev$ $Date$ - */ -public class ReadTestCase extends TestCase { - - private XMLInputFactory inputFactory; - private StAXArtifactProcessor staxProcessor; - - @Override - public void setUp() throws Exception { - ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - inputFactory = XMLInputFactory.newInstance(); - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, XMLInputFactory.newInstance(), XMLOutputFactory.newInstance(), null); - } - - @Override - public void tearDown() throws Exception { - } - - public void testReadComponentType() throws Exception { - InputStream is = getClass().getResourceAsStream("CalculatorImpl.componentType"); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - assertNotNull(staxProcessor.read(reader)); - is.close(); - } - - public void testReadConstrainingType() throws Exception { - InputStream is = getClass().getResourceAsStream("CalculatorComponent.constrainingType"); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - assertNotNull(staxProcessor.read(reader)); - is.close(); - - } - - public void testReadComposite() throws Exception { - InputStream is = getClass().getResourceAsStream("Calculator.composite"); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - assertNotNull(staxProcessor.read(reader)); - is.close(); - - } - - public void testReadCompositeAndWireIt() throws Exception { - InputStream is = getClass().getResourceAsStream("Calculator.composite"); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - assertNotNull(staxProcessor.read(reader)); - is.close(); - } - -} diff --git a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAttributeTestCase.java b/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAttributeTestCase.java deleted file mode 100644 index 387405fd8d..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAttributeTestCase.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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 java.io.ByteArrayOutputStream; -import java.io.InputStream; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLOutputFactory; -import javax.xml.stream.XMLStreamReader; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.assembly.Composite; -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.contribution.processor.StAXAttributeProcessorExtensionPoint; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; - -/** - * Test reading SCA XML assemblies. - * - * @version $Rev$ $Date$ - */ -public class ReadWriteAttributeTestCase extends TestCase { - - private XMLInputFactory inputFactory; - private ExtensibleStAXArtifactProcessor staxProcessor; - - private static final QName ATTRIBUTE = new QName("http://test", "customAttribute"); - - // implementation.java for CalculatorServiceComponent appears in a strange place as the - // java implementation extension is not loaded and hence they are loaded as any elements - private static final String XML = ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""; - - @Override - public void setUp() throws Exception { - ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - inputFactory = XMLInputFactory.newInstance(); - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - - StAXAttributeProcessorExtensionPoint staxAttributeProcessors = extensionPoints.getExtensionPoint(StAXAttributeProcessorExtensionPoint.class); - staxAttributeProcessors.addArtifactProcessor(new TestAttributeProcessor()); - - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, XMLInputFactory.newInstance(), XMLOutputFactory.newInstance(), null); - } - - @Override - public void tearDown() throws Exception { - - } - - public void testReadComposite() throws Exception { - InputStream is = getClass().getResourceAsStream("CalculatorExtended.composite"); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - Composite composite = (Composite) staxProcessor.read(reader); - assertNotNull(composite); - is.close(); - } - - public void testWriteComposite() throws Exception { - InputStream is = getClass().getResourceAsStream("CalculatorExtended.composite"); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - Composite composite = (Composite) staxProcessor.read(reader); - assertNotNull(composite); - is.close(); - - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - staxProcessor.write(composite, bos); - System.out.println(bos.toString()); - - assertEquals(XML, bos.toString()); - } -} diff --git a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteLocalCompositeTestCase.java b/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteLocalCompositeTestCase.java deleted file mode 100644 index 312b5c8fab..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteLocalCompositeTestCase.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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 java.io.ByteArrayOutputStream; -import java.io.InputStream; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLOutputFactory; -import javax.xml.stream.XMLStreamReader; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.assembly.Composite; -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.contribution.processor.StAXAttributeProcessorExtensionPoint; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; - -/** - * Test reading SCA XML assemblies. - * - * @version $Rev: 711584 $ $Date: 2008-11-05 15:07:03 +0000 (Wed, 05 Nov 2008) $ - */ -public class ReadWriteLocalCompositeTestCase extends TestCase { - - private XMLInputFactory inputFactory; - private ExtensibleStAXArtifactProcessor staxProcessor; - - private static final String LOCAL_COMPOSITE_XML = ""+ - ""+ - ""; - - @Override - public void setUp() throws Exception { - ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - inputFactory = XMLInputFactory.newInstance(); - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - - StAXAttributeProcessorExtensionPoint staxAttributeProcessors = extensionPoints.getExtensionPoint(StAXAttributeProcessorExtensionPoint.class); - staxAttributeProcessors.addArtifactProcessor(new TestAttributeProcessor()); - - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, XMLInputFactory.newInstance(), XMLOutputFactory.newInstance(), null); - } - - @Override - public void tearDown() throws Exception { - - } - - public void testReadComposite() throws Exception { - InputStream is = getClass().getResourceAsStream("local.composite"); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - Composite composite = (Composite) staxProcessor.read(reader); - assertNotNull(composite); - assertTrue(composite.isLocal()); - is.close(); - } - - public void testWriteComposite() throws Exception { - InputStream is = getClass().getResourceAsStream("local.composite"); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - Composite composite = (Composite) staxProcessor.read(reader); - assertNotNull(composite); - assertTrue(composite.isLocal()); - is.close(); - - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - staxProcessor.write(composite, bos); - System.out.println(bos.toString()); - - assertEquals(LOCAL_COMPOSITE_XML, bos.toString()); - } -} diff --git a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ResolvePolicyTestCase.java b/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ResolvePolicyTestCase.java deleted file mode 100644 index 32a2d94220..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ResolvePolicyTestCase.java +++ /dev/null @@ -1,161 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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 java.net.URI; -import java.net.URL; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.ConstrainingType; -import org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.resolver.DefaultModelResolver; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.definitions.SCADefinitions; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; - -/** - * Test reading SCA XML assembly documents. - * - * @version $Rev: 561254 $ $Date: 2007-07-31 13:16:27 +0530 (Tue, 31 Jul 2007) $ - */ -public class ResolvePolicyTestCase extends TestCase { - - private URLArtifactProcessor documentProcessor; - private ModelResolver resolver; - private URLArtifactProcessor policyDefinitionsProcessor; - - @Override - public void setUp() throws Exception { - DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - resolver = new DefaultModelResolver(); - - URLArtifactProcessorExtensionPoint documentProcessors = extensionPoints.getExtensionPoint(URLArtifactProcessorExtensionPoint.class); - documentProcessor = new ExtensibleURLArtifactProcessor(documentProcessors, null); - policyDefinitionsProcessor = documentProcessors.getProcessor(SCADefinitions.class); - - // Create StAX processors - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - staxProcessors.addArtifactProcessor(new TestPolicyProcessor()); - } - - public void testResolveConstrainingType() throws Exception { - - URL url = getClass().getResource("CalculatorComponent.constrainingType"); - URI uri = URI.create("CalculatorComponent.constrainingType"); - ConstrainingType constrainingType = (ConstrainingType)documentProcessor.read(null, uri, url); - assertNotNull(constrainingType); - resolver.addModel(constrainingType); - - url = getClass().getResource("TestAllCalculator.composite"); - uri = URI.create("TestAllCalculator.constrainingType"); - Composite composite = (Composite)documentProcessor.read(null, uri, url); - assertNotNull(composite); - - url = getClass().getResource("test_definitions.xml"); - uri = URI.create("test_definitions.xml"); - SCADefinitions scaDefns = (SCADefinitions)policyDefinitionsProcessor.read(null, uri, url); - assertNotNull(scaDefns); - - preResolvePolicyTests(composite); - documentProcessor.resolve(scaDefns, resolver); - documentProcessor.resolve(composite, resolver); - postResolvePolicyTests(composite); - - assertEquals(composite.getConstrainingType(), constrainingType); - assertEquals(composite.getComponents().get(0).getConstrainingType(), constrainingType); - } - - private void preResolvePolicyTests(Composite composite) { - assertNull(((PolicySetAttachPoint)composite).getRequiredIntents().get(0).getDescription()); - assertTrue(((PolicySetAttachPoint)composite).getPolicySets().get(0).getProvidedIntents().isEmpty()); - - assertNull(composite.getServices().get(0).getRequiredIntents().get(0).getDescription()); - assertTrue(composite.getServices().get(0).getPolicySets().get(0).getProvidedIntents().isEmpty()); - assertNull(composite.getServices().get(0).getCallback().getRequiredIntents().get(0).getDescription()); - assertTrue(composite.getServices().get(0).getCallback().getPolicySets().get(0).getProvidedIntents().isEmpty()); - - assertNull(composite.getComponents().get(0).getRequiredIntents().get(0).getDescription()); - assertTrue(composite.getComponents().get(0).getPolicySets().get(0).getProvidedIntents().isEmpty()); - assertNull(composite.getComponents().get(0).getServices().get(0).getRequiredIntents().get(0).getDescription()); - assertTrue(composite.getComponents().get(0).getServices().get(0).getPolicySets().get(0).getProvidedIntents().isEmpty()); - assertNull(composite.getComponents().get(0).getReferences().get(0).getRequiredIntents().get(0).getDescription()); - assertTrue(composite.getComponents().get(0).getReferences().get(0).getPolicySets().get(0).getProvidedIntents().isEmpty()); - - assertNull(composite.getReferences().get(0).getRequiredIntents().get(0).getDescription()); - assertTrue(composite.getReferences().get(0).getPolicySets().get(0).getProvidedIntents().isEmpty()); - assertNull(composite.getReferences().get(0).getCallback().getRequiredIntents().get(0).getDescription()); - assertTrue(composite.getReferences().get(0).getCallback().getPolicySets().get(0).getProvidedIntents().isEmpty()); - } - - private void postResolvePolicyTests(Composite composite) { - assertNotNull(((PolicySetAttachPoint)composite).getRequiredIntents().get(0).getDescription()); - assertFalse(((PolicySetAttachPoint)composite).getPolicySets().get(0).getProvidedIntents().isEmpty()); - assertNotNull(((PolicySetAttachPoint)composite).getPolicySets().get(0).getProvidedIntents().get(1).getDescription()); - - assertNotNull(composite.getServices().get(0).getRequiredIntents().get(0).getDescription()); - assertFalse(composite.getServices().get(0).getPolicySets().get(0).getProvidedIntents().isEmpty()); - assertNotNull(composite.getServices().get(0).getPolicySets().get(0).getProvidedIntents().get(1).getDescription()); - assertNotNull(composite.getServices().get(0).getCallback().getRequiredIntents().get(0).getDescription()); - assertFalse(composite.getServices().get(0).getCallback().getPolicySets().get(0).getProvidedIntents().isEmpty()); - assertNotNull(composite.getServices().get(0).getCallback().getPolicySets().get(0).getProvidedIntents().get(1).getDescription()); - - assertNotNull(composite.getComponents().get(0).getRequiredIntents().get(0).getDescription()); - assertFalse(composite.getComponents().get(0).getPolicySets().get(0).getProvidedIntents().isEmpty()); - assertNotNull(composite.getComponents().get(0).getPolicySets().get(0).getProvidedIntents().get(1).getDescription()); - assertNotNull(composite.getComponents().get(0).getServices().get(0).getRequiredIntents().get(0).getDescription()); - assertFalse(composite.getComponents().get(0).getServices().get(0).getPolicySets().get(0).getProvidedIntents().isEmpty()); - assertNotNull(composite.getComponents().get(0).getServices().get(0).getPolicySets().get(0).getProvidedIntents().get(1).getDescription()); - assertNotNull(composite.getComponents().get(0).getReferences().get(0).getRequiredIntents().get(0).getDescription()); - assertFalse(composite.getComponents().get(0).getReferences().get(0).getPolicySets().get(0).getProvidedIntents().isEmpty()); - assertNotNull(composite.getComponents().get(0).getReferences().get(0).getPolicySets().get(0).getProvidedIntents().get(1).getDescription()); - - assertNotNull(composite.getReferences().get(0).getRequiredIntents().get(0).getDescription()); - assertFalse(composite.getReferences().get(0).getPolicySets().get(0).getProvidedIntents().isEmpty()); - assertNotNull(composite.getReferences().get(0).getPolicySets().get(0).getProvidedIntents().get(1).getDescription()); - assertNotNull(composite.getReferences().get(0).getCallback().getRequiredIntents().get(0).getDescription()); - assertFalse(composite.getReferences().get(0).getCallback().getPolicySets().get(0).getProvidedIntents().isEmpty()); - assertNotNull(composite.getReferences().get(0).getCallback().getPolicySets().get(0).getProvidedIntents().get(1).getDescription()); - - - } - - public void testResolveComposite() throws Exception { - URL url = getClass().getResource("Calculator.composite"); - URI uri = URI.create("Calculator.composite"); - Composite nestedComposite = (Composite)documentProcessor.read(null, uri, url); - assertNotNull(nestedComposite); - resolver.addModel(nestedComposite); - - url = getClass().getResource("TestAllCalculator.composite"); - uri = URI.create("TestAllCalculator.composite"); - Composite composite = (Composite)documentProcessor.read(null, uri, url); - - documentProcessor.resolve(composite, resolver); - - assertEquals(composite.getComponents().get(2).getImplementation(), nestedComposite); - } - -} diff --git a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ResolveTestCase.java b/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ResolveTestCase.java deleted file mode 100644 index df09a56c38..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ResolveTestCase.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.assembly.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.Composite; -import org.apache.tuscany.sca.assembly.ConstrainingType; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.resolver.DefaultModelResolver; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; - -/** - * Test resolving SCA XML assemblies. - * - * @version $Rev$ $Date$ - */ -public class ResolveTestCase extends TestCase { - - private XMLInputFactory inputFactory; - private StAXArtifactProcessorExtensionPoint staxProcessors; - private ModelResolver resolver; - - @Override - public void setUp() throws Exception { - DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - inputFactory = XMLInputFactory.newInstance(); - staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - resolver = new DefaultModelResolver(); - } - - public void testResolveConstrainingType() throws Exception { - InputStream is = getClass().getResourceAsStream("CalculatorComponent.constrainingType"); - StAXArtifactProcessor constrainingTypeReader = staxProcessors.getProcessor(ConstrainingType.class); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - ConstrainingType constrainingType = constrainingTypeReader.read(reader); - is.close(); - assertNotNull(constrainingType); - resolver.addModel(constrainingType); - - is = getClass().getResourceAsStream("TestAllCalculator.composite"); - StAXArtifactProcessor compositeReader = staxProcessors.getProcessor(Composite.class); - reader = inputFactory.createXMLStreamReader(is); - Composite composite = compositeReader.read(reader); - is.close(); - assertNotNull(composite); - - compositeReader.resolve(composite, resolver); - - assertEquals(composite.getConstrainingType(), constrainingType); - assertEquals(composite.getComponents().get(0).getConstrainingType(), constrainingType); - } - - public void testResolveComposite() throws Exception { - InputStream is = getClass().getResourceAsStream("Calculator.composite"); - StAXArtifactProcessor compositeReader = staxProcessors.getProcessor(Composite.class); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - Composite nestedComposite = compositeReader.read(reader); - is.close(); - assertNotNull(nestedComposite); - resolver.addModel(nestedComposite); - - is = getClass().getResourceAsStream("TestAllCalculator.composite"); - reader = inputFactory.createXMLStreamReader(is); - Composite composite = compositeReader.read(reader); - is.close(); - - compositeReader.resolve(composite, resolver); - - assertEquals(composite.getComponents().get(2).getImplementation(), nestedComposite); - } - -} diff --git a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestAttributeProcessor.java b/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestAttributeProcessor.java deleted file mode 100644 index 691145a30e..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestAttributeProcessor.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.assembly.xml; - -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.contribution.processor.BaseStAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXAttributeProcessor; -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; - -/** - * A Policy Processor used for testing. - * - * @version $Rev$ $Date$ - */ -public class TestAttributeProcessor extends BaseStAXArtifactProcessor implements StAXAttributeProcessor { - private static final QName ATTRIBUTE = new QName("http://test", "customAttribute"); - - public QName getArtifactType() { - return ATTRIBUTE; - } - - public String read(QName attributeName, XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - return reader.getAttributeValue(attributeName.getNamespaceURI(), attributeName.getLocalPart()); - } - - public void write(String value, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - writer.setPrefix(ATTRIBUTE.getPrefix(), ATTRIBUTE.getNamespaceURI()); - writer.writeAttribute(ATTRIBUTE.getLocalPart(), value); - } - - public Class getModelType() { - return String.class; - } - - public void resolve(String arg0, ModelResolver arg1) throws ContributionResolveException { - - } -} diff --git a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestPolicyProcessor.java b/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestPolicyProcessor.java deleted file mode 100644 index 16cefc58cf..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestPolicyProcessor.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.assembly.xml; - -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.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.Policy; - -/** - * A Policy Processor used for testing. - * - * @version $Rev$ $Date$ - */ -public class TestPolicyProcessor implements StAXArtifactProcessor { - - public QName getArtifactType() { - return new QName("http://schemas.xmlsoap.org/ws/2004/09/policy", "PolicyAttachment"); - } - - public Policy read(XMLStreamReader arg0) throws ContributionReadException, XMLStreamException { - return new MockPolicyImplOne(); - } - - public void write(Policy arg0, XMLStreamWriter arg1) throws ContributionWriteException, - XMLStreamException { - } - - public Class getModelType() { - return Policy.class; - } - - public void resolve(Policy arg0, ModelResolver arg1) throws ContributionResolveException { - } - - - public class MockPolicyImplOne implements Policy { - public QName getSchemaName() { - return new QName("http://schemas.xmlsoap.org/ws/2004/09/policy", "PolicyAttachment"); - } - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - } - - } -} diff --git a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestSCABindingFactoryImpl.java b/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestSCABindingFactoryImpl.java deleted file mode 100644 index c423df6f7d..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestSCABindingFactoryImpl.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.assembly.xml; - -import org.apache.tuscany.sca.assembly.SCABinding; -import org.apache.tuscany.sca.assembly.SCABindingFactory; - -/** - * A factory for the SCA binding model. - * - * @version $Rev$ $Date$ - */ -public class TestSCABindingFactoryImpl implements SCABindingFactory { - public SCABinding createSCABinding() { - return new TestSCABindingImpl(); - } - -} diff --git a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestSCABindingImpl.java b/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestSCABindingImpl.java deleted file mode 100644 index af25109de1..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/TestSCABindingImpl.java +++ /dev/null @@ -1,213 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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 java.util.ArrayList; -import java.util.List; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.ConfiguredOperation; -import org.apache.tuscany.sca.assembly.OperationsConfigurator; -import org.apache.tuscany.sca.assembly.OptimizableBinding; -import org.apache.tuscany.sca.assembly.SCABinding; -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; - -/** - * A test cheel for the SCA binding. - * - * @version $Rev$ $Date$ - */ -public class TestSCABindingImpl implements SCABinding, OptimizableBinding, PolicySetAttachPoint, OperationsConfigurator { - private String name; - private String uri; - private List extensions = new ArrayList(); - - private Component targetComponent; - private ComponentService targetComponentService; - private Binding targetBinding; - - private List requiredIntents = new ArrayList(); - private List policySets = new ArrayList(); - private IntentAttachPointType bindingType = new TestSCABindingType(); - private List configuredOperations = new ArrayList(); - private List applicablePolicySets = new ArrayList(); - - /** - * Constructs a new SCA binding. - */ - protected TestSCABindingImpl() { - } - - 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 List getExtensions() { - return extensions; - } - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - } - - /** - * @see java.lang.Object#clone() - */ - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - - /** - * @return the targetComponent - */ - public Component getTargetComponent() { - return targetComponent; - } - - /** - * @param targetComponent the targetComponent to set - */ - public void setTargetComponent(Component targetComponent) { - this.targetComponent = targetComponent; - } - - /** - * @return the targetComponentService - */ - public ComponentService getTargetComponentService() { - return targetComponentService; - } - - /** - * @param targetComponentService the targetComponentService to set - */ - public void setTargetComponentService(ComponentService targetComponentService) { - this.targetComponentService = targetComponentService; - } - - /** - * @return the targetBinding - */ - public Binding getTargetBinding() { - return targetBinding; - } - - /** - * @param targetBinding the targetBinding to set - */ - public void setTargetBinding(Binding targetBinding) { - this.targetBinding = targetBinding; - } - - public List getPolicySets() { - // TODO Auto-generated method stub - return policySets; - } - - public List getRequiredIntents() { - // TODO Auto-generated method stub - return requiredIntents; - } - - public IntentAttachPointType getType() { - // TODO Auto-generated method stub - return bindingType; - } - - public void setType(IntentAttachPointType type) { - this.bindingType = type; - } - - private class TestSCABindingType implements IntentAttachPointType { - private QName name = new QName("http://www.osoa.org/xmlns/sca/1.0","binding"); - - public List getAlwaysProvidedIntents() { - // TODO Auto-generated method stub - return null; - } - - public List getMayProvideIntents() { - // TODO Auto-generated method stub - return null; - } - - public QName getName() { - return name; - } - - public boolean isUnresolved() { - // TODO Auto-generated method stub - return false; - } - - public void setName(QName type) { - // TODO Auto-generated method stub - - } - - public void setUnresolved(boolean unresolved) { - // TODO Auto-generated method stub - - } - - } - - public void setPolicySets(List policySets) { - this.policySets = policySets; - } - - public void setRequiredIntents(List intents) { - this.requiredIntents = intents; - } - - public List getConfiguredOperations() { - return configuredOperations; - } - - public void setConfiguredOperations(List configuredOperations) { - this.configuredOperations = configuredOperations; - } - - public List getApplicablePolicySets() { - return applicablePolicySets; - } -} diff --git a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WireTestCase.java b/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WireTestCase.java deleted file mode 100644 index 76361d4b70..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WireTestCase.java +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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 java.io.InputStream; -import java.net.URI; -import java.net.URL; - -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.ConstrainingType; -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.ExtensibleStAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.resolver.DefaultModelResolver; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.definitions.SCADefinitions; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.MonitorFactory; -import org.apache.tuscany.sca.monitor.impl.DefaultMonitorFactoryImpl; -import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory; - -/** - * Test the wiring of SCA XML assemblies. - * - * @version $Rev$ $Date$ - */ -public class WireTestCase extends TestCase { - - private XMLInputFactory inputFactory; - private StAXArtifactProcessor staxProcessor; - private ModelResolver resolver; - private URLArtifactProcessor policyDefinitionsProcessor; - private CompositeBuilder compositeBuilder; - private Monitor monitor; - - @Override - public void setUp() throws Exception { - DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - inputFactory = XMLInputFactory.newInstance(); - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null); - resolver = new DefaultModelResolver(); - - MonitorFactory monitorFactory = new DefaultMonitorFactoryImpl(); - monitor = monitorFactory.createMonitor(); - - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - AssemblyFactory assemblyFactory = modelFactories.getFactory(AssemblyFactory.class); - SCABindingFactory scaBindingFactory = new TestSCABindingFactoryImpl(); - IntentAttachPointTypeFactory attachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class); - - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - InterfaceContractMapper mapper = utilities.getUtility(InterfaceContractMapper.class); - compositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, attachPointTypeFactory, mapper, monitor); - - URLArtifactProcessorExtensionPoint documentProcessors = extensionPoints.getExtensionPoint(URLArtifactProcessorExtensionPoint.class); - policyDefinitionsProcessor = documentProcessors.getProcessor(SCADefinitions.class); - } - - public void testResolveConstrainingType() throws Exception { - InputStream is = getClass().getResourceAsStream("CalculatorComponent.constrainingType"); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - ConstrainingType constrainingType = (ConstrainingType)staxProcessor.read(reader); - is.close(); - assertNotNull(constrainingType); - resolver.addModel(constrainingType); - - is = getClass().getResourceAsStream("TestAllCalculator.composite"); - reader = inputFactory.createXMLStreamReader(is); - Composite composite = (Composite)staxProcessor.read(reader); - is.close(); - assertNotNull(composite); - - URL url = getClass().getResource("test_definitions.xml"); - URI uri = URI.create("test_definitions.xml"); - SCADefinitions scaDefns = (SCADefinitions)policyDefinitionsProcessor.read(null, uri, url); - assertNotNull(scaDefns); - - policyDefinitionsProcessor.resolve(scaDefns, resolver); - - staxProcessor.resolve(composite, resolver); - compositeBuilder.build(composite); - - assertEquals(composite.getConstrainingType(), constrainingType); - assertEquals(composite.getComponents().get(0).getConstrainingType(), constrainingType); - } - - public void testResolveComposite() throws Exception { - InputStream is = getClass().getResourceAsStream("Calculator.composite"); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - Composite nestedComposite = (Composite)staxProcessor.read(reader); - is.close(); - assertNotNull(nestedComposite); - resolver.addModel(nestedComposite); - - is = getClass().getResourceAsStream("TestAllCalculator.composite"); - reader = inputFactory.createXMLStreamReader(is); - Composite composite = (Composite)staxProcessor.read(reader); - is.close(); - - URL url = getClass().getResource("test_definitions.xml"); - URI uri = URI.create("test_definitions.xml"); - SCADefinitions scaDefns = (SCADefinitions)policyDefinitionsProcessor.read(null, uri, url); - assertNotNull(scaDefns); - - policyDefinitionsProcessor.resolve(scaDefns, resolver); - - staxProcessor.resolve(composite, resolver); - compositeBuilder.build(composite); - - assertEquals(composite.getComponents().get(2).getImplementation(), nestedComposite); - } - -} diff --git a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteAllTestCase.java b/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteAllTestCase.java deleted file mode 100644 index b859779437..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteAllTestCase.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.assembly.xml; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.net.URI; -import java.net.URL; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLOutputFactory; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.ConstrainingType; -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.ExtensibleStAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.resolver.DefaultModelResolver; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.definitions.SCADefinitions; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.MonitorFactory; -import org.apache.tuscany.sca.monitor.impl.DefaultMonitorFactoryImpl; -import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory; - -/** - * Test writing SCA XML assemblies. - * - * @version $Rev$ $Date$ - */ -public class WriteAllTestCase extends TestCase { - private XMLInputFactory inputFactory; - private XMLOutputFactory outputFactory; - private ExtensibleStAXArtifactProcessor staxProcessor; - private ModelResolver resolver; - private CompositeBuilder compositeBuilder; - private URLArtifactProcessor policyDefinitionsProcessor; - private Monitor monitor; - - @Override - public void setUp() throws Exception { - DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - inputFactory = XMLInputFactory.newInstance(); - outputFactory = XMLOutputFactory.newInstance(); - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory, null); - resolver = new DefaultModelResolver(); - - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - AssemblyFactory assemblyFactory = modelFactories.getFactory(AssemblyFactory.class); - SCABindingFactory scaBindingFactory = new TestSCABindingFactoryImpl(); - IntentAttachPointTypeFactory attachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class); - - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - InterfaceContractMapper mapper = utilities.getUtility(InterfaceContractMapper.class); - - MonitorFactory monitorFactory = new DefaultMonitorFactoryImpl(); - monitor = monitorFactory.createMonitor(); - - compositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, attachPointTypeFactory, mapper, monitor); - - URLArtifactProcessorExtensionPoint documentProcessors = extensionPoints.getExtensionPoint(URLArtifactProcessorExtensionPoint.class); - policyDefinitionsProcessor = documentProcessors.getProcessor(SCADefinitions.class); - } - - @Override - public void tearDown() throws Exception { - } - - public void testReadWriteComposite() throws Exception { - InputStream is = getClass().getResourceAsStream("TestAllCalculator.composite"); - Composite composite = staxProcessor.read(is, Composite.class); - - verifyComposite(composite); - - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - staxProcessor.write(composite, bos); - bos.close(); - - ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray()); - composite = staxProcessor.read(bis, Composite.class); - - verifyComposite(composite); - - } - - public void testReadWireWriteComposite() throws Exception { - InputStream is = getClass().getResourceAsStream("TestAllCalculator.composite"); - Composite composite = staxProcessor.read(is, Composite.class); - - URL url = getClass().getResource("test_definitions.xml"); - URI uri = URI.create("test_definitions.xml"); - SCADefinitions scaDefns = (SCADefinitions)policyDefinitionsProcessor.read(null, uri, url); - assertNotNull(scaDefns); - policyDefinitionsProcessor.resolve(scaDefns, resolver); - - staxProcessor.resolve(composite, resolver); - compositeBuilder.build(composite); - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - staxProcessor.write(composite, bos); - } - - public void testReadWriteComponentType() throws Exception { - InputStream is = getClass().getResourceAsStream("CalculatorImpl.componentType"); - ComponentType componentType = staxProcessor.read(is, ComponentType.class); - staxProcessor.resolve(componentType, resolver); - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - staxProcessor.write(componentType, bos); - } - - public void testReadWriteConstrainingType() throws Exception { - InputStream is = getClass().getResourceAsStream("CalculatorComponent.constrainingType"); - ConstrainingType constrainingType = staxProcessor.read(is, ConstrainingType.class); - staxProcessor.resolve(constrainingType, resolver); - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - staxProcessor.write(constrainingType, bos); - } - - private void verifyComposite(Composite composite) { - assertEquals(composite.getProperties().get(0).getName(),"prop1"); - assertEquals(composite.getProperties().get(0).isMany(), true); - assertEquals(composite.getProperties().get(1).getName(),"prop2"); - assertEquals(composite.getProperties().get(1).isMustSupply(), true); - assertEquals(composite.getProperties().get(0).getXSDType(), new QName("http://foo", "MyComplexType")); - assertEquals(composite.getProperties().get(1).getXSDElement(), new QName("http://www.osoa.org/xmlns/sca/1.0", "MyComplexPropertyValue1")); - } - -} diff --git a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteNamespacesTestCase.java b/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteNamespacesTestCase.java deleted file mode 100644 index 5188b1c91a..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/WriteNamespacesTestCase.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.assembly.xml; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLOutputFactory; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.Composite; -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.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; - -/** - * Test writing SCA XML assemblies. - * - * @version $Rev$ $Date$ - */ -public class WriteNamespacesTestCase extends TestCase { - private StAXArtifactProcessor compositeProcessor; - private XMLOutputFactory outputFactory; - private XMLInputFactory inputFactory; - - @Override - public void setUp() throws Exception { - ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - outputFactory = modelFactories.getFactory(XMLOutputFactory.class); - //outputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, Boolean.TRUE); - inputFactory = modelFactories.getFactory(XMLInputFactory.class); - - StAXArtifactProcessorExtensionPoint artifactProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - compositeProcessor = artifactProcessors.getProcessor(Composite.class); - } - - public void testReadWriteComposite() throws Exception { - - // Read - InputStream is = getClass().getResourceAsStream("NestedCalculator.composite"); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - Composite composite = compositeProcessor.read(reader); - Component component = composite.getComponents().get(0); - Composite implementation = (Composite)component.getImplementation(); - QName qname = implementation.getName(); - - // Write - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - XMLStreamWriter writer = outputFactory.createXMLStreamWriter(bos); - compositeProcessor.write(composite, writer); - System.out.println(bos); - - // Read again - is = new ByteArrayInputStream(bos.toByteArray()); - reader = inputFactory.createXMLStreamReader(is); - composite = compositeProcessor.read(reader); - - // Compare - component = composite.getComponents().get(0); - implementation = (Composite)component.getImplementation(); - assertEquals(qname, implementation.getName()); - } - -} diff --git a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/Calculator.composite b/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/Calculator.composite deleted file mode 100644 index 602d42a06a..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/Calculator.composite +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/CalculatorComponent.constrainingType b/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/CalculatorComponent.constrainingType deleted file mode 100644 index d6ec9b0ff0..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/CalculatorComponent.constrainingType +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/CalculatorExtended.composite b/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/CalculatorExtended.composite deleted file mode 100644 index 3c69d0ed67..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/CalculatorExtended.composite +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/CalculatorImpl.componentType b/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/CalculatorImpl.componentType deleted file mode 100644 index 299eb8c197..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/CalculatorImpl.componentType +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/JavaScriptReference.composite b/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/JavaScriptReference.composite deleted file mode 100644 index a313dd1e6d..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/JavaScriptReference.composite +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/Multiplicity.composite b/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/Multiplicity.composite deleted file mode 100644 index a221c23eec..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/Multiplicity.composite +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/NestedCalculator.composite b/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/NestedCalculator.composite deleted file mode 100644 index 2719ee9162..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/NestedCalculator.composite +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/RMIBindingTest.composite b/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/RMIBindingTest.composite deleted file mode 100644 index d29fe85586..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/RMIBindingTest.composite +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/TestAllCalculator.composite b/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/TestAllCalculator.composite deleted file mode 100644 index 5091ff700b..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/TestAllCalculator.composite +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AValue - InterestingURI - - - BValue - BoringURI - - - - - - diff --git a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/TestAllDivide.composite b/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/TestAllDivide.composite deleted file mode 100644 index d59e69209d..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/TestAllDivide.composite +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/TestAllPolicyCalculator.composite b/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/TestAllPolicyCalculator.composite deleted file mode 100644 index 7bc7ccdb83..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/TestAllPolicyCalculator.composite +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AValue - InterestingURI - - - BValue - BoringURI - - - - diff --git a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/UnknownElement.composite b/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/UnknownElement.composite deleted file mode 100644 index f8c0c5ea36..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/UnknownElement.composite +++ /dev/null @@ -1,42 +0,0 @@ - - - - Test unknown - - - - - - - - - -And I got this: - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/another_test_definitions.xml b/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/another_test_definitions.xml deleted file mode 100644 index bcc8c54dc8..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/another_test_definitions.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - Sample Intent - - - - - - Sample Intent - - - - - - Sample Intent - - - - - - Sample Intent - - - - - - Sample Intent - - - - - - Sample Intent - - - - - - Sample Intent - - - - - - Sample Intent - - - - - - Sample Intent - - - - - - Sample Intent - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/local.composite b/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/local.composite deleted file mode 100644 index 3bda9ac31c..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/local.composite +++ /dev/null @@ -1,27 +0,0 @@ - - - - - diff --git a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/test_definitions.xml b/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/test_definitions.xml deleted file mode 100644 index b79cb6b7b7..0000000000 --- a/java/sca/contrib/modules/assembly-xml/src/test/resources/org/apache/tuscany/sca/assembly/xml/test_definitions.xml +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - ... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ... - - - - ... - - - - - - - - - Protect messages from unauthorized reading or modification - - - - - - Protect messages from unauthorized reading or modification - - - - - - - Communitcation thro this binding must prevent - unauthorized users from reading the messages. - - - - - - Communitcation thro this binding must prevent - unauthorized modification of the messages. - - - - - - Communitcation thro this binding required - Authentication. - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/assembly-xsd/LICENSE b/java/sca/contrib/modules/assembly-xsd/LICENSE deleted file mode 100644 index 646cd58e09..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/LICENSE +++ /dev/null @@ -1,281 +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 includes XSD files under the following SCA Collaboration license: - -License for the Service Component Architecture JavaDoc, Interface Definition files and XSD files. - -Permission to copy, make derivative works of, and distribute the Service Component Architecture -JavaDoc, Interface Definition Files and XSD files in any medium without fee or royalty as part -of a compliant implementation of the Service Component Architecture Specification is hereby granted. -The Service Components Architecture Specification may be found at the following location: - - http://www.osoa.org/download/attachments/35/SCA_AssemblyModel_V100.pdf - -THE SERVICE COMPONENT ARCHITECTURE SPECIFICATION AND THE JAVADOC, INTERFACE DEFINITION FILES AND XSD FILES -ARE PROVIDED "AS IS," AND THE AUTHORS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS -SPECIFICATION OR THE JAVADOC, INTERFACE DEFINITION FILES AND XSD FILES AND THE IMPLEMENTATION OF THEIR CONTENTS, -INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, -NON-INFRINGEMENT OR TITLE. THE AUTHORS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING TO ANY USE OR DISTRIBUTION OF THE -SERVICE COMPONENT ARCHITECTURE SPECIFICATION OR THE JAVADOC, INTERFACE DEFINTION FILES OR XSD FILES. - -The name and trademarks of the Authors may NOT be used in any manner, including advertising or -publicity pertaining to the Service Component Architecture Specification or its contents without specific, -written prior permission. Title to copyright in the Service Component Architecture Specification and the -JavaDoc, Interface Definition Files and XSD Files will at all times remain with the Authors. - -No other rights are granted by implication, estoppel or otherwise. - -=============================================================================== - -This module includes XSD files under the following W3C(r) Software License: - -W3C(r) SOFTWARE NOTICE AND LICENSE -http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - -This work (and included software, documentation such as READMEs, or other related items) -is being provided by the copyright holders under the following license. By obtaining, -using and/or copying this work, you (the licensee) agree that you have read, understood, -and will comply with the following terms and conditions. - -Permission to copy, modify, and distribute this software and its documentation, with or -without modification, for any purpose and without fee or royalty is hereby granted, provided -that you include the following on ALL copies of the software and documentation or portions -thereof, including modifications: - - 1. The full text of this NOTICE in a location viewable to users of the redistributed or - derivative work. - 2. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. - If none exist, the W3C Software Short Notice should be included (hypertext is preferred, - text is permitted) within the body of any redistributed or derivative code. - 3. Notice of any changes or modifications to the files, including the date changes were - made. (We recommend you provide URIs to the location from which the code is derived.) - -THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO -REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES -OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR -DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER -RIGHTS. - -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL -DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. - -The name and trademarks of copyright holders may NOT be used in advertising or publicity -pertaining to the software without specific, written prior permission. Title to copyright -in this software and any associated documentation will at all times remain with copyright -holders. diff --git a/java/sca/contrib/modules/assembly-xsd/META-INF/MANIFEST.MF b/java/sca/contrib/modules/assembly-xsd/META-INF/MANIFEST.MF deleted file mode 100644 index 2e6595f7fa..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/META-INF/MANIFEST.MF +++ /dev/null @@ -1,13 +0,0 @@ -Manifest-Version: 1.0 -Bundle-Vendor: The Apache Software Foundation -Bundle-Version: 2.0 -Tool: Bnd-0.0.255 -Bundle-Name: Apache Tuscany SCA Assembly Model XML Schemas -Bnd-LastModified: 1225397088359 -Created-By: 1.6.0_07 (Sun Microsystems Inc.) -Bundle-ManifestVersion: 2 -Bundle-Description: Apache Tuscany SCA Assembly Model XML Schemas -Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt -Bundle-DocURL: http://www.apache.org/ -Bundle-SymbolicName: org.apache.tuscany.sca.assembly.xsd - diff --git a/java/sca/contrib/modules/assembly-xsd/NOTICE b/java/sca/contrib/modules/assembly-xsd/NOTICE deleted file mode 100644 index 91c3b75575..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/NOTICE +++ /dev/null @@ -1,23 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - -This product also includes software under the SCA Collaboration license -(see the LICENSE file contained in this distribution), with the following -copyright: - -(c) Copyright SCA Collaboration 2006, 2007 - -This product also includes software under the W3C(r) Software License -(see the LICENSE file contained in this distribution), with the following -copyright: - -Copyright (c) 2004 World Wide Web Consortium (Massachusetts Institute of Technology, -European Research Consortium for Informatics and Mathematics, Keio University). -All Rights Reserved. This work is distributed under the W3C(r) Software License [1] -in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied -warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 diff --git a/java/sca/contrib/modules/assembly-xsd/pom.xml b/java/sca/contrib/modules/assembly-xsd/pom.xml deleted file mode 100644 index d1e7bf5113..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/pom.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-assembly-xsd - Apache Tuscany SCA Assembly Model XML Schemas - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.assembly.xsd - ${pom.name} - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema b/java/sca/contrib/modules/assembly-xsd/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema deleted file mode 100644 index 69b2701e30..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema +++ /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. -# -tuscany-sca.xsd \ No newline at end of file diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-all.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-all.xsd deleted file mode 100644 index 82899ed8ed..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-all.xsd +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-binding-ejb.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-binding-ejb.xsd deleted file mode 100644 index 26bedfcce5..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-binding-ejb.xsd +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-binding-jms.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-binding-jms.xsd deleted file mode 100644 index 93718aaa35..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-binding-jms.xsd +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-binding-sca.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-binding-sca.xsd deleted file mode 100644 index 02703402ef..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-binding-sca.xsd +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-binding-webservice.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-binding-webservice.xsd deleted file mode 100644 index 2dd44f8e06..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-binding-webservice.xsd +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-contributions.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-contributions.xsd deleted file mode 100644 index caf5d8010f..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-contributions.xsd +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-core.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-core.xsd deleted file mode 100644 index f03d0eab01..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-core.xsd +++ /dev/null @@ -1,348 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-definitions.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-definitions.xsd deleted file mode 100644 index 0249882a92..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-definitions.xsd +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-bpel.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-bpel.xsd deleted file mode 100644 index 87b443fb36..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-bpel.xsd +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-composite.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-composite.xsd deleted file mode 100644 index 99669bc672..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-composite.xsd +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-cpp.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-cpp.xsd deleted file mode 100644 index 6f1cf14a4b..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-cpp.xsd +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-ejb.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-ejb.xsd deleted file mode 100644 index a7e781b18f..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-ejb.xsd +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-java.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-java.xsd deleted file mode 100644 index f9d8171b8e..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-java.xsd +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-spring.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-spring.xsd deleted file mode 100644 index 1cf9fb3ea9..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-spring.xsd +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-web.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-web.xsd deleted file mode 100644 index a1adf10fd9..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-implementation-web.xsd +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-interface-cpp.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-interface-cpp.xsd deleted file mode 100644 index 44f14e5ed5..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-interface-cpp.xsd +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-interface-java.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-interface-java.xsd deleted file mode 100644 index 81f939bdb4..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-interface-java.xsd +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-interface-wsdl.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-interface-wsdl.xsd deleted file mode 100644 index c1fdfd8f3c..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-interface-wsdl.xsd +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-policy.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-policy.xsd deleted file mode 100644 index 2c4875f36c..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca-policy.xsd +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca.xsd deleted file mode 100644 index e4471a4f51..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/sca.xsd +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-atom.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-atom.xsd deleted file mode 100644 index d400810835..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-atom.xsd +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-dwr.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-dwr.xsd deleted file mode 100644 index 788571de7b..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-dwr.xsd +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-http.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-http.xsd deleted file mode 100644 index bd36a8f52f..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-http.xsd +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-jms.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-jms.xsd deleted file mode 100644 index b998427ecb..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-jms.xsd +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-jsonrpc.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-jsonrpc.xsd deleted file mode 100644 index bacfdda781..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-jsonrpc.xsd +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-notification.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-notification.xsd deleted file mode 100644 index 6d5468b2f9..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-notification.xsd +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-rmi.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-rmi.xsd deleted file mode 100644 index dbef8fbed6..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-rmi.xsd +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-rss.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-rss.xsd deleted file mode 100644 index 5af65aced2..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-binding-rss.xsd +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-data-helper.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-data-helper.xsd deleted file mode 100644 index 4331da0439..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-data-helper.xsd +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-das.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-das.xsd deleted file mode 100644 index 1f6f9abb16..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-das.xsd +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-data-xml.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-data-xml.xsd deleted file mode 100644 index 4a06bdd36a..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-data-xml.xsd +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-node.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-node.xsd deleted file mode 100644 index 1b5c8aece2..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-node.xsd +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-notification.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-notification.xsd deleted file mode 100644 index f8d437310e..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-notification.xsd +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-osgi.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-osgi.xsd deleted file mode 100644 index f8ece54a07..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-osgi.xsd +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-resource.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-resource.xsd deleted file mode 100644 index dd596821ea..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-resource.xsd +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-script.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-script.xsd deleted file mode 100644 index e1723d65f0..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-script.xsd +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-widget.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-widget.xsd deleted file mode 100644 index 0c0998595f..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-widget.xsd +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-xquery.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-xquery.xsd deleted file mode 100644 index cdabb697aa..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca-implementation-xquery.xsd +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca.xsd deleted file mode 100644 index 8bf3766eab..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/tuscany-sca.xsd +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/assembly-xsd/src/main/resources/wsdli.xsd b/java/sca/contrib/modules/assembly-xsd/src/main/resources/wsdli.xsd deleted file mode 100644 index 79af5e9363..0000000000 --- a/java/sca/contrib/modules/assembly-xsd/src/main/resources/wsdli.xsd +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - This attribute can be used to provide some hints on where - additional WSDL information for a given namespace can be - found in order to help with QName resolution - - - - - - - - diff --git a/java/sca/contrib/modules/assembly/LICENSE b/java/sca/contrib/modules/assembly/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/assembly/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/java/sca/contrib/modules/assembly/META-INF/MANIFEST.MF b/java/sca/contrib/modules/assembly/META-INF/MANIFEST.MF deleted file mode 100644 index e1aa2f77bd..0000000000 --- a/java/sca/contrib/modules/assembly/META-INF/MANIFEST.MF +++ /dev/null @@ -1,44 +0,0 @@ -Manifest-Version: 1.0 -Export-Package: org.apache.tuscany.sca.assembly;uses:="javax.xml.xpath - ,org.apache.tuscany.sca.assembly.impl,org.apache.tuscany.sca.policy,o - rg.apache.tuscany.sca.interfacedef,javax.xml.namespace";version="2.0" - ,org.apache.tuscany.sca.assembly.impl;uses:="javax.xml.xpath,org.apac - he.tuscany.sca.assembly,org.apache.tuscany.sca.policy,org.apache.tusc - any.sca.interfacedef,javax.xml.namespace";version="2.0",org.apache.tu - scany.sca.assembly.builder;uses:="org.apache.tuscany.sca.assembly,org - .apache.tuscany.sca.definitions,org.apache.tuscany.sca.core,org.apach - e.tuscany.sca.monitor,org.apache.tuscany.sca.interfacedef,org.apache. - tuscany.sca.extensibility";version="2.0" -Private-Package: org.apache.tuscany.sca.assembly.builder.impl;version= - "2.0" -Tool: Bnd-0.0.255 -Bundle-Name: Apache Tuscany SCA Assembly Model -Created-By: 1.6.0_07 (Sun Microsystems Inc.) -Bundle-Vendor: The Apache Software Foundation -Bundle-Version: 2.0 -Bnd-LastModified: 1225397097203 -Bundle-ManifestVersion: 2 -Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt -Bundle-Description: Apache Tuscany SCA Assembly Model -Import-Package: javax.xml.namespace, - javax.xml.parsers, - javax.xml.transform, - javax.xml.transform.dom, - javax.xml.transform.sax, - javax.xml.xpath, - org.apache.tuscany.sca.assembly;version="2.0", - org.apache.tuscany.sca.assembly.builder;version="2.0", - org.apache.tuscany.sca.assembly.impl;version="2.0", - org.apache.tuscany.sca.core;version="2.0", - org.apache.tuscany.sca.definitions;version="2.0", - org.apache.tuscany.sca.extensibility;version="2.0", - org.apache.tuscany.sca.interfacedef;version="2.0", - org.apache.tuscany.sca.interfacedef.impl;version="2.0";resolution:=optional, - org.apache.tuscany.sca.monitor;version="2.0", - org.apache.tuscany.sca.policy;version="2.0", - org.apache.tuscany.sca.policy.util;version="2.0", - org.w3c.dom, - org.xml.sax -Bundle-SymbolicName: org.apache.tuscany.sca.assembly -Bundle-DocURL: http://www.apache.org/ - diff --git a/java/sca/contrib/modules/assembly/NOTICE b/java/sca/contrib/modules/assembly/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/assembly/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/assembly/pom.xml b/java/sca/contrib/modules/assembly/pom.xml deleted file mode 100644 index 80e7f2c35b..0000000000 --- a/java/sca/contrib/modules/assembly/pom.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-assembly - Apache Tuscany SCA Assembly Model - - - - org.apache.tuscany.sca - tuscany-policy - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-definitions - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-monitor - 2.0-SNAPSHOT - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.assembly - ${pom.name} - org.apache.tuscany.sca.assembly* - - - - - - - diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractContract.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractContract.java deleted file mode 100644 index b8487d95c5..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractContract.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; - -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.policy.IntentAttachPoint; - -/** - * Interface contracts define one or more business functions. These business - * functions are provided by services and are used by references. - * - * @version $Rev$ $Date$ - */ -public interface AbstractContract extends Base, Extensible, IntentAttachPoint, OperationsConfigurator { - - /** - * Returns the name of the contract. - * - * @return the name of the contract - */ - String getName(); - - /** - * Sets the name of the contract. - * - * @param name the name of the contract - */ - void setName(String name); - - /** - * Returns the interface contract defining the interface and callback - * interface for the contract. - * - * @return the interface contract - */ - InterfaceContract getInterfaceContract(); - - /** - * Sets the interface contract defining the interface and callback - * interface for the contract. - * - * @param interfaceContract the interface contract - */ - void setInterfaceContract(InterfaceContract interfaceContract); - - /** - * Returns true if this contract is a reference or service created internally - * to handle a callback interface of another contract, false otherwise. - * - * @return true for a callback contract, false otherwise - */ - boolean isCallback(); - - /** - * Sets a flag indicating whether this is a callback contract. - * - * @param isCallback true for a callback contract, false otherwise - */ - void setIsCallback(boolean isCallback); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractProperty.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractProperty.java deleted file mode 100644 index 05f0e60981..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractProperty.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.namespace.QName; - -import org.apache.tuscany.sca.policy.IntentAttachPoint; - -/** - * A property allows for the configuration of an implementation with externally - * set data values. An implementation can have zero or more properties. Each - * property has a data type, which may be either simple or complex. An - * implementation may also define a default value for a property. - * - * @version $Rev$ $Date$ - */ -public interface AbstractProperty extends Base, Extensible, IntentAttachPoint { - - /** - * Returns the property name. - * - * @return the property name - */ - String getName(); - - /** - * Sets the property name. - * - * @param name the property name - */ - void setName(String name); - - /** - * Returns the default value of the property. - * - * @return the default value of this property - */ - Object getValue(); - - /** - * Sets the default value of the property. - * - * @param defaultValue the default value of this property - */ - void setValue(Object defaultValue); - - /** - * Returns true if the property allows multiple values. - * - * @return true if the property allows multiple values - */ - boolean isMany(); - - /** - * Sets whether or not the property allows multiple values. - * - * @param many true if the property should allow multiple values - */ - void setMany(boolean many); - - /** - * Returns true if a value must be supplied for the property. - * - * @return true is a value must be supplied for the property - */ - boolean isMustSupply(); - - /** - * Sets whether a value must be supplied for the property. - * - * @param mustSupply set to true to require that a value be supplied for - * uses of this property - */ - void setMustSupply(boolean mustSupply); - - /** - * Returns the data type of this property. This is the qualified name of an - * XML schema type. - * - * @return the type of this property - */ - QName getXSDType(); - - /** - * Sets the data type of this property. This is the qualified name of an XML - * schema type. - * - * @param type the type of this property - */ - void setXSDType(QName type); - - /** - * Returns the element defining the data type of this property. This is the - * qualified name of an XML schema element. - * - * @return the element defining the type of this property - */ - QName getXSDElement(); - - /** - * Sets the element defining the data type of this property. This is the - * qualified name of an XML schema element. - * - * @param element the element defining the type of this property - */ - void setXSDElement(QName element); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractReference.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractReference.java deleted file mode 100644 index a9ef26bbb9..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractReference.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.assembly; - -/** - * Represents a reference contract. - * - * @version $Rev$ $Date$ - */ -public interface AbstractReference extends AbstractContract { - - /** - * Returns the multiplicity allowed for wires connected to this reference. - * - * @return the multiplicity allowed for wires connected to this reference - */ - Multiplicity getMultiplicity(); - - /** - * Sets the multiplicity allowed for wires connected to this reference. - * - * @param multiplicity the multiplicity allowed for wires connected to this - * reference - */ - void setMultiplicity(Multiplicity multiplicity); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractService.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractService.java deleted file mode 100644 index 9ae511c07b..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractService.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; - -/** - * Represents a service contract. - * - * @version $Rev$ $Date$ - */ -public interface AbstractService extends AbstractContract { - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AssemblyFactory.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AssemblyFactory.java deleted file mode 100644 index 8a4fc6dfda..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AssemblyFactory.java +++ /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. - */ -package org.apache.tuscany.sca.assembly; - - -/** - * A factory for the assembly model - * - * @version $Rev$ $Date$ - */ -public interface AssemblyFactory { - - /** - * Create a new abstract property. - * - * @return a new abstract property - */ - AbstractProperty createAbstractProperty(); - - /** - * Create a new abstract reference. - * - * @return a new abstract reference - */ - AbstractReference createAbstractReference(); - - /** - * Create a new abstract service. - * - * @return a new abstract service - */ - AbstractService createAbstractService(); - - /** - * Create a new callback. - * - * @return - */ - Callback createCallback(); - - /** - * Create a new component. - * - * @return a new component - */ - Component createComponent(); - - /** - * Create a new component property. - * - * @return a new component property - */ - ComponentProperty createComponentProperty(); - - /** - * Create a new component reference. - * - * @return a new component reference - */ - ComponentReference createComponentReference(); - - /** - * Create a new component service. - * - * @return a new component service - */ - ComponentService createComponentService(); - - /** - * Create a new component type - * - * @return a new component type - */ - ComponentType createComponentType(); - - /** - * Create a new composite. - * - * @return a new composite - */ - Composite createComposite(); - - /** - * Create a new composite reference. - * - * @return a new composite reference - */ - CompositeReference createCompositeReference(); - - /** - * Create a new composite service. - * - * @return a new composite service - */ - CompositeService createCompositeService(); - - /** - * Create a new constraining type. - * - * @return a new constraining type - */ - ConstrainingType createConstrainingType(); - - /** - * Create a new property. - * - * @return a new property - */ - Property createProperty(); - - /** - * Create a new reference. - * - * @return a new reference - */ - Reference createReference(); - - /** - * Create a new service. - * - * @return a new service - */ - Service createService(); - - /** - * Create a new wire. - * - * @return a new wire - */ - Wire createWire(); - - /** - * Create a new configured operation. - * - * @return a new ConfiguredOperation - */ - ConfiguredOperation createConfiguredOperation(); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Base.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Base.java deleted file mode 100644 index 76511d351d..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Base.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.assembly; - - -/** - * Base interface for all assembly model objects. - * - * @version $Rev$ $Date$ - */ -public interface Base { - - /** - * Returns true if the model element is unresolved. - * - * @return true if the model element is unresolved. - */ - boolean isUnresolved(); - - /** - * Sets whether the model element is unresolved. - * - * @param unresolved whether the model element is unresolved - */ - void setUnresolved(boolean unresolved); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Binding.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Binding.java deleted file mode 100644 index f8b7d4d236..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Binding.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.assembly; - - -/** - * Represents a binding. - * - * @version $Rev$ $Date$ - */ -public interface Binding extends Base, Cloneable { - - /** - * Returns the binding URI. - * - * @return the binding URI - */ - String getURI(); - - /** - * Sets the binding URI. - * - * @param uri the binding URI - */ - void setURI(String uri); - - /** - * Returns the binding name. - * - * @return the binding name - */ - String getName(); - - /** - * Sets the binding name. - * - * @param name the binding name - */ - void setName(String name); - - /** - * Clone the binding - * - * @return - */ - Object clone() throws CloneNotSupportedException; -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/BindingRRB.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/BindingRRB.java deleted file mode 100644 index 5bcbdd40eb..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/BindingRRB.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.assembly; - - -/** - * TODO RRB experiment. - * Represents a binding implemented using Requst/Response binding chains - * Used to test the RRB idea hence no integrated into the Binding interface, yet - * - * @version $Rev$ $Date$ - */ -public interface BindingRRB extends Binding { - - public WireFormat getRequestWireFormat(); - - public void setRequestWireFormat(WireFormat wireFormat); - - public WireFormat getResponseWireFormat(); - - public void setResponseWireFormat(WireFormat wireFormat); - - public OperationSelector getOperationSelector(); - - public void setOperationSelector(OperationSelector operationSelector); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Callback.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Callback.java deleted file mode 100644 index f49a653aa9..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Callback.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; - -import java.util.List; - -import org.apache.tuscany.sca.policy.IntentAttachPoint; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; - -/** - * Represents a callback object describing the bindings to use for callbacks. - * - * @version $Rev$ $Date$ - */ -public interface Callback extends Base, Extensible, IntentAttachPoint, PolicySetAttachPoint, OperationsConfigurator { - - /** - * Returns the bindings supported for callbacks. - * - * @return the bindings supported for callbacks - */ - List getBindings(); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Component.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Component.java deleted file mode 100644 index 8e1943224c..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Component.java +++ /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. - */ -package org.apache.tuscany.sca.assembly; - -import java.util.List; - -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; - -/** - * Represents a component. A component is a configured instance of an - * implementation. - * - * @version $Rev$ $Date$ - */ -public interface Component extends Base, Extensible, PolicySetAttachPoint, Cloneable { - - /** - * Returns the URI of the component. - * - * @return the URI of the component - */ - String getURI(); - - /** - * Sets the URI of the component. - * - * @param uri the URI of the component - */ - void setURI(String uri); - - /** - * Returns the name of the component. - * - * @return the name of the component - */ - String getName(); - - /** - * Sets the name of the component. - * - * @param name the name of the component - */ - void setName(String name); - - /** - * Returns the component implementation. - * - * @return the component implementation - */ - Implementation getImplementation(); - - /** - * Sets the component implementation - * - * @param implementation the component implementation - */ - void setImplementation(Implementation implementation); - - /** - * Returns a list of references used by the component. - * - * @return a list of references used by the component - */ - List getReferences(); - - /** - * Returns a list of services exposed by the component. - * - * @return a list of services exposed by the component - */ - List getServices(); - - /** - * Returns a list of properties for the component. - * - * @return a list of properties - */ - List getProperties(); - - /** - * Returns a constraining type defining the shape of the component. - * - * @return a constraining type - */ - ConstrainingType getConstrainingType(); - - /** - * Sets a constraining type defining the shape of the component. - * - * @param constrainingType the constraining type - */ - void setConstrainingType(ConstrainingType constrainingType); - - /** - * Return the Boolean value of autowire - * @return null/TRUE/FALSE - */ - Boolean getAutowire(); - - /** - * Sets whether component references should be autowired. - * - * @param autowire whether component references should be autowired - */ - void setAutowire(Boolean autowire); - - - /** - * Returns a clone of the component. - * - * @return a clone of the component - * @throws CloneNotSupportedException - */ - Object clone() throws CloneNotSupportedException; - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentProperty.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentProperty.java deleted file mode 100644 index 13d19b1757..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentProperty.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.assembly; - -import javax.xml.xpath.XPathExpression; - -/** - * Represents a configured property of a component. - * - * @version $Rev$ $Date$ - */ -public interface ComponentProperty extends Property { - - /** - * Returns the property defined by the component implementation. - * - * @return the property defined by the component implementation - */ - Property getProperty(); - - /** - * Sets the property defined by this component implementation. - * - * @param property the property defined by this component implementation - */ - void setProperty(Property property); - - /** - * Returns an XPath expression referencing a property of the enclosing - * composite. - * - * @return an XPath expression referencing a property of the enclosing - * composite - */ - String getSource(); - - /** - * Sets an XPath expression referencing a property of the enclosing - * composite. - * - * @param source an XPath expression referencing a property of the enclosing - * composite - */ - void setSource(String source); - - /** - * Get the XPath expression for the source attribute - * @return the XPath expression for the source attribute - */ - XPathExpression getSourceXPathExpression(); - - /** - * Set the XPath expression for the source attribute - * @param sourceXPathExpression the XPath expression for the source attribute - */ - void setSourceXPathExpression(XPathExpression sourceXPathExpression); - - /** - * Returns a URI to a file containing the property value. - * - * @return a URI to a file containing the property value - */ - String getFile(); - - /** - * Sets a URI to a file containing the property value. - * - * @param file a URI to a file containing the property value - */ - void setFile(String file); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentReference.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentReference.java deleted file mode 100644 index ce40bc089b..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentReference.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.assembly; - -import java.util.List; - - - -/** - * An instance of a reference associated with a particular component. - * - * @version $Rev$ $Date$ - */ -public interface ComponentReference extends Reference { - - /** - * Returns the reference defined by the implementation for this reference. - * - * @return the implementation reference - */ - Reference getReference(); - - /** - * Sets the reference defined by the implementation for this reference. - * - * @param reference the implementation reference - */ - void setReference(Reference reference); - - /** - * Return the Boolean value of autowire - * @return null/TRUE/FALSE - */ - Boolean getAutowire(); - - /** - * Sets whether component references should be autowired. - * - * @param autowire whether component references should be autowired - */ - void setAutowire(Boolean autowire); - - - /** - * Returns the callback service created internally as a target endpoint - * for callbacks to this reference. - * - * @return the callback service - */ - ComponentService getCallbackService(); - - /** - * Sets the callback service created internally as a target endpoint - * for callbacks to this reference. - * - * @param callbackService the callback service - */ - void setCallbackService(ComponentService callbackService); - - /** - * Returns the endpoints implied by this reference. - * - * @return the endpoints implied by this reference - */ - List getEndpoints(); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentService.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentService.java deleted file mode 100644 index 65945692f1..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentService.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; - - -/** - * An addressable instance of a service associated with a particular component. - * - * @version $Rev$ $Date$ - */ -public interface ComponentService extends Service { - - /** - * Returns the service defined by the implementation for this service. - * - * @return - */ - Service getService(); - - /** - * Sets the service defined by the implementation for this service. - * - * @param service - */ - void setService(Service service); - - /** - * Returns the callback reference created internally as a source endpoint - * for callbacks from this service. - * - * @return the callback reference - */ - ComponentReference getCallbackReference(); - - /** - * Sets the callback reference created internally as a source endpoint - * for callbacks from this service. - * - * @param callbackReference the callback reference - */ - void setCallbackReference(ComponentReference callbackReference); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentType.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentType.java deleted file mode 100644 index e1ea65ea39..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ComponentType.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; - -import java.util.List; - -/** - * Describes an implementation and represents its configurable aspects. - * - * @version $Rev$ $Date$ - */ -public interface ComponentType extends Base { - - /** - * Returns the URI of this component type. - * @return the URI of the component type - */ - String getURI(); - - /** - * Sets the URI of this component type. - * @param uri the URI of the component type - */ - void setURI(String uri); - - /** - * Returns a list of services that are offered. - * - * @return a list of services that are offered - */ - List getServices(); - - /** - * Returns the list of reference types that are used. - * - * @return the list of reference types that are used - */ - List getReferences(); - - /** - * Returns the list of properties that can be set. - * - * @return the list of properties that can be set - */ - List getProperties(); - - /** - * Returns a constraining type defining the shape of the implementation. - * - * @return a constraining type - */ - ConstrainingType getConstrainingType(); - - /** - * Sets a constraining type defining the shape of the implementation. - * - * @param constrainingType the constraining type to set - */ - void setConstrainingType(ConstrainingType constrainingType); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Composite.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Composite.java deleted file mode 100644 index 2c7b7c6b9e..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Composite.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.assembly; - -import java.util.List; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; - - -/** - * Represents a composite. - * - * @version $Rev$ $Date$ - */ -public interface Composite extends Implementation, Extensible, Cloneable, PolicySetAttachPoint { - - /** - * Returns the name of the composite. - * - * @return the name of the composite - */ - QName getName(); - - /** - * Sets the name of the composite. - * - * @param name the name of the composite - */ - void setName(QName name); - - /** - * Returns a list of composites included in this composite. - * - * @return a list of composites included in this composite. - */ - List getIncludes(); - - /** - * Returns a list of components contained in this composite. - * - * @return a list of components contained in this composite - */ - List getComponents(); - - /** - * Returns a list of wires contained in this composite. - * - * @return a list of wires contained in this composite - */ - List getWires(); - - /** - * Returns true if all the components within the composite must run in the - * same process. - * - * @return true if all the components within the composite must run in the - * same process - */ - boolean isLocal(); - - /** - * Sets whether all the components within the composite must run in the same - * process. - * - * @param local whether all the components within the composite must run in - * the same process - */ - void setLocal(boolean local); - - /** - * Return the Boolean value of autowire - * @return null/TRUE/FALSE - */ - Boolean getAutowire(); - - /** - * Sets whether component references should be autowired. - * - * @param autowire whether component references should be autowired - */ - void setAutowire(Boolean autowire); - - - /** - * Returns a clone of the component type. - * - * @return a clone of the component type - * @throws CloneNotSupportedException - */ - Object clone() throws CloneNotSupportedException; - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/CompositeReference.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/CompositeReference.java deleted file mode 100644 index d3fa80ba74..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/CompositeReference.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; - -import java.util.List; - -/** - * Represents composite reference. - * - * @version $Rev$ $Date$ - */ -public interface CompositeReference extends Reference { - - /** - * Returns the promoted composite references. - * - * @return the promoted composite references - */ - List getPromotedReferences(); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/CompositeService.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/CompositeService.java deleted file mode 100644 index 7143f571f9..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/CompositeService.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.assembly; - -/** - * Represents a composite service. - * - * @version $Rev$ $Date$ - */ -public interface CompositeService extends Service { - - /** - * Returns the promoted component. - * - * @return the promoted component. - */ - Component getPromotedComponent(); - - /** - * Sets the promoted component - * - * @param promotedComponent the promoted component. - */ - void setPromotedComponent(Component promotedComponent); - - /** - * Returns the promoted component service . - * - * @return the promoted component service. - */ - ComponentService getPromotedService(); - - /** - * Sets the promoted component service - * - * @param promotedService the promoted component service. - */ - void setPromotedService(ComponentService promotedService); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ConfiguredOperation.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ConfiguredOperation.java deleted file mode 100644 index 8832597343..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ConfiguredOperation.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.assembly; - -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; - -/** - * Represents an Operation. Typically Operation elements are used when there is a - * need to apply certain facets such as intents and policysets only to a specific - * operation provided by a service or reference. - * - * @version $Rev$ $Date$ - */ -public interface ConfiguredOperation extends Base, PolicySetAttachPoint { - /** - * Returns the name of the operation. - * - * @return the name of the operation - */ - String getName(); - - /** - * Sets the name of the operation. - * - * @param name the name of the operation - */ - void setName(String name); - - /** - * Returns the name of the service or reference to which this operation belongs. - * This method is particularly useful when operation elements are specified under implementation - * elements and it is necessary to identify which of the various services provided by the - * implementation is referred to by the operation element in question - * - * @return the name of the contract to which this operation belongs - */ - String getContractName(); - - /** - * Sets the name of the service or reference to which this operation belongs. - * - * @param contractName the name of the contract to which this operation belongs - */ - void setContractName(String contractName); -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ConstrainingType.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ConstrainingType.java deleted file mode 100644 index 9890bfed68..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/ConstrainingType.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.assembly; - -import java.util.List; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.policy.IntentAttachPoint; - -/** - * A constrainingType provides the "shape" for a component and its - * implementation. Any component configuration that points to a constrainingType - * is constrained by this shape. The constrainingType specifies the services, - * references and properties that must be implemented. - * - * @version $Rev$ $Date$ - */ -public interface ConstrainingType extends Base, Extensible, IntentAttachPoint { - - /** - * Returns the name of the constrainingType. - * - * @return the name of the constrainingType - */ - QName getName(); - - /** - * Sets the name of the constrainingType. - * - * @param name the name of the constrainingType - */ - void setName(QName name); - - /** - * Returns a list of services that are offered. - * - * @return a list of services that are offered - */ - List getServices(); - - /** - * Returns the list of references that are used. - * - * @return the list of references that are used - */ - List getReferences(); - - /** - * Returns the list of properties that can be set. - * - * @return the list of properties that can be set - */ - List getProperties(); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Contract.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Contract.java deleted file mode 100644 index f9a62774e6..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Contract.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.assembly; - -import java.util.List; - -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; - -/** - * Represents a contract. A contract can be either a service or a reference. - * - * @version $Rev$ $Date$ - */ -public interface Contract extends AbstractContract, PolicySetAttachPoint, Cloneable { - - /** - * Returns the bindings supported by this contract. - * - * @return the bindings supported by this contract - */ - List getBindings(); - - /** - * Returns a binding of the specified type or null if there is no such - * binding configured on this contract. - * - * @param the binding type - * @param bindingClass the binding type class - * @return the binding or null if there is no binding of the specified type - */ - B getBinding(Class bindingClass); - - /** - * Returns a callback binding of the specified type or null if there is no such - * callback binding configured on this contract. - * - * @param the callback binding type - * @param bindingClass the callback binding type class - * @return the callback binding or null if there is no callback binding of the specified type - */ - B getCallbackBinding(Class bindingClass); - - /** - * Returns a callback definition of the bindings to use for callbacks. - * - * @return a definition of the bindings to use for callbacks - */ - Callback getCallback(); - - /** - * Sets a callback definition of the bindings to use for callbacks - * - * @param callback a definition of the bindings to use for callbacks - */ - void setCallback(Callback callback); - - /** - * Returns a clone of the contract. - * - * @return a clone of the reference - * @throws CloneNotSupportedException - */ - Object clone() throws CloneNotSupportedException; - - /** - * Returns the interface contract given a binding. Important in the case where - * a reference with multiplicity > 1 has been promoted and has it's list of - * resolved bindings extended by a promoting reference. Here the binding - * from the promoting reference may need the interface contract from the - * promoting reference and not the promoted reference. - * TODO - remove this wrinkle with better endpoint support. - * - * @param binding the binding for which the interface contract is required - * @return the interface contract - */ - InterfaceContract getInterfaceContract(Binding binding); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/DefaultAssemblyFactory.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/DefaultAssemblyFactory.java deleted file mode 100644 index 5dd256e3c4..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/DefaultAssemblyFactory.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.assembly; - -import org.apache.tuscany.sca.assembly.impl.AssemblyFactoryImpl; - -/** - * A factory for the assembly model. - * - * @version $Rev$ $Date$ - */ -public class DefaultAssemblyFactory extends AssemblyFactoryImpl implements AssemblyFactory { - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/DefaultEndpointFactory.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/DefaultEndpointFactory.java deleted file mode 100644 index 6b0c076ee5..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/DefaultEndpointFactory.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; - - -import org.apache.tuscany.sca.assembly.impl.EndpointFactoryImpl; - -/** - * A default factory for the Endpoint model. - * - * @version $Rev$ $Date$ - */ -public class DefaultEndpointFactory extends EndpointFactoryImpl { - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Endpoint.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Endpoint.java deleted file mode 100644 index ee63497fbe..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Endpoint.java +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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 java.util.List; - -import org.apache.tuscany.sca.interfacedef.InterfaceContract; - -/** - * Represents an endpoint (primarily a combination of a target service name and a set of - * candidate bindings) - * - * @version $Rev$ $Date$ - */ -public interface Endpoint extends Base, Cloneable { - - /** - * Get the name of the target service that this endpoint refers to - * - * @return target service name - */ - String getTargetName(); - - /** - * Set the name of the target service that this endpoint refers to - * - * @param targetName - */ - void setTargetName(String targetName); - - /** - * Get the source component model object - * - * @return source component - */ - Component getSourceComponent(); - - /** - * Set the source component model object - * - * @param component the source component for the endpoint - */ - void setSourceComponent(Component component); - - /** - * Get the source component reference model object - * - * @return reference the source component reference for the endpoint - */ - ComponentReference getSourceComponentReference(); - - /** - * Set the source component reference model object - * - * @param reference - */ - void setSourceComponentReference(ComponentReference reference); - - /** - * Get the resolved source binding - * - * @return binding the resolved source binding - */ - Binding getSourceBinding(); - - /** - * Set the resolved source binding - * - * @param binding the resolved source binding - */ - void setSourceBinding(Binding binding); - - /** - * Get the resolved source callback binding - * - * @return binding the resolved source callback binding - */ - Binding getSourceCallbackBinding(); - - /** - * Set the resolved source callback binding - * - * @param binding the resolved source callback binding - */ - void setSourceCallbackBinding(Binding binding); - - /** - * Get the list of candidate bindings that could be used to - * communication with the target service - * - * @return list of candidate bindings - */ - List getCandidateBindings(); - - - /** - * Get the target component model object - * - * @return target component - */ - Component getTargetComponent(); - - /** - * Set the target component model object - * - * @param component target component - */ - void setTargetComponent(Component component); - - /** - * Get the target component service model object - * - * @return target component service - */ - ComponentService getTargetComponentService(); - - /** - * Set the target component service model object - * - * @param service - */ - void setTargetComponentService(ComponentService service); - - /** - * Get the resolved target binding - * - * @return target binding - */ - Binding getTargetBinding(); - - /** - * Set the resolved target binding - * - * @param binding target binding - */ - void setTargetBinding(Binding binding); - - /** - * Returns the interface contract defining the interface - * - * @return the interface contract - */ - InterfaceContract getInterfaceContract(); - - /** - * Sets the interface contract defining the interface - * - * @param interfaceContract the interface contract - */ - void setInterfaceContract(InterfaceContract interfaceContract); -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/EndpointFactory.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/EndpointFactory.java deleted file mode 100644 index 93e6c4d630..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/EndpointFactory.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; - - - -/** - * A factory for the endpoint model - * - * @version $Rev$ $Date$ - */ -public interface EndpointFactory { - - /** - * Create a new endpoint model object - * - * @return a new endpoint - */ - Endpoint createEndpoint(); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Extensible.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Extensible.java deleted file mode 100644 index 3577a94d1e..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Extensible.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; - -import java.util.List; - -/** - * Base interface for extensible assembly model objects. - * - * @version $Rev$ $Date$ - */ -public interface Extensible { - - /** - * Returns a list of extension objects contained in this model object. - * - * @return a list of extension objects container in this model object - */ - List getExtensions(); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Implementation.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Implementation.java deleted file mode 100644 index 720a6801a2..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Implementation.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; - -/** - * Represents a component implementation. - * - * @version $Rev$ $Date$ - */ -public interface Implementation extends ComponentType { -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Multiplicity.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Multiplicity.java deleted file mode 100644 index 5d15ce9938..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Multiplicity.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.assembly; - -/** - * Enumeration for multiplicity. Defines the number of wires that can connect a - * reference to target services. - * - * @version $Rev$ $Date$ - */ -public enum Multiplicity { - - /** - * Zero or one wire can have the reference as a source. - */ - ZERO_ONE, - - /** - * The default setting, one wire can have the reference as a source. - */ - ONE_ONE, - - /** - * Zero or more wires can have the reference as a source. - */ - ZERO_N, - - /** - * One or more wires can have the reference as a source. - */ - ONE_N - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/OperationSelector.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/OperationSelector.java deleted file mode 100644 index 6770e87ee1..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/OperationSelector.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; - - -/** - * Represents an operationSelector - * - * @version $Rev$ $Date$ - */ -public interface OperationSelector extends Base, Cloneable { - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/OperationsConfigurator.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/OperationsConfigurator.java deleted file mode 100644 index 947fcd4c7c..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/OperationsConfigurator.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; - -import java.util.List; - -/** - * Interface to be implemented by SCA artifacts that support configuration of 'operation' child - * elements for policies etc. - * - * @version $Rev$ $Date$ - */ - -public interface OperationsConfigurator { - List getConfiguredOperations(); -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/OptimizableBinding.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/OptimizableBinding.java deleted file mode 100644 index 98ff92f15b..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/OptimizableBinding.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.assembly; - -/** - * Represent a reference binding that supports optimized SCA local wiring between component - * references and services - * - * @version $Rev$ $Date$ - * - */ -public interface OptimizableBinding extends Binding, Cloneable { - - /** - * @param component - */ - void setTargetComponent(Component component); - - /** - * @param service - */ - void setTargetComponentService(ComponentService service); - - /** - * @param binding - */ - void setTargetBinding(Binding binding); - - /** - * @return - */ - Binding getTargetBinding(); - - /** - * @return - */ - Component getTargetComponent(); - - /** - * @return - */ - ComponentService getTargetComponentService(); - - /** - * Clone the binding - * @return - */ - Object clone() throws CloneNotSupportedException; - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Property.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Property.java deleted file mode 100644 index 683920da58..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Property.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.assembly; - -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; - -/** - * A property allows for the configuration of an implementation with externally - * set data values. An implementation can have zero or more properties. Each - * property has a data type, which may be either simple or complex. An - * implementation may also define a default value for a property. - * - * @version $Rev$ $Date$ - */ -public interface Property extends AbstractProperty, PolicySetAttachPoint, Cloneable { - - /** - * Returns a clone of the property. - * - * @return a clone of the property - * @throws CloneNotSupportedException - */ - Object clone() throws CloneNotSupportedException; - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Reference.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Reference.java deleted file mode 100644 index 2eb1bf21b0..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Reference.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; - -import java.util.List; - -/** - * Represents a reference. References within an implementation represent links - * to services that the implementation uses that must be provided by other - * components. - * - * @version $Rev$ $Date$ - */ -public interface Reference extends AbstractReference, Contract { - - /** - * Returns a boolean value, "false" by default, which indicates that the - * implementation wires this reference dynamically. - * - * @return true if the implementation wires this reference dynamically - */ - boolean isWiredByImpl(); - - /** - * Sets a boolean value, "false" by default, which indicates that the - * implementation wires this reference dynamically. - * - * @param wiredByImpl whether the implementation wires this reference - * dynamically - */ - void setWiredByImpl(boolean wiredByImpl); - - /** - * Returns a boolean value, "false" by default, which indicates whether - * the configuration of this reference is a promotion override for - * another more deeply nested reference. - * - * @return true if the reference is a promotion override - */ - boolean isPromotionOverride(); - - /** - * Sets a boolean value, "false" by default, which indicates whether - * the configuration of this reference is a promotion override for - * another more deeply nested reference. - * - * @param promotionOverride whether the reference is a promotion override - */ - void setPromotionOverride(boolean promotionOverride); - - /** - * Returns the targets of this reference. - * - * @return the targets of this reference. - */ - List getTargets(); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/SCABinding.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/SCABinding.java deleted file mode 100644 index 2cf04277cd..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/SCABinding.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; - -/** - * Represents an SCA binding. - * - * @version $Rev$ $Date$ - */ -public interface SCABinding extends Binding { -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/SCABindingFactory.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/SCABindingFactory.java deleted file mode 100644 index 0abfd13d10..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/SCABindingFactory.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; - - -/** - * A factory for the SCA binding model - * - * @version $Rev$ $Date$ - */ -public interface SCABindingFactory { - - /** - * Create a new SCA binding. - * - * @return a new SCA binding - */ - SCABinding createSCABinding(); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Service.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Service.java deleted file mode 100644 index 020870cd34..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Service.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; - -/** - * Represents a service. Services are used to publish services provided by - * implementations, so that they are addressable by other components. - * - * @version $Rev$ $Date$ - */ -public interface Service extends AbstractService, Contract { - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Wire.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Wire.java deleted file mode 100644 index ee65e5746e..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Wire.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.assembly; - -import org.apache.tuscany.sca.policy.IntentAttachPoint; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; - -/** - * Represents a wire. - * - * @version $Rev$ $Date$ - */ -public interface Wire extends Base, Extensible, IntentAttachPoint, PolicySetAttachPoint, Cloneable { - - /** - * Returns the source of the wire. - * - * @return the source of the wire - */ - ComponentReference getSource(); - - /** - * Sets the source of the wire. - * - * @param source the source of the wire - */ - void setSource(ComponentReference source); - - /** - * Returns the target of the wire. - * - * @return the target of the wire - */ - ComponentService getTarget(); - - /** - * Sets the target of the wire. - * - * @param target the target of the wire - */ - void setTarget(ComponentService target); - - /** - * Returns a clone of the wire. - * - * @return a clone of the wire - * @throws CloneNotSupportedException - */ - Object clone() throws CloneNotSupportedException; - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/WireFormat.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/WireFormat.java deleted file mode 100644 index d8c530585e..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/WireFormat.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; - - -/** - * Represents a wireFormat. - * - * @version $Rev$ $Date$ - */ -public interface WireFormat extends Base, Cloneable { - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/AutomaticBinding.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/AutomaticBinding.java deleted file mode 100644 index 97708f9ef5..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/AutomaticBinding.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.assembly.builder; - -/** - * Represent a binding that has been added automatically to the model rather - * than being specified by the user through the composite file - * - * @version $Rev$ $Date$ - * - */ -public interface AutomaticBinding extends Cloneable { - - /** - * @param isAutomatic - */ - void setIsAutomatic(boolean isAutomatic); - - /** - * @return isAutomatic - */ - boolean getIsAutomatic(); -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/BindingBuilder.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/BindingBuilder.java deleted file mode 100644 index 7bac630d5b..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/BindingBuilder.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.assembly.builder; - -import org.apache.tuscany.sca.assembly.AbstractContract; -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.monitor.Monitor; - -/** - * A builder that handles any build-time configuration needed by bindings. - * - * @version $Rev$ $Date$ - */ -public interface BindingBuilder { - - /** - * Configure a binding. - * - * @param component The component for the binding's service or reference - * @param contract The binding's service or reference - */ - void build(Component component, AbstractContract contract, Binding binding, Monitor monitor); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/BindingBuilderExtension.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/BindingBuilderExtension.java deleted file mode 100644 index 37ad8af0b3..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/BindingBuilderExtension.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.assembly.builder; - -/** - * An extension that can be implemented by bindings to provide a binding builder. - * - * @version $Rev$ $Date$ - */ -public interface BindingBuilderExtension { - - /** - * Returns the binding builder. - * - * @return the binding builder - */ - BindingBuilder getBuilder(); - - /** - * Sets the binding builder. - * - * @param builder the binding builder - */ - void setBuilder(BindingBuilder builder); - -} - diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/ComponentPreProcessor.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/ComponentPreProcessor.java deleted file mode 100644 index d2fae4d24a..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/ComponentPreProcessor.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.builder; - -import org.apache.tuscany.sca.assembly.Component; - -/** - * Interface for Component Pre Processors. - * - * @version $Rev$ $Date$ - */ -public interface ComponentPreProcessor { - - void preProcess(Component component); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/CompositeBuilder.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/CompositeBuilder.java deleted file mode 100644 index cf38894702..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/CompositeBuilder.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.builder; - -import org.apache.tuscany.sca.assembly.Composite; - -/** - * A builder that handles the configuration of the components inside a - * composite and the wiring of component references to component services. - * - * @version $Rev$ $Date$ - */ -public interface CompositeBuilder { - - /** - * Build a composite. - * - * @param composite - * @throws CompositeBuilderException - */ - void build(Composite composite) throws CompositeBuilderException; - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/CompositeBuilderException.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/CompositeBuilderException.java deleted file mode 100644 index 5a2015f55e..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/CompositeBuilderException.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.assembly.builder; - -/** - * Reports a composite builder exception. - * - * @version $Rev$ $Date$ - */ -public class CompositeBuilderException extends Exception { - private static final long serialVersionUID = -8916323176803443856L; - - public CompositeBuilderException() { - } - - public CompositeBuilderException(String message) { - super(message); - } - - public CompositeBuilderException(Throwable cause) { - super(cause); - } - - public CompositeBuilderException(String message, Throwable cause) { - super(message, cause); - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/DefaultEndpointBuilder.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/DefaultEndpointBuilder.java deleted file mode 100644 index 9743117174..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/DefaultEndpointBuilder.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.builder; - -import org.apache.tuscany.sca.assembly.builder.impl.EndpointBuilderImpl; -import org.apache.tuscany.sca.monitor.Monitor; - -/** - * A default builder. - * - * @version $Rev$ $Date$ - */ -public class DefaultEndpointBuilder extends EndpointBuilderImpl { - public DefaultEndpointBuilder (Monitor monitor){ - super(monitor); - } -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/DomainBuilder.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/DomainBuilder.java deleted file mode 100644 index 20a17e1bd0..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/DomainBuilder.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.builder; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.Service; - -/** - * A builder that handles the configuration of the components inside a - * composite and the wiring of component references to component services. - * - * @version $Rev: 563358 $ $Date: 2007-08-07 01:26:27 +0100 (Tue, 07 Aug 2007) $ - */ -public interface DomainBuilder { - - /** - * Wire up the references and service in a domain returning a list - * of the composites that have changed - * - * @param domainLevelCompsite - * @return a list of change composites - * @throws CompositeBuilderException - */ - List wireDomain(Composite domainLevelComposite); - - /** - * Locates the referenced service and updates the URI on the identified binding - * - * @param domainLevelComposite - * @param referenceName - * @param bindingClassName - * @param URI - */ - void updateDomainLevelServiceURI(Composite domainLevelComposite, String referenceName, String bindingClassName, String URI); - - /** - * Get the component name out of the reference name that might look like Component/Service - * - * @param referenceName - * @return - */ - String getComponentNameFromReference(String referenceName); - - /** - * Get the service name out of the reference name that might look like Component/Service - * - * @param referenceName - * @return - */ - String getServiceNameFromReference(String referenceName); - - /** - * Find the service object given a reference name - * - * @param composite - * @param referenceName - * @return - */ - Service findServiceForReference(Composite composite, String referenceName); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/EndpointBuilder.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/EndpointBuilder.java deleted file mode 100644 index eb2977d87a..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/EndpointBuilder.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.builder; - -import org.apache.tuscany.sca.assembly.Endpoint; - -/** - * A builder that handles the configuration of reference endpoints - * It collects together the logic so that it can be used at build time - * or later on during late binding scenarios - * - * @version $Rev$ $Date$ - */ -public interface EndpointBuilder { - - /** - * Build an endpoint. - * - * @param endpoint - */ - void build(Endpoint endpoint); - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseConfigurationBuilderImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseConfigurationBuilderImpl.java deleted file mode 100644 index 6f856986ad..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseConfigurationBuilderImpl.java +++ /dev/null @@ -1,1337 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.builder.impl; - -import java.net.URI; -import java.net.URISyntaxException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.xml.namespace.QName; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.transform.TransformerFactory; - -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.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.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.SCABinding; -import org.apache.tuscany.sca.assembly.SCABindingFactory; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.assembly.builder.AutomaticBinding; -import org.apache.tuscany.sca.assembly.builder.ComponentPreProcessor; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; -import org.apache.tuscany.sca.definitions.SCADefinitions; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; -import org.apache.tuscany.sca.policy.IntentAttachPoint; -import org.apache.tuscany.sca.policy.IntentAttachPointType; - -/** - * Base class for Builder implementations that handles configuration. - * - * @version $Rev$ $Date$ - */ -public abstract class BaseConfigurationBuilderImpl { - private static final String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0"; - private static final String BINDING_SCA = "binding.sca"; - private static final QName BINDING_SCA_QNAME = new QName(SCA10_NS, BINDING_SCA); - - private AssemblyFactory assemblyFactory; - private SCABindingFactory scaBindingFactory; - private Monitor monitor; - private InterfaceContractMapper interfaceContractMapper; - private SCADefinitions policyDefinitions; - private DocumentBuilderFactory documentBuilderFactory; - private TransformerFactory transformerFactory; - - protected BaseConfigurationBuilderImpl(AssemblyFactory assemblyFactory, - SCABindingFactory scaBindingFactory, - DocumentBuilderFactory documentBuilderFactory, - TransformerFactory transformerFactory, - InterfaceContractMapper interfaceContractMapper, - SCADefinitions policyDefinitions, - Monitor monitor) { - this.assemblyFactory = assemblyFactory; - this.scaBindingFactory = scaBindingFactory; - this.documentBuilderFactory = documentBuilderFactory; - this.transformerFactory = transformerFactory; - this.interfaceContractMapper = interfaceContractMapper; - this.policyDefinitions = policyDefinitions; - this.monitor = monitor; - } - - /** - * Configure components in the composite. - * - * @param composite - * @param problems - */ - protected void configureComponents(Composite composite) throws CompositeBuilderException { - configureComponents(composite, null); - configureSourcedProperties(composite, null); - //configureBindingURIs(composite, null, null); - } - - /** - * Configure components in the composite. - * - * @param composite - * @param uri - * @param problems - */ - private void configureComponents(Composite composite, String uri) { - String parentURI = uri; - - // Process nested composites recursively - for (Component component : composite.getComponents()) { - - // Initialize component URI - String componentURI; - if (parentURI == null) { - componentURI = component.getName(); - } else { - componentURI = URI.create(parentURI + '/').resolve(component.getName()).toString(); - } - component.setURI(componentURI); - - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - - // Process nested composite - configureComponents((Composite)implementation, componentURI); - } - } - - // Initialize service bindings - List compositeServices = composite.getServices(); - for (Service service : compositeServices) { - // Set default binding names - - // Create default SCA binding - if (service.getBindings().isEmpty()) { - SCABinding scaBinding = createSCABinding(); - service.getBindings().add(scaBinding); - } -/* - // Initialize binding names and URIs - for (Binding binding : service.getBindings()) { - - // Binding name defaults to the service name - if (binding.getName() == null) { - binding.setName(service.getName()); - } - } - - if (service.getCallback() != null) { - for (Binding binding : service.getCallback().getBindings()) { - if (binding.getName() == null) { - binding.setName(service.getName()); - } - } - } -*/ - } - - // Initialize reference bindings - for (Reference reference : composite.getReferences()) { - // Create default SCA binding - if (reference.getBindings().isEmpty()) { - SCABinding scaBinding = createSCABinding(); - reference.getBindings().add(scaBinding); - } -/* - // Set binding names - for (Binding binding : reference.getBindings()) { - if (binding.getName() == null) { - binding.setName(reference.getName()); - } - } - - if (reference.getCallback() != null) { - for (Binding binding : reference.getCallback().getBindings()) { - if (binding.getName() == null) { - binding.setName(reference.getName()); - } - } - } -*/ - } - - // Initialize all component services and references - Map components = new HashMap(); - for (Component component : composite.getComponents()) { - - // Index all components and check for duplicates - if (components.containsKey(component.getName())) { - error("DuplicateComponentName", component, composite.getName().toString(), component.getName()); - } else { - components.put(component.getName(), component); - } - - // Propagate the autowire flag from the composite to components - if (component.getAutowire() == null) { - component.setAutowire(composite.getAutowire()); - } - - if (component.getImplementation() instanceof ComponentPreProcessor) { - ((ComponentPreProcessor)component.getImplementation()).preProcess(component); - } - - // Index properties, services and references - Map services = new HashMap(); - Map references = new HashMap(); - Map properties = new HashMap(); - indexImplementationPropertiesServicesAndReferences(component, - services, - references, - properties); - - // Index component services, references and properties - // Also check for duplicates - Map componentServices = - new HashMap(); - Map componentReferences = - new HashMap(); - Map componentProperties = - new HashMap(); - indexComponentPropertiesServicesAndReferences(component, - componentServices, - componentReferences, - componentProperties); - - // Reconcile component services/references/properties and - // implementation services/references and create component - // services/references/properties for the services/references - // declared by the implementation - reconcileServices(component, services, componentServices); - reconcileReferences(component, references, componentReferences); - reconcileProperties(component, properties, componentProperties); - - // Configure or create callback services for component's references - // with callbacks - configureCallbackServices(component, componentServices); - - // Configure or create callback references for component's services - // with callbacks - configureCallbackReferences(component, componentReferences); - - // Create self references to the component's services -// if (!(component.getImplementation() instanceof Composite)) { -// createSelfReferences(component); -// } - - // Initialize service bindings - for (ComponentService componentService : component.getServices()) { - - // Create default SCA binding - if (componentService.getBindings().isEmpty()) { - SCABinding scaBinding = createSCABinding(); - componentService.getBindings().add(scaBinding); - } -/* - // Set binding names - for (Binding binding : componentService.getBindings()) { - - // Binding name defaults to the service name - if (binding.getName() == null) { - binding.setName(componentService.getName()); - } - } - if (componentService.getCallback() != null) { - for (Binding binding : componentService.getCallback().getBindings()) { - if (binding.getName() == null) { - binding.setName(componentService.getName()); - } - } - } -*/ - } - - // Initialize reference bindings - for (ComponentReference componentReference : component.getReferences()) { - - // Create default SCA binding - if (componentReference.getBindings().isEmpty()) { - SCABinding scaBinding = createSCABinding(); - componentReference.getBindings().add(scaBinding); - } -/* - // Set binding names - for (Binding binding : componentReference.getBindings()) { - if (binding.getName() == null) { - binding.setName(componentReference.getName()); - } - } - if (componentReference.getCallback() != null) { - for (Binding binding : componentReference.getCallback().getBindings()) { - if (binding.getName() == null) { - binding.setName(componentReference.getName()); - } - } - } -*/ - } - } - } - - /** - * Report a warning. - * - * @param problems - * @param message - * @param model - */ - private void warning(String message, Object model, String... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "assembly-validation-messages", Severity.WARNING, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, String... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "assembly-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Reconcile component properties and the properties defined by the - * component type. - * - * @param component - * @param properties - * @param componentProperties - * @param problems - */ - private void reconcileProperties(Component component, - Map properties, - Map componentProperties) { - - // Connect component properties to their properties - for (ComponentProperty componentProperty : component.getProperties()) { - Property property = properties.get(componentProperty.getName()); - if (property != null) { - componentProperty.setProperty(property); - } else { - warning("PropertyNotFound", component, component.getName(), componentProperty.getName()); - } - } - - // Create component properties for all properties - if (component.getImplementation() != null) { - for (Property property : component.getImplementation().getProperties()) { - if (!componentProperties.containsKey(property.getName())) { - ComponentProperty componentProperty = assemblyFactory.createComponentProperty(); - componentProperty.setName(property.getName()); - componentProperty.setMany(property.isMany()); - componentProperty.setXSDElement(property.getXSDElement()); - componentProperty.setXSDType(property.getXSDType()); - componentProperty.setProperty(property); - component.getProperties().add(componentProperty); - } - } - } - - // Reconcile component properties and their properties - for (ComponentProperty componentProperty : component.getProperties()) { - Property property = componentProperty.getProperty(); - if (property != null) { - - // Check that a component property does not override the - // mustSupply attribute - if (!property.isMustSupply() && componentProperty.isMustSupply()) { - warning("PropertyMustSupplyIncompatible", component, component.getName(), componentProperty.getName()); - } - - // Default to the mustSupply attribute specified on the property - if (!componentProperty.isMustSupply()) - componentProperty.setMustSupply(property.isMustSupply()); - - // Default to the value specified on the property - if (componentProperty.getValue() == null) { - componentProperty.setValue(property.getValue()); - } - - // Override the property value for the composite - if(component.getImplementation() instanceof Composite) { - property.setValue(componentProperty.getValue()); - } - - // Check that a value is supplied - if (componentProperty.getValue() == null && property.isMustSupply()) { - warning("PropertyMustSupplyNull", component, component.getName(), componentProperty.getName()); - } - - // Check that a a component property does not override the - // many attribute - if (!property.isMany() && componentProperty.isMany()) { - - warning("PropertyOverrideManyAttribute", component, component.getName(), componentProperty.getName()); - } - - // Default to the many attribute defined on the property - componentProperty.setMany(property.isMany()); - - // Default to the type and element defined on the property - if (componentProperty.getXSDType() == null) { - componentProperty.setXSDType(property.getXSDType()); - } - if (componentProperty.getXSDElement() == null) { - componentProperty.setXSDElement(property.getXSDElement()); - } - - // Check that a type or element are specified - if (componentProperty.getXSDElement() == null && componentProperty.getXSDType() == null) { - warning("NoTypeForComponentProperty", component, component.getName(), componentProperty.getName()); - } - } - } - } - - /** - * Reconcile component references with the references defined on the - * component type. - * - * @param component - * @param references - * @param componentReferences - * @param problems - */ - private void reconcileReferences(Component component, - Map references, - Map componentReferences) { - - // Connect each component reference to the corresponding reference - for (ComponentReference componentReference : component.getReferences()) { - if (componentReference.getReference() != null || componentReference.isCallback()) { - continue; - } - Reference reference = references.get(componentReference.getName()); - if (reference != null) { - componentReference.setReference(reference); - } else { - if (!componentReference.getName().startsWith("$self$.")) { - error("ReferenceNotFound", component, component.getName(), componentReference.getName()); - } - } - } - - // Create a component reference for each reference - if (component.getImplementation() != null) { - for (Reference reference : component.getImplementation().getReferences()) { - if (!componentReferences.containsKey(reference.getName())) { - ComponentReference componentReference = - assemblyFactory.createComponentReference(); - componentReference.setIsCallback(reference.isCallback()); - componentReference.setName(reference.getName()); - componentReference.setReference(reference); - component.getReferences().add(componentReference); - } - } - } - - // Reconcile each component reference with its reference - for (ComponentReference componentReference : component.getReferences()) { - Reference reference = componentReference.getReference(); - if (reference != null) { - // Reconcile multiplicity - if (componentReference.getMultiplicity() != null) { - if (!ReferenceConfigurationUtil.isValidMultiplicityOverride(reference.getMultiplicity(), - componentReference - .getMultiplicity())) { - warning("ReferenceIncompatibleMultiplicity", component, component.getName(), componentReference.getName()); - } - } else { - componentReference.setMultiplicity(reference.getMultiplicity()); - } - - // Reconcile interface - InterfaceContract interfaceContract = reference.getInterfaceContract(); - if (componentReference.getInterfaceContract() != null) { - if (interfaceContract != null && !componentReference.getInterfaceContract().equals(reference - .getInterfaceContract())) { - if (!interfaceContractMapper.isCompatible(componentReference.getInterfaceContract(), - interfaceContract)) { - warning("ReferenceIncompatibleComponentInterface", component, component.getName(), componentReference.getName()); - } - } - } else { - componentReference.setInterfaceContract(interfaceContract); - } - - // Reconcile bindings - if (componentReference.getBindings().isEmpty()) { - componentReference.getBindings().addAll(reference.getBindings()); - } - - // Reconcile callback bindings - if (componentReference.getCallback() == null) { - componentReference.setCallback(reference.getCallback()); - if (componentReference.getCallback() == null) { - // Create an empty callback to avoid null check - componentReference.setCallback(assemblyFactory.createCallback()); - } - - } else if (componentReference.getCallback().getBindings().isEmpty() && reference - .getCallback() != null) { - componentReference.getCallback().getBindings().addAll(reference.getCallback() - .getBindings()); - } - - // Propagate autowire setting from the component - if (componentReference.getAutowire() == null) { - componentReference.setAutowire(component.getAutowire()); - } - - // Reconcile targets - if (componentReference.getTargets().isEmpty()) { - componentReference.getTargets().addAll(reference.getTargets()); - } - } - } - } - - /** - * Reconcile component services and services defined on the component type. - * - * @param component - * @param services - * @param componentServices - * @param problems - */ - private void reconcileServices(Component component, - Map services, - Map componentServices) { - - // Connect each component service to the corresponding service - for (ComponentService componentService : component.getServices()) { - if (componentService.getService() != null || componentService.isCallback()) { - continue; - } - Service service = services.get(componentService.getName()); - if (service != null) { - componentService.setService(service); - } else { - warning("ServiceNotFoundForComponentService", component, component.getName(), componentService.getName()); - } - } - - // Create a component service for each service - if (component.getImplementation() != null) { - for (Service service : component.getImplementation().getServices()) { - if (!componentServices.containsKey(service.getName())) { - ComponentService componentService = assemblyFactory.createComponentService(); - componentService.setIsCallback(service.isCallback()); - String name = service.getName(); - componentService.setName(name); - componentService.setService(service); - component.getServices().add(componentService); - componentServices.put(name, componentService); - } - } - } - - //Reconcile each component service with its service - for (ComponentService componentService : component.getServices()) { - Service service = componentService.getService(); - if (service != null) { - // Reconcile interface - InterfaceContract interfaceContract = service.getInterfaceContract(); - if (componentService.getInterfaceContract() != null) { - if (interfaceContract != null && !componentService.getInterfaceContract().equals(interfaceContract)) { - if (!interfaceContractMapper.isCompatible(componentService.getInterfaceContract(), - interfaceContract)) { - warning("ServiceIncompatibleComponentInterface", component, component.getName(), componentService.getName()); - } - } - } else { - componentService.setInterfaceContract(interfaceContract); - } - - // Reconcile bindings - if (componentService.getBindings().isEmpty()) { - componentService.getBindings().addAll(service.getBindings()); - } - - // Reconcile callback bindings - if (componentService.getCallback() == null) { - componentService.setCallback(service.getCallback()); - if (componentService.getCallback() == null) { - // Create an empty callback to avoid null check - componentService.setCallback(assemblyFactory.createCallback()); - } - } else if (componentService.getCallback().getBindings().isEmpty() && service - .getCallback() != null) { - componentService.getCallback().getBindings().addAll(service.getCallback() - .getBindings()); - } - } - } - } - - private void indexComponentPropertiesServicesAndReferences(Component component, - Map componentServices, - Map componentReferences, - Map componentProperties) { - for (ComponentService componentService : component.getServices()) { - if (componentServices.containsKey(componentService.getName())) { - warning("DuplicateComponentServiceName", component, component.getName(), componentService.getName()); - } else { - componentServices.put(componentService.getName(), componentService); - } - } - for (ComponentReference componentReference : component.getReferences()) { - if (componentReferences.containsKey(componentReference.getName())) { - warning("DuplicateComponentReferenceName", component, component.getName(), componentReference.getName()); - } else { - componentReferences.put(componentReference.getName(), componentReference); - } - } - for (ComponentProperty componentProperty : component.getProperties()) { - if (componentProperties.containsKey(componentProperty.getName())) { - warning("DuplicateComponentPropertyName", component, component.getName(), componentProperty.getName()); - } else { - componentProperties.put(componentProperty.getName(), componentProperty); - } - } - - } - - private void indexImplementationPropertiesServicesAndReferences(Component component, - Map services, - Map references, - Map properties) { - // First check that the component has a resolved implementation - Implementation implementation = component.getImplementation(); - if (implementation == null) { - // A component must have an implementation - warning("NoComponentImplementation", component, component.getName()); - - } else if (implementation.isUnresolved()) { - - // The implementation must be fully resolved - warning("UnresolvedComponentImplementation", component, component.getName(), implementation.getURI()); - - } else { - - // Index properties, services and references, also check for - // duplicates - for (Property property : implementation.getProperties()) { - if (properties.containsKey(property.getName())) { - warning("DuplicateImplementationPropertyName", component, component.getName(), property.getName()); - } else { - properties.put(property.getName(), property); - } - } - for (Service service : implementation.getServices()) { - if (services.containsKey(service.getName())) { - warning("DuplicateImplementationServiceName", component, component.getName(), service.getName()); - } else { - services.put(service.getName(), service); - } - } - for (Reference reference : implementation.getReferences()) { - if (references.containsKey(reference.getName())) { - warning("DuplicateImplementationReferenceName", component, component.getName(), reference.getName()); - } else { - references.put(reference.getName(), reference); - } - } - } - - } - - /** - * For all the references with callbacks, create a corresponding callback - * service. - * - * @param component - */ - private void configureCallbackServices(Component component, - Map componentServices) { - for (ComponentReference reference : component.getReferences()) { - if (reference.getInterfaceContract() != null && // can be null in - // unit tests - reference.getInterfaceContract().getCallbackInterface() != null) { - ComponentService service = - componentServices.get(reference.getName()); - if (service == null) { - service = createCallbackService(component, reference); - } - if (reference.getCallback() != null) { - if (service.getBindings().isEmpty()) { - service.getBindings().addAll(reference.getCallback().getBindings()); - } - } - reference.setCallbackService(service); - } - } - } - - /** - * Create a callback service for a component reference - * - * @param component - * @param reference - */ - private ComponentService createCallbackService(Component component, ComponentReference reference) { - ComponentService componentService = assemblyFactory.createComponentService(); - componentService.setIsCallback(true); - componentService.setName(reference.getName()); - try { - InterfaceContract contract = - (InterfaceContract)reference.getInterfaceContract().clone(); - contract.setInterface(contract.getCallbackInterface()); - contract.setCallbackInterface(null); - componentService.setInterfaceContract(contract); - } catch (CloneNotSupportedException e) { - // will not happen - } - Reference implReference = reference.getReference(); - if (implReference != null) { - Service implService = assemblyFactory.createService(); - implService.setName(implReference.getName()); - try { - InterfaceContract implContract = - (InterfaceContract)implReference.getInterfaceContract().clone(); - implContract.setInterface(implContract.getCallbackInterface()); - implContract.setCallbackInterface(null); - implService.setInterfaceContract(implContract); - } catch (CloneNotSupportedException e) { - // will not happen - } - componentService.setService(implService); - } - component.getServices().add(componentService); - return componentService; - } - - /** - * For all the services with callbacks, create a corresponding callback - * reference. - * - * @param component - */ - private void configureCallbackReferences(Component component, - Map componentReferences) { - for (ComponentService service : component.getServices()) { - if (service.getInterfaceContract() != null && // can be null in - // unit tests - service.getInterfaceContract().getCallbackInterface() != null) { - ComponentReference reference = - componentReferences.get(service.getName()); - if (reference == null) { - reference = createCallbackReference(component, service); - } - if (service.getCallback() != null) { - if (reference.getBindings().isEmpty()) { - reference.getBindings().addAll(service.getCallback().getBindings()); - } - } - service.setCallbackReference(reference); - } - } - } - - /** - * Create a callback reference for a component service - * - * @param component - * @param service - */ - private ComponentReference createCallbackReference(Component component, ComponentService service) { - ComponentReference componentReference = assemblyFactory.createComponentReference(); - componentReference.setIsCallback(true); - componentReference.setName(service.getName()); - try { - InterfaceContract contract = (InterfaceContract)service.getInterfaceContract().clone(); - contract.setInterface(contract.getCallbackInterface()); - contract.setCallbackInterface(null); - componentReference.setInterfaceContract(contract); - } catch (CloneNotSupportedException e) { - // will not happen - } - Service implService = service.getService(); - if (implService != null) { - Reference implReference = assemblyFactory.createReference(); - implReference.setName(implService.getName()); - try { - InterfaceContract implContract = - (InterfaceContract)implService.getInterfaceContract().clone(); - implContract.setInterface(implContract.getCallbackInterface()); - implContract.setCallbackInterface(null); - implReference.setInterfaceContract(implContract); - } catch (CloneNotSupportedException e) { - // will not happen - } - componentReference.setReference(implReference); - } - component.getReferences().add(componentReference); - return componentReference; - } - - /** - * @param composite - */ - private void configureSourcedProperties(Composite composite, List propertySettings) { - // Resolve properties - Map compositeProperties = new HashMap(); - ComponentProperty componentProperty = null; - for (Property p : composite.getProperties()) { - componentProperty = getComponentPropertyByName(p.getName(), propertySettings); - if (componentProperty != null) { - compositeProperties.put(p.getName(), componentProperty); - } else { - compositeProperties.put(p.getName(), p); - } - } - - for (Component component : composite.getComponents()) { - try { - PropertyConfigurationUtil.sourceComponentProperties(compositeProperties, component, - documentBuilderFactory, transformerFactory); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - Implementation impl = component.getImplementation(); - if (impl instanceof Composite) { - configureSourcedProperties((Composite)impl, component.getProperties()); - } - } - } - - private ComponentProperty getComponentPropertyByName(String propertyName, List properties) { - if (properties != null) { - for (ComponentProperty aProperty : properties) { - if (aProperty.getName().equals(propertyName)) { - return aProperty; - } - } - } - return null; - } - - private SCABinding createSCABinding() { - SCABinding scaBinding = scaBindingFactory.createSCABinding(); - - // mark the bindings that are added automatically so that they can - // be disregarded for overriding purposes - if (scaBinding instanceof AutomaticBinding){ - ((AutomaticBinding)scaBinding).setIsAutomatic(true); - } - - if ( policyDefinitions != null ) { - for ( IntentAttachPointType attachPointType : policyDefinitions.getBindingTypes() ) { - if ( attachPointType.getName().equals(BINDING_SCA_QNAME)) { - ((IntentAttachPoint)scaBinding).setType(attachPointType); - } - } - } - - return scaBinding; - } - - /** - * Called by CompositeBindingURIBuilderImpl - * - * @param composite the composite to be configured - */ - protected void configureBindingURIsAndNames(Composite composite) throws CompositeBuilderException { - configureBindingURIs(composite, null, null); - configureBindingNames(composite); - } - - /** - * Fully resolve the binding URIs based on available information. This includes information - * from the ".composite" files, from resources associated with the binding, e.g. WSDL files, - * from any associated policies and from the default information for each binding type. - * - * @param composite the composite to be configured - * @param defaultBindings list of default binding configurations - */ - protected void configureBindingURIs(Composite composite, List defaultBindings) throws CompositeBuilderException { - configureBindingURIs(composite, null, defaultBindings); - } - - /** - * Fully resolve the binding URIs based on available information. This includes information - * from the ".composite" files, from resources associated with the binding, e.g. WSDL files, - * from any associated policies and from the default information for each binding type. - * - * NOTE: This method repeats some of the processing performed by the configureComponents() - * method above. The duplication is needed because NodeConfigurationServiceImpl - * calls this method without previously calling configureComponents(). In the - * normal builder sequence used by CompositeBuilderImpl, both of these methods - * are called. - * - * TODO: Share the URL calculation algorithm with the configureComponents() method above - * although keeping the configureComponents() methods signature as is because when - * a composite is actually build in a node the node default information is currently - * available - * - * @param composite the composite to be configured - * @param uri the path to the composite provided through any nested composite component implementations - * @param defaultBindings list of default binding configurations - */ - private void configureBindingURIs(Composite composite, String uri, List defaultBindings) throws CompositeBuilderException { - - String parentComponentURI = uri; - - // Process nested composites recursively - for (Component component : composite.getComponents()) { - - // Initialize component URI - String componentURI; - if (parentComponentURI == null) { - componentURI = component.getName(); - } else { - componentURI = URI.create(parentComponentURI + '/').resolve(component.getName()).toString(); - } - component.setURI(componentURI); - - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - - // Process nested composite - configureBindingURIs((Composite)implementation, componentURI, defaultBindings); - } - } - - // Initialize composite service binding URIs - List compositeServices = composite.getServices(); - for (Service service : compositeServices) { - // Set default binding names - - // Create default SCA binding - if (service.getBindings().isEmpty()) { - SCABinding scaBinding = createSCABinding(); - service.getBindings().add(scaBinding); - } - - // Initialize binding names and URIs - for (Binding binding : service.getBindings()) { - constructBindingName(service, binding); - constructBindingURI(parentComponentURI, composite, service, binding, defaultBindings); - } - } - - // Initialize component service binding URIs - for (Component component : composite.getComponents()) { - - // Index properties, services and references - Map services = new HashMap(); - Map references = new HashMap(); - Map properties = new HashMap(); - indexImplementationPropertiesServicesAndReferences(component, - services, - references, - properties); - - // Index component services, references and properties - // Also check for duplicates - Map componentServices = - new HashMap(); - Map componentReferences = - new HashMap(); - Map componentProperties = - new HashMap(); - indexComponentPropertiesServicesAndReferences(component, - componentServices, - componentReferences, - componentProperties); - - // Reconcile component services/references/properties and - // implementation services/references and create component - // services/references/properties for the services/references - // declared by the implementation - reconcileServices(component, services, componentServices); - reconcileReferences(component, references, componentReferences); - reconcileProperties(component, properties, componentProperties); - - for (ComponentService service : component.getServices()) { - - // Create default SCA binding - if (service.getBindings().isEmpty()) { - SCABinding scaBinding = createSCABinding(); - service.getBindings().add(scaBinding); - } - - // Initialize binding names and URIs - for (Binding binding : service.getBindings()) { - - constructBindingName(service, binding); - constructBindingURI(component, service, binding, defaultBindings); - } - } - } - } - - /** - * Add default names for callback bindings and reference bindings. Needs to be - * separate from configureBindingURIs() because configureBindingURIs() is called - * by NodeConfigurationServiceImpl as well as by CompositeBuilderImpl. - */ - private void configureBindingNames(Composite composite) { - - // Process nested composites recursively - for (Component component : composite.getComponents()) { - - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - - // Process nested composite - configureBindingNames((Composite)implementation); - } - } - - // Initialize composite service callback binding names - for (Service service : composite.getServices()) { - - if (service.getCallback() != null) { - for (Binding binding : service.getCallback().getBindings()) { - constructBindingName(service, binding); - } - } - } - - // Initialize composite reference binding names - for (Reference reference : composite.getReferences()) { - - for (Binding binding : reference.getBindings()) { - constructBindingName(reference, binding); - } - - if (reference.getCallback() != null) { - for (Binding binding : reference.getCallback().getBindings()) { - constructBindingName(reference, binding); - } - } - } - - // Initialize component service and reference binding names - for (Component component : composite.getComponents()) { - - // Initialize component service callback binding names - for (ComponentService service : component.getServices()) { - - if (service.getCallback() != null) { - for (Binding binding : service.getCallback().getBindings()) { - constructBindingName(service, binding); - } - } - } - - // Initialize component reference binding names - for (ComponentReference reference : component.getReferences()) { - - // Initialize binding names - for (Binding binding : reference.getBindings()) { - constructBindingName(reference, binding); - } - - if (reference.getCallback() != null) { - for (Binding binding : reference.getCallback().getBindings()) { - constructBindingName(reference, binding); - } - } - } - } - } - - /** - * If a binding name is not provided by the user, construct it based on the service - * or reference name - * - * @param contract the service or reference - * @param binding - */ - private void constructBindingName(Contract contract, Binding binding) { - - // set the default binding name if one is required - // if there is no name on the binding then set it to the service or reference name - if (binding.getName() == null){ - binding.setName(contract.getName()); - } - - // Check that multiple bindings do not have the same name - for (Binding otherBinding : contract.getBindings()) { - if (otherBinding == binding) { - // Skip the current binding - continue; - } - if (binding.getClass() != otherBinding.getClass()) { - // Look for a binding of the same type - continue; - } - if (binding.getName().equals(otherBinding.getName())) { - warning(contract instanceof Service ? "MultipleBindingsForService" : "MultipleBindingsForReference", - binding, contract.getName(), binding.getName()); - } - } - } - - /** - * URI construction for composite bindings based on Assembly Specification section 1.7.2, This method - * assumes that the component URI part of the binding URI is formed from the part to the - * composite in question and just calls the generic constructBindingURI method with this - * information - * - * @param parentComponentURI - * @param composite - * @param service - * @param binding - * @param defaultBindings - */ - private void constructBindingURI(String parentComponentURI, Composite composite, Service service, Binding binding, List defaultBindings) - throws CompositeBuilderException{ - // This is a composite service so there is no component to provide a component URI - // The path to this composite (through nested composites) is used. - boolean includeBindingName = composite.getServices().size() != 1; - constructBindingURI(parentComponentURI, service, binding, includeBindingName, defaultBindings); - } - - /** - * URI construction for component bindings based on Assembly Specification section 1.7.2. This method - * calculates the component URI part based on component information before calling the generic - * constructBindingURI method - * - * @param component the component that holds the service - * @param service the service that holds the binding - * @param binding the binding for which the URI is being constructed - * @param defaultBindings the list of default binding configurations - */ - private void constructBindingURI(Component component, Service service, Binding binding, List defaultBindings) - throws CompositeBuilderException{ - boolean includeBindingName = component.getServices().size() != 1; - constructBindingURI(component.getURI(), service, binding, includeBindingName, defaultBindings); - } - - /** - * Generic URI construction for bindings based on Assembly Specification section 1.7.2 - * - * @param componentURIString the string version of the URI part that comes from the component name - * @param service the service in question - * @param binding the binding for which the URI is being constructed - * @param includeBindingName when set true the serviceBindingURI part should be used - * @param defaultBindings the list of default binding configurations - * @throws CompositeBuilderException - */ - private void constructBindingURI(String componentURIString, Service service, Binding binding, boolean includeBindingName, List defaultBindings) - throws CompositeBuilderException{ - - try { - // calculate the service binding URI - URI bindingURI; - if (binding.getURI() != null){ - bindingURI = new URI(binding.getURI()); - - // if the user has provided an absolute binding URI then use it - if (bindingURI.isAbsolute()){ - binding.setURI(bindingURI.toString()); - return; - } - } else { - bindingURI = null; - } - - // Get the service binding name - URI bindingName; - if (binding.getName() != null) { - bindingName = new URI(binding.getName()); - } else { - bindingName = new URI(""); - } - - // calculate the component URI - URI componentURI; - if (componentURIString != null) { - componentURI = new URI(addSlashToPath(componentURIString)); - } else { - componentURI = null; - } - - // if the user has provided an absolute component URI then use it - if (componentURI != null && componentURI.isAbsolute()){ - binding.setURI(constructBindingURI(null, componentURI, bindingURI, includeBindingName, bindingName)); - return; - } - - // calculate the base URI - - // get the protocol for this binding/URI -/* some code that allows binding specific code to run. Being discussed on ML - BindingURICalculator uriCalculator = bindingURICalcualtorExtensionPoint.getBindingURICalculator(binding); - - if (uriCalculator != null){ - String protocol = uriCalculator.getProtocol(binding); - - // find the default binding with the right protocol - Binding defaultBinding = nodeInfo.getBindingDefault(binding, protocol); - - if (defaultBinding != null){ - baseURI = new URI(defaultBinding.getURI()); - } else { - baseURI = null; - } - - } else { - baseURI = null; - } -*/ - // as a simpler alternative to the above commented out code. - URI baseURI = null; - if (defaultBindings != null) { - for (Binding defaultBinding : defaultBindings){ - if (binding.getClass() == defaultBinding.getClass()){ - baseURI = new URI(addSlashToPath(defaultBinding.getURI())); - break; - } - } - } - - binding.setURI(constructBindingURI(baseURI, componentURI, bindingURI, includeBindingName, bindingName)); - } catch (URISyntaxException ex) { - error("URLSyntaxException", binding, componentURIString, service.getName(), binding.getName()); - } - } - - /** - * Use to ensure that URI paths end in "/" as here we want to maintain the - * last path element of an base URI when other URI are resolved against it. This is - * not the default behaviour of URI resolution as defined in RFC 2369 - * - * @param path the path string to which the "/" is to be added - * @return the resulting path with a "/" added if it not already there - */ - private static String addSlashToPath(String path){ - if (path.endsWith("/") || path.endsWith("#")){ - return path; - } else { - return path + "/"; - } - } - - /** - * Concatenate binding URI parts together based on Assembly Specification section 1.7.2 - * - * @param baseURI the base of the binding URI - * @param componentURI the middle part of the binding URI derived from the component name - * @param bindingURI the end part of the binding URI - * @param includeBindingName when set true the binding name part should be used - * @param bindingName the binding name - * @return the resulting URI as a string - */ - private static String constructBindingURI(URI baseURI, URI componentURI, URI bindingURI, boolean includeBindingName, URI bindingName){ - String uriString; - - if (baseURI == null) { - if (componentURI == null){ - if (bindingURI != null ) { - uriString = bindingURI.toString(); - } else { - uriString = bindingName.toString(); - } - } else { - if (bindingURI != null ) { - uriString = componentURI.resolve(bindingURI).toString(); - } else { - if (includeBindingName) { - uriString = componentURI.resolve(bindingName).toString(); - } else { - uriString = componentURI.toString(); - } - } - } - } else { - if (componentURI == null) { - if (bindingURI != null ) { - uriString = basedURI(baseURI, bindingURI).toString(); - } else { - if (includeBindingName) { - uriString = basedURI(baseURI, bindingName).toString(); - } else { - uriString = baseURI.toString(); - } - } - } else { - if (bindingURI != null ) { - uriString = basedURI(baseURI, componentURI.resolve(bindingURI)).toString(); - } else { - if (includeBindingName) { - uriString = basedURI(baseURI, componentURI.resolve(bindingName)).toString(); - } else { - uriString = basedURI(baseURI, componentURI).toString(); - } - } - } - } - - // tidy up by removing any trailing "/" - if (uriString.endsWith("/")){ - uriString = uriString.substring(0, uriString.length()-1); - } - - URI uri = URI.create(uriString); - if (!uri.isAbsolute()) { - uri = URI.create("/").resolve(uri); - } - return uri.toString(); - } - - /** - * Combine a URI with a base URI. - * - * @param baseURI - * @param uri - * @return - */ - private static URI basedURI(URI baseURI, URI uri) { - if (uri.getScheme() != null) { - return uri; - } - String str = uri.toString(); - if (str.startsWith("/")) { - str = str.substring(1); - } - return URI.create(baseURI.toString() + str).normalize(); - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseWireBuilderImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseWireBuilderImpl.java deleted file mode 100644 index b2f662918c..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BaseWireBuilderImpl.java +++ /dev/null @@ -1,1149 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.builder.impl; - -import java.net.URI; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - -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.CompositeReference; -import org.apache.tuscany.sca.assembly.CompositeService; -import org.apache.tuscany.sca.assembly.ConfiguredOperation; -import org.apache.tuscany.sca.assembly.Endpoint; -import org.apache.tuscany.sca.assembly.EndpointFactory; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.assembly.Multiplicity; -import org.apache.tuscany.sca.assembly.OperationsConfigurator; -import org.apache.tuscany.sca.assembly.OptimizableBinding; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.SCABinding; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.assembly.Wire; -import org.apache.tuscany.sca.assembly.builder.DefaultEndpointBuilder; -import org.apache.tuscany.sca.assembly.builder.EndpointBuilder; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; -import org.apache.tuscany.sca.policy.util.PolicyComputationUtils; - -/** - * A composite builder that handles wiring inside a composite. - * - * @version $Rev$ $Date$ - */ -class BaseWireBuilderImpl { - - private Monitor monitor; - private AssemblyFactory assemblyFactory; - private EndpointFactory endpointFactory; - private InterfaceContractMapper interfaceContractMapper; - private EndpointBuilder endpointBuilder; - - - protected BaseWireBuilderImpl(AssemblyFactory assemblyFactory, EndpointFactory endpointFactory, InterfaceContractMapper interfaceContractMapper, Monitor monitor) { - this.assemblyFactory = assemblyFactory; - this.endpointFactory = endpointFactory; - this.interfaceContractMapper = interfaceContractMapper; - this.monitor = monitor; - this.endpointBuilder = new DefaultEndpointBuilder(monitor); - - } - - /** - * Wire component references to component services and connect promoted - * services/references to component services/references inside a composite. - * - * @param composite - */ - protected void wireComponentReferences(Composite composite) { - - // Wire nested composites recursively - for (Component component : composite.getComponents()) { - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - wireComponentReferences((Composite)implementation); - } - } - - // Index components, services and references - Map components = new HashMap(); - Map componentServices = new HashMap(); - Map componentReferences = new HashMap(); - indexComponentsServicesAndReferences(composite, components, componentServices, componentReferences); - - // Connect composite services and references to the component - // services and references that they promote - //connectCompositeServices(composite, components, componentServices); - //connectCompositeReferences(composite, componentReferences); - - // Compute the policies before connecting component references - //computePolicies(composite); - - // Connect component references as described in wires - connectWires(composite, componentServices, componentReferences); - - // Connect component references to their targets - connectComponentReferences(composite, components, componentServices, componentReferences); - - // Validate that references are wired or promoted, according - // to their multiplicity - for (ComponentReference componentReference : componentReferences.values()) { - if (!ReferenceConfigurationUtil.validateMultiplicityAndTargets(componentReference.getMultiplicity(), componentReference - .getTargets(), componentReference.getBindings())) { - if (componentReference.getTargets().isEmpty()) { - - // No warning if the reference is promoted out of the current composite - boolean promoted = false; - for (Reference reference : composite.getReferences()) { - CompositeReference compositeReference = (CompositeReference)reference; - if (compositeReference.getPromotedReferences().contains(componentReference)) { - promoted = true; - break; - } - } - if (!promoted && !componentReference.isCallback()) { - warning("ReferenceWithoutTargets", composite, composite.getName().toString(), componentReference.getName()); - } - } else { - warning("TooManyReferenceTargets", composite, componentReference.getName()); - } - } - } - - // Finally clear the original reference target lists as we now have - // bindings to represent the targets - for (ComponentReference componentReference : componentReferences.values()) { - componentReference.getTargets().clear(); - } - } - - /** - * Index components, services and references inside a composite. - * @param composite - * @param components - * @param componentServices - * @param componentReferences - */ - private void indexComponentsServicesAndReferences(Composite composite, - Map components, - Map componentServices, - Map componentReferences) { - - for (Component component : composite.getComponents()) { - - // Index components by name - components.put(component.getName(), component); - - ComponentService nonCallbackService = null; - int nonCallbackServices = 0; - for (ComponentService componentService : component.getServices()) { - - // Index component services by component name / service name - String uri = component.getName() + '/' + componentService.getName(); - componentServices.put(uri, componentService); - - boolean promotedService = false; - if (componentService.getName() != null && componentService.getName().indexOf("$promoted$") > -1) { - promotedService = true; - } - - // count how many non-callback, non-promoted services there are - // if there is only one the component name also acts as the service name - if ((!componentService.isCallback()) && (!promotedService)) { - - // Check how many non callback non-promoted services we have - if (nonCallbackServices == 0) { - nonCallbackService = componentService; - } - nonCallbackServices++; - } - - } - - if (nonCallbackServices == 1) { - // If we have a single non callback service, index it by - // component name as well - componentServices.put(component.getName(), nonCallbackService); - } - - // Index references by component name / reference name - for (ComponentReference componentReference : component.getReferences()) { - String uri = component.getName() + '/' + componentReference.getName(); - componentReferences.put(uri, componentReference); - } - } - } - - /** - * Report a warning. - * - * @param problems - * @param message - * @param model - */ - private void warning(String message, Object model, String... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "assembly-validation-messages", Severity.WARNING, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Report a exception. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = null; - problem = new ProblemImpl(this.getClass().getName(), "assembly-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - /** - * Connect composite references and services to the reference and services that they promote. - * - * @param composite - * @param componentServices - * @param problems - */ - protected void connectCompositeReferencesAndServices(Composite composite){ - // Wire nested composites recursively - for (Component component : composite.getComponents()) { - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - connectCompositeReferencesAndServices((Composite)implementation); - } - } - - // Index components, services and references - Map components = new HashMap(); - Map componentServices = new HashMap(); - Map componentReferences = new HashMap(); - indexComponentsServicesAndReferences(composite, components, componentServices, componentReferences); - - // Connect composite services and references to the component - // services and references that they promote - connectCompositeServices(composite, components, componentServices); - connectCompositeReferences(composite, componentReferences); - } - - /** - * Connect composite services to the component services that they promote. - * - * @param composite - * @param componentServices - * @param problems - */ - private void connectCompositeServices(Composite composite, - Map components, - Map componentServices) { - - // Propagate interfaces from inner composite components' services to - // their component services - for (Component component : composite.getComponents()) { - if (component.getImplementation() instanceof Composite) { - for (ComponentService componentService : component.getServices()) { - Service service = componentService.getService(); - if (service != null) { - if (componentService.getInterfaceContract() == null) { - componentService.setInterfaceContract(service.getInterfaceContract()); - } - } - } - } - } - - // Connect composite services to the component services that they - // promote - for (Service service : composite.getServices()) { - CompositeService compositeService = (CompositeService)service; - ComponentService componentService = compositeService.getPromotedService(); - if (componentService != null && componentService.isUnresolved()) { - - String promotedComponentName = compositeService.getPromotedComponent().getName(); - String promotedServiceName; - if (componentService.getName() != null) { - promotedServiceName = promotedComponentName + '/' + componentService.getName(); - } else { - promotedServiceName = promotedComponentName; - } - ComponentService promotedService = componentServices.get(promotedServiceName); - if (promotedService != null) { - - // Point to the resolved component - Component promotedComponent = components.get(promotedComponentName); - compositeService.setPromotedComponent(promotedComponent); - - // Point to the resolved component service - compositeService.setPromotedService(promotedService); - - // Use the interface contract from the component service if - // none is specified on the composite service - InterfaceContract compositeServiceInterfaceContract = compositeService.getInterfaceContract(); - InterfaceContract promotedServiceInterfaceContract = promotedService.getInterfaceContract(); - if (compositeServiceInterfaceContract == null) { - compositeService.setInterfaceContract(promotedServiceInterfaceContract); - } else if (promotedServiceInterfaceContract != null) { - // Check the compositeServiceInterfaceContract and promotedServiceInterfaceContract - boolean isCompatible = interfaceContractMapper.isCompatible(compositeServiceInterfaceContract, promotedServiceInterfaceContract); - if(!isCompatible){ - warning("ServiceInterfaceNotSubSet", compositeService, promotedServiceName); - } - } - - } else { - warning("PromotedServiceNotFound", composite, composite.getName().toString(), promotedServiceName); - } - } - } - - } - - /** - * Resolves promoted references. - * - * @param composite - * @param componentReferences - * @param problems - */ - private void connectCompositeReferences(Composite composite, Map componentReferences) { - - // Propagate interfaces from inner composite components' references to - // their component references - for (Component component : composite.getComponents()) { - if (component.getImplementation() instanceof Composite) { - for (ComponentReference componentReference : component.getReferences()) { - Reference reference = componentReference.getReference(); - if (reference != null) { - if (componentReference.getInterfaceContract() == null) { - componentReference.setInterfaceContract(reference.getInterfaceContract()); - } - } - } - } - } - - // Connect composite references to the component references - // that they promote - for (Reference reference : composite.getReferences()) { - CompositeReference compositeReference = (CompositeReference)reference; - List promotedReferences = compositeReference.getPromotedReferences(); - for (int i = 0, n = promotedReferences.size(); i < n; i++) { - ComponentReference componentReference = promotedReferences.get(i); - if (componentReference.isUnresolved()) { - String componentReferenceName = componentReference.getName(); - componentReference = componentReferences.get(componentReferenceName); - if (componentReference != null) { - - // Point to the resolved component reference - promotedReferences.set(i, componentReference); - - // Use the interface contract from the component - // reference if none - // is specified on the composite reference - - InterfaceContract compositeReferenceInterfaceContract = compositeReference.getInterfaceContract(); - InterfaceContract componentReferenceInterfaceContract = componentReference.getInterfaceContract(); - if (compositeReferenceInterfaceContract == null) { - compositeReference.setInterfaceContract(componentReferenceInterfaceContract); - } else if (componentReferenceInterfaceContract != null) { - // Check the compositeInterfaceContract and componentInterfaceContract - boolean isCompatible = interfaceContractMapper.isCompatible(compositeReferenceInterfaceContract, componentReferenceInterfaceContract); - if (!isCompatible) { - warning("ReferenceInterfaceNotSubSet", compositeReference, componentReferenceName); - } - } - } else { - warning("PromotedReferenceNotFound", composite, composite.getName().toString(), componentReferenceName); - } - } - } - } - } - - private List createComponentReferenceTargets(Composite composite, - Map components, - Map componentServices, - ComponentReference componentReference) { - - List endpoints = new ArrayList(); - - if (!componentReference.getTargets().isEmpty()) { - - // Check if the component reference does not mix the use of endpoints specified via - // binding elements with target endpoints specified via the target attribute - for (Binding binding : componentReference.getBindings()) { - if (binding.getURI() != null) { - warning("ReferenceEndPointMixWithTarget", composite, componentReference.getName()); - } - } - - // Resolve targets specified on the component reference - for (ComponentService componentService : componentReference.getTargets()) { - - // Resolve the target component and service - String name = componentService.getName(); - ComponentService targetComponentService = componentServices.get(name); - Component targetComponent; - int s = name.indexOf('/'); - if (s == -1) { - targetComponent = components.get(name); - } else { - targetComponent = components.get(name.substring(0, s)); - } - - if (targetComponentService != null) { - - // Check that the target component service provides - // a superset of the component reference interface - if (componentReference.getInterfaceContract() == null || - interfaceContractMapper.isCompatible(componentReference.getInterfaceContract(), targetComponentService.getInterfaceContract())) { - - Endpoint endpoint = endpointFactory.createEndpoint(); - endpoint.setTargetName(targetComponent.getName()); - endpoint.setSourceComponent(null); // TODO - fixed up at start - endpoint.setSourceComponentReference(componentReference); - endpoint.setInterfaceContract(componentReference.getInterfaceContract()); - endpoint.setTargetComponent(targetComponent); - endpoint.setTargetComponentService(targetComponentService); - endpoint.getCandidateBindings().addAll(componentReference.getBindings()); - endpoints.add(endpoint); - - // mark the reference target as resolved. Used later when we are looking to - // see if an sca binding is associated with a resolved target or not - componentService.setUnresolved(false); - } else { - warning("ReferenceIncompatibleInterface", composite, composite.getName().toString(), - componentReference.getName(), componentService.getName()); - } - } else { - // add all the reference bindings into the target so that they - // can be used for comparison when the target is resolved at runtime - componentService.getBindings().addAll(componentReference.getBindings()); - - Endpoint endpoint = endpointFactory.createEndpoint(); - endpoint.setTargetName(name); - endpoint.setSourceComponent(null); // TODO - fixed up at start - endpoint.setSourceComponentReference(componentReference); - endpoint.setInterfaceContract(componentReference.getInterfaceContract()); - endpoint.getCandidateBindings().addAll(componentReference.getBindings()); - endpoints.add(endpoint); - - // The bindings will be cloned back into the reference when the - // target is finally resolved. - warning("ComponentReferenceTargetNotFound", composite, - composite.getName().toString(), componentService.getName()); - } - } - } else if ((componentReference.getReference() != null) && - (!componentReference.getReference().getTargets().isEmpty())) { - - // Resolve targets from the corresponding reference in the - // componentType - for (ComponentService componentService : componentReference.getReference().getTargets()) { - - // Resolve the target component and service - String name = componentService.getName(); - ComponentService targetComponentService = componentServices.get(name); - Component targetComponent; - int s = name.indexOf('/'); - if (s == -1) { - targetComponent = components.get(name); - } else { - targetComponent = components.get(name.substring(0, s)); - } - - if (targetComponentService != null) { - - // Check that the target component service provides - // a superset of - // the component reference interface - if (componentReference.getInterfaceContract() == null || - interfaceContractMapper.isCompatible(componentReference.getInterfaceContract(), targetComponentService.getInterfaceContract())) { - - Endpoint endpoint = endpointFactory.createEndpoint(); - endpoint.setTargetName(targetComponent.getName()); - endpoint.setSourceComponent(null); // TODO - fixed up at start - endpoint.setSourceComponentReference(componentReference); - endpoint.setInterfaceContract(componentReference.getInterfaceContract()); - endpoint.setTargetComponent(targetComponent); - endpoint.setTargetComponentService(targetComponentService); - endpoint.getCandidateBindings().addAll(componentReference.getBindings()); - endpoints.add(endpoint); - - // mark the reference target as resolved. Used later when we are looking to - // see if an sca binding is associated with a resolved target or not - componentService.setUnresolved(false); - } else { - warning("ComponentIncompatibleInterface", composite, - componentReference.getName(), componentService.getName()); - } - } else { - // add all the reference bindings into the target so that they - // can be used for comparison when the target is resolved at runtime - componentService.getBindings().addAll(componentReference.getBindings()); - - // The bindings will be cloned back into the reference when the - // target is finally resolved. - - Endpoint endpoint = endpointFactory.createEndpoint(); - endpoint.setTargetName(name); - endpoint.setSourceComponent(null); // TODO - fixed up at start - endpoint.setSourceComponentReference(componentReference); - endpoint.setInterfaceContract(componentReference.getInterfaceContract()); - endpoint.getCandidateBindings().addAll(componentReference.getBindings()); - endpoints.add(endpoint); - - warning("ComponentReferenceTargetNotFound", composite, - composite.getName().toString(), componentService.getName()); - } - } - } else if (componentReference.getAutowire() == Boolean.TRUE) { - - // Find suitable targets in the current composite for an - // autowired reference - Multiplicity multiplicity = componentReference.getMultiplicity(); - for (Component targetComponent : composite.getComponents()) { - // prevent autowire connecting to self - boolean skipSelf = false; - for (ComponentReference targetComponentReference : targetComponent.getReferences()) { - if (componentReference == targetComponentReference){ - skipSelf = true; - } - } - - if (!skipSelf){ - for (ComponentService targetComponentService : targetComponent.getServices()) { - if (componentReference.getInterfaceContract() == null || - interfaceContractMapper.isCompatible(componentReference.getInterfaceContract(), targetComponentService.getInterfaceContract())) { - - Endpoint endpoint = endpointFactory.createEndpoint(); - endpoint.setTargetName(targetComponent.getName()); - endpoint.setSourceComponent(null); // TODO - fixed up at start - endpoint.setSourceComponentReference(componentReference); - endpoint.setInterfaceContract(componentReference.getInterfaceContract()); - endpoint.setTargetComponent(targetComponent); - endpoint.setTargetComponentService(targetComponentService); - endpoint.getCandidateBindings().addAll(componentReference.getBindings()); - endpoints.add(endpoint); - - if (multiplicity == Multiplicity.ZERO_ONE || multiplicity == Multiplicity.ONE_ONE) { - break; - } - } - } - } - } - - if (multiplicity == Multiplicity.ONE_N || multiplicity == Multiplicity.ONE_ONE) { - if (endpoints.size() == 0) { - warning("NoComponentReferenceTarget", componentReference, componentReference.getName()); - } - } - } - - - // if no endpoints have found so far retrieve any target names that are in binding URIs - if (endpoints.isEmpty()){ - for (Binding binding : componentReference.getBindings()) { - - String uri = binding.getURI(); - - // user hasn't put a uri on the binding so it's not a target name - if (uri == null) { - continue; - } - - // user might have put a local target name in the uri so get - // the path part and see if it refers to a target we know about - // - if it does the reference binding will be matched with a service binding - // - if it doesn't it is assumed to be an external reference - Component targetComponent = null; - ComponentService targetComponentService = null; - String path = null; - - try { - path = URI.create(uri).getPath(); - } catch(Exception ex){ - // just assume that no target is identified if - // a URI related exception is thrown - } - - if (path != null) { - if (path.startsWith("/")) { - path = path.substring(1); - } - - // Resolve the target component and service - targetComponentService = componentServices.get(path); - int s = path.indexOf('/'); - if (s == -1) { - targetComponent = components.get(path); - } else { - targetComponent = components.get(path.substring(0, s)); - } - } - - // if the path of the binding URI matches a component in the - // composite then configure an endpoint with this component as the target - // if not then the binding URI will be assumed to reference an external service - if (targetComponentService != null) { - - // Check that the target component service provides - // a superset of the component reference interface - if (componentReference.getInterfaceContract() == null || - interfaceContractMapper.isCompatible(componentReference.getInterfaceContract(), targetComponentService.getInterfaceContract())) { - - Endpoint endpoint = endpointFactory.createEndpoint(); - endpoint.setTargetName(targetComponent.getName()); - endpoint.setSourceComponent(null); // TODO - fixed up at start - endpoint.setSourceComponentReference(componentReference); - endpoint.setInterfaceContract(componentReference.getInterfaceContract()); - endpoint.setTargetComponent(targetComponent); - endpoint.setTargetComponentService(targetComponentService); - endpoint.getCandidateBindings().add(binding); - endpoints.add(endpoint); - } else { - warning("ReferenceIncompatibleInterface", - composite, - composite.getName().toString(), - componentReference.getName(), - uri); - } - } else { - - // create endpoints for manually configured bindings - Endpoint endpoint = endpointFactory.createEndpoint(); - endpoint.setTargetName(uri); - endpoint.setSourceComponent(null); // TODO - fixed up at start - endpoint.setSourceComponentReference(componentReference); - endpoint.setInterfaceContract(componentReference.getInterfaceContract()); - endpoint.setSourceBinding(binding); - endpoints.add(endpoint); - } - } - } - - return endpoints; - } - - - /** - * Connect references to their targets. - * - * @param composite - * @param componentServices - * @param componentReferences - * @param problems - */ - private void connectComponentReferences(Composite composite, - Map components, - Map componentServices, - Map componentReferences){ - - for (ComponentReference componentReference : componentReferences.values()) { - - List endpoints = createComponentReferenceTargets(composite, - components, - componentServices, - componentReference); - - componentReference.getEndpoints().addAll(endpoints); - - // the result of calculating the endpoints is either that bindings have been - // configured manually using a URI or that targets have been provided and the - // endpoint remains unresolved. So all endpoints should be either resved or uresolved. - boolean endpointsRequireAutomaticResolution = false; - for(Endpoint endpoint : endpoints){ - endpointsRequireAutomaticResolution = endpoint.isUnresolved(); - } - - // build each endpoint - if (endpointsRequireAutomaticResolution) { - - for(Endpoint endpoint : endpoints){ - endpointBuilder.build(endpoint); - } - - // TODO - The following step ensures that the reference binding list remains - // as the record of resolved targets for now. This needs fixing so - // that the endpoint takes on this responsibility. - componentReference.getBindings().clear(); - - if (componentReference.getCallback() != null){ - componentReference.getCallback().getBindings().clear(); - } - - for(Endpoint endpoint : endpoints){ - if (endpoint.isUnresolved() == false){ - componentReference.getBindings().add(endpoint.getSourceBinding()); - - if (componentReference.getCallback() != null){ - componentReference.getCallback().getBindings().add(endpoint.getSourceCallbackBinding()); - } - } - } - - } else { - // do nothing as no targets have been specified so the bindings - // in the reference binding list are assumed to be manually configured - } - - -/* - // Select the reference bindings matching the target service bindings - List selectedBindings = new ArrayList(); - List selectedCallbackBindings = null; - - // Handle callback - boolean bidirectional = false; - - if (componentReference.getInterfaceContract() != null && componentReference.getInterfaceContract().getCallbackInterface() != null) { - bidirectional = true; - selectedCallbackBindings = new ArrayList(); - } - - for (Target target : targets) { - - Component targetComponent = target.getComponent(); - ComponentService targetComponentService = target.getService(); - if (targetComponentService.getService() instanceof CompositeService) { - CompositeService compositeService = (CompositeService) targetComponentService.getService(); - // Find the promoted component service - targetComponentService = ServiceConfigurationUtil.getPromotedComponentService(compositeService); - } - - try { - PolicyConfigurationUtil.determineApplicableBindingPolicySets(componentReference, targetComponentService); - } catch ( Exception e ) { - warning("Policy related exception: " + e, e); - //throw new RuntimeException(e); - } - - // Match the binding against the bindings of the target service - Binding selected = BindingConfigurationUtil.resolveBindings(componentReference, targetComponent, targetComponentService); - if (selected == null) { - warning("NoMatchingBinding", componentReference, componentReference.getName(), targetComponentService.getName()); - } else { - selectedBindings.add(selected); - } - if (bidirectional) { - Binding selectedCallback = BindingConfigurationUtil.resolveCallbackBindings(componentReference, targetComponent, targetComponentService); - if (selectedCallback != null) { - selectedCallbackBindings.add(selectedCallback); - } - } - } -*/ - - // Need to tidy up the reference binding list and add in the bindings that - // have been selected above. The situation so far... - // Wired reference (1 or more targets are specified) - // Binding.uri = null - remove as it's left over from target resolution - // the binding will have been moved to the target from where - // it will be resolved later - // Binding.uri != null - the selected and resolved reference binding - // Unwired reference (0 targets) - // Binding.uri = null - Either a callback reference or the reference is yet to be wired - // by the implementation so leave the binding where it is - // Binding.uri != null - from the composite file so leave it -/* - if ((componentReference.getTargets().size() > 0) || - (!targets.isEmpty())) { - - // Add all the effective bindings - componentReference.getBindings().clear(); - componentReference.getBindings().addAll(selectedBindings); - if (bidirectional) { - componentReference.getCallback().getBindings().clear(); - componentReference.getCallback().getBindings().addAll(selectedCallbackBindings); - } - - // add in sca bindings to represent all unresolved targets. The sca binding - // will try to resolve the target at a later date. - for (ComponentService service : componentReference.getTargets()) { - if (service.isUnresolved()) { - SCABinding scaBinding = null; - - // find the sca binding amongst the candidate binding list. We want to - // find this one and clone it as it may have been configured with - // policies - for (Binding binding : service.getBindings()) { - - if (binding instanceof SCABinding) { - try { - scaBinding = (SCABinding)((OptimizableBinding)binding).clone(); - } catch (CloneNotSupportedException ex){ - // we know it is supported on the SCA binding - } - break; - } - } - - if (scaBinding != null) { - // configure the cloned SCA binding for this reference target - scaBinding.setName(service.getName()); - - // this service object holds the list of candidate bindings which - // can be used for later matching - ((OptimizableBinding)scaBinding).setTargetComponentService(service); - componentReference.getBindings().add(scaBinding); - } else { - // not sure we need to raise a warning here as a warning will already been - // thrown previously to indicate the reason why there is no sca binding - // warning("NoSCABindingAvailableForUnresolvedService", componentReference, componentReference.getName(), service.getName()); - } - } - } - } - -*/ - // Connect the optimizable bindings to their target component and - // service -/* - for (Binding binding : componentReference.getBindings()) { - if (!(binding instanceof OptimizableBinding)) { - continue; - } - OptimizableBinding optimizableBinding = (OptimizableBinding)binding; - if (optimizableBinding.getTargetComponentService() != null) { - continue; - } - String uri = optimizableBinding.getURI(); - if (uri == null) { - continue; - } - uri = URI.create(uri).getPath(); - if (uri.startsWith("/")) { - uri = uri.substring(1); - } - - // Resolve the target component and service - ComponentService targetComponentService = componentServices.get(uri); - Component targetComponent; - int s = uri.indexOf('/'); - if (s == -1) { - targetComponent = components.get(uri); - } else { - targetComponent = components.get(uri.substring(0, s)); - } - - if (targetComponentService != null) { - - // Check that the target component service provides - // a superset of the component reference interface - if (componentReference.getInterfaceContract() == null || - interfaceContractMapper.isCompatible(componentReference.getInterfaceContract(), targetComponentService.getInterfaceContract())) { - - } else { - warning("ReferenceIncompatibleInterface", - composite, - composite.getName().toString(), - componentReference.getName(), - uri); - } - optimizableBinding.setTargetComponent(targetComponent); - optimizableBinding.setTargetComponentService(targetComponentService); - optimizableBinding.setTargetBinding(targetComponentService.getBinding(optimizableBinding.getClass())); - } - } -*/ - } - } - - /** - * Resolve wires and connect the sources to their targets - * - * @param composite - * @param componentServices - * @param componentReferences - * @param problems - */ - private void connectWires(Composite composite, - Map componentServices, - Map componentReferences) { - - // For each wire, resolve the source reference, the target service, and - // add it to the list of targets of the reference - List wires = composite.getWires(); - for (int i = 0, n = wires.size(); i < n; i++) { - Wire wire = wires.get(i); - - ComponentReference resolvedReference; - ComponentService resolvedService; - - // Resolve the source reference - ComponentReference source = wire.getSource(); - if (source != null && source.isUnresolved()) { - resolvedReference = componentReferences.get(source.getName()); - if (resolvedReference != null) { - wire.setSource(resolvedReference); - } else { - warning("WireSourceNotFound", composite, source.getName()); - } - } else { - resolvedReference = wire.getSource(); - } - - // Resolve the target service - ComponentService target = wire.getTarget(); - if (target != null && target.isUnresolved()) { - resolvedService = componentServices.get(target.getName()); - if (resolvedService != null) { - wire.setTarget(target); - } else { - warning("WireTargetNotFound", composite, source.getName()); - } - } else { - resolvedService = wire.getTarget(); - } - - // Add the target service to the list of targets of the - // reference - if (resolvedReference != null && resolvedService != null) { - // Check that the target component service provides - // a superset of - // the component reference interface - if (resolvedReference.getInterfaceContract() == null || interfaceContractMapper - .isCompatible(resolvedReference.getInterfaceContract(), resolvedService.getInterfaceContract())) { - - //resolvedReference.getTargets().add(resolvedService); - resolvedReference.getTargets().add(wire.getTarget()); - } else { - warning("WireIncompatibleInterface", composite, source.getName(), target.getName()); - } - } - } - - // Clear the list of wires - composite.getWires().clear(); - } - - private void addPoliciesFromPromotedService(CompositeService compositeService) { - //inherit intents and policies from promoted service - PolicyComputationUtils.addInheritedIntents(compositeService.getPromotedService().getRequiredIntents(), - compositeService.getRequiredIntents()); - PolicyComputationUtils.addInheritedPolicySets(compositeService.getPromotedService().getPolicySets(), - compositeService.getPolicySets(), true); - addInheritedOperationConfigurations(compositeService.getPromotedService(), compositeService); - } - - private void addPoliciesFromPromotedReference(CompositeReference compositeReference) { - for ( Reference promotedReference : compositeReference.getPromotedReferences() ) { - PolicyComputationUtils.addInheritedIntents(promotedReference.getRequiredIntents(), - compositeReference.getRequiredIntents()); - - PolicyComputationUtils.addInheritedPolicySets(promotedReference.getPolicySets(), - compositeReference.getPolicySets(), true); - addInheritedOperationConfigurations(promotedReference, compositeReference); - } - } - - - protected void computePolicies(Composite composite) { - - // compute policies recursively - for (Component component : composite.getComponents()) { - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - computePolicies((Composite)implementation); - } - } - - for (Component component : composite.getComponents()) { - - // Inherit default policies from the component to component-level contracts. - // This must be done BEFORE computing implementation policies because the - // implementation policy computer removes from the component any - // intents and policy sets that don't apply to implementations. - PolicyConfigurationUtil.inheritDefaultPolicies(component, component.getServices()); - PolicyConfigurationUtil.inheritDefaultPolicies(component, component.getReferences()); - - Implementation implemenation = component.getImplementation(); - try { - PolicyConfigurationUtil.computeImplementationIntentsAndPolicySets(implemenation, component); - } catch ( Exception e ) { - error("PolicyRelatedException", implemenation, e); - //throw new RuntimeException(e); - } - - for (ComponentService componentService : component.getServices()) { - Service service = componentService.getService(); - if (service != null) { - // reconcile intents and policysets from componentType - PolicyComputationUtils.addInheritedIntents(service.getRequiredIntents(), componentService.getRequiredIntents()); - PolicyComputationUtils.addInheritedPolicySets(service.getPolicySets(), componentService.getPolicySets(), true); - - //reconcile intents and policysets for operations - boolean notFound; - List opsFromComponentType = new ArrayList(); - for ( ConfiguredOperation ctsConfOp : service.getConfiguredOperations() ) { - notFound = true; - for ( ConfiguredOperation csConfOp : componentService.getConfiguredOperations() ) { - if ( csConfOp.getName().equals(ctsConfOp.getName()) ) { - PolicyComputationUtils.addInheritedIntents(ctsConfOp.getRequiredIntents(), csConfOp.getRequiredIntents()); - PolicyComputationUtils.addInheritedPolicySets(ctsConfOp.getPolicySets(), csConfOp.getPolicySets(), true); - notFound = false; - } - } - - if ( notFound ) { - opsFromComponentType.add(ctsConfOp); - } - } - componentService.getConfiguredOperations().addAll(opsFromComponentType); - } - - try { - //compute the intents for operations under service element - PolicyConfigurationUtil.computeIntentsForOperations(componentService); - //compute intents and policyset for each binding - //addInheritedOpConfOnBindings(componentService); - PolicyConfigurationUtil.computeBindingIntentsAndPolicySets(componentService); - PolicyConfigurationUtil.determineApplicableBindingPolicySets(componentService, null); - - } catch ( Exception e ) { - error("PolicyRelatedException", componentService, e); - //throw new RuntimeException(e); - } - } - - for (ComponentReference componentReference : component.getReferences()) { - Reference reference = componentReference.getReference(); - if (reference != null) { - // reconcile intents and policysets - PolicyComputationUtils.addInheritedIntents(reference.getRequiredIntents(), componentReference.getRequiredIntents()); - PolicyComputationUtils.addInheritedPolicySets(reference.getPolicySets(), componentReference.getPolicySets(), true); - } - - - try { - //compute the intents for operations under reference element - PolicyConfigurationUtil.computeIntentsForOperations(componentReference); - //compute intents and policyset for each binding - //addInheritedOpConfOnBindings(componentReference); - PolicyConfigurationUtil.computeBindingIntentsAndPolicySets(componentReference); - PolicyConfigurationUtil.determineApplicableBindingPolicySets(componentReference, null); - - - if ( componentReference.getCallback() != null ) { - PolicyComputationUtils.addInheritedIntents(componentReference.getRequiredIntents(), - componentReference.getCallback().getRequiredIntents()); - PolicyComputationUtils.addInheritedPolicySets(componentReference.getPolicySets(), - componentReference.getCallback().getPolicySets(), - false); - } - } catch ( Exception e ) { - error("PolicyRelatedException", componentReference, e); - //throw new RuntimeException(e); - } - } - } - - PolicyConfigurationUtil.inheritDefaultPolicies(composite, composite.getServices()); - PolicyConfigurationUtil.inheritDefaultPolicies(composite, composite.getReferences()); - - //compute policies for composite service bindings - for (Service service : composite.getServices()) { - addPoliciesFromPromotedService((CompositeService)service); - try { - //compute the intents for operations under service element - PolicyConfigurationUtil.computeIntentsForOperations(service); - //add or merge service operations to the binding - //addInheritedOpConfOnBindings(service); - PolicyConfigurationUtil.computeBindingIntentsAndPolicySets(service); - PolicyConfigurationUtil.determineApplicableBindingPolicySets(service, null); - } catch ( Exception e ) { - error("PolicyRelatedException", service, e); - //throw new RuntimeException(e); - } - - } - - for (Reference reference : composite.getReferences()) { - CompositeReference compReference = (CompositeReference)reference; - addPoliciesFromPromotedReference(compReference); - try { - //compute the intents for operations under service element - PolicyConfigurationUtil.computeIntentsForOperations(reference); - //addInheritedOpConfOnBindings(reference); - - if (compReference.getCallback() != null) { - PolicyComputationUtils.addInheritedIntents(compReference.getRequiredIntents(), - compReference.getCallback().getRequiredIntents()); - PolicyComputationUtils.addInheritedPolicySets(compReference.getPolicySets(), - compReference.getCallback().getPolicySets(), - false); - } - - PolicyConfigurationUtil.computeBindingIntentsAndPolicySets(reference); - PolicyConfigurationUtil.determineApplicableBindingPolicySets(reference, null); - } catch ( Exception e ) { - error("PolicyRelatedException", reference, e); - //throw new RuntimeException(e); - } - } - - } - - private void addInheritedOperationConfigurations(OperationsConfigurator source, - OperationsConfigurator target) { - boolean found = false; - - List additionalOperations = new ArrayList(); - for ( ConfiguredOperation sourceConfOp : source.getConfiguredOperations() ) { - for ( ConfiguredOperation targetConfOp : target.getConfiguredOperations() ) { - if ( sourceConfOp.getName().equals(targetConfOp.getName())) { - PolicyComputationUtils.addInheritedIntents(sourceConfOp.getRequiredIntents(), - targetConfOp.getRequiredIntents()); - PolicyComputationUtils.addInheritedPolicySets(sourceConfOp.getPolicySets(), - targetConfOp.getPolicySets(), true); - found = true; - break; - } - } - - if ( !found ) { - additionalOperations.add(sourceConfOp); - } - } - - if ( !additionalOperations.isEmpty() ) { - target.getConfiguredOperations().addAll(additionalOperations); - } - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BindingConfigurationUtil.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BindingConfigurationUtil.java deleted file mode 100644 index 4016d02a36..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/BindingConfigurationUtil.java +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.builder.impl; - -import java.util.ArrayList; -import java.util.List; - -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.OptimizableBinding; -import org.apache.tuscany.sca.assembly.SCABinding; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; - -/** - * This class encapsulates utility methods to deal with binding definitions - * - * @version $Rev$ $Date$ - */ -abstract class BindingConfigurationUtil { - private static boolean hasCompatiblePolicySets(Binding refBinding, Binding svcBinding) { - boolean isCompatible = true; - if ( refBinding instanceof PolicySetAttachPoint && svcBinding instanceof PolicySetAttachPoint ) { - //TODO : need to add more compatibility checks at the policy attachment levels - for ( PolicySet svcPolicySet : ((PolicySetAttachPoint)svcBinding).getPolicySets() ) { - isCompatible = false; - for ( PolicySet refPolicySet : ((PolicySetAttachPoint)refBinding).getPolicySets() ) { - if ( svcPolicySet.equals(refPolicySet) ) { - isCompatible = true; - break; - } - } - //if there exists no matching policy set in the reference binding - if ( !isCompatible ) { - return isCompatible; - } - } - } - return isCompatible; - } - - - static Binding matchBinding(Component targetComponent, ComponentService targetComponentService, List source, List target) { - List matched = new ArrayList(); - // Find the corresponding bindings from the service side - for (Binding binding : source) { - for (Binding serviceBinding : target) { - if (binding.getClass() == serviceBinding.getClass() && - hasCompatiblePolicySets(binding, serviceBinding)) { - - try { - Binding cloned = (Binding)binding.clone(); - - //Customise the binding name to make it unique - // regardless of how many bindings or targets there are - if ( targetComponent != null){ - cloned.setName(binding.getName() + "#" + targetComponent.getName() + "/" + serviceBinding.getName()); - } else { - cloned.setName(binding.getName() + "#" + serviceBinding.getName()); - } - - // Set the binding URI to the URI of the target service - // that has been matched - if (binding.getURI() == null) { - cloned.setURI(serviceBinding.getURI()); - } - - if (binding instanceof OptimizableBinding) { - OptimizableBinding endpoint = ((OptimizableBinding)cloned); - endpoint.setTargetComponent(targetComponent); - endpoint.setTargetComponentService(targetComponentService); - endpoint.setTargetBinding(serviceBinding); - } - - matched.add(cloned); - break; - } catch (Exception ex) { - // do nothing - } - } - } - } - if (matched.isEmpty()) { - // No matching binding - return null; - } else { - for (Binding binding : matched) { - // If binding.sca is present, use it - if (SCABinding.class.isInstance(binding)) { - return binding; - } - } - // Use the first one - return matched.get(0); - } - } - - /** - * Choose a binding for the reference based on the bindings available on the - * service - * - * @param reference The component reference - * @param service The component service - * @return Resolved binding - */ - static Binding resolveBindings(ComponentReference reference, Component component, ComponentService service) { - List source = reference.getBindings(); - List target = service.getBindings(); - - return matchBinding(component, service, source, target); - - } - - - /** - * @param reference - * @param service - * @return - */ - static Binding resolveCallbackBindings(ComponentReference reference, Component component, ComponentService service) { - List source = reference.getCallback().getBindings(); - List target = service.getCallback().getBindings(); - - return matchBinding(component, service, source, target); - } - - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentConfigurationBuilderImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentConfigurationBuilderImpl.java deleted file mode 100644 index 0643421a45..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentConfigurationBuilderImpl.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.assembly.builder.impl; - -import javax.xml.parsers.DocumentBuilderFactory; -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.SCABindingFactory; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; -import org.apache.tuscany.sca.definitions.SCADefinitions; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.monitor.Monitor; - -/** - * A composite builder that handles the configuration of components. - * - * @version $Rev$ $Date$ - */ -public class ComponentConfigurationBuilderImpl extends BaseConfigurationBuilderImpl implements CompositeBuilder { - - @Deprecated - public ComponentConfigurationBuilderImpl(AssemblyFactory assemblyFactory, - SCABindingFactory scaBindingFactory, - InterfaceContractMapper interfaceContractMapper, - SCADefinitions policyDefinitions, - Monitor monitor) { - super(assemblyFactory, scaBindingFactory, - null, null, - interfaceContractMapper, policyDefinitions, monitor); - } - - public ComponentConfigurationBuilderImpl(AssemblyFactory assemblyFactory, - SCABindingFactory scaBindingFactory, - DocumentBuilderFactory documentBuilderFactory, - TransformerFactory transformerFactory, - InterfaceContractMapper interfaceContractMapper, - SCADefinitions policyDefinitions, - Monitor monitor) { - super(assemblyFactory, scaBindingFactory, - documentBuilderFactory, transformerFactory, - interfaceContractMapper, policyDefinitions, monitor); - } - - public void build(Composite composite) throws CompositeBuilderException { - configureComponents(composite); - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferenceBindingBuilderImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferenceBindingBuilderImpl.java deleted file mode 100644 index 4913705e91..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferenceBindingBuilderImpl.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.builder.impl; - -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.Composite; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.assembly.builder.BindingBuilderExtension; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; -import org.apache.tuscany.sca.monitor.Monitor; - -/** - * A composite builder that performs any additional building steps that - * component reference bindings may need. Used for WSDL generation. - * - * @version $Rev$ $Date$ - */ -public class ComponentReferenceBindingBuilderImpl implements CompositeBuilder { - private Monitor monitor; - - public ComponentReferenceBindingBuilderImpl(Monitor monitor) { - this.monitor = monitor; - } - - public void build(Composite composite) throws CompositeBuilderException { - buildReferenceBindings(composite); - } - - private void buildReferenceBindings(Composite composite) { - - // find all the component reference bindings (starting at top level) - for (Component component : composite.getComponents()) { - for (ComponentReference componentReference : component.getReferences()) { - for (Binding binding : componentReference.getBindings()) { - if (binding instanceof BindingBuilderExtension) { - ((BindingBuilderExtension)binding).getBuilder().build(component, componentReference, binding, monitor); - } - } - } - } - - // build bindings recursively - for (Component component : composite.getComponents()) { - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - buildReferenceBindings((Composite)implementation); - } - } - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferencePromotionWireBuilderImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferencePromotionWireBuilderImpl.java deleted file mode 100644 index c0702c87b3..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferencePromotionWireBuilderImpl.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.assembly.builder.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.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.EndpointFactory; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.assembly.Multiplicity; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.SCABinding; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; -import org.apache.tuscany.sca.monitor.Monitor; - -/** - * A composite builder that handles the creation of promoted composite services. - * - * @version $Rev$ $Date$ - */ -public class ComponentReferencePromotionWireBuilderImpl implements CompositeBuilder { - private AssemblyFactory assemblyFactory; - private EndpointFactory endpointFactory; - private Monitor monitor; - - public ComponentReferencePromotionWireBuilderImpl(AssemblyFactory assemblyFactory, EndpointFactory endpointFactory, Monitor monitor) { - this.assemblyFactory = assemblyFactory; - this.endpointFactory = endpointFactory; - this.monitor = monitor; - } - - public void build(Composite composite) throws CompositeBuilderException { - wireCompositeReferences(composite); - } - - /** - * Wire composite references in nested composites. - * - * @param composite - * @param problems - */ - private void wireCompositeReferences(Composite composite) { - - // Process nested composites recursively - for (Component component : composite.getComponents()) { - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - wireCompositeReferences((Composite)implementation); - } - } - - // Process component references declared on components in this composite - for (Component component : composite.getComponents()) { - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - for (ComponentReference componentReference : component.getReferences()) { - Reference implReference = componentReference.getReference(); - if (implReference != null && implReference instanceof CompositeReference) { - - // If the component reference is wired, it is a promotion override - if (!componentReference.getEndpoints().isEmpty()) { - componentReference.setPromotionOverride(true); - } - - // If the component reference is a promotion override, override the - // configuration of the promoted reference - if (componentReference.isPromotionOverride()) { - CompositeReference compositeReference = (CompositeReference)implReference; - List promotedReferences = - ReferenceConfigurationUtil.getPromotedComponentReferences(compositeReference); - for (ComponentReference promotedReference : promotedReferences) { - ReferenceConfigurationUtil.reconcileReferenceBindings( - componentReference, promotedReference, assemblyFactory, endpointFactory, monitor); - if (componentReference.getInterfaceContract() != null && // can be null in unit tests - componentReference.getInterfaceContract().getCallbackInterface() != null) { - SCABinding scaCallbackBinding = promotedReference.getCallbackBinding(SCABinding.class); - if (promotedReference.getCallback() != null) { - promotedReference.getCallback().getBindings().clear(); - } else { - promotedReference.setCallback(assemblyFactory.createCallback()); - } - if (scaCallbackBinding != null) { - promotedReference.getCallback().getBindings().add(scaCallbackBinding); - } - if (componentReference.getCallback() != null) { - promotedReference.getCallback().getBindings().addAll(componentReference - .getCallback().getBindings()); - } - } - - // Wire the promoted reference to the actual non-composite component services - if (promotedReference.getMultiplicity() == Multiplicity.ONE_ONE) { - // promotedReference.getTargets().clear(); - } - for (ComponentService target : componentReference.getTargets()) { - if (target.getService() instanceof CompositeService) { - - // Wire to the actual component service - // promoted by a composite service - CompositeService compositeService = (CompositeService)target.getService(); - // Find the promoted component service - ComponentService componentService = - ServiceConfigurationUtil.getPromotedComponentService(compositeService); - if (componentService != null) { - promotedReference.getTargets().add(componentService); - } - } else { - - // Wire to a non-composite target service - promotedReference.getTargets().add(target); - } - } - } - } - } - } - } else { - for (ComponentReference componentReference : component.getReferences()) { - - // Wire the component reference to the actual - // non-composite component services - List targets = componentReference.getTargets(); - for (int i = 0, n = targets.size(); i < n; i++) { - ComponentService target = targets.get(i); - if (target.getService() instanceof CompositeService) { - - // Wire to the actual component service - // promoted by a composite service - CompositeService compositeService = (CompositeService)target.getService(); - ComponentService componentService = compositeService.getPromotedService(); - if (componentService != null) { - targets.set(i, componentService); - } - } - } - } - } - } - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferenceWireBuilderImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferenceWireBuilderImpl.java deleted file mode 100644 index 927330b139..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentReferenceWireBuilderImpl.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.assembly.builder.impl; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.EndpointFactory; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.monitor.Monitor; - -/** - * A composite builder that wires component references. - * - * @version $Rev$ $Date$ - */ -public class ComponentReferenceWireBuilderImpl extends BaseWireBuilderImpl implements CompositeBuilder { - - public ComponentReferenceWireBuilderImpl(AssemblyFactory assemblyFactory, EndpointFactory endpointFactory, InterfaceContractMapper interfaceContractMapper, Monitor monitor) { - super(assemblyFactory, endpointFactory, interfaceContractMapper, monitor); - } - - public void build(Composite composite) throws CompositeBuilderException { - wireComponentReferences(composite); - } -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentServiceBindingBuilderImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentServiceBindingBuilderImpl.java deleted file mode 100644 index 12ea86eac3..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentServiceBindingBuilderImpl.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.assembly.builder.impl; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.assembly.builder.BindingBuilder; -import org.apache.tuscany.sca.assembly.builder.BindingBuilderExtension; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; -import org.apache.tuscany.sca.monitor.Monitor; - -/** - * A composite builder that performs any additional building steps that - * component service bindings may need. Used for WSDL generation. - * - * @version $Rev$ $Date$ - */ -public class ComponentServiceBindingBuilderImpl implements CompositeBuilder { - private Monitor monitor; - - public ComponentServiceBindingBuilderImpl(Monitor monitor) { - this.monitor = monitor; - } - - public void build(Composite composite) throws CompositeBuilderException { - buildServiceBindings(composite); - } - - private void buildServiceBindings(Composite composite) { - - // build bindings recursively - for (Component component : composite.getComponents()) { - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - buildServiceBindings((Composite)implementation); - } - } - - // find all the component service bindings - for (Component component : composite.getComponents()) { - for (ComponentService componentService : component.getServices()) { - for (Binding binding : componentService.getBindings()) { - if (binding instanceof BindingBuilderExtension) { - BindingBuilder builder = ((BindingBuilderExtension)binding).getBuilder(); - if (builder != null) { - builder.build(component, componentService, binding, monitor); - } - } - } - } - } - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentServicePromotionBuilderImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentServicePromotionBuilderImpl.java deleted file mode 100644 index d73286f7ab..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ComponentServicePromotionBuilderImpl.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.assembly.builder.impl; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.CompositeService; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; - -/** - * A composite builder that handles the creation of promoted services. - * - * @version $Rev$ $Date$ - */ -public class ComponentServicePromotionBuilderImpl implements CompositeBuilder { - private AssemblyFactory assemblyFactory; - - public ComponentServicePromotionBuilderImpl(AssemblyFactory assemblyFactory) { - this.assemblyFactory = assemblyFactory; - } - - public void build(Composite composite) throws CompositeBuilderException { - - // Process nested composites recursively - configureNestedCompositeServices(composite); - } - - private void configureNestedCompositeServices(Composite composite) { - - // Process nested composites recursively - for (Component component : composite.getComponents()) { - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - - // First process nested composites - configureNestedCompositeServices((Composite)implementation); - - // Process the component services declared on components in this composite - for (ComponentService componentService : component.getServices()) { - Service implService = componentService.getService(); - if (implService != null && implService instanceof CompositeService) { - CompositeService compositeService = (CompositeService)implService; - - // Get the innermost promoted service - ComponentService promotedService = - ServiceConfigurationUtil.getPromotedComponentService(compositeService); - if (promotedService != null) { - Component promotedComponent = ServiceConfigurationUtil.getPromotedComponent(compositeService); - - // Create a new component service to represent this - // component service on the promoted component - ComponentService newComponentService = assemblyFactory.createComponentService(); - newComponentService.setName("$promoted$" + component.getName() + "$slash$" + componentService.getName()); - promotedComponent.getServices().add(newComponentService); - newComponentService.setService(promotedService.getService()); - newComponentService.getBindings().addAll(componentService.getBindings()); - newComponentService.setInterfaceContract(componentService.getInterfaceContract()); - - if (componentService.getInterfaceContract() != null && - componentService.getInterfaceContract().getCallbackInterface() != null) { - newComponentService.setCallback(assemblyFactory.createCallback()); - newComponentService.getCallback().getBindings() - .addAll(componentService.getCallback().getBindings()); - } - - // Change the composite service to now promote the - // newly created component service directly - compositeService.setPromotedComponent(promotedComponent); - compositeService.setPromotedService(newComponentService); - } - } - } - } - } - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBindingURIBuilderImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBindingURIBuilderImpl.java deleted file mode 100644 index 85af173c0d..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBindingURIBuilderImpl.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.assembly.builder.impl; - -import javax.xml.parsers.DocumentBuilderFactory; -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.SCABindingFactory; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; -import org.apache.tuscany.sca.definitions.SCADefinitions; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.monitor.Monitor; - -/** - * A composite builder that handles the configuration of binding URIs. - * - * @version $Rev$ $Date$ - */ -public class CompositeBindingURIBuilderImpl extends BaseConfigurationBuilderImpl implements CompositeBuilder { - - @Deprecated - public CompositeBindingURIBuilderImpl(AssemblyFactory assemblyFactory, - SCABindingFactory scaBindingFactory, - InterfaceContractMapper interfaceContractMapper, - SCADefinitions policyDefinitions, - Monitor monitor) { - super(assemblyFactory, scaBindingFactory, - null, null, - interfaceContractMapper, policyDefinitions, monitor); - } - - public CompositeBindingURIBuilderImpl(AssemblyFactory assemblyFactory, - SCABindingFactory scaBindingFactory, - DocumentBuilderFactory documentBuilderFactory, - TransformerFactory transformerFactory, - InterfaceContractMapper interfaceContractMapper, - SCADefinitions policyDefinitions, - Monitor monitor) { - super(assemblyFactory, scaBindingFactory, - documentBuilderFactory, transformerFactory, - interfaceContractMapper, policyDefinitions, monitor); - } - - public void build(Composite composite) throws CompositeBuilderException { - configureBindingURIsAndNames(composite); - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java deleted file mode 100644 index 282fe032ba..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderImpl.java +++ /dev/null @@ -1,223 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.builder.impl; - -import java.util.logging.Logger; - -import javax.xml.parsers.DocumentBuilderFactory; -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.DefaultEndpointFactory; -import org.apache.tuscany.sca.assembly.EndpointFactory; -import org.apache.tuscany.sca.assembly.SCABindingFactory; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.definitions.SCADefinitions; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory; - -/** - * A builder that handles the configuration of the components inside a composite - * and the wiring of component references to component services. - * - * @version $Rev$ $Date$ - */ -public class CompositeBuilderImpl implements CompositeBuilder { - private static final Logger logger = Logger.getLogger(CompositeBuilderImpl.class.getName()); - private CompositeBuilder compositeIncludeBuilder; - private CompositeBuilder componentReferenceWireBuilder; - private CompositeBuilder componentReferencePromotionWireBuilder; - private CompositeBuilder compositeReferenceWireBuilder; - private CompositeBuilder compositeCloneBuilder; - private CompositeBuilder componentConfigurationBuilder; - private CompositeBuilder compositeServiceConfigurationBuilder; - private CompositeBuilder compositeReferenceConfigurationBuilder; - private CompositeBuilder compositeBindingURIBuilder; - private CompositeBuilder componentServicePromotionBuilder; - private CompositeBuilder compositeServicePromotionBuilder; - private CompositeBuilder compositePromotionBuilder; - private CompositeBuilder compositePolicyBuilder; - private CompositeBuilder componentServiceBindingBuilder; - private CompositeBuilder componentReferenceBindingBuilder; - - /** - * Constructs a new composite builder. - * - * @param assemblyFactory - * @param scaBindingFactory - * @param endpointFactory - * @param intentAttachPointTypeFactory - * @param interfaceContractMapper - * @param policyDefinitions - * @param monitor - */ - @Deprecated - public CompositeBuilderImpl(AssemblyFactory assemblyFactory, - EndpointFactory endpointFactory, - SCABindingFactory scaBindingFactory, - IntentAttachPointTypeFactory intentAttachPointTypeFactory, - InterfaceContractMapper interfaceContractMapper, - SCADefinitions policyDefinitions, - Monitor monitor) { - this(assemblyFactory, endpointFactory, scaBindingFactory, intentAttachPointTypeFactory, - null, null, interfaceContractMapper, policyDefinitions, monitor); - } - - /** - * Constructs a new composite builder. - * - * @param assemblyFactory - * @param scaBindingFactory - * @param endpointFactory - * @param intentAttachPointTypeFactory - * @param interfaceContractMapper - * @param policyDefinitions - * @param monitor - */ - @Deprecated - public CompositeBuilderImpl(AssemblyFactory assemblyFactory, - SCABindingFactory scaBindingFactory, - IntentAttachPointTypeFactory intentAttachPointTypeFactory, - InterfaceContractMapper interfaceContractMapper, - Monitor monitor) { - this(assemblyFactory, null, scaBindingFactory, intentAttachPointTypeFactory, - null, null, interfaceContractMapper, null, monitor); - } - - /** - * Constructs a new composite builder. - * - * @param assemblyFactory - * @param scaBindingFactory - * @param intentAttachPointTypeFactory - * @param documentBuilderFactory - * @param transformerFactory - * @param interfaceContractMapper - * @param monitor - */ - public CompositeBuilderImpl(AssemblyFactory assemblyFactory, - SCABindingFactory scaBindingFactory, - IntentAttachPointTypeFactory intentAttachPointTypeFactory, - DocumentBuilderFactory documentBuilderFactory, - TransformerFactory transformerFactory, - InterfaceContractMapper interfaceContractMapper, - Monitor monitor) { - this(assemblyFactory, null, scaBindingFactory, intentAttachPointTypeFactory, - documentBuilderFactory, transformerFactory, interfaceContractMapper, null, monitor); - } - - /** - * Constructs a new composite builder. - * - * @param assemblyFactory - * @param scaBindingFactory - * @param endpointFactory - * @param intentAttachPointTypeFactory - * @param interfaceContractMapper - * @param policyDefinitions - * @param monitor - */ - public CompositeBuilderImpl(AssemblyFactory assemblyFactory, - EndpointFactory endpointFactory, - SCABindingFactory scaBindingFactory, - IntentAttachPointTypeFactory intentAttachPointTypeFactory, - DocumentBuilderFactory documentBuilderFactory, - TransformerFactory transformerFactory, - InterfaceContractMapper interfaceContractMapper, - SCADefinitions policyDefinitions, - Monitor monitor) { - - if (endpointFactory == null){ - endpointFactory = new DefaultEndpointFactory(); - } - - compositeIncludeBuilder = new CompositeIncludeBuilderImpl(monitor); - componentReferenceWireBuilder = new ComponentReferenceWireBuilderImpl(assemblyFactory, endpointFactory, interfaceContractMapper, monitor); - componentReferencePromotionWireBuilder = new ComponentReferencePromotionWireBuilderImpl(assemblyFactory, endpointFactory, monitor); - compositeReferenceWireBuilder = new CompositeReferenceWireBuilderImpl(assemblyFactory, endpointFactory, monitor); - compositeCloneBuilder = new CompositeCloneBuilderImpl(monitor); - componentConfigurationBuilder = new ComponentConfigurationBuilderImpl(assemblyFactory, scaBindingFactory, documentBuilderFactory, transformerFactory, interfaceContractMapper, policyDefinitions, monitor); - compositeServiceConfigurationBuilder = new CompositeServiceConfigurationBuilderImpl(assemblyFactory); - compositeReferenceConfigurationBuilder = new CompositeReferenceConfigurationBuilderImpl(assemblyFactory); - compositeBindingURIBuilder = new CompositeBindingURIBuilderImpl(assemblyFactory, scaBindingFactory, documentBuilderFactory, transformerFactory, interfaceContractMapper, policyDefinitions, monitor); - componentServicePromotionBuilder = new ComponentServicePromotionBuilderImpl(assemblyFactory); - compositeServicePromotionBuilder = new CompositeServicePromotionBuilderImpl(assemblyFactory); - compositePromotionBuilder = new CompositePromotionBuilderImpl(assemblyFactory, endpointFactory, interfaceContractMapper, monitor); - compositePolicyBuilder = new CompositePolicyBuilderImpl(assemblyFactory, endpointFactory, interfaceContractMapper, monitor); - componentServiceBindingBuilder = new ComponentServiceBindingBuilderImpl(monitor); - componentReferenceBindingBuilder = new ComponentReferenceBindingBuilderImpl(monitor); - } - - public void build(Composite composite) throws CompositeBuilderException { - - // Collect and fuse includes - compositeIncludeBuilder.build(composite); - - // Expand nested composites - compositeCloneBuilder.build(composite); - - // Configure all components - componentConfigurationBuilder.build(composite); - - // Connect composite services/references to promoted services/references - compositePromotionBuilder.build(composite); - - // Compute the policies across the model hierarchy - compositePolicyBuilder.build(composite); - - // Configure composite services - compositeServiceConfigurationBuilder.build(composite); - - // Configure composite references - compositeReferenceConfigurationBuilder.build(composite); - - // Configure binding URIs - compositeBindingURIBuilder.build(composite); - - // Create promoted component services - componentServicePromotionBuilder.build(composite); - - // Create promoted composite services - compositeServicePromotionBuilder.build(composite); - - // Build component service binding-related information - componentServiceBindingBuilder.build(composite); - - // Wire the components - componentReferenceWireBuilder.build(composite); - - // Wire the promoted component references - componentReferencePromotionWireBuilder.build(composite); - - // Wire the composite references - compositeReferenceWireBuilder.build(composite); - - // Build component reference binding-related information - componentReferenceBindingBuilder.build(composite); - - // Fuse nested composites - //FIXME do this later - //cloneBuilder.fuseCompositeImplementations(composite); - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeCloneBuilderImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeCloneBuilderImpl.java deleted file mode 100644 index 5779ddbc78..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeCloneBuilderImpl.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.builder.impl; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; -import org.apache.tuscany.sca.monitor.Monitor; - -/** - * A composite builder that clones nested composites. - * - * @version $Rev$ $Date$ - */ -public class CompositeCloneBuilderImpl implements CompositeBuilder { - - public CompositeCloneBuilderImpl(Monitor monitor) { - } - - public void build(Composite composite) throws CompositeBuilderException { - expandCompositeImplementations(composite); - } - - /** - * Expand composite component implementations. - * - * @param composite - * @param problems - */ - private void expandCompositeImplementations(Composite composite) { - for (Component component : composite.getComponents()) { - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - - Composite compositeImplementation = (Composite)implementation; - Composite clone; - try { - clone = (Composite)compositeImplementation.clone(); - } catch (CloneNotSupportedException e) { - throw new RuntimeException(e); - } - component.setImplementation(clone); - expandCompositeImplementations(clone); - } - } - } - - /** - * Collect all nested composite implementations in a graph of composites. - * - * @param composite - * @param nested - */ - private void collectNestedComposites(Composite composite, List nested) { - for (Component component : composite.getComponents()) { - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - Composite nestedComposite = (Composite)implementation; - nested.add(nestedComposite); - collectNestedComposites(nestedComposite, nested); - } - } - } - - /** - * Fuse nested composites into a top level composite. - * - * @param composite - */ - private void fuseCompositeImplementations(Composite composite) { - - // First collect all nested composites - List nested = new ArrayList(); - collectNestedComposites(composite, nested); - - // Then add all the non-composite components they contain - for (Composite nestedComposite : nested) { - for (Component component: nestedComposite.getComponents()) { - Implementation implementation = component.getImplementation(); - if (!(implementation instanceof Composite)) { - composite.getComponents().add(component); - } - } - } - - // Clear the initial list of composite components - for (Iterator i = composite.getComponents().iterator(); i.hasNext();) { - Component component = i.next(); - if (component.getImplementation() instanceof Composite) { - i.remove(); - } - } - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeIncludeBuilderImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeIncludeBuilderImpl.java deleted file mode 100644 index 539ad8d137..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeIncludeBuilderImpl.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.assembly.builder.impl; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * Implementation of a CompositeBuilder. - * - * @version $Rev$ $Date$ - */ -public class CompositeIncludeBuilderImpl implements CompositeBuilder { - - private Monitor monitor; - - public CompositeIncludeBuilderImpl(Monitor monitor) { - this.monitor = monitor; - } - - public void build(Composite composite) throws CompositeBuilderException { - fuseIncludes(composite); - } - - private void warning(String message, Object model, String... messageParameters) { - if (monitor != null){ - Problem problem = new ProblemImpl(this.getClass().getName(), "assembly-validation-messages", Severity.WARNING, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Collect all includes in a graph of includes. - * - * @param composite - * @param includes - */ - private void collectIncludes(Composite composite, List includes, Set visited) { - for (Composite include : composite.getIncludes()) { - if (visited.contains(include)) { - warning("CompositeAlreadyIncluded", composite, include.getName().toString()); - continue; - } - - includes.add(include); - visited.add(include); - collectIncludes(include, includes, visited); - } - } - - /** - * Copy a list of includes into a composite. - * - * @param composite - */ - private void fuseIncludes(Composite composite) { - - // First collect all includes - List includes = new ArrayList(); - Set visited = new HashSet(); - visited.add(composite); - collectIncludes(composite, includes, visited); - // Then clone them - for (Composite include : includes) { - Composite clone; - try { - clone = (Composite)include.clone(); - } catch (CloneNotSupportedException e) { - throw new RuntimeException(e); - } - composite.getComponents().addAll(clone.getComponents()); - composite.getServices().addAll(clone.getServices()); - composite.getReferences().addAll(clone.getReferences()); - composite.getProperties().addAll(clone.getProperties()); - composite.getWires().addAll(clone.getWires()); - composite.getPolicySets().addAll(clone.getPolicySets()); - composite.getRequiredIntents().addAll(clone.getRequiredIntents()); - } - - // Clear the list of includes - composite.getIncludes().clear(); - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositePolicyBuilderImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositePolicyBuilderImpl.java deleted file mode 100644 index 76ed861167..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositePolicyBuilderImpl.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.assembly.builder.impl; - - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.EndpointFactory; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.monitor.Monitor; - -/** - * A composite builder that computes policy sets based on attached intents and policy sets. - * Useful if you want to build the model without making any runtime decisions such as - * reference/services matching - * - * @version $Rev$ $Date$ - */ -public class CompositePolicyBuilderImpl extends BaseWireBuilderImpl implements CompositeBuilder { - - public CompositePolicyBuilderImpl(AssemblyFactory assemblyFactory, EndpointFactory endpointFactory, InterfaceContractMapper interfaceContractMapper, Monitor monitor) { - super(assemblyFactory, endpointFactory, interfaceContractMapper, monitor); - } - - public void build(Composite composite) throws CompositeBuilderException { - computePolicies(composite); - } -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositePromotionBuilderImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositePromotionBuilderImpl.java deleted file mode 100644 index 5a6437b3a3..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositePromotionBuilderImpl.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.assembly.builder.impl; - - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.EndpointFactory; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.monitor.Monitor; - -/** - * A composite builder that makes the connections between composite services and references - * and the services and references that they promote - * - * @version $Rev$ $Date$ - */ -public class CompositePromotionBuilderImpl extends BaseWireBuilderImpl implements CompositeBuilder { - - public CompositePromotionBuilderImpl(AssemblyFactory assemblyFactory, EndpointFactory endpointFactory, InterfaceContractMapper interfaceContractMapper, Monitor monitor) { - super(assemblyFactory, endpointFactory, interfaceContractMapper, monitor); - } - - public void build(Composite composite) throws CompositeBuilderException { - connectCompositeReferencesAndServices(composite); - } -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeReferenceConfigurationBuilderImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeReferenceConfigurationBuilderImpl.java deleted file mode 100644 index 41462b151d..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeReferenceConfigurationBuilderImpl.java +++ /dev/null @@ -1,224 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.builder.impl; - -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.Composite; -import org.apache.tuscany.sca.assembly.CompositeReference; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.assembly.builder.AutomaticBinding; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; - -/** - * A composite builder that handles the configuration of composite references. - * - * @version $Rev: 651179 $ $Date: 2008-04-24 08:21:13 +0100 (Thu, 24 Apr 2008) $ - */ -public class CompositeReferenceConfigurationBuilderImpl implements CompositeBuilder { - private AssemblyFactory assemblyFactory; - - public CompositeReferenceConfigurationBuilderImpl(AssemblyFactory assemblyFactory) { - this.assemblyFactory = assemblyFactory; - } - - public void build(Composite composite) throws CompositeBuilderException { - - // Process nested composites recursively - configureNestedCompositeReferences(composite); - - // Process top level composite references - for (Reference reference : composite.getReferences()) { - CompositeReference compositeReference = (CompositeReference)reference; - - // Get the next lower level promoted reference - List promotedRefs = compositeReference.getPromotedReferences(); - if (!promotedRefs.isEmpty()) { - if (promotedRefs.size() == 1) { - ComponentReference promotedReference = promotedRefs.get(0); - - // Set the bindings using the top level bindings to override the lower level bindings - if (bindingsSpecifiedManually(compositeReference.getBindings())) { - compositeReference.setPromotionOverride(true); - } else if (bindingsSpecifiedManually(promotedReference.getBindings()) ) { - compositeReference.getBindings().clear(); - for (Binding binding : promotedReference.getBindings()) { - try { - compositeReference.getBindings().add((Binding)binding.clone()); - } catch (CloneNotSupportedException ex) { - // this binding can't be used in the promoted reference - } - } - } - if (compositeReference.getInterfaceContract() != null && - compositeReference.getInterfaceContract().getCallbackInterface() != null) { - if (compositeReference.getCallback() != null && - bindingsSpecifiedManually(compositeReference.getCallback().getBindings())) { - compositeReference.setPromotionOverride(true); - } else if (promotedReference.getCallback() != null && - bindingsSpecifiedManually(promotedReference.getCallback().getBindings())) { - if (compositeReference.getCallback() != null) { - compositeReference.getCallback().getBindings().clear(); - } else { - compositeReference.setCallback(assemblyFactory.createCallback()); - } - for (Binding binding : promotedReference.getCallback().getBindings()) { - try { - compositeReference.getCallback().getBindings().add((Binding)binding.clone()); - } catch (CloneNotSupportedException ex) { - // this binding can't be used in the promoted reference - } - } - } - } - } else { - // This composite reference promotes multiple component references. - // Because the component reference bindings can all be different, we don't - // copy any of them up to this composite reference, which will therefore always - // have its own binding, even if it's only the default SCA binding. - if (bindingsSpecifiedManually(compositeReference.getBindings()) || - (compositeReference.getCallback() != null && - bindingsSpecifiedManually(compositeReference.getCallback().getBindings()))) { - compositeReference.setPromotionOverride(true); - } - } - } - } - } - - private void configureNestedCompositeReferences(Composite composite) { - - // Process nested composites recursively - for (Component component : composite.getComponents()) { - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - - // First process nested composites - configureNestedCompositeReferences((Composite)implementation); - - // Process the component references declared on components in this composite - for (ComponentReference componentReference : component.getReferences()) { - Reference implReference = componentReference.getReference(); - if (implReference != null && implReference instanceof CompositeReference) { - CompositeReference compositeReference = (CompositeReference)implReference; - - // Get the next lower level promoted reference - List promotedRefs = compositeReference.getPromotedReferences(); - if (!promotedRefs.isEmpty()) { - if (promotedRefs.size() == 1) { - ComponentReference promotedReference = promotedRefs.get(0); - - // Set the bindings using the top level bindings to override the lower level bindings - if (!bindingsSpecifiedManually(compositeReference.getBindings()) && - bindingsSpecifiedManually(promotedReference.getBindings()) ) { - compositeReference.getBindings().clear(); - for (Binding binding : promotedReference.getBindings()) { - try { - compositeReference.getBindings().add((Binding)binding.clone()); - } catch (CloneNotSupportedException ex) { - // this binding can't be used in the promoted reference - } - } - } - if (bindingsSpecifiedManually(componentReference.getBindings())) { - componentReference.setPromotionOverride(true); - } else if (bindingsSpecifiedManually(compositeReference.getBindings()) ) { - componentReference.getBindings().clear(); - componentReference.getBindings().addAll(compositeReference.getBindings()); - } - if (componentReference.getInterfaceContract() != null && - componentReference.getInterfaceContract().getCallbackInterface() != null) { - if (!(compositeReference.getCallback() != null && - bindingsSpecifiedManually(compositeReference.getCallback().getBindings())) && - promotedReference.getCallback() != null && - bindingsSpecifiedManually(promotedReference.getCallback().getBindings())) { - if (compositeReference.getCallback() != null) { - compositeReference.getCallback().getBindings().clear(); - } else { - compositeReference.setCallback(assemblyFactory.createCallback()); - } - compositeReference.getCallback().getBindings().addAll( - promotedReference.getCallback().getBindings()); - } - if (componentReference.getCallback() != null && - bindingsSpecifiedManually(componentReference.getCallback().getBindings())) { - componentReference.setPromotionOverride(true); - } else if (compositeReference.getCallback() != null && - bindingsSpecifiedManually(compositeReference.getCallback().getBindings())) { - if (componentReference.getCallback() != null) { - componentReference.getCallback().getBindings().clear(); - } else { - componentReference.setCallback(assemblyFactory.createCallback()); - } - for (Binding binding : compositeReference.getCallback().getBindings()) { - try { - componentReference.getCallback().getBindings().add((Binding)binding.clone()); - } catch (CloneNotSupportedException ex) { - // this binding can't be used in the promoted reference - } - } - } - } - } else { - // This component reference promotes multiple lower-level component references. - // Because the lower-level component reference bindings can all be different, - // we don't copy any of them up to this component reference, which will therefore - // always have its own binding, even if it's only the default SCA binding. - if (bindingsSpecifiedManually(componentReference.getBindings()) || - (componentReference.getCallback() != null && - bindingsSpecifiedManually(componentReference.getCallback().getBindings()))) { - componentReference.setPromotionOverride(true); - } - } - } - } - } - } - } - } - - /** - * If the bindings are specified in the composite file return true as they should - * otherwise return false - * - * @param bindings - * @return true if the bindings were specified manually - */ - private boolean bindingsSpecifiedManually(List bindings) { - - if (bindings.size() > 1) { - return true; - } else if (bindings.size() == 1 && - bindings.get(0) instanceof AutomaticBinding && - ((AutomaticBinding)bindings.get(0)).getIsAutomatic()) { - return false; - } else if (bindings.size() == 1) { - return true; - } else { - return false; - } - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeReferenceWireBuilderImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeReferenceWireBuilderImpl.java deleted file mode 100644 index 8aa1897311..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeReferenceWireBuilderImpl.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.assembly.builder.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.ComponentReference; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.CompositeReference; -import org.apache.tuscany.sca.assembly.EndpointFactory; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.SCABinding; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; -import org.apache.tuscany.sca.monitor.Monitor; - -/** - * A composite builder that wires composite references. - * - * @version $Rev$ $Date$ - */ -public class CompositeReferenceWireBuilderImpl implements CompositeBuilder { - private AssemblyFactory assemblyFactory; - private EndpointFactory endpointFactory; - private Monitor monitor; - - public CompositeReferenceWireBuilderImpl(AssemblyFactory assemblyFactory, EndpointFactory endpointFactory, Monitor monitor) { - this.assemblyFactory = assemblyFactory; - this.endpointFactory = endpointFactory; - this.monitor = monitor; - } - - /** - * Wire composite references in a deployment composite. - * - * @param composite - */ - public void build(Composite composite) throws CompositeBuilderException { - - // Process composite references declared in this composite - for (Reference reference : composite.getReferences()) { - CompositeReference compositeReference = (CompositeReference)reference; - - // If the composite reference is a promotion override, override the - // configuration of the promoted reference. - //FIXME: Policy configuration or wiring of domain-level composite references - // doesn't cause a promotion override, unless the composite reference has - // additional bindings. Do we need to detect this and force an override? - if (compositeReference.isPromotionOverride()) { - List promotedReferences = - ReferenceConfigurationUtil.getPromotedComponentReferences(compositeReference); - for (ComponentReference promotedReference : promotedReferences) { - ReferenceConfigurationUtil.reconcileReferenceBindings( - compositeReference, promotedReference, assemblyFactory, endpointFactory, monitor); - if (compositeReference.getInterfaceContract() != null && // can be null in unit tests - compositeReference.getInterfaceContract().getCallbackInterface() != null) { - SCABinding scaCallbackBinding = promotedReference.getCallbackBinding(SCABinding.class); - if (promotedReference.getCallback() != null) { - promotedReference.getCallback().getBindings().clear(); - } else { - promotedReference.setCallback(assemblyFactory.createCallback()); - } - if (scaCallbackBinding != null) { - promotedReference.getCallback().getBindings().add(scaCallbackBinding); - } - if (compositeReference.getCallback() != null) { - promotedReference.getCallback().getBindings().addAll(compositeReference.getCallback() - .getBindings()); - } - } - } - } - } - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServiceBindingBuilderImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServiceBindingBuilderImpl.java deleted file mode 100644 index 3aa9f3bf85..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServiceBindingBuilderImpl.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.builder.impl; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.CompositeService; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.assembly.builder.BindingBuilderExtension; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; -import org.apache.tuscany.sca.monitor.Monitor; - -/** - * A composite builder that performs any additional building steps that - * composite service bindings may need. Used for WSDL generation. - * - * @version $Rev$ $Date$ - */ -public class CompositeServiceBindingBuilderImpl implements CompositeBuilder { - private Monitor monitor; - - public CompositeServiceBindingBuilderImpl(Monitor monitor) { - this.monitor = monitor; - } - - public void build(Composite composite) throws CompositeBuilderException { - buildServiceBindings(composite); - } - - private void buildServiceBindings(Composite composite) { - - // build bindings recursively - for (Component component : composite.getComponents()) { - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - buildServiceBindings((Composite)implementation); - } - } - - // find all the composite service bindings - for (Service service : composite.getServices()) { - for (Binding binding : service.getBindings()) { - if (binding instanceof BindingBuilderExtension) { - Component component = ServiceConfigurationUtil.getPromotedComponent((CompositeService)service); - ((BindingBuilderExtension)binding).getBuilder().build(component, service, binding, monitor); - } - } - } - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServiceConfigurationBuilderImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServiceConfigurationBuilderImpl.java deleted file mode 100644 index a3f31ea2fa..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServiceConfigurationBuilderImpl.java +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.builder.impl; - -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.ComponentService; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.CompositeService; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.assembly.builder.AutomaticBinding; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; - -/** - * A composite builder that handles the configuration of composite services. - * - * @version $Rev$ $Date$ - */ -public class CompositeServiceConfigurationBuilderImpl implements CompositeBuilder { - private AssemblyFactory assemblyFactory; - - public CompositeServiceConfigurationBuilderImpl(AssemblyFactory assemblyFactory) { - this.assemblyFactory = assemblyFactory; - } - - public void build(Composite composite) throws CompositeBuilderException { - - // Process nested composites recursively - configureNestedCompositeServices(composite); - - // Process top level composite services - for (Service service : composite.getServices()) { - CompositeService compositeService = (CompositeService)service; - - // Get the next lower level promoted service - ComponentService promotedService = compositeService.getPromotedService(); - if (promotedService != null) { - - // Set the bindings using the top level bindings to override the lower level bindings - if (!bindingsSpecifiedManually(compositeService.getBindings()) && - bindingsSpecifiedManually(promotedService.getBindings())) { - compositeService.getBindings().clear(); - for (Binding binding : promotedService.getBindings()) { - try { - compositeService.getBindings().add((Binding)binding.clone()); - } catch (CloneNotSupportedException ex) { - // this binding can't be used in the promoted service - } - } - } - if (compositeService.getInterfaceContract() != null && - compositeService.getInterfaceContract().getCallbackInterface() != null) { - if (!(compositeService.getCallback() != null && - bindingsSpecifiedManually(compositeService.getCallback().getBindings())) && - promotedService.getCallback() != null && - bindingsSpecifiedManually(promotedService.getCallback().getBindings())) { - if (compositeService.getCallback() != null) { - compositeService.getCallback().getBindings().clear(); - } else { - compositeService.setCallback(assemblyFactory.createCallback()); - } - for (Binding binding : promotedService.getCallback().getBindings()) { - try { - compositeService.getCallback().getBindings().add((Binding)binding.clone()); - } catch (CloneNotSupportedException ex) { - // this binding can't be used in the promoted service - } - } - } - } - } - } - } - - private void configureNestedCompositeServices(Composite composite) { - - // Process nested composites recursively - for (Component component : composite.getComponents()) { - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - - // First process nested composites - configureNestedCompositeServices((Composite)implementation); - - // Process the component services declared on components in this composite - for (ComponentService componentService : component.getServices()) { - Service implService = componentService.getService(); - if (implService != null && implService instanceof CompositeService) { - CompositeService compositeService = (CompositeService)implService; - - // Get the next lower level promoted service - ComponentService promotedService = compositeService.getPromotedService(); - if (promotedService != null) { - - // Set the bindings using the top level bindings to override the lower level bindings - if (!bindingsSpecifiedManually(compositeService.getBindings()) && - bindingsSpecifiedManually(promotedService.getBindings()) ) { - compositeService.getBindings().clear(); - for (Binding binding : promotedService.getBindings()) { - try { - compositeService.getBindings().add((Binding)binding.clone()); - } catch (CloneNotSupportedException ex) { - // this binding can't be used in the promoted service - } - } - } - if (!bindingsSpecifiedManually(componentService.getBindings()) && - bindingsSpecifiedManually(compositeService.getBindings()) ) { - componentService.getBindings().clear(); - componentService.getBindings().addAll(compositeService.getBindings()); - } - if (componentService.getInterfaceContract() != null && - componentService.getInterfaceContract().getCallbackInterface() != null) { - if (!(compositeService.getCallback() != null && - bindingsSpecifiedManually(compositeService.getCallback().getBindings())) && - promotedService.getCallback() != null && - bindingsSpecifiedManually(promotedService.getCallback().getBindings())) { - if (compositeService.getCallback() != null) { - compositeService.getCallback().getBindings().clear(); - } else { - compositeService.setCallback(assemblyFactory.createCallback()); - } - for (Binding binding : promotedService.getCallback().getBindings()) { - try { - compositeService.getCallback().getBindings().add((Binding)binding.clone()); - } catch (CloneNotSupportedException ex) { - // this binding can't be used in the promoted service - } - } - } - if (!(componentService.getCallback() != null && - bindingsSpecifiedManually(componentService.getCallback().getBindings())) && - compositeService.getCallback() != null && - bindingsSpecifiedManually(compositeService.getCallback().getBindings())) { - if (componentService.getCallback() != null) { - componentService.getCallback().getBindings().clear(); - } else { - componentService.setCallback(assemblyFactory.createCallback()); - } - componentService.getCallback().getBindings().addAll( - compositeService.getCallback().getBindings()); - } - } - } - } - } - } - } - } - - /** - * If the bindings are specified in the composite file return true as they should - * otherwise return false - * - * @param bindings - * @return true if the bindings were specified manually - */ - private boolean bindingsSpecifiedManually(List bindings) { - - if (bindings.size() > 1) { - return true; - } else if (bindings.size() == 1 && - bindings.get(0) instanceof AutomaticBinding && - ((AutomaticBinding)bindings.get(0)).getIsAutomatic()) { - return false; - } else if (bindings.size() == 1) { - return true; - } else { - return false; - } - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServicePromotionBuilderImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServicePromotionBuilderImpl.java deleted file mode 100644 index ea0e88ac24..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeServicePromotionBuilderImpl.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.builder.impl; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.CompositeService; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilder; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; - -/** - * A composite builder that handles the creation of promoted composite services. - * - * @version $Rev$ $Date$ - */ -public class CompositeServicePromotionBuilderImpl implements CompositeBuilder { - private AssemblyFactory assemblyFactory; - - public CompositeServicePromotionBuilderImpl(AssemblyFactory assemblyFactory) { - this.assemblyFactory = assemblyFactory; - } - - public void build(Composite composite) throws CompositeBuilderException { - - // Process top level composite services - for (Service service : composite.getServices()) { - CompositeService compositeService = (CompositeService)service; - - // Get the innermost promoted service - ComponentService promotedService = ServiceConfigurationUtil.getPromotedComponentService(compositeService); - if (promotedService != null) { - Component promotedComponent = ServiceConfigurationUtil.getPromotedComponent(compositeService); - - // Create a new component service to represent this composite - // service on the promoted component - ComponentService newComponentService = assemblyFactory.createComponentService(); - newComponentService.setName("$promoted$" + compositeService.getName()); - promotedComponent.getServices().add(newComponentService); - newComponentService.setService(promotedService.getService()); - newComponentService.getBindings().addAll(compositeService.getBindings()); - newComponentService.setInterfaceContract(compositeService.getInterfaceContract()); - if (compositeService.getInterfaceContract() != null && - compositeService.getInterfaceContract().getCallbackInterface() != null) { - newComponentService.setCallback(assemblyFactory.createCallback()); - newComponentService.getCallback().getBindings() - .addAll(compositeService.getCallback().getBindings()); - } - - // Change the composite service to now promote the newly - // created component service directly - compositeService.setPromotedComponent(promotedComponent); - compositeService.setPromotedService(newComponentService); - } - } - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/EndpointBuilderImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/EndpointBuilderImpl.java deleted file mode 100644 index 1698b1a9c7..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/EndpointBuilderImpl.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.assembly.builder.impl; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.CompositeService; -import org.apache.tuscany.sca.assembly.Endpoint; -import org.apache.tuscany.sca.assembly.builder.EndpointBuilder; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * A factory for the Endpoint model. - * - * @version $Rev$ $Date$ - */ -public abstract class EndpointBuilderImpl implements EndpointBuilder { - - private Monitor monitor; - - public EndpointBuilderImpl (Monitor monitor){ - this.monitor = monitor; - } - - private void warning(String message, Object model, String... messageParameters) { - if (monitor != null){ - Problem problem = new ProblemImpl(this.getClass().getName(), "assembly-validation-messages", Severity.WARNING, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - private void error(String message, Object model, Exception ex) { - if (monitor != null){ - Problem problem = null; - problem = new ProblemImpl(this.getClass().getName(), "assembly-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - /** - * Resolve an endpoint against the provided target information and the - * set of candidate bindings. - */ - public void build(Endpoint endpoint) { - - // If this endpoint is not fully configured then don't try and resolve it - if (endpoint.getTargetComponentService() == null){ - return; - } - - // Does the reference expect callbacks - boolean bidirectional = false; - - if (endpoint.getSourceComponentReference().getInterfaceContract() != null && - endpoint.getSourceComponentReference().getInterfaceContract().getCallbackInterface() != null) { - bidirectional = true; - } - - // if the target service is a promoted service then find the - // service it promotes - if (endpoint.getTargetComponentService().getService() instanceof CompositeService) { - CompositeService compositeService = (CompositeService) endpoint.getTargetComponentService().getService(); - // Find the promoted component service - ComponentService promotedComponentService = ServiceConfigurationUtil.getPromotedComponentService(compositeService); - if (promotedComponentService != null && !promotedComponentService.isUnresolved()) { - endpoint.setTargetComponentService(promotedComponentService); - } - } - - try { - PolicyConfigurationUtil.determineApplicableBindingPolicySets(endpoint.getSourceComponentReference(), - endpoint.getTargetComponentService()); - } catch ( Exception e ) { - error("PolicyRelatedException", endpoint, e); - } - - - // Match the binding against the bindings of the target service - Binding resolvedBinding = BindingConfigurationUtil.matchBinding(endpoint.getTargetComponent(), - endpoint.getTargetComponentService(), - endpoint.getCandidateBindings(), - endpoint.getTargetComponentService().getBindings()); - if (resolvedBinding == null) { - warning("NoMatchingBinding", - endpoint.getSourceComponentReference(), - endpoint.getSourceComponentReference().getName(), - endpoint.getTargetComponentService().getName()); - } else { - endpoint.setSourceBinding(resolvedBinding); - } - - if (bidirectional) { - Binding resolvedCallbackBinding = BindingConfigurationUtil.matchBinding(endpoint.getTargetComponent(), - endpoint.getTargetComponentService(), - endpoint.getSourceComponentReference().getCallback().getBindings(), - endpoint.getTargetComponentService().getCallback().getBindings()); - if (resolvedBinding == null) { - warning("NoMatchingCallbackBinding", - endpoint.getSourceComponentReference(), - endpoint.getSourceComponentReference().getName(), - endpoint.getTargetComponentService().getName()); - } else { - endpoint.setSourceCallbackBinding(resolvedCallbackBinding); - } - } - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PolicyConfigurationException.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PolicyConfigurationException.java deleted file mode 100644 index 944cf2cf36..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PolicyConfigurationException.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.assembly.builder.impl; - -/** - * Exception to be throw for invalid policy intents / policysets - * - * @version $Rev$ $Date$ - */ -public class PolicyConfigurationException extends Exception { - private static final long serialVersionUID = 506979037642587755L; - - public PolicyConfigurationException(String message) { - super(message); - } - - public PolicyConfigurationException(Throwable e) { - super(e); - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PolicyConfigurationUtil.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PolicyConfigurationUtil.java deleted file mode 100644 index c0bc18dfaf..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PolicyConfigurationUtil.java +++ /dev/null @@ -1,752 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.builder.impl; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Hashtable; -import java.util.List; -import java.util.Map; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.Base; -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ConfiguredOperation; -import org.apache.tuscany.sca.assembly.Contract; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.assembly.OperationsConfigurator; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentAttachPoint; -import org.apache.tuscany.sca.policy.IntentAttachPointType; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.QualifiedIntent; -import org.apache.tuscany.sca.policy.util.PolicyComputationUtils; -import org.apache.tuscany.sca.policy.util.PolicyValidationException; -import org.apache.tuscany.sca.policy.util.PolicyValidationUtils; - -/** - * This class contains policy computation methods common to computing implementation and binding policies - * - * @version $Rev$ $Date$ - */ -abstract class PolicyConfigurationUtil { - - private static List computeInheritableIntents(IntentAttachPointType attachPointType, - List inheritableIntents) throws PolicyValidationException { - List validInheritableIntents = new ArrayList(); - - //expand profile intents in inherited intents - PolicyComputationUtils.expandProfileIntents(inheritableIntents); - - //validate if inherited intent applies to the attachpoint (binding / implementation) and - //only add such intents to the attachpoint (binding / implementation) - for (Intent intent : inheritableIntents) { - if ( !intent.isUnresolved() ) { - for (QName constrained : intent.getConstrains()) { - if ( PolicyValidationUtils.isConstrained(constrained, attachPointType)) { - validInheritableIntents.add(intent); - break; - } - } - } else { - throw new PolicyValidationException("Policy Intent '" + intent.getName() + "' is not defined in this domain"); - } - } - - return validInheritableIntents; - } - - private static void normalizeIntents(IntentAttachPoint intentAttachPoint) { - //expand profile intents specified in the attachpoint (binding / implementation) - PolicyComputationUtils.expandProfileIntents(intentAttachPoint.getRequiredIntents()); - - //remove duplicates and ... - //where qualified form of intent exists retain it and remove the qualifiable intent - filterDuplicatesAndQualifiableIntents(intentAttachPoint); - } - - private static void trimInherentlyProvidedIntents(IntentAttachPointType attachPointType, Listintents) { - //exclude intents that are inherently supported by the - //attachpoint-type (binding-type / implementation-type) - List requiredIntents = new ArrayList(intents); - for ( Intent intent : requiredIntents ) { - if ( isProvidedInherently(attachPointType, intent) ) { - intents.remove(intent); - } - } - } - - - static void computeIntentsForOperations(IntentAttachPoint intentAttachPoint) throws PolicyValidationException { - if ( intentAttachPoint instanceof OperationsConfigurator ) { - computeIntentsForOperations((OperationsConfigurator)intentAttachPoint, - intentAttachPoint, - intentAttachPoint.getRequiredIntents()); - } - } - - private static void computeIntentsForOperations(OperationsConfigurator opConfigurator, - IntentAttachPoint intentAttachPoint, - List parentIntents) throws PolicyValidationException { - IntentAttachPointType attachPointType = intentAttachPoint.getType(); - - boolean found = false; - for ( ConfiguredOperation confOp : opConfigurator.getConfiguredOperations() ) { - //expand profile intents specified on operations - PolicyComputationUtils.expandProfileIntents(confOp.getRequiredIntents()); - - //validateIntents(confOp, attachPointType); - - //add intents specified for parent intent attach point (binding / implementation) - //wherever its not overridden in the operation - Intent tempIntent = null; - List attachPointOpIntents = new ArrayList(); - for (Intent anIntent : parentIntents) { - found = false; - - tempIntent = anIntent; - while ( tempIntent instanceof QualifiedIntent ) { - tempIntent = ((QualifiedIntent)tempIntent).getQualifiableIntent(); - } - - for ( Intent opIntent : confOp.getRequiredIntents() ) { - if ( opIntent.getName().getLocalPart().startsWith(tempIntent.getName().getLocalPart())) { - found = true; - break; - } - } - - if ( !found ) { - boolean conflict = false; - for (Intent excluded : anIntent.getExcludedIntents()) { - if (confOp.getRequiredIntents().contains(excluded)) { - conflict = true; - break; - } - } - if (!conflict) { - attachPointOpIntents.add(anIntent); - } - } - } - - confOp.getRequiredIntents().addAll(attachPointOpIntents); - - //remove duplicates and ... - //where qualified form of intent exists retain it and remove the qualifiable intent - filterDuplicatesAndQualifiableIntents(confOp); - - //exclude intents that are inherently supported by the parent - //attachpoint-type (binding-type / implementation-type) - if ( attachPointType != null ) { - List requiredIntents = new ArrayList(confOp.getRequiredIntents()); - for ( Intent intent : requiredIntents ) { - if ( isProvidedInherently(attachPointType, intent) ) { - confOp.getRequiredIntents().remove(intent); - } - } - } - } - } - - private static List computeInheritablePolicySets(List inheritablePolicySets, - List applicablePolicySets) - throws PolicyValidationException { - List validInheritablePolicySets = new ArrayList(); - for (PolicySet policySet : inheritablePolicySets) { - if ( !policySet.isUnresolved() ) { - if ( applicablePolicySets.contains(policySet) ) { - validInheritablePolicySets.add(policySet); - } - } else { - throw new PolicyValidationException("Policy Set '" + policySet.getName() - + "' is not defined in this domain "); - } - } - - return validInheritablePolicySets; - } - - private static void normalizePolicySets(PolicySetAttachPoint policySetAttachPoint ) { - //get rid of duplicate entries - HashMap policySetTable = new HashMap(); - for ( PolicySet policySet : policySetAttachPoint.getPolicySets() ) { - policySetTable.put(policySet.getName(), policySet); - } - - policySetAttachPoint.getPolicySets().clear(); - policySetAttachPoint.getPolicySets().addAll(policySetTable.values()); - - //expand profile intents - for ( PolicySet policySet : policySetAttachPoint.getPolicySets() ) { - PolicyComputationUtils.expandProfileIntents(policySet.getProvidedIntents()); - } - } - - private static void computePolicySetsForOperations(List applicablePolicySets, - PolicySetAttachPoint policySetAttachPoint) - throws PolicyValidationException { - if ( policySetAttachPoint instanceof OperationsConfigurator ) { - computePolicySetsForOperations(applicablePolicySets, - (OperationsConfigurator)policySetAttachPoint, - policySetAttachPoint); - } - - } - - private static void computePolicySetsForOperations(List applicablePolicySets, - OperationsConfigurator opConfigurator, - PolicySetAttachPoint policySetAttachPoint) - throws PolicyValidationException { - //String appliesTo = null; - //String scdlFragment = ""; - HashMap policySetTable = new HashMap(); - IntentAttachPointType attachPointType = policySetAttachPoint.getType(); - - for ( ConfiguredOperation confOp : opConfigurator.getConfiguredOperations() ) { - //validate policysets specified for the attachPoint - for (PolicySet policySet : confOp.getPolicySets()) { - if ( !policySet.isUnresolved() ) { - //appliesTo = policySet.getAppliesTo(); - - //if (!PolicyValidationUtils.isPolicySetApplicable(scdlFragment, appliesTo, attachPointType)) { - if (!applicablePolicySets.contains(policySet)) { - throw new PolicyValidationException("Policy Set '" + policySet.getName() - + " specified for operation " + confOp.getName() - + "' does not constrain extension type " - + attachPointType.getName()); - - } - } else { - throw new PolicyValidationException("Policy Set '" + policySet.getName() - + " specified for operation " + confOp.getName() - + "' is not defined in this domain "); - } - } - - //get rid of duplicate entries - for ( PolicySet policySet : confOp.getPolicySets() ) { - policySetTable.put(policySet.getName(), policySet); - } - - confOp.getPolicySets().clear(); - confOp.getPolicySets().addAll(policySetTable.values()); - policySetTable.clear(); - - //expand profile intents - for ( PolicySet policySet : confOp.getPolicySets() ) { - PolicyComputationUtils.expandProfileIntents(policySet.getProvidedIntents()); - } - } - } - - - private static void trimProvidedIntents(List requiredIntents, List policySets) { - for ( PolicySet policySet : policySets ) { - trimProvidedIntents(requiredIntents, policySet); - } - } - - private static void determineApplicableDomainPolicySets(List applicablePolicySets, - PolicySetAttachPoint policySetAttachPoint, - IntentAttachPointType intentAttachPointType) { - - if (policySetAttachPoint.getRequiredIntents().size() > 0) { - - // form a list of all intents required by the attach point - List combinedTargetIntents = new ArrayList(); - combinedTargetIntents.addAll(policySetAttachPoint.getRequiredIntents()); - for (PolicySet targetPolicySet : policySetAttachPoint.getPolicySets()) { - combinedTargetIntents.addAll(PolicyComputationUtils.findAndExpandProfileIntents(targetPolicySet.getProvidedIntents())); - } - - //since the set of applicable policysets for this attachpoint is known - //we only need to check in that list if there is a policyset that matches - for (PolicySet policySet : applicablePolicySets) { - // do not use the policy set if it provides intents that conflict with required intents - boolean conflict = false; - List providedIntents = PolicyComputationUtils.findAndExpandProfileIntents(policySet.getProvidedIntents()); - checkConflict: for (Intent intent : providedIntents) { - for (Intent excluded : intent.getExcludedIntents()) { - if (combinedTargetIntents.contains(excluded)) { - conflict = true; - break checkConflict; - } - } - } - if (conflict) - continue; - int prevSize = policySetAttachPoint.getRequiredIntents().size(); - trimProvidedIntents(policySetAttachPoint.getRequiredIntents(), policySet); - // if any intent was trimmed off, then this policyset must - // be attached to the intent attachpoint's policyset - if (prevSize != policySetAttachPoint.getRequiredIntents().size()) { - policySetAttachPoint.getPolicySets().add(policySet); - } - } - } - } - - private static boolean isProvidedInherently(IntentAttachPointType attachPointType, Intent intent) { - return ( attachPointType != null && - (( attachPointType.getAlwaysProvidedIntents() != null && - attachPointType.getAlwaysProvidedIntents().contains(intent) ) || - ( attachPointType.getMayProvideIntents() != null && - attachPointType.getMayProvideIntents().contains(intent) ) - ) ); - } - - private static void trimProvidedIntents(List requiredIntents, PolicySet policySet) { - for ( Intent providedIntent : policySet.getProvidedIntents() ) { - if ( requiredIntents.contains(providedIntent) ) { - requiredIntents.remove(providedIntent); - } - } - - for ( Intent mappedIntent : policySet.getMappedPolicies().keySet() ) { - if ( requiredIntents.contains(mappedIntent) ) { - requiredIntents.remove(mappedIntent); - } - } - } - - private static void filterDuplicatesAndQualifiableIntents(IntentAttachPoint intentAttachPoint) { - //remove duplicates - Map intentsTable = new HashMap(); - for ( Intent intent : intentAttachPoint.getRequiredIntents() ) { - intentsTable.put(intent.getName(), intent); - } - - //where qualified form of intent exists retain it and remove the qualifiable intent - Map intentsTableCopy = new HashMap(intentsTable); - //if qualified form of intent exists remove the unqualified form - for ( Intent intent : intentsTableCopy.values() ) { - if ( intent instanceof QualifiedIntent ) { - QualifiedIntent qualifiedIntent = (QualifiedIntent)intent; - if ( intentsTable.get(qualifiedIntent.getQualifiableIntent().getName()) != null ) { - intentsTable.remove(qualifiedIntent.getQualifiableIntent().getName()); - } - } - } - intentAttachPoint.getRequiredIntents().clear(); - intentAttachPoint.getRequiredIntents().addAll(intentsTable.values()); - } - - private static void validateIntents(ConfiguredOperation confOp, IntentAttachPointType attachPointType) throws PolicyValidationException { - boolean found = false; - if ( attachPointType != null ) { - //validate intents specified against the parent (binding / implementation) - found = false; - for (Intent intent : confOp.getRequiredIntents()) { - if ( !intent.isUnresolved() ) { - for (QName constrained : intent.getConstrains()) { - if (PolicyValidationUtils.isConstrained(constrained, attachPointType)) { - found = true; - break; - } - } - - if (!found) { - throw new PolicyValidationException("Policy Intent '" + intent.getName() - + " specified for operation " + confOp.getName() - + "' does not constrain extension type " - + attachPointType.getName()); - } - } else { - throw new PolicyValidationException("Policy Intent '" + intent.getName() - + " specified for operation " + confOp.getName() - + "' is not defined in this domain "); - } - } - } - } - - static void computeBindingIntentsAndPolicySets(Contract contract) throws PolicyValidationException { - for (Binding binding : contract.getBindings()) { - if (binding instanceof PolicySetAttachPoint) { - PolicySetAttachPoint policiedBinding = (PolicySetAttachPoint)binding; - computeIntents((IntentAttachPoint)binding, contract.getRequiredIntents()); - - aggregateAndPruneApplicablePolicySets(contract.getApplicablePolicySets(), - policiedBinding.getApplicablePolicySets()); - - computePolicySets(policiedBinding, contract.getPolicySets()); - - PolicyComputationUtils.checkForMutuallyExclusiveIntents( - policiedBinding.getRequiredIntents(), - policiedBinding.getPolicySets(), - policiedBinding.getType(), - contract.getName()); - - if ( binding instanceof OperationsConfigurator && - contract instanceof OperationsConfigurator ) { - //add or merge service operations to the binding - addInheritedOpConfOnBindings((OperationsConfigurator)contract, - (OperationsConfigurator)binding, - (PolicySetAttachPoint)binding); - - computeIntentsForOperations((IntentAttachPoint)binding); - computePolicySetsForOperations(contract.getApplicablePolicySets(), - policiedBinding); - - for ( ConfiguredOperation confOp : ((OperationsConfigurator)binding).getConfiguredOperations() ) { - PolicyComputationUtils.checkForMutuallyExclusiveIntents( - confOp.getRequiredIntents(), - confOp.getPolicySets(), - policiedBinding.getType(), - contract.getName() + "." + confOp.getName()); - } - - } - } - } - - if ( contract.getCallback() != null ) { - for (Binding binding : contract.getCallback().getBindings()) { - if (binding instanceof PolicySetAttachPoint) { - PolicySetAttachPoint policiedBinding = (PolicySetAttachPoint)binding; - computeIntents((IntentAttachPoint)binding, contract.getCallback().getRequiredIntents()); - - aggregateAndPruneApplicablePolicySets(contract.getApplicablePolicySets(), - policiedBinding.getApplicablePolicySets()); - - computePolicySets(policiedBinding, contract.getCallback().getPolicySets()); - - PolicyComputationUtils.checkForMutuallyExclusiveIntents( - policiedBinding.getRequiredIntents(), - policiedBinding.getPolicySets(), - policiedBinding.getType(), - contract.getName() + " callback"); - - } - } - } - } - - private static void computeIntents(IntentAttachPoint policiedBinding, List inheritedIntents) - throws PolicyValidationException { - //since the parent component could also contain intents that apply to implementation - //and binding elements within, we filter out only those that apply to this binding type - List prunedIntents = computeInheritableIntents(policiedBinding.getType(), - inheritedIntents); - policiedBinding.getRequiredIntents().addAll(prunedIntents); - - normalizeIntents(policiedBinding); - } - - private static void computePolicySets(PolicySetAttachPoint policiedBinding, - List inheritedPolicySets) throws PolicyValidationException { - - List prunedPolicySets = computeInheritablePolicySets(inheritedPolicySets, - policiedBinding.getApplicablePolicySets()); - policiedBinding.getPolicySets().addAll(prunedPolicySets); - normalizePolicySets(policiedBinding); - } - - static void determineApplicableBindingPolicySets(Contract source, Contract target) throws PolicyConfigurationException { - List intentsCopy = null; - for (Binding aBinding : source.getBindings()) { - if (aBinding instanceof PolicySetAttachPoint) { - PolicySetAttachPoint policiedBinding = (PolicySetAttachPoint)aBinding; - IntentAttachPointType bindingType = policiedBinding.getType(); - - - intentsCopy = new ArrayList(policiedBinding.getRequiredIntents()); - // add the target component's intents to the reference binding - if (target != null) { - for (Intent intent : target.getRequiredIntents()) { - if (!policiedBinding.getRequiredIntents().contains(intent)) { - for (QName constrained : intent.getConstrains()) { - if (bindingType != null && bindingType.getName().getNamespaceURI() - .equals(constrained.getNamespaceURI()) - && bindingType.getName().getLocalPart().startsWith(constrained - .getLocalPart())) { - policiedBinding.getRequiredIntents().add(intent); - break; - } - } - } - } - } - - //trim intents specified in operations. First check for policysets specified on the operation - //and then in the parent implementation - if ( aBinding instanceof OperationsConfigurator ) { - OperationsConfigurator opConfigurator = (OperationsConfigurator)aBinding; - - for ( ConfiguredOperation confOp : opConfigurator.getConfiguredOperations() ) { - List opsIntentsCopy = new ArrayList(confOp.getRequiredIntents()); - - trimInherentlyProvidedIntents(policiedBinding.getType(), - confOp.getRequiredIntents()); - trimProvidedIntents(confOp.getRequiredIntents(), confOp.getPolicySets()); - trimProvidedIntents(confOp.getRequiredIntents(), policiedBinding.getPolicySets()); - - determineApplicableDomainPolicySets(policiedBinding.getApplicablePolicySets(), - confOp, - policiedBinding.getType()); - - if (confOp.getRequiredIntents().size() > 0) { - throw new PolicyConfigurationException("The following are unfulfilled intents for operations configured in " - + "binding - " + aBinding.getName() + "\nUnfulfilled Intents = " + - confOp.getRequiredIntents()); - } - - //the intents list could have been trimmed when matching for policysets - //since the bindings may need the original set of intents we copy that back - confOp.getRequiredIntents().clear(); - confOp.getRequiredIntents().addAll(opsIntentsCopy); - - } - } - - trimInherentlyProvidedIntents(policiedBinding.getType(), - policiedBinding.getRequiredIntents()); - trimProvidedIntents(policiedBinding.getRequiredIntents(), policiedBinding - .getPolicySets()); - - // determine additional policysets that match remaining intents - // TODO: resolved to domain policy registry and attach suitable - // policy sets to the binding - // for now using the SCA Definitions instead of registry - // if there are intents that are not provided by any policy set - // throw a warning - determineApplicableDomainPolicySets(source, policiedBinding); - - //the intents list could have been trimmed when matching for policysets - //since the bindings may need the original set of intents we copy that back - policiedBinding.getRequiredIntents().clear(); - policiedBinding.getRequiredIntents().addAll(intentsCopy); - - } - } - } - - private static void determineApplicableDomainPolicySets(Contract contract, - PolicySetAttachPoint policiedBinding) - throws PolicyConfigurationException { - //if ( domainPolicySets != null) { - determineApplicableDomainPolicySets(policiedBinding.getApplicablePolicySets(), - policiedBinding, - policiedBinding.getType()); - - if ( policiedBinding.getRequiredIntents().size() > 0 ) { - if ( contract instanceof Service ) { - throw new PolicyConfigurationException("The following are unfulfilled intents for " + - "binding in service - " + contract.getName() + "\nUnfulfilled Intents = " + - policiedBinding.getRequiredIntents()); - } else { - throw new PolicyConfigurationException("The are unfulfilled intents for " + - "binding in reference - " + contract.getName() + "\nUnfulfilled Intents = " + - policiedBinding.getRequiredIntents()); - } - } - //} - } - - private static void addInheritedOpConfOnBindings(OperationsConfigurator source, - OperationsConfigurator target, - PolicySetAttachPoint attachPoint) throws PolicyValidationException { - boolean found = false; - - List additionalOperations = new ArrayList(); - for ( ConfiguredOperation sourceConfOp : source.getConfiguredOperations() ) { - for ( ConfiguredOperation targetConfOp : target.getConfiguredOperations() ) { - if ( sourceConfOp.getName().equals(targetConfOp.getName())) { - List prunedIntents = computeInheritableIntents(attachPoint.getType(), - sourceConfOp.getRequiredIntents()); - PolicyComputationUtils.addInheritedIntents(prunedIntents, - targetConfOp.getRequiredIntents()); - - List prunedPolicySets = computeInheritablePolicySets(sourceConfOp.getPolicySets(), - attachPoint.getApplicablePolicySets()); - PolicyComputationUtils.addInheritedPolicySets(prunedPolicySets, targetConfOp.getPolicySets(), true); - found = true; - break; - } - } - - if ( !found ) { - additionalOperations.add(sourceConfOp); - } - } - - if ( !additionalOperations.isEmpty() ) { - target.getConfiguredOperations().addAll(additionalOperations); - } - } - - private static void aggregateAndPruneApplicablePolicySets(List source, List target) { - target.addAll(source); - //strip duplicates - Hashtable policySetTable = new Hashtable(); - for ( PolicySet policySet : target ) { - policySetTable.put(policySet.getName(), policySet); - } - - target.clear(); - target.addAll(policySetTable.values()); - } - - static void inheritDefaultPolicies(Base parent, List contracts) { - - for (Contract contract : contracts) { - - // The contract inherits default policies from the parent composite/component. - if ( parent instanceof PolicySetAttachPoint ) { - PolicyComputationUtils.addDefaultPolicies( - ((PolicySetAttachPoint)parent).getRequiredIntents(), - ((PolicySetAttachPoint)parent).getPolicySets(), - contract.getRequiredIntents(), - contract.getPolicySets()); - } - - // The contract's configured operations inherit default policies from the contract. - for ( ConfiguredOperation confOp : contract.getConfiguredOperations() ) { - PolicyComputationUtils.addDefaultPolicies( - contract.getRequiredIntents(), - contract.getPolicySets(), - confOp.getRequiredIntents(), - confOp.getPolicySets()); - } - - // The contract's callback inherits default policies from the contract. - if (contract.getCallback() != null) { - PolicyComputationUtils.addDefaultPolicies( - contract.getRequiredIntents(), - contract.getPolicySets(), - contract.getCallback().getRequiredIntents(), - contract.getCallback().getPolicySets()); - } - - } - } - - static void computeImplementationIntentsAndPolicySets(Implementation implementation, Component parent) - throws PolicyValidationException, PolicyConfigurationException { - if ( implementation instanceof PolicySetAttachPoint ) { - PolicySetAttachPoint policiedImplementation = (PolicySetAttachPoint)implementation; - //since for an implementation the component has its policy intents and policysets its possible - //that there are some intents there that does not constrain the implementation.. so prune - List prunedIntents = computeInheritableIntents(policiedImplementation.getType(), - parent.getRequiredIntents()); - parent.getRequiredIntents().clear(); - parent.getRequiredIntents().addAll(prunedIntents); - normalizeIntents(parent); - - computeIntentsForOperations((OperationsConfigurator)parent, - (IntentAttachPoint)implementation, - parent.getRequiredIntents()); - - - List prunedPolicySets = computeInheritablePolicySets(parent.getPolicySets(), - parent.getApplicablePolicySets()); - parent.getPolicySets().clear(); - parent.getPolicySets().addAll(prunedPolicySets); - normalizePolicySets(parent); - - PolicyComputationUtils.checkForMutuallyExclusiveIntents( - parent.getRequiredIntents(), - parent.getPolicySets(), - policiedImplementation.getType(), - parent.getName()); - - computePolicySetsForOperations(parent.getApplicablePolicySets(), - (OperationsConfigurator)parent, - (PolicySetAttachPoint)implementation); - - for ( ConfiguredOperation confOp : ((OperationsConfigurator)parent).getConfiguredOperations() ) { - PolicyComputationUtils.checkForMutuallyExclusiveIntents( - confOp.getRequiredIntents(), - confOp.getPolicySets(), - policiedImplementation.getType(), - parent.getName() + "." + confOp.getName()); - } - - determineApplicableImplementationPolicySets(parent); - - } - } - - private static void determineApplicableImplementationPolicySets(Component component) throws PolicyConfigurationException { - List intentsCopy = null; - if ( component.getImplementation() instanceof PolicySetAttachPoint ) { - PolicySetAttachPoint policiedImplementation = (PolicySetAttachPoint)component.getImplementation(); - - //trim intents specified in operations. First check for policysets specified on the operation - //and then in the parent implementation - if ( component instanceof OperationsConfigurator ) { - OperationsConfigurator opConfigurator = (OperationsConfigurator)component; - - for ( ConfiguredOperation confOp : opConfigurator.getConfiguredOperations() ) { - intentsCopy = new ArrayList(confOp.getRequiredIntents()); - trimInherentlyProvidedIntents(policiedImplementation.getType(), - confOp.getRequiredIntents()); - trimProvidedIntents(confOp.getRequiredIntents(), confOp.getPolicySets()); - trimProvidedIntents(confOp.getRequiredIntents(), component.getPolicySets()); - - determineApplicableDomainPolicySets(component.getApplicablePolicySets(), - confOp, - policiedImplementation.getType()); - - if (confOp.getRequiredIntents().size() > 0) { - throw new PolicyConfigurationException("The following are unfulfilled intents for operations configured in " - + "component implementation - " + component.getName() + "\nUnfulfilled Intents = " + - confOp.getRequiredIntents()); - } - - //the intents list could have been trimmed when matching for policysets - //since the implementation may need the original set of intents we copy that back - confOp.getRequiredIntents().clear(); - confOp.getRequiredIntents().addAll(intentsCopy); - } - } - - intentsCopy = new ArrayList(component.getRequiredIntents()); - trimInherentlyProvidedIntents(policiedImplementation.getType(), - component.getRequiredIntents()); - trimProvidedIntents(component.getRequiredIntents(), component.getPolicySets()); - - //determine additional policysets that match remaining intents - //if there are intents that are not provided by any policy set throw a warning - //TODO: resolved to domain policy registry and attach suitable policy sets to the implementation - //...for now using the SCA Definitions instead of registry - //if ( domainPolicySets != null) { - determineApplicableDomainPolicySets(component.getApplicablePolicySets(), - component, - policiedImplementation.getType()); - - if (component.getRequiredIntents().size() > 0) { - throw new PolicyConfigurationException("The following are unfulfilled intents for component implementation - " + component - .getName() + "\nUnfulfilled Intents = " + component.getRequiredIntents()); - } - //} - - //the intents list could have been trimmed when matching for policysets - //since the bindings may need the original set of intents we copy that back - component.getRequiredIntents().clear(); - component.getRequiredIntents().addAll(intentsCopy); - } - } -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PrintUtil.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PrintUtil.java deleted file mode 100644 index e85aec8cea..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PrintUtil.java +++ /dev/null @@ -1,273 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.builder.impl; - -import java.beans.BeanInfo; -import java.beans.IntrospectionException; -import java.beans.Introspector; -import java.beans.PropertyDescriptor; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.PrintWriter; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import org.w3c.dom.Node; - -/** - * A simple print utility class to help print model instances. - * - * @version $Rev$ $Date$ - */ -class PrintUtil { - private boolean useGetters = false; - private PrintWriter out; - private int indent; - - public PrintUtil(PrintWriter out, boolean useGetters) { - this.out = out; - this.useGetters = useGetters; - } - - public PrintUtil(OutputStream out) { - this.out = new PrintWriter(new OutputStreamWriter(out), true); - } - - void indent() { - for (int i = 0; i < indent; i++) { - out.print(" "); - } - } - - /** - * Print an object. - * - * @param object - */ - public void print(Object object) { - Set objects = new HashSet(); - print(object, objects); - } - - /** - * Print an object. - * - * @param object - */ - private void print(Object object, Set printed) { - if (object == null) { - return; - } - int id = System.identityHashCode(object); - if (printed.contains(id)) { - - // If we've already printed an object, print just it's HashCode - indent(); - out.println(object.getClass().getName() + "@" + id); - } else { - printed.add(id); - try { - - // Print the object class name - indent(); - out.println(object.getClass().getSimpleName() + " {"); - - // Get the object's properties - ValueAccessor accessor = useGetters ? new PropertyAccessor(object) : new FieldAccessor(object); - for (int i = 0; i < accessor.size(); i++) { - try { - - // Get the value of each property - Object value = accessor.getValue(i); - if (value != null) { - - // Convert array value into a list - if (value.getClass().isArray()) { - value = Arrays.asList((Object[])value); - } - - // Print elements in a list - if (value instanceof List) { - if (!((List)value).isEmpty()) { - indent++; - indent(); - out.println(accessor.getName(i) + "= ["); - - // Print each element, recursively - for (Object element : (List)value) { - indent++; - print(element, printed); - indent--; - } - indent(); - out.println(" ]"); - indent--; - } - } else { - Class valueClass = value.getClass(); - - // Print a primitive, java built in type or - // enum, using toString() - if (valueClass.isPrimitive() || valueClass.getName().startsWith("java.") - || valueClass.getName().startsWith("javax.") - || valueClass.isEnum()) { - if (!accessor.getName(i).equals("class")) { - if (!(Boolean.FALSE.equals(value))) { - indent++; - indent(); - out.println(accessor.getName(i) + "=" + value.toString()); - indent--; - } - } - } else if (value instanceof Node) { - indent++; - indent(); - out.println(accessor.getName(i) + "=" + value.toString()); - indent--; - } else { - - // Print an object, recursively - indent++; - indent(); - out.println(accessor.getName(i) + "= {"); - indent++; - print(value, printed); - indent--; - indent(); - out.println("}"); - indent--; - } - } - } - } catch (Exception e) { - } - } - indent(); - out.println("}"); - } catch (Exception e) { - indent(); - out.println(e); - } - } - } - - public static interface ValueAccessor { - int size(); - - String getName(int i); - - Object getValue(int i) throws Exception; - } - - /** - * Java field reflection based value accessor - */ - private static class FieldAccessor implements ValueAccessor { - - private Object object; - private List fields; - - public FieldAccessor(Object object) { - this.fields = getAllFields(object.getClass()); - this.object = object; - } - - public String getName(int i) { - return fields.get(i).getName(); - } - - public Object getValue(int i) throws Exception { - return fields.get(i).get(object); - } - - public int size() { - return fields.size(); - } - - } - - /** - * JavaBean-based value accessor - */ - private static class PropertyAccessor implements ValueAccessor { - - private Object object; - private PropertyDescriptor[] fields; - - public PropertyAccessor(Object object) throws IntrospectionException { - BeanInfo beanInfo = Introspector.getBeanInfo(object.getClass()); - this.fields = beanInfo.getPropertyDescriptors(); - this.object = object; - } - - public String getName(int i) { - return fields[i].getName(); - } - - public Object getValue(int i) throws Exception { - Method getter = fields[i].getReadMethod(); - if (getter != null) { - return getter.invoke(object); - } - return null; - } - - public int size() { - return fields.length; - } - - } - - /** - * Returns a collection of fields declared by a class - * or one of its supertypes - */ - private static List getAllFields(Class clazz) { - return getAllFields(clazz, new ArrayList()); - } - - /** - * Recursively evaluates the type hierarchy to return all fields - */ - private static List getAllFields(Class clazz, List fields) { - if (clazz == null || clazz.isArray() || Object.class.equals(clazz)) { - return fields; - } - fields = getAllFields(clazz.getSuperclass(), fields); - Field[] declaredFields = clazz.getDeclaredFields(); - for (final Field field : declaredFields) { - AccessController.doPrivileged(new PrivilegedAction() { - public Object run() { - field.setAccessible(true); // ignore Java accessibility - return null; - } - }); - fields.add(field); - } - return fields; - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ProblemImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ProblemImpl.java deleted file mode 100644 index 03f24dfae8..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ProblemImpl.java +++ /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. - */ - -package org.apache.tuscany.sca.assembly.builder.impl; - -import java.util.logging.Formatter; -import java.util.logging.Level; -import java.util.logging.LogRecord; -import java.util.logging.Logger; -import java.util.logging.SimpleFormatter; - -import org.apache.tuscany.sca.monitor.Problem; - -/** - * Reports a composite assembly problem. - * - * @version $Rev$ $Date$ - */ -public class ProblemImpl implements Problem { - - private String sourceClassName; - private String bundleName; - private Severity severity; - private Object problemObject; - private String messageId; - private Object[] messageParams; - private Exception cause; - - /** - * Construct a new problem - * - * @param sourceClassName the class name reporting the problem - * @param bundleName the name of the message bundle to use - * @param severity the severity of the problem - * @param problemObject the model object for which the problem is being reported - * @param messageId the id of the problem message - * @param messageParams the parameters of the problem message - */ - public ProblemImpl(String sourceClassName, String bundleName, Severity severity, Object problemObject, String messageId, Object... messageParams ) { - this.sourceClassName = sourceClassName; - this.bundleName = bundleName; - this.severity = severity; - this.problemObject = problemObject; - this.messageId = messageId; - this.messageParams = messageParams; - } - - /** - * Construct a new problem - * - * @param sourceClassName the class name reporting the problem - * @param bundleName the name of the message bundle to use - * @param severity the severity of the problem - * @param problemObject the model object for which the problem is being reported - * @param messageId the id of the problem message - * @param cause the exception which caused the problem - */ - public ProblemImpl(String sourceClassName, String bundleName, Severity severity, Object problemObject, String messageId, Exception cause) { - this.sourceClassName = sourceClassName; - this.bundleName = bundleName; - this.severity = severity; - this.problemObject = problemObject; - this.messageId = messageId; - this.cause = cause; - } - - public String getSourceClassName() { - return sourceClassName; - } - - public String getBundleName() { - return bundleName; - } - - public Severity getSeverity() { - return severity; - } - - public Object getProblemObject() { - return problemObject; - } - - public String getMessageId() { - return messageId; - } - - public Object[] getMessageParams() { - return messageParams; - } - - public Exception getCause() { - return cause; - } - - @Override - public String toString() { - Logger logger = Logger.getLogger(sourceClassName, bundleName); - - LogRecord record = new LogRecord(Level.INFO, messageId); - - if (cause == null){ - record.setParameters(messageParams); - - } else { - Object[] params = new String[1]; - params[0] = cause.toString(); - record.setParameters(params); - } - record.setResourceBundle(logger.getResourceBundle()); - record.setSourceClassName(sourceClassName); - - Formatter formatter = new SimpleFormatter(); - - return formatter.formatMessage(record); - } -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PropertyConfigurationUtil.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PropertyConfigurationUtil.java deleted file mode 100644 index 0105d4af50..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/PropertyConfigurationUtil.java +++ /dev/null @@ -1,213 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.builder.impl; - -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URL; -import java.net.URLConnection; -import java.util.Arrays; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.xml.XMLConstants; -import javax.xml.namespace.NamespaceContext; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.Source; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.dom.DOMResult; -import javax.xml.transform.sax.SAXSource; -import javax.xml.xpath.XPathConstants; -import javax.xml.xpath.XPathExpression; -import javax.xml.xpath.XPathExpressionException; - -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentProperty; -import org.apache.tuscany.sca.assembly.Property; -import org.apache.tuscany.sca.assembly.builder.CompositeBuilderException; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.xml.sax.InputSource; - -/** - * Utility class to deal with processing of component properties that are taking values from the parent - * composite's properties or an external file. - * - * @version $Rev$ $Date$ - */ -abstract class PropertyConfigurationUtil { - - private static Document evaluate(Document node, XPathExpression expression, DocumentBuilderFactory documentBuilderFactory) - throws XPathExpressionException, ParserConfigurationException { - - Node value = node.getDocumentElement(); - Node result = (Node)expression.evaluate(value, XPathConstants.NODE); - if (result == null) { - return null; - } - - // TODO: How to wrap the result into a Document? - Document document = documentBuilderFactory.newDocumentBuilder().newDocument(); - if (result instanceof Document) { - return (Document)result; - } else { - //Element root = document.createElementNS(null, "value"); - //document.appendChild(root); - document.appendChild(document.importNode(result, true)); - return document; - } - } - - private static Document loadFromFile(String file, TransformerFactory transformerFactory) throws MalformedURLException, IOException, - TransformerException, ParserConfigurationException { - URI uri = URI.create(file); - // URI resolution for relative URIs is done when the composite is resolved. - URL url = uri.toURL(); - URLConnection connection = url.openConnection(); - connection.setUseCaches(false); - InputStream is = null; - try { - is = connection.getInputStream(); - - Source streamSource = new SAXSource(new InputSource(is)); - DOMResult result = new DOMResult(); - javax.xml.transform.Transformer transformer = transformerFactory.newTransformer(); - transformer.transform(streamSource, result); - - Document document = (Document)result.getNode(); - - // TUSCANY-2377, Add a fake value element so it's consistent with - // the DOM tree loaded from inside SCDL - Element root = document.createElementNS(null, "value"); - root.appendChild(document.getDocumentElement()); - document.appendChild(root); - return document; - } finally { - if (is != null) { - is.close(); - } - } - } - - static void sourceComponentProperties(Map compositeProperties, - Component componentDefinition, - DocumentBuilderFactory documentBuilderFactory, - TransformerFactory transformerFactory) throws CompositeBuilderException, - ParserConfigurationException, - XPathExpressionException, - TransformerException, - IOException { - - List componentProperties = componentDefinition.getProperties(); - for (ComponentProperty aProperty : componentProperties) { - String source = aProperty.getSource(); - String file = aProperty.getFile(); - if (source != null) { - // $/... - int index = source.indexOf('/'); - if (index == -1) { - // Tolerating $prop - source = source + "/"; - index = source.length() - 1; - } - if (source.charAt(0) == '$') { - String name = source.substring(1, index); - Property compositeProp = compositeProperties.get(name); - if (compositeProp == null) { - throw new CompositeBuilderException("The 'source' cannot be resolved to a composite property: " + source); - } - - Document compositePropDefValues = (Document)compositeProp.getValue(); - - // FIXME: How to deal with namespaces? - Document node = evaluate(compositePropDefValues, aProperty.getSourceXPathExpression(), documentBuilderFactory); - - if (node != null) { - aProperty.setValue(node); - } - } else { - throw new CompositeBuilderException("The 'source' has an invalid value: " + source); - } - } else if (file != null) { - aProperty.setValue(loadFromFile(aProperty.getFile(), transformerFactory)); - - } - } - } - - private static class DOMNamespaceContext implements NamespaceContext { - private Node node; - - /** - * @param node - */ - public DOMNamespaceContext(Node node) { - super(); - this.node = node; - } - - public String getNamespaceURI(String prefix) { - if (prefix == null) { - throw new IllegalArgumentException("Prefix is null"); - } else if (XMLConstants.XML_NS_PREFIX.equals(prefix)) { - return XMLConstants.XML_NS_URI; - } else if (XMLConstants.XMLNS_ATTRIBUTE.equals(prefix)) { - return XMLConstants.XMLNS_ATTRIBUTE_NS_URI; - } - String ns = node.lookupNamespaceURI(prefix); - return ns == null ? XMLConstants.NULL_NS_URI : ns; - } - - public String getPrefix(String namespaceURI) { - if (namespaceURI == null) { - throw new IllegalArgumentException("Namespace URI is null"); - } else if (XMLConstants.XML_NS_URI.equals(namespaceURI)) { - return XMLConstants.XML_NS_PREFIX; - } else if (XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(namespaceURI)) { - return XMLConstants.XMLNS_ATTRIBUTE; - } - return node.lookupPrefix(namespaceURI); - } - - public Iterator getPrefixes(String namespaceURI) { - // Not implemented - if (namespaceURI == null) { - throw new IllegalArgumentException("Namespace URI is null"); - } else if (XMLConstants.XML_NS_URI.equals(namespaceURI)) { - return Arrays.asList(XMLConstants.XML_NS_PREFIX).iterator(); - } else if (XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(namespaceURI)) { - return Arrays.asList(XMLConstants.XMLNS_ATTRIBUTE).iterator(); - } - String prefix = getPrefix(namespaceURI); - if (prefix == null) { - return Collections.emptyList().iterator(); - } - return Arrays.asList(prefix).iterator(); - } - - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ReferenceConfigurationUtil.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ReferenceConfigurationUtil.java deleted file mode 100644 index 23d547efaf..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ReferenceConfigurationUtil.java +++ /dev/null @@ -1,264 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.builder.impl; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.assembly.CompositeReference; -import org.apache.tuscany.sca.assembly.Endpoint; -import org.apache.tuscany.sca.assembly.EndpointFactory; -import org.apache.tuscany.sca.assembly.Multiplicity; -import org.apache.tuscany.sca.assembly.OptimizableBinding; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * This class encapsulates utility methods to deal with reference definitions - * - * @version $Rev$ $Date$ - */ -abstract class ReferenceConfigurationUtil { - - /** - * Report a warning. - * - * @param problems - * @param message - * @param model - */ - private static void warning(Monitor monitor, String message, Object model, String... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(ReferenceConfigurationUtil.class.getName(), "assembly-validation-messages", Severity.WARNING, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - static boolean isValidMultiplicityOverride(Multiplicity definedMul, Multiplicity overridenMul) { - if (definedMul != overridenMul) { - switch (definedMul) { - case ZERO_N: - return overridenMul == Multiplicity.ZERO_ONE; - case ONE_N: - return overridenMul == Multiplicity.ONE_ONE; - default: - return false; - } - } else { - return true; - } - } - - static boolean validateMultiplicityAndTargets(Multiplicity multiplicity, - List targets, List bindings) { - - // Count targets - int count = targets.size(); - - //FIXME workaround, this validation is sometimes invoked too early - // before we get a chance to init the multiplicity attribute - if (multiplicity == null) { - return true; - } - - switch (multiplicity) { - case ZERO_N: - break; - case ZERO_ONE: - if (count > 1) { - return false; - } - break; - case ONE_ONE: - if (count != 1) { - if (count == 0) { - for (Binding binding: bindings) { - if (!(binding instanceof OptimizableBinding) || binding.getURI()!=null) { - return true; - } - } - } - return false; - } - break; - case ONE_N: - if (count < 1) { - if (count == 0) { - for (Binding binding: bindings) { - if (!(binding instanceof OptimizableBinding) || binding.getURI()!=null) { - return true; - } - } - } - return false; - } - break; - } - return true; - } - - /** - * Follow a reference promotion chain down to the innermost (non composite) - * component references. - * - * @param compositeReference - * @return - */ - static List getPromotedComponentReferences(CompositeReference compositeReference) { - List componentReferences = new ArrayList(); - collectPromotedComponentReferences(compositeReference, componentReferences); - return componentReferences; - } - - /** - * Follow a reference promotion chain down to the innermost (non composite) - * component references. - * - * @param compositeReference - * @param componentReferences - * @return - */ - private static void collectPromotedComponentReferences(CompositeReference compositeReference, - List componentReferences) { - for (ComponentReference componentReference : compositeReference.getPromotedReferences()) { - Reference reference = componentReference.getReference(); - if (reference instanceof CompositeReference) { - - // Continue to follow the reference promotion chain - collectPromotedComponentReferences((CompositeReference)reference, componentReferences); - - } else if (reference != null) { - - // Found a non-composite reference - componentReferences.add(componentReference); - } - } - } - - /** - * Override the bindings for a promoted reference from an outer component - * reference - * - * @param reference - * @param promotedReference - */ - static void reconcileReferenceBindings(Reference reference, - ComponentReference promotedReference, - AssemblyFactory assemblyFactory, - EndpointFactory endpointFactory, - Monitor monitor) { - - if (promotedReference.getMultiplicity() == Multiplicity.ONE_ONE || - promotedReference.getMultiplicity() == Multiplicity.ZERO_ONE) { - - // if necessary override the promoted endpoints (and bindings) with the top level bindings - if (reference.getBindings().size() > 0 ){ - - List bindingsToCopyDown = new ArrayList(); - List endpointsToCopyDown = new ArrayList(); - - for (Binding binding : reference.getBindings()) { - if ((!(binding instanceof OptimizableBinding)) || binding.getURI() != null) { - bindingsToCopyDown.add(binding); - - if (reference instanceof ComponentReference){ - for (Endpoint endpoint : ((ComponentReference)reference).getEndpoints()){ - if ( endpoint.getSourceBinding() == binding){ - endpointsToCopyDown.add(endpoint); - break; - } - } - } else { - // create a new endpoint to represent this promoted binding - Endpoint endpoint = endpointFactory.createEndpoint(); - endpoint.setTargetName(binding.getURI()); - endpoint.setSourceComponent(null); // TODO - fixed up at start - endpoint.setSourceComponentReference(promotedReference); - endpoint.setInterfaceContract(reference.getInterfaceContract()); - endpoint.setSourceBinding(binding); - endpointsToCopyDown.add(endpoint); - } - } - } - - if (bindingsToCopyDown.size() > 0) { - promotedReference.getBindings().clear(); - promotedReference.getBindings().addAll(bindingsToCopyDown); - - promotedReference.getEndpoints().clear(); - promotedReference.getEndpoints().addAll(endpointsToCopyDown); - } - } - - if (promotedReference.getBindings().size() > 1) { - warning(monitor, "ComponentReferenceMoreWire", promotedReference, promotedReference.getName()); - } - } else { - // if necessary merge the promoted endpoints (and bindings) with the top level bindings - if (reference.getBindings().size() > 0 ){ - - for (Binding binding : reference.getBindings()) { - if ((!(binding instanceof OptimizableBinding)) || binding.getURI() != null) { - promotedReference.getBindings().add(binding); - - if (reference instanceof ComponentReference){ - for (Endpoint endpoint : ((ComponentReference)reference).getEndpoints()){ - if ( endpoint.getSourceBinding() == binding){ - promotedReference.getEndpoints().add(endpoint); - break; - } - } - } else { - // create a new endpoint to represent this promoted binding - Endpoint endpoint = endpointFactory.createEndpoint(); - endpoint.setTargetName(binding.getURI()); - endpoint.setSourceComponent(null); // TODO - fixed up at start - endpoint.setSourceComponentReference(promotedReference); - endpoint.setInterfaceContract(reference.getInterfaceContract()); - endpoint.setSourceBinding(binding); - promotedReference.getEndpoints().add(endpoint); - } - } - } - } - } - - Set callbackBindings = new HashSet(); - if (promotedReference.getCallback() != null) { - callbackBindings.addAll(promotedReference.getCallback().getBindings()); - } - if (reference.getCallback() != null) { - callbackBindings.addAll(reference.getCallback().getBindings()); - } - promotedReference.setCallback(assemblyFactory.createCallback()); - for (Binding binding : callbackBindings) { - if ((!(binding instanceof OptimizableBinding)) || binding.getURI() != null) { - promotedReference.getCallback().getBindings().add(binding); - } - } - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ServiceConfigurationUtil.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ServiceConfigurationUtil.java deleted file mode 100644 index 41a8b3f8ba..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/impl/ServiceConfigurationUtil.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.assembly.builder.impl; - -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.CompositeService; -import org.apache.tuscany.sca.assembly.Service; - -/** - * This class encapsulates utility methods to deal with service definitions. - * - * @version $Rev$ $Date$ - */ -abstract class ServiceConfigurationUtil { - - /** - * Follow a service promotion chain down to the inner most (non composite) - * component service. - * - * @param topCompositeService - * @return - */ - static ComponentService getPromotedComponentService(CompositeService compositeService) { - ComponentService componentService = compositeService.getPromotedService(); - if (componentService != null) { - Service service = componentService.getService(); - if (componentService.getName() != null && service instanceof CompositeService) { - - // Continue to follow the service promotion chain - return getPromotedComponentService((CompositeService)service); - - } else { - - // Found a non-composite service - return componentService; - } - } else { - - // No promoted service - return null; - } - } - - /** - * Follow a service promotion chain down to the innermost (non-composite) component. - * - * @param compositeService - * @return - */ - static Component getPromotedComponent(CompositeService compositeService) { - ComponentService componentService = compositeService.getPromotedService(); - if (componentService != null) { - Service service = componentService.getService(); - if (componentService.getName() != null && service instanceof CompositeService) { - - // Continue to follow the service promotion chain - return getPromotedComponent((CompositeService)service); - - } else { - - // Found a non-composite service - return compositeService.getPromotedComponent(); - } - } else { - - // No promoted service - return null; - } - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AbstractPropertyImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AbstractPropertyImpl.java deleted file mode 100644 index b7c63dc2b4..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AbstractPropertyImpl.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.AbstractProperty; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentAttachPointType; - -/** - * Represents an abstract property. - * - * @version $Rev$ $Date$ - */ -public class AbstractPropertyImpl extends ExtensibleImpl implements AbstractProperty { - private Object value; - private String name; - private QName xsdType; - private QName xsdElement; - private boolean many; - private boolean mustSupply; - private List requiredIntents = new ArrayList(); - - - public List getRequiredIntents() { - return requiredIntents; - } - - /** - * Constructs a new abstract property. - */ - protected AbstractPropertyImpl() { - } - - public Object getValue() { - return value; - } - - public String getName() { - return name; - } - - public QName getXSDElement() { - return xsdElement; - } - - public QName getXSDType() { - return xsdType; - } - - public boolean isMany() { - return many; - } - - public boolean isMustSupply() { - return mustSupply; - } - - public void setValue(Object defaultValue) { - this.value = defaultValue; - } - - public void setMany(boolean many) { - this.many = many; - } - - public void setMustSupply(boolean mustSupply) { - this.mustSupply = mustSupply; - } - - public void setName(String name) { - this.name = name; - } - - public void setXSDElement(QName element) { - this.xsdElement = element; - } - - public void setXSDType(QName type) { - this.xsdType = type; - } - - public IntentAttachPointType getType() { - return null; - } - - public void setType(IntentAttachPointType type) { - } - - public void setRequiredIntents(List intents) { - this.requiredIntents = intents; - } -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AbstractReferenceImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AbstractReferenceImpl.java deleted file mode 100644 index d0ee3832c5..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AbstractReferenceImpl.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.assembly.impl; - -import org.apache.tuscany.sca.assembly.AbstractReference; -import org.apache.tuscany.sca.assembly.Multiplicity; - -/** - * Represents an abstract reference - * - * @version $Rev$ $Date$ - */ -public class AbstractReferenceImpl extends ContractImpl implements AbstractReference { - private Multiplicity multiplicity = Multiplicity.ONE_ONE; - - /** - * Constructs a new abstract reference. - */ - protected AbstractReferenceImpl() { - } - - public Multiplicity getMultiplicity() { - return multiplicity; - } - - public void setMultiplicity(Multiplicity multiplicity) { - this.multiplicity = multiplicity; - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AbstractServiceImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AbstractServiceImpl.java deleted file mode 100644 index 346764b1b4..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AbstractServiceImpl.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.impl; - -import org.apache.tuscany.sca.assembly.AbstractService; - -/** - * Represents an abstract service - * - * @version $Rev$ $Date$ - */ -public class AbstractServiceImpl extends ContractImpl implements AbstractService { - - /** - * Constructs a new abstract service. - */ - protected AbstractServiceImpl() { - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AssemblyFactoryImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AssemblyFactoryImpl.java deleted file mode 100644 index 016a9a5b05..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AssemblyFactoryImpl.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.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.Property; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.assembly.Wire; - -/** - * A factory for the assembly model. - * - * @version $Rev$ $Date$ - */ -public abstract class AssemblyFactoryImpl implements AssemblyFactory { - - public AbstractProperty createAbstractProperty() { - return new AbstractPropertyImpl(); - } - - public AbstractReference createAbstractReference() { - return new AbstractReferenceImpl(); - } - - public AbstractService createAbstractService() { - return new AbstractServiceImpl(); - } - - public Callback createCallback() { - return new CallbackImpl(); - } - - public Component createComponent() { - return new ComponentImpl(); - } - - public ComponentProperty createComponentProperty() { - return new ComponentPropertyImpl(); - } - - public ComponentReference createComponentReference() { - return new ComponentReferenceImpl(); - } - - public ComponentService createComponentService() { - return new ComponentServiceImpl(); - } - - public ComponentType createComponentType() { - return new ComponentTypeImpl(); - } - - public Composite createComposite() { - return new CompositeImpl(); - } - - public CompositeReference createCompositeReference() { - return new CompositeReferenceImpl(); - } - - public CompositeService createCompositeService() { - return new CompositeServiceImpl(); - } - - public ConstrainingType createConstrainingType() { - return new ConstrainingTypeImpl(); - } - - public Property createProperty() { - return new PropertyImpl(); - } - - public Reference createReference() { - return new ReferenceImpl(); - } - - public Service createService() { - return new ServiceImpl(); - } - - public Wire createWire() { - return new WireImpl(); - } - - public ConfiguredOperation createConfiguredOperation() { - return new ConfiguredOperationImpl(); - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/BaseImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/BaseImpl.java deleted file mode 100644 index 553e600bc9..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/BaseImpl.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.assembly.impl; - -import org.apache.tuscany.sca.assembly.Base; - -/** - * Convenience base class for assembly model objects. - * - * @version $Rev$ $Date$ - */ -public abstract class BaseImpl implements Base { - private boolean unresolved; - - /** - * Constructs a new base model object. - */ - protected BaseImpl() { - } - - public boolean isUnresolved() { - return unresolved; - } - - public void setUnresolved(boolean undefined) { - this.unresolved = undefined; - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CallbackImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CallbackImpl.java deleted file mode 100644 index 4082d81fdb..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CallbackImpl.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Callback; -import org.apache.tuscany.sca.assembly.ConfiguredOperation; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentAttachPointType; -import org.apache.tuscany.sca.policy.PolicySet; - -/** - * Represents a reference. - * - * @version $Rev$ $Date$ - */ -public class CallbackImpl extends ExtensibleImpl implements Callback { - private List bindings = new ArrayList(); - private List requiredIntents = new ArrayList(); - private List policySets = new ArrayList(); - private List configuredOperations = new ArrayList(); - private List applicablePolicySets = new ArrayList(); - - public List getPolicySets() { - return policySets; - } - - public List getRequiredIntents() { - return requiredIntents; - } - - protected CallbackImpl() { - } - - public List getBindings() { - return bindings; - } - - public IntentAttachPointType getType() { - return null; - } - - public void setType(IntentAttachPointType type) { - } - - public void setPolicySets(List policySets) { - this.policySets = policySets; - } - - public void setRequiredIntents(List intents) { - this.requiredIntents = intents; - } - - public List getConfiguredOperations() { - return configuredOperations; - } - - public List getApplicablePolicySets() { - return applicablePolicySets; - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentImpl.java deleted file mode 100644 index 34429a6703..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentImpl.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.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.ConfiguredOperation; -import org.apache.tuscany.sca.assembly.ConstrainingType; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.assembly.OperationsConfigurator; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentAttachPointType; -import org.apache.tuscany.sca.policy.PolicySet; - -/** - * Represents a component. - * - * @version $Rev$ $Date$ - */ -public class ComponentImpl extends ExtensibleImpl implements Component, Cloneable, OperationsConfigurator { - private ConstrainingType constrainingType; - private Implementation implementation; - private String name; - private String uri; - private List properties = new ArrayList(); - private List references = new ArrayList(); - private List services = new ArrayList(); - private List requiredIntents = new ArrayList(); - private List policySets = new ArrayList(); - private Boolean autowire; - private IntentAttachPointType type; - private List configuredImplOperations = new ArrayList(); - private List applicablePolicySets = new ArrayList(); - /** - * Constructs a new component. - */ - protected ComponentImpl() { - } - - @Override - public Object clone() throws CloneNotSupportedException { - ComponentImpl clone = (ComponentImpl)super.clone(); - - clone.properties = new ArrayList(); - for (ComponentProperty property : getProperties()) { - clone.properties.add((ComponentProperty)property.clone()); - } - clone.references = new ArrayList(); - for (ComponentReference reference : getReferences()) { - clone.references.add((ComponentReference)reference.clone()); - } - clone.services = new ArrayList(); - for (ComponentService service : getServices()) { - clone.services.add((ComponentService)service.clone()); - } - return clone; - } - - public String getURI() { - return uri; - } - - public void setURI(String uri) { - this.uri = uri; - } - - public ConstrainingType getConstrainingType() { - return constrainingType; - } - - public Implementation getImplementation() { - return implementation; - } - - public String getName() { - return name; - } - - public List getProperties() { - return properties; - } - - public List getReferences() { - return references; - } - - public List 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 getRequiredIntents() { - return requiredIntents; - } - - public List getPolicySets() { - return policySets; - } - - public boolean isAutowire() { - return (autowire == null) ? false : autowire.booleanValue(); - } - - public void setAutowire(Boolean autowire) { - this.autowire = autowire; - } - - public Boolean getAutowire() { - return autowire; - } - - public IntentAttachPointType getType() { - return type; - } - - public void setType(IntentAttachPointType type) { - this.type = type; - } - - public void setPolicySets(List policySets) { - this.policySets = policySets; - - } - - public void setRequiredIntents(List intents) { - this.requiredIntents = intents; - - } - - public List getConfiguredOperations() { - return configuredImplOperations; - } - - public void setConfiguredOperations(List configuredOperations) { - this.configuredImplOperations = configuredOperations; - } - - public List getApplicablePolicySets() { - return applicablePolicySets; - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentPropertyImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentPropertyImpl.java deleted file mode 100644 index e2e7b59896..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentPropertyImpl.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.assembly.impl; - -import javax.xml.xpath.XPathExpression; - -import org.apache.tuscany.sca.assembly.ComponentProperty; -import org.apache.tuscany.sca.assembly.Property; - -/** - * Represents a component property. - * - * @version $Rev$ $Date$ - */ -public class ComponentPropertyImpl extends PropertyImpl implements ComponentProperty, Cloneable { - private String file; - private Property property; - private String source; - private XPathExpression sourceXPathExpression; - - /** - * Constructs a new component property. - */ - protected ComponentPropertyImpl() { - } - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - - // FIXME getValue should not delegate to property.getValue() - // Doing this violates the setValue/getValue semantics, as you - // can call setValue() then get a different value from getValue() - @Override - public Object getValue() { - if (super.getValue() == null && property != null) { - return property.getValue(); - } else { - return super.getValue(); - } - } - - public String getFile() { - return file; - } - - public Property getProperty() { - return property; - } - - public String getSource() { - return source; - } - - public void setFile(String file) { - this.file = file; - } - - public void setProperty(Property property) { - this.property = property; - } - - public void setSource(String source) { - this.source = source; - } - - public XPathExpression getSourceXPathExpression() { - return sourceXPathExpression; - } - - public void setSourceXPathExpression(XPathExpression sourceXPathExpression) { - this.sourceXPathExpression = sourceXPathExpression; - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentReferenceImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentReferenceImpl.java deleted file mode 100644 index 488023090c..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentReferenceImpl.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.CompositeReference; -import org.apache.tuscany.sca.assembly.Endpoint; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; - -/** - * Represents a component reference - * - * @version $Rev$ $Date$ - */ -public class ComponentReferenceImpl extends ReferenceImpl implements ComponentReference, Cloneable { - private Reference reference; - private Boolean autowire; - private List promotedAs = new ArrayList(); - private ComponentService callbackService; - private List endpoints = new ArrayList(); - - /** - * Constructs a new component reference. - */ - protected ComponentReferenceImpl() { - // Set multiplicity to null so that by default it'll inherit from the Reference - setMultiplicity(null); - } - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - - public Reference getReference() { - return reference; - } - - public void setReference(Reference reference) { - this.reference = reference; - } - - public boolean isAutowire() { - return (autowire == null) ? false : autowire.booleanValue(); - } - - public void setAutowire(Boolean autowire) { - this.autowire = autowire; - } - - public Boolean getAutowire() { - return autowire; - } - - public List promotedAs() { - return promotedAs; - } - - public ComponentService getCallbackService() { - return callbackService; - } - - public void setCallbackService(ComponentService callbackService) { - this.callbackService = callbackService; - } - - public List getEndpoints(){ - return endpoints; - } - - /** - * Use endpoint information to work out what the interface contract for the - * binding is. - */ - @Override - public InterfaceContract getInterfaceContract(Binding binding){ - InterfaceContract interfaceContract = null; - - for (Endpoint theEndpoint : endpoints){ - if (theEndpoint.getSourceBinding() == binding){ - interfaceContract = theEndpoint.getInterfaceContract(); - } - } - - if (interfaceContract == null){ - interfaceContract = getInterfaceContract(); - } - return interfaceContract; - } -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentServiceImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentServiceImpl.java deleted file mode 100644 index 0c78a2505f..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentServiceImpl.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.CompositeService; -import org.apache.tuscany.sca.assembly.Service; - -/** - * Represents a component service - * - * @version $Rev$ $Date$ - */ -public class ComponentServiceImpl extends ServiceImpl implements ComponentService, Cloneable { - private Service service; - private List promotedAs = new ArrayList(); - private ComponentReference callbackReference; - - /** - * Constructs a new component service. - */ - protected ComponentServiceImpl() { - } - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - - public Service getService() { - return service; - } - - public void setService(Service service) { - this.service = service; - } - - public List promotedAs() { - return promotedAs; - } - - public ComponentReference getCallbackReference() { - return callbackReference; - } - - public void setCallbackReference(ComponentReference callbackReference) { - this.callbackReference = callbackReference; - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentTypeImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentTypeImpl.java deleted file mode 100644 index bbe665d52f..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ComponentTypeImpl.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.assembly.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.ComponentType; -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; - -/** - * Represents a component type. - * - * @version $Rev$ $Date$ - */ -public class ComponentTypeImpl extends ExtensibleImpl implements ComponentType, Cloneable { - private String uri; - private ConstrainingType constrainingType; - private List properties = new ArrayList(); - private List references = new ArrayList(); - private List services = new ArrayList(); - /** - * Constructs a new component type. - */ - protected ComponentTypeImpl() { - } - - @Override - public Object clone() throws CloneNotSupportedException { - ComponentTypeImpl clone = (ComponentTypeImpl)super.clone(); - - clone.services = new ArrayList(); - for (Service service : getServices()) { - clone.services.add((Service)service.clone()); - } - clone.references = new ArrayList(); - for (Reference reference : getReferences()) { - clone.references.add((Reference)reference.clone()); - } - clone.properties = new ArrayList(); - for (Property property : getProperties()) { - clone.properties.add((Property)property.clone()); - } - return clone; - } - - public String getURI() { - return uri; - } - - public void setURI(String uri) { - this.uri = uri; - } - - public ConstrainingType getConstrainingType() { - return constrainingType; - } - - public List getProperties() { - return properties; - } - - public List getReferences() { - return references; - } - - public List getServices() { - return services; - } - - public void setConstrainingType(ConstrainingType constrainingType) { - this.constrainingType = constrainingType; - } - - @Override - public int hashCode() { - return String.valueOf(getURI()).hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } else { - if (obj instanceof ComponentType) { - if (getURI() != null) { - return getURI().equals(((ComponentType)obj).getURI()); - } else { - return ((ComponentType)obj).getURI() == null; - } - } else { - return false; - } - } - } -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeImpl.java deleted file mode 100644 index 9dd26b5e8e..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeImpl.java +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentReference; -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.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.assembly.Wire; - -/** - * Implementation of a Composite. - * - * @version $Rev$ $Date$ - */ -public class CompositeImpl extends ImplementationImpl implements Composite, Cloneable { - private List components = new ArrayList(); - private List includes = new ArrayList(); - private QName name; - private List wires = new ArrayList(); - private Boolean autowire; - private boolean local = true; - - /** - * Constructs a new composite. - */ - protected CompositeImpl() { - } - - @Override - public Object clone() throws CloneNotSupportedException { - CompositeImpl clone = (CompositeImpl)super.clone(); - - clone.components = new ArrayList(); - for (Component component : getComponents()) { - Component clonedComponent = (Component)component.clone(); - for (Service service : clone.getServices()) { - CompositeService compositeService = (CompositeService)service; - // Force the promoted component/service to be rebuilt against the clone - if (compositeService.getPromotedComponent() != null) { - compositeService.getPromotedComponent().setUnresolved(true); - } - if (compositeService.getPromotedService() != null) { - compositeService.getPromotedService().setUnresolved(true); - } - } - for (Reference reference : clone.getReferences()) { - CompositeReference compositeReference = (CompositeReference)reference; - for (ComponentReference ref : compositeReference.getPromotedReferences()) { - // Force the promoted reference to be rebuilt against the clone - ref.setUnresolved(true); - } - } - - clone.components.add(clonedComponent); - } - clone.wires = new ArrayList(); - for (Wire wire : getWires()) { - clone.wires.add((Wire)wire.clone()); - } - return clone; - } - - public List getComponents() { - return components; - } - - public List getIncludes() { - return includes; - } - - public QName getName() { - return name; - } - - public List getWires() { - return wires; - } - - public boolean isLocal() { - return local; - } - - public void setLocal(boolean local) { - this.local = local; - } - - public boolean isAutowire() { - return (autowire == null) ? false : autowire.booleanValue(); - } - - public void setAutowire(Boolean autowire) { - this.autowire = autowire; - } - - public Boolean getAutowire() { - return autowire; - } - - public void setName(QName name) { - this.name = name; - } - - @Override - public int hashCode() { - return String.valueOf(getName()).hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } else if (obj instanceof Composite) { - if (getName() != null) { - return getName().equals(((Composite)obj).getName()); - } else { - return ((Composite)obj).getName() == null; - } - } else { - return false; - } - } - - @Override - public String toString(){ - return ( this.name != null ) ? getName().toString() : "null"; - } -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeReferenceImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeReferenceImpl.java deleted file mode 100644 index 4348e08fcb..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeReferenceImpl.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.assembly.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.assembly.CompositeReference; - -/** - * Represents a composite reference. - * - * @version $Rev$ $Date$ - */ -public class CompositeReferenceImpl extends ReferenceImpl implements CompositeReference, Cloneable { - private List promotedReferences = new ArrayList(); - - /** - * Constructs a new composite reference. - */ - protected CompositeReferenceImpl() { - } - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - - public List getPromotedReferences() { - return promotedReferences; - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeServiceImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeServiceImpl.java deleted file mode 100644 index 6777a96982..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/CompositeServiceImpl.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.impl; - -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.CompositeService; - -/** - * Represents a composite service - * - * @version $Rev$ $Date$ - */ -public class CompositeServiceImpl extends ServiceImpl implements CompositeService, Cloneable { - private ComponentService promotedService; - private Component promotedComponent; - - /** - * Constructs a new composite service. - */ - protected CompositeServiceImpl() { - } - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - - public ComponentService getPromotedService() { - return promotedService; - } - - public void setPromotedService(ComponentService promotedService) { - this.promotedService = promotedService; - } - - public Component getPromotedComponent() { - return promotedComponent; - } - - public void setPromotedComponent(Component promotedComponent) { - this.promotedComponent = promotedComponent; - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ConfiguredOperationImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ConfiguredOperationImpl.java deleted file mode 100644 index 1373ce511b..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ConfiguredOperationImpl.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.assembly.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.ConfiguredOperation; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentAttachPointType; -import org.apache.tuscany.sca.policy.PolicySet; - -/** - * Represents an Operation. - * - * @version $Rev$ $Date$ - */ -public class ConfiguredOperationImpl extends BaseImpl implements ConfiguredOperation { - private List policySets = new ArrayList(); - private List requiredIntents = new ArrayList(); - private List applicablePolicySets = new ArrayList(); - - private String name; - private String contractName; - - /** - * Constructs a new Operation. - */ - protected ConfiguredOperationImpl() { - } - - public List getPolicySets() { - return policySets; - } - - public void setPolicySets(List policySets) { - this.policySets = policySets; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public List getRequiredIntents() { - return requiredIntents; - } - - public void setRequiredIntents(List intents) { - this.requiredIntents = intents; - } - - public String getContractName() { - return contractName; - } - - public void setContractName(String contractName) { - this.contractName = contractName; - } - - public IntentAttachPointType getType() { - return null; - } - - public void setType(IntentAttachPointType type) { - } - - public List getApplicablePolicySets() { - return applicablePolicySets; - } - - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ConstrainingTypeImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ConstrainingTypeImpl.java deleted file mode 100644 index d5701df74e..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ConstrainingTypeImpl.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.namespace.QName; - -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.ConstrainingType; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentAttachPointType; - -/** - * Represents a constraining type. - * - * @version $Rev$ $Date$ - */ -public class ConstrainingTypeImpl extends ExtensibleImpl implements ConstrainingType { - private QName name; - private List properties = new ArrayList(); - private List references = new ArrayList(); - private List services = new ArrayList(); - private List requiredIntents = new ArrayList(); - - /** - * Constructs a new ConstrainingType - */ - protected ConstrainingTypeImpl() { - } - - public QName getName() { - return name; - } - - public void setName(QName name) { - this.name = name; - } - - public List getProperties() { - return properties; - } - - public List getReferences() { - return references; - } - - public List getServices() { - return services; - } - - public List getRequiredIntents() { - return requiredIntents; - } - - @Override - public int hashCode() { - return String.valueOf(getName()).hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } else if (obj instanceof ConstrainingType) { - if (getName() != null) { - return getName().equals(((ConstrainingType)obj).getName()); - } else { - return ((ConstrainingType)obj).getName() == null; - } - } else { - return false; - } - } - - public IntentAttachPointType getType() { - return null; - } - - public void setType(IntentAttachPointType type) { - } - - public void setRequiredIntents(List intents) { - this.requiredIntents = intents; - } -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ContractImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ContractImpl.java deleted file mode 100644 index 491c835246..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ContractImpl.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.assembly.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.AbstractContract; -import org.apache.tuscany.sca.assembly.ConfiguredOperation; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentAttachPointType; - -/** - * Implementation of a Contract. - * - * @version $Rev$ $Date$ - */ -public class ContractImpl extends ExtensibleImpl implements AbstractContract { - private InterfaceContract interfaceContract; - private String name; - private List requiredIntents = new ArrayList(); - private List configuredOperations = new ArrayList(); - - private boolean isCallback = false; - - /** - * Constructs a new contract. - */ - protected ContractImpl() { - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public InterfaceContract getInterfaceContract() { - return interfaceContract; - } - - public void setInterfaceContract(InterfaceContract interfaceContract) { - this.interfaceContract = interfaceContract; - } - - public List getRequiredIntents() { - return requiredIntents; - } - - public boolean isCallback() { - return isCallback; - } - - public void setIsCallback(boolean isCallback) { - this.isCallback = isCallback; - } - - public IntentAttachPointType getType() { - return null; - } - - public void setType(IntentAttachPointType type) { - } - - public void setRequiredIntents(List intents) { - this.requiredIntents = intents; - } - - public List getConfiguredOperations() { - return configuredOperations; - } - - public void setConfiguredOperations(List configuredOperations) { - this.configuredOperations = configuredOperations; - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointFactoryImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointFactoryImpl.java deleted file mode 100644 index ece51cbe9b..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointFactoryImpl.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.assembly.impl; - - -import org.apache.tuscany.sca.assembly.Endpoint; -import org.apache.tuscany.sca.assembly.EndpointFactory; - -/** - * A factory for the Endpoint model. - * - * @version $Rev$ $Date$ - */ -public abstract class EndpointFactoryImpl implements EndpointFactory { - - public EndpointFactoryImpl (){ - - } - - public Endpoint createEndpoint() { - return new EndpointImpl(); - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointImpl.java deleted file mode 100644 index 5748abb07d..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/EndpointImpl.java +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import java.util.ArrayList; -import java.util.List; - -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.Endpoint; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; - -/** - * The assembly model object for an endpoint. - * - * @version $Rev$ $Date$ - */ -public class EndpointImpl implements Endpoint { - - private String targetName; - - private Component sourceComponent; - private ComponentReference sourceComponentReference; - private Binding resolvedBinding; - private Binding resolvedCallbackBinding; - - private List candidateBindings = new ArrayList(); - - private Component targetComponent; - private ComponentService targetComponentService; - private Binding targetBinding; - private Binding targetCallbackBinding; - - private InterfaceContract interfaceContract; - - protected EndpointImpl() { - } - - public boolean isUnresolved() { - return resolvedBinding == null; - } - - public void setUnresolved(boolean unresolved) { - // do nothing as the status is determined by having - // a resolved source binding - } - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - - public String getTargetName(){ - return targetName; - } - - public void setTargetName(String targetName){ - this.targetName = targetName; - } - - public Component getSourceComponent() { - return sourceComponent; - } - - public void setSourceComponent(Component sourceComponent) { - this.sourceComponent = sourceComponent; - } - - public ComponentReference getSourceComponentReference() { - return sourceComponentReference; - } - - public void setSourceComponentReference(ComponentReference sourceComponentReference) { - this.sourceComponentReference = sourceComponentReference; - } - - public Binding getSourceBinding() { - return resolvedBinding; - } - - public void setSourceBinding(Binding resolvedBinding) { - this.resolvedBinding = resolvedBinding; - } - - public Binding getSourceCallbackBinding(){ - return resolvedCallbackBinding; - } - - public void setSourceCallbackBinding(Binding resolvedCallbackBinding){ - this.resolvedCallbackBinding = resolvedCallbackBinding; - } - - public List getCandidateBindings() { - return candidateBindings; - } - - public Component getTargetComponent() { - return targetComponent; - } - - public void setTargetComponent(Component targetComponent) { - this.targetComponent = targetComponent; - } - - public ComponentService getTargetComponentService() { - return targetComponentService; - } - - public void setTargetComponentService(ComponentService targetComponentService) { - this.targetComponentService = targetComponentService; - } - - public Binding getTargetBinding() { - return targetBinding; - } - - public void setTargetBinding(Binding targetBinding) { - this.targetBinding = targetBinding; - } - - public Binding getTargetCallbackBinding(){ - return targetCallbackBinding; - } - - public void setTargetCallbackBinding(Binding targetCallbackBinding){ - this.targetCallbackBinding = targetCallbackBinding; - } - - public InterfaceContract getInterfaceContract() { - return interfaceContract; - } - - public void setInterfaceContract(InterfaceContract interfaceContract) { - this.interfaceContract = interfaceContract; - } -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ExtensibleImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ExtensibleImpl.java deleted file mode 100644 index 9a7ca09e43..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ExtensibleImpl.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.assembly.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.Extensible; - -/** - * Convenience base class for extensible assembly model objects. - * - * @version $Rev$ $Date$ - */ -public abstract class ExtensibleImpl extends BaseImpl implements Extensible { - private List extensions = new ArrayList(); - - /** - * Constructs a new base model object. - */ - protected ExtensibleImpl() { - } - - public List getExtensions() { - return extensions; - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ImplementationImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ImplementationImpl.java deleted file mode 100644 index aa75922489..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ImplementationImpl.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.assembly.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.ConfiguredOperation; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.assembly.OperationsConfigurator; -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; - -/** - * Base implementation class of Implementation model interface - * - * @version $Rev$ $Date$ - */ -public abstract class ImplementationImpl extends ComponentTypeImpl implements Implementation, PolicySetAttachPoint, - OperationsConfigurator { - - private List applicablePolicySets = new ArrayList(); - private List configuredOperations = new ArrayList(); - private IntentAttachPointType type; - private List policySets = new ArrayList(); - private List requiredIntents = new ArrayList(); - - protected ImplementationImpl() { - super(); - } - - public List getApplicablePolicySets() { - return applicablePolicySets; - } - - public List getConfiguredOperations() { - return configuredOperations; - } - - public List getPolicySets() { - return policySets; - } - - public List getRequiredIntents() { - return requiredIntents; - } - - public IntentAttachPointType getType() { - return type; - } - - public void setType(IntentAttachPointType type) { - this.type = type; - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/PropertyImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/PropertyImpl.java deleted file mode 100644 index 0c1051199f..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/PropertyImpl.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.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.Property; -import org.apache.tuscany.sca.policy.PolicySet; - -/** - * Represents a property. - * - * @version $Rev$ $Date$ - */ -public class PropertyImpl extends AbstractPropertyImpl implements Property, Cloneable { - private List policySets = new ArrayList(); - private List applicablePolicySets = new ArrayList(); - - /** - * Constructs a new property. - */ - protected PropertyImpl() { - } - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - - public List getPolicySets() { - return policySets; - } - - public void setPolicySets(List policySets) { - this.policySets = policySets; - } - - public List getApplicablePolicySets() { - return applicablePolicySets; - } -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ReferenceImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ReferenceImpl.java deleted file mode 100644 index 1800222bfb..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ReferenceImpl.java +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Callback; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.policy.PolicySet; - -/** - * Represents a reference. - * - * @version $Rev$ $Date$ - */ -public class ReferenceImpl extends AbstractReferenceImpl implements Reference, Cloneable { - private List bindings = new ArrayList(); - private boolean wiredByImpl; - private List policySets = new ArrayList(); - private List targets = new ArrayList(); - private Callback callback; - private List applicablePolicySets = new ArrayList(); - private boolean promotionOverride; - - public List getApplicablePolicySets() { - return applicablePolicySets; - } - - /** - * Constructs a new reference. - */ - protected ReferenceImpl() { - } - - @Override - public Object clone() throws CloneNotSupportedException { - ReferenceImpl clone = (ReferenceImpl)super.clone(); - clone.bindings = new ArrayList(); - clone.bindings.addAll(getBindings()); - clone.targets = new ArrayList(); - clone.targets.addAll(getTargets()); - return clone; - } - - public List getBindings() { - return bindings; - } - - public B getBinding(Class bindingClass) { - for (Binding binding : bindings) { - if (bindingClass.isInstance(binding)) { - return bindingClass.cast(binding); - } - } - return null; - } - - public B getCallbackBinding(Class bindingClass) { - if (callback != null) { - for (Binding binding : callback.getBindings()) { - if (bindingClass.isInstance(binding)) { - return bindingClass.cast(binding); - } - } - } - return null; - } - - public boolean isWiredByImpl() { - return wiredByImpl; - } - - public void setWiredByImpl(boolean wiredByImpl) { - this.wiredByImpl = wiredByImpl; - } - - public boolean isPromotionOverride() { - return promotionOverride; - } - - public void setPromotionOverride(boolean promotionOverride) { - this.promotionOverride = promotionOverride; - } - - public List getPolicySets() { - return policySets; - } - - public List getTargets() { - return targets; - } - - public Callback getCallback() { - return callback; - } - - public void setCallback(Callback callback) { - this.callback = callback; - } - - public void setPolicySets(List policySets) { - this.policySets = policySets; - } - - /** - * By default return the interface contract for the reference - */ - public InterfaceContract getInterfaceContract(Binding binding){ - return getInterfaceContract(); - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ServiceImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ServiceImpl.java deleted file mode 100644 index 8d745cb7e1..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ServiceImpl.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Callback; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.policy.PolicySet; - -/** - * Represents a reference. - * - * @version $Rev$ $Date$ - */ -public class ServiceImpl extends AbstractServiceImpl implements Service, Cloneable { - private List bindings = new ArrayList(); - private List policySets = new ArrayList(); - private Callback callback; - private List applicablePolicySets = new ArrayList(); - - public List getApplicablePolicySets() { - return applicablePolicySets; - } - - /** - * Constructs a new service. - */ - protected ServiceImpl() { - } - - @Override - public Object clone() throws CloneNotSupportedException { - ServiceImpl clone = (ServiceImpl)super.clone(); - clone.bindings = new ArrayList(); - clone.bindings.addAll(getBindings()); - return clone; - } - - public List getBindings() { - return bindings; - } - - public B getBinding(Class bindingClass) { - for (Binding binding : bindings) { - if (bindingClass.isInstance(binding)) { - return bindingClass.cast(binding); - } - } - return null; - } - - public B getCallbackBinding(Class bindingClass) { - if (callback != null) { - for (Binding binding : callback.getBindings()) { - if (bindingClass.isInstance(binding)) { - return bindingClass.cast(binding); - } - } - } - return null; - } - - public List getPolicySets() { - return policySets; - } - - public Callback getCallback() { - return callback; - } - - public void setCallback(Callback callback) { - this.callback = callback; - } - - public void setPolicySets(List policySets) { - this.policySets = policySets; - } - - /** - * By default return the interface contract for the service - */ - public InterfaceContract getInterfaceContract(Binding binding){ - return getInterfaceContract(); - } - -} diff --git a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/WireImpl.java b/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/WireImpl.java deleted file mode 100644 index 1a7abc8564..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/WireImpl.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.assembly.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.Wire; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentAttachPointType; -import org.apache.tuscany.sca.policy.PolicySet; - -/** - * Represents a wire - * - * @version $Rev$ $Date$ - */ -public class WireImpl extends ExtensibleImpl implements Wire, Cloneable { - private ComponentReference source; - private ComponentService target; - private List requiredIntents = new ArrayList(); - private List policySets = new ArrayList(); - private List applicablePolicySets = new ArrayList(); - - public List getApplicablePolicySets() { - return applicablePolicySets; - } - - /** - * Constructs a new wire. - */ - protected WireImpl() { - } - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - - public ComponentReference getSource() { - return source; - } - - public ComponentService getTarget() { - return target; - } - - public void setSource(ComponentReference source) { - this.source = source; - } - - public void setTarget(ComponentService target) { - this.target = target; - } - - public List getRequiredIntents() { - return requiredIntents; - } - - public List getPolicySets() { - return policySets; - } - - public IntentAttachPointType getType() { - return null; - } - - public void setType(IntentAttachPointType type) { - } - - public void setPolicySets(List policySets) { - this.policySets = policySets; - } - - public void setRequiredIntents(List intents) { - this.requiredIntents = intents; - } -} diff --git a/java/sca/contrib/modules/assembly/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.AssemblyFactory b/java/sca/contrib/modules/assembly/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.AssemblyFactory deleted file mode 100644 index 859c4bde4b..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.AssemblyFactory +++ /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.assembly.DefaultAssemblyFactory \ No newline at end of file diff --git a/java/sca/contrib/modules/assembly/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.EndpointFactory b/java/sca/contrib/modules/assembly/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.EndpointFactory deleted file mode 100644 index 8dbff76ad9..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.EndpointFactory +++ /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.assembly.DefaultEndpointFactory \ No newline at end of file diff --git a/java/sca/contrib/modules/assembly/src/main/resources/assembly-validation-messages.properties b/java/sca/contrib/modules/assembly/src/main/resources/assembly-validation-messages.properties deleted file mode 100644 index 6aeda18aab..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/resources/assembly-validation-messages.properties +++ /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. -# -# -DuplicateComponentName = Duplicate component name: Composite = {0} Component = {1} -DuplicateComponentServiceName = Duplicate component service name: Component = {0} Service = {1} -DuplicateComponentReferenceName = Duplicate component reference name: Component = {0} Reference = {1} -DuplicateComponentPropertyName = Duplicate component property name: Component = {0} Property = {1} -NoComponentImplementation = No implementation for component: Component = {0} -ServiceNotFoundForComponentService = Service not found for component service: Component = {0} Service = {1} -UnresolvedComponentImplementation = Component implementation not found: Component = {0} Uri = {1} -DuplicateImplementationPropertyName = Duplicate property name: Component = {0} Property = {1} -DuplicateImplementationServiceName = Duplicate service name: Component = {0} Service = {1} -DuplicateImplementationReferenceName = Duplicate reference name: Component = {0} Reference = {1} -PropertyNotFound = Property not found for component property: Component = {0} Property = {1} -PropertyMustSupplyIncompatible = Component property mustSupply attribute incompatible with property: Component = {0} Property = {1} -PropertyMustSupplyNull = No value configured on a mustSupply property: Component = {0} Property = {1} -PropertyOverrideManyAttribute = Component property many attribute incompatible with property: Component = {0} Property = {1} -ReferenceNotFound = Reference not found for component reference: Component = {0} Reference = {1} -ReferenceIncompatibleMultiplicity = Component reference multiplicity incompatible with reference multiplicity: Component = {0} Reference = {1} -ReferenceIncompatibleInterface = Incompatible interfaces on component reference and target: Composite = {0} Reference = {1} Service = {2} -ReferenceIncompatibleComponentInterface = Component reference interface incompatible with reference interface: Component = {0} Reference = {1} -ServiceIncompatibleComponentInterface = Component service interface incompatible with service interface: Component = {0} Service = {1} -MultipleBindingsForService = Multiple bindings with the same name for a service: Service = {0} Binding name = {1} -MultipleBindingsForReference = Multiple bindings with the same name for a reference: Reference = {0} Binding name = {1} -ReferenceWithoutTargets = No targets for reference: Composite = {0} Reference = {1} -PromotedReferenceNotFound = Promoted component reference not found: Composite = {0} Reference = {1} -PromotedServiceNotFound = Promoted component service not found: Composite = {0} Service = {1} -ComponentReferenceTargetNotFound = Component reference target not found, it might be a remote service running elsewhere in the SCA Domain: Composite = {0} Service = {1} -NoSCABindingAvailableForUnresolvedService = A local service cannot be found for reference {0} target {1} and there is no SCA binding available to represent the unresolved target -NoMatchingBinding = Component reference {0} does not have a binding which matches the bindings of service {1} -NoMatchingCallbackBinding = Component reference {0} does not have a callback binding which matches the callback bindings of service {1} -ReferenceEndPointMixWithTarget = Reference {0} must not specify endpoints using both target attribute and with binding uri attribute -PolicyRelatedException = Policy Related Exception occured due to : {0} -CompositeAlreadyIncluded = Composite {0} has already been included. -ComponentReferenceMoreWire = Component reference {0} has more than one wires -WireTargetNotFound = Wire target not found : {0} -WireSourceNotFound = Wire source not found : {0} -WireIncompatibleInterface = Incompatible interfaces on wire source and target : source = {0} target = {1} -ComponentIncompatibleInterface = Incompatible interfaces on component reference and target : reference = {0} target = {1} -TooManyReferenceTargets = Too many targets on reference: {0} -ReferenceInterfaceNotSubSet = Interface of composite reference {0} must be compatible with the interface declared by promoted component reference. -ServiceInterfaceNotSubSet = Interface of composite service {0} must be subset of the interface declared by promoted component service. -NoComponentReferenceTarget = No target services found for the component reference to be autowired: {0} -NoTypeForComponentProperty = No type specified on component property: Component = {0} Property = {1} -URLSyntaxException = URLSyntaxException when creating binding URI at component = {0} service = {1} binding = {2} \ No newline at end of file diff --git a/java/sca/contrib/modules/assembly/src/main/resources/assembly-validation-messages_it.properties b/java/sca/contrib/modules/assembly/src/main/resources/assembly-validation-messages_it.properties deleted file mode 100644 index b94d37ba2d..0000000000 --- a/java/sca/contrib/modules/assembly/src/main/resources/assembly-validation-messages_it.properties +++ /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. -# -# -DuplicateComponentName = Nome del componente duplicato: Composite = {0} Component = {1} -DuplicateComponentServiceName = Nome del servizio del componente duplicato: Component = {0} Service = {1} -DuplicateComponentReferenceName = Nome del reference del componente duplicato: Component = {0} Reference = {1} -DuplicateComponentPropertyName = Nome della property del componente duplicato: Component = {0} Property = {1} -NoComponentImplementation = Implementazione insistente per il componente: Component = {0} -ServiceNotFoundForComponentService = Servizio non trovato per il componente: Component = {0} Service = {1} -UnresolvedComponentImplementation = Implementazione del componente non trovata: Component = {0} Uri = {1} -DuplicateImplementationPropertyName = Nome della property del componente duplicata: Component = {0} Property = {1} -DuplicateImplementationReferenceName = Nome del riferimento duplicato: Component = {0} Reference = {1} -PropertyNotFound = Property non trovata per il componente: Component = {0} Property = {1} diff --git a/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/AssemblyFactoryTestCase.java b/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/AssemblyFactoryTestCase.java deleted file mode 100644 index 8a3a89aba4..0000000000 --- a/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/AssemblyFactoryTestCase.java +++ /dev/null @@ -1,209 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.namespace.QName; - -import junit.framework.TestCase; - - -/** - * Test building of assembly model instances using the assembly factory. - * - * @version $Rev$ $Date$ - */ -public class AssemblyFactoryTestCase extends TestCase { - - private AssemblyFactory assemblyFactory; - - @Override - public void setUp() throws Exception { - assemblyFactory = new DefaultAssemblyFactory(); - } - - public void testCreateComponent() { - createComponent("AccountServiceComponent1"); - } - - public void testCreateComponentType() { - createComponentType(); - } - - public void testCreateComposite() { - createComposite(); - } - - public void testCreateConstrainingType() { - createConstrainingType(); - } - - /** - * Create a composite - */ - Composite createComposite() { - Composite c = assemblyFactory.createComposite(); - - Component c1 = createComponent("AccountServiceComponent1"); - c.getComponents().add(c1); - Component c2 = createComponent("AccountServiceComponent2"); - c.getComponents().add(c2); - - Wire w = assemblyFactory.createWire(); - w.setSource(c1.getReferences().get(0)); - w.setTarget(c2.getServices().get(0)); - c.getWires().add(w); - - CompositeService cs = assemblyFactory.createCompositeService(); - cs.setName("AccountService"); - cs.setPromotedService(c1.getServices().get(0)); - cs.setInterfaceContract(new TestInterfaceContract(assemblyFactory)); - c.getServices().add(cs); - cs.getBindings().add(new TestBinding(assemblyFactory)); - - CompositeReference cr = assemblyFactory.createCompositeReference(); - cr.setName("StockQuoteService"); - cr.getPromotedReferences().add(c2.getReferences().get(1)); - cr.setInterfaceContract(new TestInterfaceContract(assemblyFactory)); - c.getReferences().add(cr); - cr.getBindings().add(new TestBinding(assemblyFactory)); - - return c; - } - - /** - * Create a new component - */ - Component createComponent(String name) { - Component c = assemblyFactory.createComponent(); - c.setName(name); - - ConstrainingType constraint = createConstrainingType(); - c.setConstrainingType(constraint); - - Implementation i = new TestImplementation(assemblyFactory); - c.setImplementation(i); - - ComponentProperty p = assemblyFactory.createComponentProperty(); - p.setName("currency"); - p.setValue("USD"); - p.setMustSupply(true); - p.setXSDType(new QName("", "")); - p.setProperty(i.getProperties().get(0)); - c.getProperties().add(p); - - ComponentReference ref1 = assemblyFactory.createComponentReference(); - ref1.setName("accountDataService"); - ref1.setMultiplicity(Multiplicity.ONE_ONE); - ref1.setInterfaceContract(new TestInterfaceContract(assemblyFactory)); - ref1.setReference(i.getReferences().get(0)); - c.getReferences().add(ref1); - ref1.getBindings().add(new TestBinding(assemblyFactory)); - - ComponentReference ref2 = assemblyFactory.createComponentReference(); - ref2.setName("stockQuoteService"); - ref2.setMultiplicity(Multiplicity.ONE_ONE); - ref2.setInterfaceContract(new TestInterfaceContract(assemblyFactory)); - ref2.setReference(i.getReferences().get(1)); - c.getReferences().add(ref2); - ref2.getBindings().add(new TestBinding(assemblyFactory)); - - ComponentService s = assemblyFactory.createComponentService(); - s.setName("AccountService"); - s.setInterfaceContract(new TestInterfaceContract(assemblyFactory)); - s.setService(i.getServices().get(0)); - c.getServices().add(s); - s.getBindings().add(new TestBinding(assemblyFactory)); - - return c; - } - - /** - * Create a new component type - * - * @return - */ - ComponentType createComponentType() { - ComponentType ctype = assemblyFactory.createComponentType(); - - Property p = assemblyFactory.createProperty(); - p.setName("currency"); - p.setValue("USD"); - p.setMustSupply(true); - p.setXSDType(new QName("", "")); - ctype.getProperties().add(p); - - Reference ref1 = assemblyFactory.createReference(); - ref1.setName("accountDataService"); - ref1.setInterfaceContract(new TestInterfaceContract(assemblyFactory)); - ref1.setMultiplicity(Multiplicity.ONE_ONE); - ctype.getReferences().add(ref1); - ref1.getBindings().add(new TestBinding(assemblyFactory)); - - Reference ref2 = assemblyFactory.createReference(); - ref2.setName("stockQuoteService"); - ref2.setInterfaceContract(new TestInterfaceContract(assemblyFactory)); - ref2.setMultiplicity(Multiplicity.ONE_ONE); - ctype.getReferences().add(ref2); - ref2.getBindings().add(new TestBinding(assemblyFactory)); - - Service s = assemblyFactory.createService(); - s.setName("AccountService"); - s.setInterfaceContract(new TestInterfaceContract(assemblyFactory)); - ctype.getServices().add(s); - s.getBindings().add(new TestBinding(assemblyFactory)); - - return ctype; - } - - /** - * Create a new constraining type - * - * @return - */ - ConstrainingType createConstrainingType() { - ConstrainingType ctype = assemblyFactory.createConstrainingType(); - - AbstractProperty p = assemblyFactory.createAbstractProperty(); - p.setName("currency"); - p.setValue("USD"); - p.setMustSupply(true); - p.setXSDType(new QName("", "")); - ctype.getProperties().add(p); - - AbstractReference ref1 = assemblyFactory.createAbstractReference(); - ref1.setName("accountDataService"); - ref1.setInterfaceContract(new TestInterfaceContract(assemblyFactory)); - ref1.setMultiplicity(Multiplicity.ONE_ONE); - ctype.getReferences().add(ref1); - - AbstractReference ref2 = assemblyFactory.createAbstractReference(); - ref2.setName("stockQuoteService"); - ref2.setInterfaceContract(new TestInterfaceContract(assemblyFactory)); - ref2.setMultiplicity(Multiplicity.ONE_ONE); - ctype.getReferences().add(ref2); - - AbstractService s = assemblyFactory.createAbstractService(); - s.setName("AccountService"); - s.setInterfaceContract(new TestInterfaceContract(assemblyFactory)); - ctype.getServices().add(s); - - return ctype; - } - -} diff --git a/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestBinding.java b/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestBinding.java deleted file mode 100644 index 5e0a2335d1..0000000000 --- a/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestBinding.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.assembly; - - -/** - * A test interface model. - * - * @version $Rev$ $Date$ - */ -public class TestBinding implements Binding { - public TestBinding(AssemblyFactory factory) { - } - - public String getName() { - return null; - } - - public String getURI() { - return "http://test"; - } - - public void setName(String name) { - } - - public void setURI(String uri) { - } - - public void setUnresolved(boolean unresolved) { - } - - public boolean isUnresolved() { - return false; - } - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } -} diff --git a/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestImplementation.java b/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestImplementation.java deleted file mode 100644 index 19702954c9..0000000000 --- a/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestImplementation.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.assembly; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.impl.ImplementationImpl; - -/** - * A test component implementation model. - * - * @version $Rev$ $Date$ - */ -public class TestImplementation extends ImplementationImpl implements Implementation { - public TestImplementation(AssemblyFactory factory) { - - Property p = factory.createProperty(); - p.setName("currency"); - p.setValue("USD"); - p.setMustSupply(true); - p.setXSDType(new QName("", "")); - getProperties().add(p); - - Reference ref1 = factory.createReference(); - ref1.setName("accountDataService"); - ref1.setMultiplicity(Multiplicity.ONE_ONE); - getReferences().add(ref1); - ref1.getBindings().add(new TestBinding(factory)); - - Reference ref2 = factory.createReference(); - ref2.setName("stockQuoteService"); - ref2.setMultiplicity(Multiplicity.ONE_ONE); - ref2.setInterfaceContract(new TestInterfaceContract(factory)); - getReferences().add(ref2); - ref2.getBindings().add(new TestBinding(factory)); - - Service s = factory.createService(); - s.setName("AccountService"); - s.setInterfaceContract(new TestInterfaceContract(factory)); - getServices().add(s); - s.getBindings().add(new TestBinding(factory)); - - } - -} diff --git a/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestInterface.java b/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestInterface.java deleted file mode 100644 index dbe0cb8225..0000000000 --- a/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestInterface.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.assembly; - -import org.apache.tuscany.sca.interfacedef.Interface; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.impl.InterfaceImpl; - -/** - * A test interface model. - * - * @version $Rev$ $Date$ - */ -public class TestInterface extends InterfaceImpl implements Interface { - - public TestInterface(AssemblyFactory factory) { - - setRemotable(true); - - Operation operation = new TestOperation(); - operation.setName("test"); - getOperations().add(operation); - - } - -} diff --git a/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestInterfaceContract.java b/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestInterfaceContract.java deleted file mode 100644 index ee6b95edc9..0000000000 --- a/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestInterfaceContract.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.assembly; - -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractImpl; - -/** - * A test interface contract model. - * - * @version $Rev$ $Date$ - */ -public class TestInterfaceContract extends InterfaceContractImpl implements InterfaceContract { - - public TestInterfaceContract(AssemblyFactory factory) { - - TestInterface testInterface = new TestInterface(factory); - setInterface(testInterface); - - TestInterface testCallbackInterface = new TestInterface(factory); - setCallbackInterface(testCallbackInterface); - - } - -} diff --git a/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestOperation.java b/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestOperation.java deleted file mode 100644 index d94a7e93a3..0000000000 --- a/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/TestOperation.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.assembly; - -import org.apache.tuscany.sca.interfacedef.impl.OperationImpl; - -/** - * A test operation model. - * - * @version $Rev$ $Date$ - */ -public class TestOperation extends OperationImpl { - -} diff --git a/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderTestCase.java b/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderTestCase.java deleted file mode 100644 index fabafc998b..0000000000 --- a/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/builder/impl/CompositeBuilderTestCase.java +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.builder.impl; - -import javax.xml.namespace.QName; - -import junit.framework.TestCase; - -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.CompositeReference; -import org.apache.tuscany.sca.assembly.CompositeService; -import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory; - -/** - * Test the CompositeBuilder. - * - * @version $Rev$ $Date$ - */ -public class CompositeBuilderTestCase extends TestCase { - - private AssemblyFactory assemblyFactory; - - @Override - protected void setUp() throws Exception { - assemblyFactory = new DefaultAssemblyFactory(); - } - - public void testFuseIncludes() throws Exception { - Composite c1 = assemblyFactory.createComposite(); - c1.setName(new QName("http://foo", "C1")); - Component a = assemblyFactory.createComponent(); - a.setName("a"); - c1.getComponents().add(a); - CompositeService s = assemblyFactory.createCompositeService(); - s.setName("s"); - c1.getServices().add(s); - CompositeReference r = assemblyFactory.createCompositeReference(); - r.setName("r"); - c1.getReferences().add(r); - - Composite c2 = assemblyFactory.createComposite(); - c2.setName(new QName("http://foo", "C2")); - c1.getIncludes().add(c2); - Component b = assemblyFactory.createComponent(); - b.setName("b"); - c2.getComponents().add(b); - - Composite c = assemblyFactory.createComposite(); - c.setName(new QName("http://foo", "C")); - c.getIncludes().add(c1); - - new CompositeIncludeBuilderImpl(null).build(c); - - assertTrue(c.getComponents().get(0).getName().equals("a")); - assertTrue(c.getComponents().get(1).getName().equals("b")); - assertTrue(c.getServices().get(0).getName().equals("s")); - assertTrue(c.getReferences().get(0).getName().equals("r")); - } - - public void testExpandComposites() throws Exception { - Composite c1 = assemblyFactory.createComposite(); - c1.setName(new QName("http://foo", "C1")); - Component a = assemblyFactory.createComponent(); - a.setName("a"); - c1.getComponents().add(a); - CompositeService s = assemblyFactory.createCompositeService(); - s.setName("s"); - c1.getServices().add(s); - CompositeReference r = assemblyFactory.createCompositeReference(); - r.setName("r"); - c1.getReferences().add(r); - - Composite c2 = assemblyFactory.createComposite(); - c2.setName(new QName("http://foo", "C2")); - Component b = assemblyFactory.createComponent(); - b.setName("b"); - c2.getComponents().add(b); - - Composite c = assemblyFactory.createComposite(); - c.setName(new QName("http://foo", "C")); - Component x = assemblyFactory.createComponent(); - x.setName("x"); - x.setImplementation(c1); - c.getComponents().add(x); - Component y = assemblyFactory.createComponent(); - y.setName("y"); - y.setImplementation(c2); - c.getComponents().add(y); - Component z = assemblyFactory.createComponent(); - z.setName("z"); - z.setImplementation(c1); - c.getComponents().add(z); - - new CompositeCloneBuilderImpl(null).build(c); - - assertTrue(c.getComponents().get(0).getImplementation() != c1); - assertTrue(c.getComponents().get(1).getImplementation() != c2); - assertTrue(c.getComponents().get(2).getImplementation() != c1); - - Composite i = (Composite)c.getComponents().get(0).getImplementation(); - assertTrue(i.getComponents().get(0) != a); - assertTrue(i.getComponents().get(0).getName().equals("a")); - assertTrue(i.getServices().get(0).getName().equals("s")); - assertTrue(i.getServices().get(0) != s); - assertTrue(i.getReferences().get(0).getName().equals("r")); - assertTrue(i.getReferences().get(0) != r); - } - -} diff --git a/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/builder/impl/PrintUtilTestCase.java b/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/builder/impl/PrintUtilTestCase.java deleted file mode 100644 index 82b1fd8665..0000000000 --- a/java/sca/contrib/modules/assembly/src/test/java/org/apache/tuscany/sca/assembly/builder/impl/PrintUtilTestCase.java +++ /dev/null @@ -1,229 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.builder.impl; - -import java.io.PrintWriter; -import java.io.StringWriter; - -import javax.xml.namespace.QName; - -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.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.ConstrainingType; -import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.assembly.Multiplicity; -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.TestBinding; -import org.apache.tuscany.sca.assembly.TestImplementation; -import org.apache.tuscany.sca.assembly.TestInterfaceContract; -import org.apache.tuscany.sca.assembly.Wire; -import org.junit.Test; - -/** - * @version $Rev$ $Date$ - */ -public class PrintUtilTestCase { - - private AssemblyFactory factory = new DefaultAssemblyFactory(); - - /** - * Create a composite - */ - Composite createComposite() { - Composite c = factory.createComposite(); - - Component c1 = createComponent("AccountServiceComponent1"); - c.getComponents().add(c1); - Component c2 = createComponent("AccountServiceComponent2"); - c.getComponents().add(c2); - - Wire w = factory.createWire(); - w.setSource(c1.getReferences().get(0)); - w.setTarget(c2.getServices().get(0)); - c.getWires().add(w); - - CompositeService cs = factory.createCompositeService(); - cs.setName("AccountService"); - cs.setPromotedService(c1.getServices().get(0)); - cs.setInterfaceContract(new TestInterfaceContract(factory)); - c.getServices().add(cs); - cs.getBindings().add(new TestBinding(factory)); - - CompositeReference cr = factory.createCompositeReference(); - cr.setName("StockQuoteService"); - cr.getPromotedReferences().add(c2.getReferences().get(1)); - cr.setInterfaceContract(new TestInterfaceContract(factory)); - c.getReferences().add(cr); - cr.getBindings().add(new TestBinding(factory)); - - return c; - } - - /** - * Create a new component - */ - Component createComponent(String name) { - Component c = factory.createComponent(); - c.setName(name); - - ConstrainingType constraint = createConstrainingType(); - c.setConstrainingType(constraint); - - Implementation i = new TestImplementation(factory); - c.setImplementation(i); - - ComponentProperty p = factory.createComponentProperty(); - p.setName("currency"); - p.setValue("USD"); - p.setMustSupply(true); - p.setXSDType(new QName("", "")); - p.setProperty(i.getProperties().get(0)); - c.getProperties().add(p); - - ComponentReference ref1 = factory.createComponentReference(); - ref1.setName("accountDataService"); - ref1.setMultiplicity(Multiplicity.ONE_ONE); - ref1.setInterfaceContract(new TestInterfaceContract(factory)); - ref1.setReference(i.getReferences().get(0)); - c.getReferences().add(ref1); - ref1.getBindings().add(new TestBinding(factory)); - - ComponentReference ref2 = factory.createComponentReference(); - ref2.setName("stockQuoteService"); - ref2.setMultiplicity(Multiplicity.ONE_ONE); - ref2.setInterfaceContract(new TestInterfaceContract(factory)); - ref2.setReference(i.getReferences().get(1)); - c.getReferences().add(ref2); - ref2.getBindings().add(new TestBinding(factory)); - - ComponentService s = factory.createComponentService(); - s.setName("AccountService"); - s.setInterfaceContract(new TestInterfaceContract(factory)); - s.setService(i.getServices().get(0)); - c.getServices().add(s); - s.getBindings().add(new TestBinding(factory)); - - return c; - } - - /** - * Create a new component type - * - * @return - */ - ComponentType createComponentType() { - ComponentType ctype = factory.createComponentType(); - - Property p = factory.createProperty(); - p.setName("currency"); - p.setValue("USD"); - p.setMustSupply(true); - p.setXSDType(new QName("", "")); - ctype.getProperties().add(p); - - Reference ref1 = factory.createReference(); - ref1.setName("accountDataService"); - ref1.setInterfaceContract(new TestInterfaceContract(factory)); - ref1.setMultiplicity(Multiplicity.ONE_ONE); - ctype.getReferences().add(ref1); - ref1.getBindings().add(new TestBinding(factory)); - - Reference ref2 = factory.createReference(); - ref2.setName("stockQuoteService"); - ref2.setInterfaceContract(new TestInterfaceContract(factory)); - ref2.setMultiplicity(Multiplicity.ONE_ONE); - ctype.getReferences().add(ref2); - ref2.getBindings().add(new TestBinding(factory)); - - Service s = factory.createService(); - s.setName("AccountService"); - s.setInterfaceContract(new TestInterfaceContract(factory)); - ctype.getServices().add(s); - s.getBindings().add(new TestBinding(factory)); - - return ctype; - } - - /** - * Create a new constraining type - * - * @return - */ - ConstrainingType createConstrainingType() { - ConstrainingType ctype = factory.createConstrainingType(); - - AbstractProperty p = factory.createAbstractProperty(); - p.setName("currency"); - p.setValue("USD"); - p.setMustSupply(true); - p.setXSDType(new QName("", "")); - ctype.getProperties().add(p); - - AbstractReference ref1 = factory.createAbstractReference(); - ref1.setName("accountDataService"); - ref1.setInterfaceContract(new TestInterfaceContract(factory)); - ref1.setMultiplicity(Multiplicity.ONE_ONE); - ctype.getReferences().add(ref1); - - AbstractReference ref2 = factory.createAbstractReference(); - ref2.setName("stockQuoteService"); - ref2.setInterfaceContract(new TestInterfaceContract(factory)); - ref2.setMultiplicity(Multiplicity.ONE_ONE); - ctype.getReferences().add(ref2); - - AbstractService s = factory.createAbstractService(); - s.setName("AccountService"); - s.setInterfaceContract(new TestInterfaceContract(factory)); - ctype.getServices().add(s); - - return ctype; - } - - @Test - public void testPrint1() { - Composite composite = createComposite(); - StringWriter sw = new StringWriter(); - PrintUtil p = new PrintUtil(new PrintWriter(sw), true); - p.print(composite); - // System.out.println(sw.toString()); - } - - @Test - public void testPrint2() { - Composite composite = createComposite(); - StringWriter sw = new StringWriter(); - PrintUtil p = new PrintUtil(new PrintWriter(sw), false); - p.print(composite); - // System.out.println(sw.toString()); - } -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/LICENSE b/java/sca/contrib/modules/binding-atom-abdera/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/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/java/sca/contrib/modules/binding-atom-abdera/NOTICE b/java/sca/contrib/modules/binding-atom-abdera/NOTICE deleted file mode 100644 index 51042eab05..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-atom-abdera/ReceiptToms.gif b/java/sca/contrib/modules/binding-atom-abdera/ReceiptToms.gif deleted file mode 100644 index bfeee9b2f4..0000000000 Binary files a/java/sca/contrib/modules/binding-atom-abdera/ReceiptToms.gif and /dev/null differ diff --git a/java/sca/contrib/modules/binding-atom-abdera/ReceiptValue.jpg b/java/sca/contrib/modules/binding-atom-abdera/ReceiptValue.jpg deleted file mode 100644 index 584f39ea8d..0000000000 Binary files a/java/sca/contrib/modules/binding-atom-abdera/ReceiptValue.jpg and /dev/null differ diff --git a/java/sca/contrib/modules/binding-atom-abdera/pom.xml b/java/sca/contrib/modules/binding-atom-abdera/pom.xml deleted file mode 100644 index 8a236359b6..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/pom.xml +++ /dev/null @@ -1,227 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-atom-abdera - Apache Tuscany SCA Atom Feed Binding Extension - - - - org.apache.tuscany.sca - tuscany-binding-atom - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-java - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-data-api - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-databinding - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-http - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-http - 2.0-SNAPSHOT - - - - commons-httpclient - commons-httpclient - 3.0.1 - - - - org.apache.abdera - abdera-core - 0.4.0-incubating - - - org.apache.geronimo.specs - geronimo-activation_1.0.2_spec - - - - - - org.apache.abdera - abdera-parser - 0.4.0-incubating - - - stax - stax-api - - - xom - xom - - - org.apache.ws.commons.axiom - axiom-impl - - - - - - org.apache.ws.commons.axiom - axiom-impl - 1.2.7 - - - - org.apache.abdera - abdera-client - 0.4.0-incubating - - - - org.apache.abdera - abdera-extensions-main - 0.4.0-incubating - - - - org.apache.abdera - abdera-extensions-json - 0.4.0-incubating - - - - javax.servlet - servlet-api - 2.4 - provided - - - - org.apache.tuscany.sca - tuscany-host-jetty - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - test - - - - junit - junit - 4.5 - test - - - - commons-codec - commons-codec - 1.3 - - - commons-codec - commons-codec - - - - - - commons-logging - commons-logging - 1.1.1 - - - javax.servlet - servlet-api - - - avalon-framework - avalon-framework - - - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.atom.abdera - ${pom.name} - org.apache.tuscany.sca.binding.atom* - - - - - - - diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/collection/Collection.java b/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/collection/Collection.java deleted file mode 100644 index 81ec1ddad3..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/collection/Collection.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.atom.collection; - -import org.apache.abdera.model.Entry; -import org.apache.abdera.model.Feed; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Provides access to a collection of resources using Atom. - * - * @version $Rev$ $Date$ - */ -@Remotable -public interface Collection { - - /** - * Get an Atom feed for a collection of resources. - * - * @return the Atom feed - */ - Feed getFeed(); - - /** - * Get an Atom feed for a collection of resources resulting - * from a query. - * - * @param queryString a query string - * @return the Atom feed - */ - Feed query(String queryString); - - /** - * 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/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/collection/MediaCollection.java b/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/collection/MediaCollection.java deleted file mode 100644 index 455eef81cd..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/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.atom.collection; - -import java.io.InputStream; - -import org.oasisopen.sca.annotation.Remotable; - -import org.apache.abdera.model.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/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/collection/NotFoundException.java b/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/collection/NotFoundException.java deleted file mode 100644 index b457840922..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/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.atom.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/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingInvoker.java b/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingInvoker.java deleted file mode 100644 index 84232aa3af..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingInvoker.java +++ /dev/null @@ -1,485 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.atom.provider; - -import static org.apache.tuscany.sca.binding.atom.provider.AtomBindingUtil.entry; -import static org.apache.tuscany.sca.binding.atom.provider.AtomBindingUtil.feedEntry; - -import java.io.InputStreamReader; -import java.io.StringWriter; -import java.util.ArrayList; -import java.util.List; - -import org.apache.abdera.Abdera; -import org.apache.abdera.factory.Factory; -import org.apache.abdera.model.Document; -import org.apache.abdera.model.Feed; -import org.apache.abdera.parser.Parser; -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.atom.collection.NotFoundException; -import org.apache.tuscany.sca.data.collection.Entry; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * Invoker for the Atom binding. - * - * @version $Rev$ $Date$ - */ -class AtomBindingInvoker implements Invoker { - - private static final Factory abderaFactory = Abdera.getNewFactory(); - private static final Parser abderaParser = Abdera.getNewParser(); - - Operation operation; - String uri; - HttpClient httpClient; - String authorizationHeader; - AtomReferenceBindingProvider provider; - - AtomBindingInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader, AtomReferenceBindingProvider bindingProvider) { - this.operation = operation; - this.uri = uri; - this.httpClient = httpClient; - this.authorizationHeader = authorizationHeader; - this.provider = bindingProvider; - } - - 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()); - } - - /** - * Get operation invoker - */ - public static class GetInvoker extends AtomBindingInvoker { - - public GetInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader, AtomReferenceBindingProvider bindingProvider) { - super(operation, uri, httpClient, authorizationHeader, bindingProvider); - } - - @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); - boolean parsing = false; - try { - httpClient.executeMethod(getMethod); - int status = getMethod.getStatusCode(); - - // Read the Atom entry - if (status == 200) { - Document doc = - abderaParser.parse(new InputStreamReader(getMethod.getResponseBodyAsStream())); - parsing = true; - org.apache.abdera.model.Entry feedEntry = doc.getRoot(); - - if (provider.supportsFeedEntries()) { - - // Return the Atom entry - msg.setBody(feedEntry); - - } else { - - // Convert the feed entry to a data entry and return the data item - Entry entry = entry(feedEntry, provider.getItemClassType(), - provider.getItemXMLType(), provider.getMediator()); - msg.setBody(entry.getData()); - } - - } 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 { - if (!parsing) { - // Release the connection unless the Abdera parser is - // parsing the response, in this case it will release it - getMethod.releaseConnection(); - } - } - - return msg; - } - } - - /** - * Post operation invoker - */ - public static class PostInvoker extends AtomBindingInvoker { - - public PostInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader, AtomReferenceBindingProvider bindingProvider) { - super(operation, uri, httpClient, authorizationHeader, bindingProvider); - } - - @Override - public Message invoke(Message msg) { - // Post an entry - Object[] args = (Object[])msg.getBody(); - org.apache.abdera.model.Entry feedEntry; - if (provider.supportsFeedEntries()) { - - // Expect an Atom entry - feedEntry = (org.apache.abdera.model.Entry)args[0]; - } else { - - // Expect a key and data item - Entry entry = new Entry(args[0], args[1]); - feedEntry = feedEntry(entry, provider.getItemClassType(), - provider.getItemXMLType(), provider.getMediator(), abderaFactory); - } - - // Send an HTTP POST - PostMethod postMethod = new PostMethod(uri); - postMethod.setRequestHeader("Authorization", authorizationHeader); - boolean parsing = false; - try { - - // Write the Atom entry - StringWriter writer = new StringWriter(); - feedEntry.writeTo(writer); - // postMethod.setRequestHeader("Content-type", "application/atom+xml; charset=utf-8"); - postMethod.setRequestHeader("Content-type", "application/atom+xml;type=entry"); - postMethod.setRequestEntity(new StringRequestEntity(writer.toString())); - - httpClient.executeMethod(postMethod); - int status = postMethod.getStatusCode(); - - // Read the Atom entry - if (status == 200 || status == 201) { - Document doc = abderaParser.parse(new InputStreamReader(postMethod.getResponseBodyAsStream())); - parsing = true; - org.apache.abdera.model.Entry createdEntry = doc.getRoot(); - - // Returns the created Atom entry ID - if (provider.supportsFeedEntries()) { - - // Returns the created entry - msg.setBody(createdEntry); - - } else { - - // Returns the id of the created entry - msg.setBody(createdEntry.getId().toString()); - } - - } 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 { - if (!parsing) { - // Release the connection unless the Abdera parser is - // parsing the response, in this case it will release it - postMethod.releaseConnection(); - } - } - - return msg; - } - } - - /** - * Put operation invoker - */ - public static class PutInvoker extends AtomBindingInvoker { - - public PutInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader, AtomReferenceBindingProvider bindingProvider) { - super(operation, uri, httpClient, authorizationHeader, bindingProvider); - } - - @Override - public Message invoke(Message msg) { - // Put an entry - Object[] args = (Object[])msg.getBody(); - String id; - org.apache.abdera.model.Entry feedEntry; - if (provider.supportsFeedEntries()) { - - // Expect a key and Atom entry - id = (String)args[0]; - feedEntry = (org.apache.abdera.model.Entry)args[1]; - } else { - - // Expect a key and data item - id = (String)args[0]; - Entry entry = new Entry(id, args[1]); - feedEntry = feedEntry(entry, provider.getItemClassType(), - provider.getItemXMLType(), provider.getMediator(), abderaFactory); - } - - // Send an HTTP PUT - PutMethod putMethod = new PutMethod(uri + "/" + id); - putMethod.setRequestHeader("Authorization", authorizationHeader); - - try { - - // Write the Atom entry - StringWriter writer = new StringWriter(); - feedEntry.writeTo(writer); - putMethod.setRequestHeader("Content-type", "application/atom+xml; charset=utf-8"); - putMethod.setRequestEntity(new StringRequestEntity(writer.toString())); - - httpClient.executeMethod(putMethod); - int status = putMethod.getStatusCode(); - if (status == 200 || status == 201 || status == 412) { - - 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 { - putMethod.releaseConnection(); - } - - return msg; - } - } - - /** - * Delete operation invoker - */ - public static class DeleteInvoker extends AtomBindingInvoker { - - public DeleteInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader, AtomReferenceBindingProvider bindingProvider) { - super(operation, uri, httpClient, authorizationHeader, bindingProvider); - } - - @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(); - 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, AtomReferenceBindingProvider bindingProvider) { - super(operation, uri, httpClient, authorizationHeader, bindingProvider); - } - - @Override - public Message invoke(Message msg) { - // Get a feed - - // Send an HTTP GET - GetMethod getMethod = new GetMethod(uri); - getMethod.setRequestHeader("Authorization", authorizationHeader); - boolean parsing = false; - try { - httpClient.executeMethod(getMethod); - int status = getMethod.getStatusCode(); - // AtomBindingInvoker.printResponseHeader( getMethod ); - - // Read the Atom feed - if (status == 200) { - Document doc = abderaParser.parse(new InputStreamReader(getMethod.getResponseBodyAsStream())); - parsing = true; - Feed feed = doc.getRoot(); - - if (provider.supportsFeedEntries()) { - - // Returns the Atom feed - msg.setBody(feed); - - } else { - - // Returns an array of data entries - List> entries = new ArrayList>(); - for (org.apache.abdera.model.Entry feedEntry: feed.getEntries()) { - Entry entry = entry(feedEntry, provider.getItemClassType(), - provider.getItemXMLType(), provider.getMediator()); - entries.add(entry); - } - msg.setBody(entries.toArray(new Entry[entries.size()])); - } - - } 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 { - if (!parsing) { - // Release the connection unless the Abdera parser is - // parsing the response, in this case it will release it - getMethod.releaseConnection(); - } - } - - return msg; - } - } - - /** - * Query operation invoker - */ - public static class QueryInvoker extends AtomBindingInvoker { - - public QueryInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader, AtomReferenceBindingProvider bindingProvider) { - super(operation, uri, httpClient, authorizationHeader, bindingProvider); - } - - @Override - public Message invoke(Message msg) { - // Get a feed from a query - String queryString = (String)((Object[])msg.getBody())[0]; - - // Send an HTTP GET - GetMethod getMethod = new GetMethod(uri); - getMethod.setRequestHeader("Authorization", authorizationHeader); - getMethod.setQueryString(queryString); - boolean parsing = false; - try { - httpClient.executeMethod(getMethod); - int status = getMethod.getStatusCode(); - - // Read the Atom feed - if (status == 200) { - Document doc = abderaParser.parse(new InputStreamReader(getMethod.getResponseBodyAsStream())); - parsing = true; - Feed feed = doc.getRoot(); - - if (provider.supportsFeedEntries()) { - - // Returns the Atom feed - msg.setBody(feed); - - } else { - - // Returns an array of data entries - List> entries = new ArrayList>(); - for (org.apache.abdera.model.Entry feedEntry: feed.getEntries()) { - Entry entry = entry(feedEntry, provider.getItemClassType(), - provider.getItemXMLType(), provider.getMediator()); - entries.add(entry); - } - msg.setBody(entries.toArray(new Entry[entries.size()])); - } - - } 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 { - if (!parsing) { - // Release the connection unless the Abdera parser is - // parsing the response, in this case it will release it - getMethod.releaseConnection(); - } - } - - return msg; - } - } - - /** - * PostMedia operation invoker - */ - public static class PostMediaInvoker extends AtomBindingInvoker { - - public PostMediaInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader, AtomReferenceBindingProvider bindingProvider) { - super(operation, uri, httpClient, authorizationHeader, bindingProvider); - } - - @Override - public Message invoke(Message msg) { - // PostInvoker can detect media by content type (non-Feed, non-Entry) - return super.invoke(msg); - } - } - - /** - * PutMedia operation invoker - */ - public static class PutMediaInvoker extends AtomBindingInvoker { - - public PutMediaInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader, AtomReferenceBindingProvider bindingProvider) { - super(operation, uri, httpClient, authorizationHeader, bindingProvider); - } - - @Override - public Message invoke(Message msg) { - // PutInvoker can detect media by content type (non-Feed, non-Entry) - return super.invoke(msg); - } - } - -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingListenerServlet.java b/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingListenerServlet.java deleted file mode 100644 index f6c713fae7..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingListenerServlet.java +++ /dev/null @@ -1,871 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.atom.provider; - -import static org.apache.tuscany.sca.binding.atom.provider.AtomBindingUtil.entry; -import static org.apache.tuscany.sca.binding.atom.provider.AtomBindingUtil.feedEntry; - -import java.io.IOException; -import java.io.OutputStreamWriter; -import java.io.UnsupportedEncodingException; -import java.io.Writer; -import java.net.URL; -import java.net.URLDecoder; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.Enumeration; -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.abdera.Abdera; -import org.apache.abdera.factory.Factory; -import org.apache.abdera.i18n.iri.IRI; -import org.apache.abdera.model.Category; -import org.apache.abdera.model.Collection; -import org.apache.abdera.model.Document; -import org.apache.abdera.model.Element; -import org.apache.abdera.model.Feed; -import org.apache.abdera.model.Link; -import org.apache.abdera.model.Service; -import org.apache.abdera.model.Workspace; -import org.apache.abdera.parser.ParseException; -import org.apache.abdera.parser.Parser; -import org.apache.abdera.writer.WriterFactory; - -import org.apache.commons.codec.binary.Base64; -import org.apache.tuscany.sca.binding.http.HTTPCacheContext; -import org.apache.tuscany.sca.data.collection.Entry; -import org.apache.tuscany.sca.databinding.Mediator; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl; -import org.apache.tuscany.sca.interfacedef.Operation; -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; - -/** - * 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 AtomBindingListenerServlet extends HttpServlet { - private static final Logger logger = Logger.getLogger(AtomBindingListenerServlet.class.getName()); - private static final long serialVersionUID = 1L; - - private static final Factory abderaFactory = Abdera.getNewFactory(); - private static final Parser abderaParser = Abdera.getNewParser(); - private static final String ETAG = "ETag"; - private static final String LASTMODIFIED = "Last-Modified"; - private static final String LOCATION = "Location"; - private static final String CONTENTLOCATION = "Content-Location"; - private static final SimpleDateFormat dateFormat = new SimpleDateFormat( "EEE, dd MMM yyyy HH:mm:ss Z" ); // RFC 822 date time - - 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 title; - private Mediator mediator; - private DataType itemClassType; - private DataType itemXMLType; - private boolean supportsFeedEntries; - - /** - * Constructs a new binding listener. - * - * @param wire - * @param messageFactory - * @param feedType - */ - AtomBindingListenerServlet(RuntimeWire wire, MessageFactory messageFactory, Mediator mediator, String title) { - this.wire = wire; - this.messageFactory = messageFactory; - this.mediator = mediator; - this.title = title; - - // 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>(String.class.getName(), String.class, String.class); - Class itemClass = getOperation.getOutputType().getPhysical(); - if (itemClass == org.apache.abdera.model.Entry.class) { - supportsFeedEntries = true; - } - DataType outputType = getOperation.getOutputType(); - QName qname = outputType.getLogical().getElementName(); - qname = new QName(qname.getNamespaceURI(), itemClass.getSimpleName()); - itemClassType = new DataTypeImpl("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 - - // Test for any cache info in the request - HTTPCacheContext cacheContext = null; - try { - cacheContext = HTTPCacheContext.getCacheContextFromRequest( request ); - } catch ( java.text.ParseException e ) { - } - // System.out.println( "AtomBindingListener.doGet cache context=" + cacheContext ); - - // Get the request path - int servletPathLength = request.getContextPath().length() + request.getServletPath().length(); - String path = URLDecoder.decode(request.getRequestURI().substring(servletPathLength), "UTF-8"); - - logger.fine("get " + request.getRequestURI()); - - // Handle an Atom request - if (path != null && path.equals("/atomsvc")) { - /* - - - - resource - - entries - application/atom+xml;type=entry - - - - - */ - - // Return the Atom service document - response.setContentType("application/atomsvc+xml; charset=utf-8"); - - String href = request.getRequestURL().toString(); - href = href.substring(0, href.length() - "/atomsvc".length()); - - String workspaceURL = new String( href ); - int pathIndex = workspaceURL.indexOf( request.getServletPath() ); - if ( -1 != pathIndex ) - workspaceURL = workspaceURL.substring( 0, pathIndex ) + "/"; - - Service service = abderaFactory.newService(); - //service.setText("service"); - - Workspace workspace = abderaFactory.newWorkspace(); - if ( title != null ) - workspace.setTitle(title); - else - workspace.setTitle("workspace"); - workspace.setBaseUri( new IRI( workspaceURL )); - - Collection collection = workspace.addCollection("collection", href ); - Feed feed = getFeed( request ); - if ( feed != null ) { - String title = feed.getTitle(); - if ( title != null ) - collection.setTitle(title); - else - collection.setTitle("entries"); - collection.addAccepts("application/atom+xml;type=feed"); - collection.addAccepts("application/json;type=feed"); - collection.addAccepts("application/atom+xml;type=entry"); - collection.addAccepts("application/json;type=entry"); - List categories = feed.getCategories(); - if ( categories != null ) { - collection.addCategories(categories, false, null); - } else - collection.addCategories().setFixed(false); - - } else { - collection.setTitle("entries"); - // collection.addAccepts("application/atom+xml;type=feed"); - collection.addAccepts("application/atom+xml; type=entry"); - collection.addAccepts("application/json;type=entry"); - collection.addCategories().setFixed(false); - } - workspace.addCollection(collection); - - service.addWorkspace(workspace); - - //FIXME add prettyPrint support - try { - service.getDocument().writeTo(response.getOutputStream()); - } catch (IOException ioe) { - throw new ServletException(ioe); - } - - } else if (path == null || path.length() == 0 || path.equals("/")) { - - // Return a feed containing the entries in the collection - Feed feed = getFeed( request ); - if (feed != null) { - String feedETag = null; - if (feed.getId() != null) - feedETag = feed.getId().toString(); - Date feedUpdated = feed.getUpdated(); - // Test request for predicates. - String predicate = request.getHeader( "If-Match" ); - if (( predicate != null ) && ( !predicate.equals(feedETag) )) { - // No match, should short circuit - response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED); - return; - } - predicate = request.getHeader( "If-None-Match" ); - if (( predicate != null ) && ( predicate.equals(feedETag) )) { - // Match, should short circuit - response.sendError(HttpServletResponse.SC_NOT_MODIFIED); - return; - } - if ( feedUpdated != null ) { - predicate = request.getHeader( "If-Unmodified-Since" ); - if ( predicate != null ) { - try { - Date predicateDate = dateFormat.parse( predicate ); - if ( predicateDate.compareTo( feedUpdated ) < 0 ) { - // Match, should short circuit - response.sendError(HttpServletResponse.SC_NOT_MODIFIED); - return; - } - } catch ( java.text.ParseException e ) { - // Ignore and move on - } - } - predicate = request.getHeader( "If-Modified-Since" ); - if ( predicate != null ) { - try { - Date predicateDate = dateFormat.parse( predicate ); - if ( predicateDate.compareTo( feedUpdated ) > 0 ) { - // Match, should short circuit - response.sendError(HttpServletResponse.SC_NOT_MODIFIED); - return; - } - } catch ( java.text.ParseException e ) { - // Ignore and move on - } - } - } - // Provide Etag based on Id and time if given. - // Ignore if not given. (Browser may cache if trivial ETag is given.) - if ( feedETag != null ) - response.addHeader(ETAG, feedETag ); - if ( feedUpdated != null ) - response.addHeader(LASTMODIFIED, dateFormat.format( feedUpdated )); - - // Content negotiation - String acceptType = request.getHeader( "Accept" ); - String preferredType = getContentPreference( acceptType ); - if (( preferredType != null ) && ((preferredType.indexOf( "json") > -1) || (preferredType.indexOf( "JSON") > -1 ))) { - // JSON response body - response.setContentType("application/json;type=feed"); - - try { - Abdera abdera = new Abdera(); - WriterFactory wf = abdera.getWriterFactory(); - org.apache.abdera.writer.Writer json = wf.getWriter("json"); - feed.writeTo(json, response.getWriter()); - } catch (Exception e) { - throw new ServletException(e); - } - - } else { - // Write the Atom feed - response.setContentType("application/atom+xml;type=feed"); - try { - feed.getDocument().writeTo(response.getOutputStream()); - } catch (IOException ioe) { - throw new ServletException(ioe); - } - } - } else { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - - } else if (path.startsWith("/")) { - // Return a specific entry in the collection - org.apache.abdera.model.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 - Entry entry = new Entry(id, responseMessage.getBody()); - feedEntry = feedEntry(entry, itemClassType, itemXMLType, mediator, abderaFactory); - } - // Write the Atom entry - if (feedEntry != null) { - String entryETag = null; - if (feedEntry.getId() != null) - entryETag = feedEntry.getId().toString(); - Date entryUpdated = feedEntry.getUpdated(); - if ( entryUpdated != null ) - response.addHeader(LASTMODIFIED, dateFormat.format( entryUpdated )); - // TODO Check If-Modified-Since If-Unmodified-Since predicates against LASTMODIFIED. - // If true return 304 and null body. - - Link link = feedEntry.getSelfLink(); - if (link != null) { - response.addHeader(LOCATION, link.getHref().toString()); - } else { - link = feedEntry.getLink( "Edit" ); - if (link != null) { - response.addHeader(LOCATION, link.getHref().toString()); - } - } - - // Test request for predicates. - String predicate = request.getHeader( "If-Match" ); - if (( predicate != null ) && ( !predicate.equals(entryETag) )) { - // No match, should short circuit - response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED); - return; - } - predicate = request.getHeader( "If-None-Match" ); - if (( predicate != null ) && ( predicate.equals(entryETag) )) { - // Match, should short circuit - response.sendError(HttpServletResponse.SC_NOT_MODIFIED); - return; - } - if ( entryUpdated != null ) { - predicate = request.getHeader( "If-Unmodified-Since" ); - if ( predicate != null ) { - try { - Date predicateDate = dateFormat.parse( predicate ); - if ( predicateDate.compareTo( entryUpdated ) < 0 ) { - // Match, should short circuit - response.sendError(HttpServletResponse.SC_NOT_MODIFIED); - return; - } - } catch ( java.text.ParseException e ) { - // Ignore and move on - } - } - predicate = request.getHeader( "If-Modified-Since" ); - if ( predicate != null ) { - try { - Date predicateDate = dateFormat.parse( predicate ); - if ( predicateDate.compareTo( entryUpdated ) > 0 ) { - // Match, should short circuit - response.sendError(HttpServletResponse.SC_NOT_MODIFIED); - return; - } - } catch ( java.text.ParseException e ) { - // Ignore and move on - } - } - } - // Provide Etag based on Id and time if given. - // Ignore if not given. (Browser may cache if trivial ETag is given.) - if (entryETag != null) - response.addHeader(ETAG, entryETag ); - if ( entryUpdated != null ) - response.addHeader(LASTMODIFIED, dateFormat.format( entryUpdated )); - - // Content negotiation - String acceptType = request.getHeader( "Accept" ); - String preferredType = getContentPreference( acceptType ); - if (( preferredType != null ) && ((preferredType.indexOf( "json") > -1) || (preferredType.indexOf( "JSON") > -1 ))) { - // JSON response body - response.setContentType("application/json;type=entry"); - try { - Abdera abdera = new Abdera(); - WriterFactory wf = abdera.getWriterFactory(); - org.apache.abdera.writer.Writer json = wf.getWriter("json"); - feedEntry.writeTo(json, response.getWriter()); - } catch (Exception e) { - throw new ServletException(e); - } - } else { - // XML response body - response.setContentType("application/atom+xml;type=entry"); - try { - feedEntry.writeTo(getWriter(response)); - } catch (IOException ioe) { - throw new ServletException(ioe); - } - } - } else { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - } else { - // Path doesn't match any known pattern - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - - } - - protected Feed getFeed( HttpServletRequest request ) throws ServletException { - if (supportsFeedEntries) { - // The service implementation supports feed entries, invoke its getFeed operation - Message requestMessage = messageFactory.createMessage(); - Message responseMessage; - if (request.getQueryString() != null) { - requestMessage.setBody(new Object[] {request.getQueryString()}); - responseMessage = queryInvoker.invoke(requestMessage); - } else { - responseMessage = getFeedInvoker.invoke(requestMessage); - } - if (responseMessage.isFault()) { - throw new ServletException((Throwable)responseMessage.getBody()); - } - return (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()); - } - Entry[] collection = - (Entry[])responseMessage.getBody(); - if (collection != null) { - - // Create the feed - Feed feed = abderaFactory.newFeed(); - - // Set the feed title - if (title != null) { - feed.setTitle(title); - } else { - feed.setTitle("Feed"); - } - // All feeds must provide Id and updated elements. - // However, some do not, so provide some program protection. - feed.setId( "Feed" + feed.hashCode()); - Date responseLastModified = new Date( 0 ); - - // Add entries to the feed - for (Entry entry: collection) { - org.apache.abdera.model.Entry feedEntry = feedEntry(entry, itemClassType, itemXMLType, mediator, abderaFactory); - // Use the most recent entry update as the feed update - Date entryUpdated = feedEntry.getUpdated(); - if (( entryUpdated != null ) && (entryUpdated.compareTo( responseLastModified ) > 0 )) - responseLastModified = entryUpdated; - feed.addEntry(feedEntry); - } - // If no entries were newly updated, - if ( responseLastModified.compareTo( new Date( 0 ) ) == 0 ) - responseLastModified = new Date(); - return feed; - } - } - 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("/")) { - org.apache.abdera.model.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 - org.apache.abdera.model.Entry feedEntry; - try { - Document doc = abderaParser.parse(request.getReader()); - feedEntry = doc.getRoot(); - } catch (ParseException pe) { - throw new ServletException(pe); - } - - // 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(); - Entry entry = entry(feedEntry, itemClassType, itemXMLType, mediator); - 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 = feedEntry(entry, itemClassType, itemXMLType, mediator, abderaFactory); - } - - } 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(); - - // Transfer media info to response header. - // Summary is a comma separated list of header properties. - String summary = createdFeedEntry.getSummary(); - addPropertiesToHeader( response, summary ); - - } else { - response.sendError(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE); - } - - // A new entry for non-media was created successfully. - if (createdFeedEntry != null) { - // Set location of the created entry in the Location header - IRI feedId = createdFeedEntry.getId(); - if ( feedId != null ) - response.addHeader(ETAG, "\"" + feedId.toString() + "\"" ); - Date entryUpdated = createdFeedEntry.getUpdated(); - if ( entryUpdated != null ) - response.addHeader(LASTMODIFIED, dateFormat.format( entryUpdated )); - Link link = createdFeedEntry.getSelfLink(); - if (link != null) { - response.addHeader(LOCATION, link.getHref().toString()); - } - Link editLink = createdFeedEntry.getEditLink(); - if (editLink != null) { - response.addHeader(LOCATION, editLink.getHref().toString()); - } - Link editMediaLink = createdFeedEntry.getEditMediaLink(); - if (editMediaLink != null) { - response.addHeader(CONTENTLOCATION, editMediaLink.getHref().toString()); - } - - // Write the created Atom entry - response.setStatus(HttpServletResponse.SC_CREATED); - response.setContentType("application/atom+xml;type=entry"); - try { - createdFeedEntry.writeTo(getWriter(response)); - } catch (ParseException pe) { - throw new ServletException(pe); - } - - } 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 = request.getRequestURI().substring(request.getServletPath().length()); - - 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 - org.apache.abdera.model.Entry feedEntry; - try { - Document doc = abderaParser.parse(request.getReader()); - feedEntry = doc.getRoot(); - } catch (ParseException pe) { - throw new ServletException(pe); - } - - // 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(); - Entry entry = entry(feedEntry, itemClassType, itemXMLType, mediator); - 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) { - - // Update 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()); - } - } - - // Transfer content to response header. - - } 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 { - - // FIXME temporarily disabling this as it doesn't work with all browsers - if (true) - return "admin"; - - 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 - return ("admin".equals(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); - } - - public static String getContentPreference( String acceptType ) { - if (( acceptType == null ) || ( acceptType.length() < 1 )) { - return "application/atom+xml"; - } - StringTokenizer st = new StringTokenizer( acceptType, "," ); - if ( st.hasMoreTokens() ) - return st.nextToken(); - return "application/atom+xml"; - } - - /** Take a list of key values and add them to the header. - * For instance "Content-Type=image/gif,Content-Length=14201" - * @param response - * @param properties - */ - public static void addPropertiesToHeader( HttpServletResponse response, String properties ) { - if ( properties == null ) return; - StringTokenizer props = new StringTokenizer( properties, ","); - while( props.hasMoreTokens()) { - String prop = props.nextToken(); - StringTokenizer keyVal = new StringTokenizer( prop, "="); - String key = null; - String val = null; - if ( keyVal.hasMoreTokens() ) - key = keyVal.nextToken(); - if ( keyVal.hasMoreTokens() ) - val = keyVal.nextToken(); - if (( key != null ) && ( val != null )) { - response.addHeader(key, val); - } - } - } - -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingProviderFactory.java b/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingProviderFactory.java deleted file mode 100644 index b6b805e383..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/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.atom.provider; - -import org.apache.tuscany.sca.binding.atom.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 a Binding provider factory for the Atom binding. - * - * @version $Rev$ $Date$ - */ -public class AtomBindingProviderFactory implements BindingProviderFactory { - - 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, mediator); - } - - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - AtomBinding binding) { - return new AtomServiceBindingProvider(component, service, binding, servletHost, messageFactory, mediator); - } - - public Class getModelType() { - return AtomBinding.class; - } -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingUtil.java b/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingUtil.java deleted file mode 100644 index 62fde86122..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingUtil.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.atom.provider; - -import java.util.Date; - -import org.apache.abdera.factory.Factory; -import org.apache.abdera.model.Content; -import org.apache.abdera.model.Link; -import org.apache.tuscany.sca.data.collection.Entry; -import org.apache.tuscany.sca.data.collection.Item; -import org.apache.tuscany.sca.databinding.Mediator; -import org.apache.tuscany.sca.interfacedef.DataType; - -/** - * Utility methods used in this package. - * - * @version $Rev$ $Date$ - */ -class AtomBindingUtil { - - /** - * Create a data item from an Atom entry. - * @param feedEntry - * @param itemClassType - * @param itemXMLType - * @param mediator - * @return - */ - static Entry entry(org.apache.abdera.model.Entry feedEntry, - DataType itemClassType, DataType itemXMLType, Mediator mediator) { - if (feedEntry != null) { - if (itemClassType.getPhysical() == Item.class) { - String key = feedEntry.getId().toString(); - - Item item = new Item(); - item.setTitle(feedEntry.getTitle()); - item.setContents(feedEntry.getContent()); - - for (Link link : feedEntry.getLinks()) { - if (link.getRel() == null || "self".equals(link.getRel())) { - if (item.getLink() == null) { - item.setLink(link.getHref().toString()); - } - } else if ("related".equals(link.getRel())) { - item.setRelated(link.getHref().toString()); - } else if ("alternate".equals(link.getRel())) { - item.setAlternate(link.getHref().toString()); - } - } - - item.setDate(feedEntry.getUpdated()); - - return new Entry(key, item); - - } else { - String key = null; - if ( feedEntry.getId() != null) { - key = feedEntry.getId().toString(); - } - - // Create the item from XML - if (feedEntry.getContentElement().getElements().size() == 0) { - return null; - } - - String value = feedEntry.getContent(); - Object data = mediator.mediate(value, itemXMLType, itemClassType, null); - - return new Entry(key, data); - } - } else { - return null; - } - } - - /** - * Create an Atom entry for a key and item from a collection. - * @param entry - * @param itemClassType - * @param itemXMLType - * @param mediator - * @param factory - * @return - */ - static org.apache.abdera.model.Entry feedEntry(Entry entry, - DataType itemClassType, DataType itemXMLType, Mediator mediator, - Factory factory) { - Object key = entry.getKey(); - Object data = entry.getData(); - if (data instanceof Item) { - Item item = (Item)data; - - org.apache.abdera.model.Entry feedEntry = factory.newEntry(); - if (key != null) { - feedEntry.setId(key.toString()); - } - feedEntry.setTitle(item.getTitle()); - feedEntry.setContentAsHtml(item.getContents()); - - String href = item.getLink(); - if (href == null && key != null) { - href = key.toString(); - } - - if (href != null) { - feedEntry.addLink(href); - } - String related = item.getRelated(); - if (related != null) { - feedEntry.addLink(related, "related"); - } - String alternate = item.getAlternate(); - if (alternate != null) { - feedEntry.addLink(alternate, "alternate"); - } - - Date date = item.getDate(); - if (date != null) { - feedEntry.setUpdated(date); - } - return feedEntry; - - } else if (data != null) { - org.apache.abdera.model.Entry feedEntry = factory.newEntry(); - feedEntry.setId(key.toString()); - feedEntry.setTitle("item"); - - - // Convert the item to XML - String value = mediator.mediate(data, itemClassType, itemXMLType, null).toString(); - - Content content = factory.newContent(); - content.setContentType(Content.Type.XML); - content.setValue(value); - - feedEntry.setContentElement(content); - - feedEntry.addLink(key.toString()); - - return feedEntry; - } else { - return null; - } - } - -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomReferenceBindingProvider.java b/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomReferenceBindingProvider.java deleted file mode 100644 index f2b1d1f72b..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomReferenceBindingProvider.java +++ /dev/null @@ -1,183 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.atom.provider; - -import java.net.URI; - -import javax.xml.namespace.QName; - -import org.apache.commons.codec.binary.Base64; -import org.apache.commons.httpclient.Credentials; -import org.apache.commons.httpclient.HttpClient; -import org.apache.commons.httpclient.HttpConnectionManager; -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.atom.AtomBinding; -import org.apache.tuscany.sca.databinding.Mediator; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -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.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; - private Mediator mediator; - private DataType itemClassType; - private DataType itemXMLType; - private boolean supportsFeedEntries; - - /** - * Constructs a new AtomReferenceBindingProvider - * @param component - * @param reference - * @param binding - * @param mediator - */ - AtomReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - AtomBinding binding, - Mediator mediator) { - this.reference = reference; - this.binding = binding; - this.mediator = mediator; - - // Prepare authorization header - String authorization = "admin" + ":" + "admin"; - authorizationHeader = "Basic " + new String(Base64.encodeBase64(authorization.getBytes())); - - // Create an HTTP client - HttpConnectionManager connectionManager = new MultiThreadedHttpConnectionManager(); - connectionManager.getParams().setDefaultMaxConnectionsPerHost(10); - connectionManager.getParams().setConnectionTimeout(60000); - httpClient = new HttpClient(connectionManager); - } - - public Invoker createInvoker(Operation operation) { - - String operationName = operation.getName(); - if (operationName.equals("get")) { - - // Determine the collection item type - itemXMLType = new DataTypeImpl>(String.class.getName(), String.class, String.class); - Class itemClass = operation.getOutputType().getPhysical(); - DataType outputType = operation.getOutputType(); - QName qname = outputType.getLogical().getElementName(); - qname = new QName(qname.getNamespaceURI(), itemClass.getSimpleName()); - itemClassType = new DataTypeImpl("java:complexType", itemClass, new XMLType(qname, null)); - if (itemClassType.getPhysical() == org.apache.abdera.model.Entry.class) { - supportsFeedEntries = true; - } - - return new AtomBindingInvoker.GetInvoker(operation, binding.getURI(), httpClient, authorizationHeader, this); - - } else if (operationName.equals("post")) { - return new AtomBindingInvoker.PostInvoker(operation, binding.getURI(), httpClient, authorizationHeader, this); - } else if (operationName.equals("put")) { - return new AtomBindingInvoker.PutInvoker(operation, binding.getURI(), httpClient, authorizationHeader, this); - } else if (operationName.equals("delete")) { - return new AtomBindingInvoker.DeleteInvoker(operation, binding.getURI(), httpClient, authorizationHeader, this); - } else if (operationName.equals("getFeed") || operationName.equals("getAll")) { - return new AtomBindingInvoker.GetAllInvoker(operation, binding.getURI(), httpClient, authorizationHeader, this); - } else if (operationName.equals("postMedia")) { - return new AtomBindingInvoker.PostMediaInvoker(operation, binding.getURI(), httpClient, authorizationHeader, this); - } else if (operationName.equals("putMedia")) { - return new AtomBindingInvoker.PutMediaInvoker(operation, binding.getURI(), httpClient, authorizationHeader, this); - } else if (operationName.equals("query")) { - return new AtomBindingInvoker.QueryInvoker(operation, binding.getURI(), httpClient, authorizationHeader, this); - } - - return new AtomBindingInvoker(operation, binding.getURI(), httpClient, authorizationHeader, this); - } - - 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); - - // Find the get operation on the reference interface - if (true) { - return; - } - } - - public void stop() { - - } - - public boolean supportsOneWayInvocation() { - return false; - } - - /** - * Returns the mediator. - * @return - */ - Mediator getMediator() { - return mediator; - } - - /** - * Returns the item class type. - * @return - */ - DataType getItemClassType() { - return itemClassType; - } - - /** - * Returns the item XML type. - * @return - */ - DataType getItemXMLType() { - return itemXMLType; - } - - /** - * Returns true if the invoker should work with Atom - * feed entries. - * @return - */ - boolean supportsFeedEntries() { - return supportsFeedEntries; - } - -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java b/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomServiceBindingProvider.java deleted file mode 100644 index e1d470f5a3..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/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.atom.provider; - -import org.apache.tuscany.sca.binding.atom.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); - - AtomBindingListenerServlet servlet = - new AtomBindingListenerServlet(wire, messageFactory, mediator, binding.getTitle()); - - servletMapping = binding.getURI(); - if (!servletMapping.endsWith("/")) { - servletMapping += "/"; - } - if (!servletMapping.endsWith("*")) { - servletMapping += "*"; - } - servletHost.addServletMapping(servletMapping, servlet); - } - - public void stop() { - servletHost.removeServletMapping(servletMapping); - } -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/java/sca/contrib/modules/binding-atom-abdera/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory deleted file mode 100644 index 1b9052299c..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/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.atom.provider.AtomBindingProviderFactory;model=org.apache.tuscany.sca.binding.atom.AtomBinding diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomDeleteTestCase.java b/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomDeleteTestCase.java deleted file mode 100644 index f9ac5f9c78..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomDeleteTestCase.java +++ /dev/null @@ -1,92 +0,0 @@ -package org.apache.tuscany.sca.binding.atom; - -import java.util.UUID; - -import junit.framework.Assert; - -import org.apache.abdera.Abdera; -import org.apache.abdera.model.Content; -import org.apache.abdera.model.Entry; -import org.apache.tuscany.sca.binding.atom.collection.Collection; -import org.apache.tuscany.sca.host.embedded.SCADomain; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -public class AtomDeleteTestCase { - protected static SCADomain scaConsumerDomain; - protected static SCADomain scaProviderDomain; - protected static CustomerClient testService; - protected static Abdera abdera; - - @BeforeClass - public static void init() throws Exception { - System.out.println(">>>AtomDeleteTestCase.init entry"); - scaProviderDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/atom/Provider.composite"); - scaConsumerDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/atom/Consumer.composite"); - testService = scaConsumerDomain.getService(CustomerClient.class, "CustomerClient"); - abdera = new Abdera(); - } - - @AfterClass - public static void destroy() throws Exception { - // System.out.println(">>>AtomDeleteTestCase.destroy entry"); - scaConsumerDomain.close(); - scaProviderDomain.close(); - } - - @Test - public void testPrelim() throws Exception { - Assert.assertNotNull(scaProviderDomain); - Assert.assertNotNull(scaConsumerDomain); - Assert.assertNotNull(testService); - Assert.assertNotNull(abdera); - } - - @Test - public void testAtomDelete() throws Exception { - Collection resourceCollection = testService.getCustomerCollection(); - Assert.assertNotNull(resourceCollection); - - Entry postEntry = postEntry("Sponge Bob"); - System.out.println(">>> post entry= " + postEntry.getTitle()); - - Entry newEntry = resourceCollection.post(postEntry); - System.out.println("<<< Entry posted for " + newEntry.getTitle()); - - System.out.println(">>> get id=" + newEntry.getId()); - - resourceCollection.delete(newEntry.getId().toString()); - - } - - @Test - public void testAtomDeleteException() throws Exception { - Collection resourceCollection = testService.getCustomerCollection(); - Assert.assertNotNull(resourceCollection); - - try { - // Generates custom ID - String id = "urn:uuid:customer-" + UUID.randomUUID().toString(); - resourceCollection.delete(id); - } catch (Exception e) { - // ID doesn't match with the existing IDs and NotFoundException is - // thrown - Assert.assertEquals("NotFoundException", e.getClass().getSimpleName()); - } - - } - - private Entry postEntry(String value) { - Entry entry = abdera.newEntry(); - entry.setTitle("customer " + value); - - Content content = abdera.getFactory().newContent(); - content.setContentType(Content.Type.TEXT); - content.setValue(value); - entry.setContentElement(content); - - return entry; - } - -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomGetTestCase.java b/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomGetTestCase.java deleted file mode 100644 index 8d78d167c3..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomGetTestCase.java +++ /dev/null @@ -1,97 +0,0 @@ -package org.apache.tuscany.sca.binding.atom; - -import junit.framework.Assert; - -import org.apache.abdera.Abdera; -import org.apache.abdera.model.Content; -import org.apache.abdera.model.Entry; -import org.apache.tuscany.sca.binding.atom.collection.Collection; -import org.apache.tuscany.sca.host.embedded.SCADomain; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -public class AtomGetTestCase { - protected static SCADomain scaConsumerDomain; - protected static SCADomain scaProviderDomain; - protected static CustomerClient testService; - protected static Abdera abdera; - - @BeforeClass - public static void init() throws Exception { - System.out.println(">>>AtomGetTestCase.init entry"); - scaProviderDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/atom/Provider.composite"); - scaConsumerDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/atom/Consumer.composite"); - testService = scaConsumerDomain.getService(CustomerClient.class, "CustomerClient"); - abdera = new Abdera(); - } - - @AfterClass - public static void destroy() throws Exception { - // System.out.println(">>>AtomGetTestCase.destroy entry"); - scaConsumerDomain.close(); - scaProviderDomain.close(); - } - - @Test - public void testPrelim() throws Exception { - Assert.assertNotNull(scaProviderDomain); - Assert.assertNotNull(scaConsumerDomain); - Assert.assertNotNull(testService); - Assert.assertNotNull(abdera); - } - - @Test - public void testAtomGet() throws Exception { - Collection resourceCollection = testService.getCustomerCollection(); - Assert.assertNotNull(resourceCollection); - - Entry postEntry = postEntry("Sponge Bob"); - System.out.println(">>> post entry= " + postEntry.getTitle()); - - Entry newEntry = resourceCollection.post(postEntry); - System.out.println("<<< Entry posted for " + newEntry.getTitle()); - - System.out.println(">>> get id=" + newEntry.getId()); - - Entry getEntry = resourceCollection.get(newEntry.getId().toString()); - - Assert.assertEquals(newEntry.getTitle(), getEntry.getTitle()); - System.out.println("<<< get id=" + getEntry.getId() + " entry=" + getEntry.getTitle()); - } - - @Test - public void testAtomGetException() throws Exception { - Collection resourceCollection = testService.getCustomerCollection(); - Assert.assertNotNull(resourceCollection); - - Entry postEntry = postEntry("Sponge Bob"); - System.out.println(">>> post entry= " + postEntry.getTitle()); - - Entry newEntry = resourceCollection.post(postEntry); - System.out.println("<<< Entry posted for " + newEntry.getTitle()); - System.out.println(newEntry.getId()); - - // Delete the entry to force the Collection to throw NotFoundException - resourceCollection.delete(newEntry.getId().toString()); - - try { - resourceCollection.get(newEntry.getId().toString()); - } catch (Exception e) { - Assert.assertEquals("NotFoundException", e.getClass().getSimpleName()); - } - } - - private Entry postEntry(String value) { - Entry entry = abdera.newEntry(); - entry.setTitle("customer " + value); - - Content content = abdera.getFactory().newContent(); - content.setContentType(Content.Type.TEXT); - content.setValue(value); - entry.setContentElement(content); - - return entry; - } - -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomPostTestCase.java b/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomPostTestCase.java deleted file mode 100644 index ef5fe5a873..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomPostTestCase.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.apache.tuscany.sca.binding.atom; - -import junit.framework.Assert; - -import org.apache.abdera.Abdera; -import org.apache.abdera.model.Content; -import org.apache.abdera.model.Entry; -import org.apache.tuscany.sca.binding.atom.collection.Collection; -import org.apache.tuscany.sca.host.embedded.SCADomain; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -public class AtomPostTestCase { - protected static SCADomain scaConsumerDomain; - protected static SCADomain scaProviderDomain; - protected static CustomerClient testService; - protected static Abdera abdera; - - @BeforeClass - public static void init() throws Exception { - System.out.println(">>>AtomPostTestCase.init entry"); - scaProviderDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/atom/Provider.composite"); - scaConsumerDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/atom/Consumer.composite"); - testService = scaConsumerDomain.getService(CustomerClient.class, "CustomerClient"); - abdera = new Abdera(); - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println(">>>AtomPostTestCase.destroy entry"); - scaConsumerDomain.close(); - scaProviderDomain.close(); - } - - @Test - public void testPrelim() throws Exception { - Assert.assertNotNull(scaProviderDomain); - Assert.assertNotNull(scaConsumerDomain); - Assert.assertNotNull(testService); - Assert.assertNotNull(abdera); - } - - @Test - public void testAtomPost() throws Exception { - Collection resourceCollection = testService.getCustomerCollection(); - Assert.assertNotNull(resourceCollection); - - Entry postEntry = postEntry("Sponge Bob"); - System.out.println(">>> post entry= " + postEntry.getTitle()); - - Entry newEntry = resourceCollection.post(postEntry); - - Assert.assertEquals(postEntry.getTitle(), newEntry.getTitle()); - - System.out.println("<<< new entry= " + newEntry.getTitle()); - - } - - @Test - public void testAtomPostException() throws Exception { - Collection resourceCollection = testService.getCustomerCollection(); - Assert.assertNotNull(resourceCollection); - - Entry postEntry = postEntry("Exception_Test"); - - try { - resourceCollection.post(postEntry); - } catch (Exception e) { - Assert.assertEquals("HTTP status code: 500", e.getMessage()); - } - } - - private Entry postEntry(String value) { - Entry entry = abdera.newEntry(); - entry.setTitle("customer " + value); - - Content content = abdera.getFactory().newContent(); - content.setContentType(Content.Type.TEXT); - content.setValue(value); - entry.setContentElement(content); - - return entry; - } - -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomPutTestCase.java b/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomPutTestCase.java deleted file mode 100644 index a5c1226780..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomPutTestCase.java +++ /dev/null @@ -1,104 +0,0 @@ -package org.apache.tuscany.sca.binding.atom; - -import java.util.UUID; - -import junit.framework.Assert; - -import org.apache.abdera.Abdera; -import org.apache.abdera.model.Content; -import org.apache.abdera.model.Entry; -import org.apache.tuscany.sca.binding.atom.collection.Collection; -import org.apache.tuscany.sca.host.embedded.SCADomain; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -public class AtomPutTestCase { - protected static SCADomain scaConsumerDomain; - protected static SCADomain scaProviderDomain; - protected static CustomerClient testService; - protected static Abdera abdera; - - @BeforeClass - public static void init() throws Exception { - System.out.println(">>>AtomPutTestCase.init entry"); - scaProviderDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/atom/Provider.composite"); - scaConsumerDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/atom/Consumer.composite"); - testService = scaConsumerDomain.getService(CustomerClient.class, "CustomerClient"); - abdera = new Abdera(); - } - - @AfterClass - public static void destroy() throws Exception { - // System.out.println(">>>AtomPutTestCase.destroy entry"); - scaConsumerDomain.close(); - scaProviderDomain.close(); - } - - @Test - public void testPrelim() throws Exception { - Assert.assertNotNull(scaProviderDomain); - Assert.assertNotNull(scaConsumerDomain); - Assert.assertNotNull(testService); - Assert.assertNotNull(abdera); - } - - @Test - public void testAtomPut() throws Exception { - Collection resourceCollection = testService.getCustomerCollection(); - Assert.assertNotNull(resourceCollection); - - Entry postEntry = postEntry("Sponge Bob"); - System.out.println(">>> post entry= " + postEntry.getTitle()); - - Entry newEntry = resourceCollection.post(postEntry); - System.out.println("<<< Entry posted for " + newEntry.getTitle()); - System.out.println(newEntry.getId()); - - System.out.println(">>> put id=" + newEntry.getId() + " entry=" + newEntry.getTitle()); - resourceCollection.put(newEntry.getId().toString(), updateEntry(newEntry, "James Bond")); - System.out.println("<<< put id=" + newEntry.getId() + " entry=" + newEntry.getTitle()); - } - - @Test - public void testAtomPutException() throws Exception { - Collection resourceCollection = testService.getCustomerCollection(); - Assert.assertNotNull(resourceCollection); - - Entry postEntry = postEntry("Sponge Bob"); - System.out.println(">>> post entry= " + postEntry.getTitle()); - - // Generate random ID to pass as parameter in PUT() -- - String id = "urn:uuid:customer-" + UUID.randomUUID().toString(); - try { - // ID doesn't match with the existing IDs and NotFoundException is thrown - resourceCollection.put(id, updateEntry(postEntry, "James Bond")); - } catch (Exception e) { - Assert.assertEquals("NotFoundException", e.getClass().getSimpleName()); - } - } - - private Entry postEntry(String value) { - Entry entry = abdera.newEntry(); - entry.setTitle("customer " + value); - - Content content = abdera.getFactory().newContent(); - content.setContentType(Content.Type.TEXT); - content.setValue(value); - entry.setContentElement(content); - - return entry; - } - - private Entry updateEntry(Entry entry, String value) { - entry.setTitle("customer " + value); - - Content content = abdera.getFactory().newContent(); - content.setContentType(Content.Type.TEXT); - content.setValue(value); - entry.setContentElement(content); - - return entry; - } - -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomTestCaseUtils.java b/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomTestCaseUtils.java deleted file mode 100644 index 6beed6881f..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/AtomTestCaseUtils.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.atom; - -import java.io.IOException; - -import org.apache.abdera.Abdera; -import org.apache.abdera.model.Base; -import org.apache.abdera.model.Content; -import org.apache.abdera.model.Entry; -import org.apache.abdera.protocol.client.ClientResponse; -import org.apache.abdera.protocol.client.RequestOptions; -import org.apache.abdera.writer.Writer; -import org.apache.abdera.writer.WriterFactory; - -/** - * Utilities to help print and test various aspects of entity tag support. - */ -public class AtomTestCaseUtils { - - public static void prettyPrint(Abdera abdera, Base doc) throws IOException { - WriterFactory factory = abdera.getWriterFactory(); - Writer writer = factory.getWriter("prettyxml"); - writer.writeTo(doc, System.out); - System.out.println(); - } - - public static void printRequestHeaders( String title, String indent, RequestOptions request ) { - System.out.println( title ); - if ( request == null ) { - System.out.println( indent + " request is null"); - return; - } - String [] headerNames = request.getHeaderNames(); - for ( String headerName: headerNames) { - String header = request.getHeader(headerName); - System.out.println( indent + " header name,value=" + headerName + "," + header ); - } - } - - public static void printResponseHeaders( String title, String indent, ClientResponse response ) { - System.out.println( title ); - if ( response == null ) { - System.out.println( indent + " response is null"); - return; - } - String [] headerNames = response.getHeaderNames(); - for ( String headerName: headerNames) { - String header = response.getHeader(headerName); - System.out.println( indent + " header name,value=" + headerName + "," + header ); - } - - } - - public static Entry newEntry(String value) { - Abdera abdera = new Abdera(); - Entry entry = abdera.newEntry(); - entry.setTitle("customer " + value); - - Content content = abdera.getFactory().newContent(); - content.setContentType(Content.Type.TEXT); - content.setValue(value); - entry.setContentElement(content); - - return entry; - } - - public static Entry updateEntry(Entry entry, String value) { - Abdera abdera = new Abdera(); - entry.setTitle("customer " + value); - - Content content = abdera.getFactory().newContent(); - content.setContentType(Content.Type.TEXT); - content.setValue(value); - entry.setContentElement(content); - - return entry; - } - -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/Consumer.java b/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/Consumer.java deleted file mode 100644 index 34d3ed1d1c..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/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.atom; - -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/atom/Consumer.composite"); - - CustomerClient testService = scaDomain.getService(CustomerClient.class, "CustomerClient"); - testService.testCustomerCollection(); - - scaDomain.close(); - } -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/ConsumerProviderAtomTestCase.java b/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/ConsumerProviderAtomTestCase.java deleted file mode 100644 index 9af85a970c..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/ConsumerProviderAtomTestCase.java +++ /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. - */ -package org.apache.tuscany.sca.binding.atom; - -import java.util.Date; - -import junit.framework.Assert; - -import org.apache.abdera.Abdera; -import org.apache.abdera.model.Content; -import org.apache.abdera.model.Entry; -import org.apache.abdera.model.Feed; -import org.apache.tuscany.sca.binding.atom.collection.Collection; -import org.apache.tuscany.sca.host.embedded.SCADomain; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Test case for the given package. - */ -public class ConsumerProviderAtomTestCase { - - protected static SCADomain scaConsumerDomain; - protected static SCADomain scaProviderDomain; - protected static CustomerClient testService; - protected static Abdera abdera; - - @BeforeClass - public static void init() throws Exception { - System.out.println(">>>AtomBindingIntegratedTestCase.init entry"); - scaProviderDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/atom/Provider.composite"); - scaConsumerDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/atom/Consumer.composite"); - testService = scaConsumerDomain.getService(CustomerClient.class,"CustomerClient"); - abdera = new Abdera(); - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println(">>>AtomBindingIntegratedTestCase.destroy entry"); - scaConsumerDomain.close(); - scaProviderDomain.close(); - } - - @Test - public void testPrelim() throws Exception { - Assert.assertNotNull(scaProviderDomain); - Assert.assertNotNull(scaConsumerDomain); - Assert.assertNotNull(testService); - Assert.assertNotNull(abdera); - } - - @Test - public void testEntry() throws Exception { - // System.out.println( getClass().getName() + ".testEntry entry" ); - Entry entry = abdera.newEntry(); - Assert.assertNotNull(entry); - - String testTitle = "Sponge Bob"; - entry.setTitle(testTitle); - Assert.assertEquals(testTitle, entry.getTitle()); - - String testContent = "This is the content"; - entry.setContent(testContent); - Assert.assertEquals(testContent, entry.getContent()); - - Date now = new Date(); - entry.setEdited(now); - Assert.assertEquals(now, entry.getEdited()); - - Date later = new Date(); - entry.setPublished(later); - Assert.assertEquals(later, entry.getPublished()); - - String testSummary = "This is the summary"; - entry.setSummary(testSummary); - Assert.assertEquals(testSummary, entry.getSummary()); - } - - @Test - public void testCustomerCollection() throws Exception { - System.out.println(getClass().getName() + ".testCustomerCollection entry"); - Collection resourceCollection = testService.getCustomerCollection(); - Assert.assertNotNull(resourceCollection); - - 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().toString()); - System.out.println("<<< get id=" + entry.getId() + " entry=" + entry.getTitle()); - - System.out.println(">>> put id=" + newEntry.getId() + " entry=" + entry.getTitle()); - resourceCollection.put(entry.getId().toString(), 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().toString()); - 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 = abdera.newEntry(); - entry.setTitle("customer " + value); - - Content content = abdera.getFactory().newContent(); - content.setContentType(Content.Type.TEXT); - content.setValue(value); - entry.setContentElement(content); - - return entry; - } - - private Entry updateEntry(Entry entry, String value) { - entry.setTitle("customer " + value); - - Content content = abdera.getFactory().newContent(); - content.setContentType(Content.Type.TEXT); - content.setValue(value); - entry.setContentElement(content); - - return entry; - } -} \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/ContentNegotiationTest.java b/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/ContentNegotiationTest.java deleted file mode 100644 index 08f8e3db2a..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/ContentNegotiationTest.java +++ /dev/null @@ -1,249 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.atom; - -import java.io.IOException; -import java.io.Reader; -import java.text.SimpleDateFormat; -import java.util.Date; - -import junit.framework.Assert; - -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -import org.apache.tuscany.sca.binding.atom.collection.Collection; -import org.apache.tuscany.sca.host.embedded.SCADomain; - -import org.apache.abdera.Abdera; -import org.apache.abdera.i18n.iri.IRI; -import org.apache.abdera.factory.Factory; -import org.apache.abdera.model.Base; -import org.apache.abdera.model.Content; -import org.apache.abdera.model.Entry; -import org.apache.abdera.model.Feed; -import org.apache.abdera.model.Document; -import org.apache.abdera.model.Service; -import org.apache.abdera.protocol.Response.ResponseType; -import org.apache.abdera.protocol.client.AbderaClient; -import org.apache.abdera.protocol.client.ClientResponse; -import org.apache.abdera.protocol.client.RequestOptions; -import org.apache.abdera.protocol.client.util.BaseRequestEntity; -import org.apache.abdera.util.EntityTag; -import org.apache.abdera.parser.Parser; - - -/** - * Tests use of content negotiation for Atom binding in Tuscany. - * Uses the SCA provided Provider composite to act as a server. - * Uses the Abdera provided Client to act as a client. - */ -public class ContentNegotiationTest { - public final static String providerURI = "http://localhost:8084/customer"; - protected static SCADomain scaProviderDomain; - protected static CustomerClient testService; - protected static Abdera abdera; - protected static AbderaClient client; - protected static Parser abderaParser; - protected static String lastId; - - @BeforeClass - public static void init() throws Exception { - System.out.println(">>>ContentNegotiationTest.init"); - scaProviderDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/atom/Provider.composite"); - abdera = new Abdera(); - client = new AbderaClient(abdera); - abderaParser = Abdera.getNewParser(); - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println(">>>ContentNegotiationTest.destroy"); - scaProviderDomain.close(); - } - - @Test - public void testPrelim() throws Exception { - Assert.assertNotNull(scaProviderDomain); - Assert.assertNotNull( client ); - } - - @Test - public void testPost() throws Exception { - System.out.println(">>>ContentNegotiationTest.testPost"); - // Testing of entry creation - Factory factory = abdera.getFactory(); - String customerName = "Fred Farkle"; - Entry entry = factory.newEntry(); - entry.setTitle("customer " + customerName); - entry.setUpdated(new Date()); - entry.addAuthor("Apache Tuscany"); - // ID created by collection. - Content content = abdera.getFactory().newContent(); - content.setContentType(Content.Type.TEXT); - content.setValue(customerName); - entry.setContentElement(content); - - RequestOptions opts = new RequestOptions(); - final String contentType = "application/atom+xml; type=entry"; - opts.setContentType(contentType); - // AtomTestCaseUtils.printRequestHeaders( "Post request headers", " ", opts ); - IRI colUri = new IRI(providerURI).resolve("customer"); - // res = client.post(colUri.toString() + "?test=foo", entry, opts); - ClientResponse res = client.post(colUri.toString(), entry, opts); - - // Assert response status code is 201-OK. - // Assert response header Content-Type: application/atom+xml; charset=UTF-8 - Assert.assertEquals(201, res.getStatus()); - String returnedContentType = res.getContentType().toString().trim(); - Assert.assertEquals(contentType, returnedContentType ); - - String eTag = res.getHeader( "ETag" ); - if ( eTag != null) - lastId = eTag.substring( 1, eTag.length()-1); - - // AtomTestCaseUtils.printResponseHeaders( "Entry post response headers:", " ", res ); - // System.out.println("Entry post response content:"); - // AtomTestCaseUtils.prettyPrint(abdera, res.getDocument()); - } - - @Test - public void testXMLEntryGet() throws Exception { - System.out.println(">>>ContentNegotiationTest.testXMLEntryGet"); - RequestOptions opts = new RequestOptions(); - opts.setHeader( "Accept", "application/atom+xml" ); - - IRI colUri = new IRI(providerURI).resolve("customer"); - ClientResponse res = client.get(colUri.toString() + "/" + lastId, opts); - Assert.assertEquals(200, res.getStatus()); - String returnedContentType = res.getContentType().toString().trim(); - // Assert.assertEquals(contentType, returnedContentType ); - res.release(); - } - - @Test - public void testJSONEntryGet() throws Exception { - System.out.println(">>>ContentNegotiationTest.testJSONEntryGet"); - RequestOptions opts = new RequestOptions(); - opts.setHeader( "Accept", "application/json" ); - - IRI colUri = new IRI(providerURI).resolve("customer"); - ClientResponse res = client.get(colUri.toString() + "/" + lastId, opts); - try { - Assert.assertEquals(200, res.getStatus()); - // Abdera 0.4 throws exception on getContentType with application/json. - // System.out.println( "ContentNegotiationTest.testJSONEntryGet contentType=" + res.getContentType()); - String contentType = res.getHeader( "Content-Type"); - Assert.assertTrue( -1 < contentType.indexOf( "application/json" )); - // Following is a poor man's JSONObject test to avoid dependency on JSON libs. - // JSONObject jsonResp = new JSONObject(res.); - // Assert.assertEquals(12345, jsonResp.getInt("result")); - String responseBody = readResponse( res.getReader() ); - Assert.assertTrue( responseBody.startsWith( "{") ); - Assert.assertTrue( responseBody.endsWith( "}") ); - Assert.assertTrue( -1 < responseBody.indexOf( "\"id\"" )); - Assert.assertTrue( -1 < responseBody.indexOf( "\"title\"" )); - Assert.assertTrue( -1 < responseBody.indexOf( "\"updated\"" )); - // AtomTestCaseUtils.printResponseHeaders( "JSON Entry response headers:", " ", res ); - // System.out.println( "ContentNegotiationTest.testJSONEntryGet JSON entry body=" + responseBody ); - } finally { - res.release(); - } - } - - @Test - public void testXMLFeedGet() throws Exception { - System.out.println(">>>ContentNegotiationTest.testXMLFeedGet"); - RequestOptions opts = new RequestOptions(); - opts.setHeader( "Accept", "application/atom+xml" ); - - // Atom feed request - ClientResponse res = client.get(providerURI, opts); - Assert.assertNotNull(res); - try { - // Asser feed provided since no predicates - Assert.assertEquals(200, res.getStatus()); - Assert.assertEquals(ResponseType.SUCCESS, res.getType()); - // AtomTestCaseUtils.printResponseHeaders( "Feed response headers:", " ", res ); - // System.out.println("Feed response content:"); - // AtomTestCaseUtils.prettyPrint(abdera, res.getDocument()); - - // Perform other tests on feed. - Document doc = res.getDocument(); - Assert.assertNotNull( doc ); - Feed feed = doc.getRoot(); - Assert.assertNotNull( feed ); - // RFC 4287 requires non-null id, title, updated elements - Assert.assertNotNull( feed.getId() ); - Assert.assertNotNull( feed.getTitle() ); - Assert.assertNotNull( feed.getUpdated() ); - // AtomTestCaseUtils.printFeed( "Feed values", " ", feed ); - } finally { - res.release(); - } - } - - @Test - public void testJSONFeedGet() throws Exception { - System.out.println(">>>ContentNegotiationTest.testJSONFeedGet"); - RequestOptions opts = new RequestOptions(); - opts.setHeader( "Accept", "application/json" ); - - // JSON feed request - ClientResponse res = client.get(providerURI, opts); - Assert.assertNotNull(res); - try { - // Assert feed provided since no predicates - Assert.assertEquals(200, res.getStatus()); - // Abdera 0.4 throws exception on getContentType with application/json. - // System.out.println( "ContentNegotiationTest.testJSONEntryGet contentType=" + res.getContentType()); - String contentType = res.getHeader( "Content-Type"); - Assert.assertTrue( -1 < contentType.indexOf( "application/json" )); - // Following is a poor man's JSONObject test to avoid dependency on JSON libs. - // JSONObject jsonResp = new JSONObject(res.); - // Assert.assertEquals(12345, jsonResp.getInt("result")); - String responseBody = readResponse( res.getReader() ); - Assert.assertTrue( responseBody.startsWith( "{") ); - Assert.assertTrue( responseBody.endsWith( "}") ); - Assert.assertTrue( -1 < responseBody.indexOf( "\"id\"" )); - Assert.assertTrue( -1 < responseBody.indexOf( "\"title\"" )); - Assert.assertTrue( -1 < responseBody.indexOf( "\"updated\"" )); - Assert.assertTrue( -1 < responseBody.indexOf( "\"entries\"" )); - // AtomTestCaseUtils.printResponseHeaders( "JSON Entry response headers:", " ", res ); - // System.out.println( "ContentNegotiationTest.testJSONEntryGet JSON entry body=" + responseBody ); - } finally { - res.release(); - } - } - - protected String readResponse( Reader responseReader ) { - if ( responseReader == null ) return ""; - StringBuffer sb = new StringBuffer(1024); - try { - int charValue = 0; - while ((charValue = responseReader.read()) != -1) { - //result = result + (char) charValue; - sb.append((char)charValue); - } - } catch ( IOException e ) { - } - return sb.toString(); - } -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/CustomerClient.java b/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/CustomerClient.java deleted file mode 100644 index bc32b91367..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/CustomerClient.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.binding.atom; - -import org.apache.tuscany.sca.binding.atom.collection.Collection; - -public interface CustomerClient { - - void testCustomerCollection() throws Exception; - - Collection getCustomerCollection(); -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/CustomerClientImpl.java b/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/CustomerClientImpl.java deleted file mode 100644 index 0aefce608b..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/CustomerClientImpl.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.atom; - -import org.apache.abdera.Abdera; -import org.apache.abdera.model.Content; -import org.apache.abdera.model.Entry; -import org.apache.abdera.model.Feed; -import org.apache.tuscany.sca.binding.atom.collection.Collection; -import org.oasisopen.sca.annotation.Reference; - -public class CustomerClientImpl implements CustomerClient { - - protected final Abdera abdera = new Abdera(); - - @Reference - public Collection customerCollection; - - public void testCustomerCollection() throws Exception { - - Entry newEntry = newEntry("Sponge Bob"); - System.out.println(">>> post entry=" + newEntry.getTitle()); - newEntry = customerCollection.post(newEntry); - System.out.println("<<< post id=" + newEntry.getId() + " entry=" + newEntry.getTitle()); - - newEntry = newEntry("Jane Bond"); - System.out.println(">>> post entry=" + newEntry.getTitle()); - newEntry = customerCollection.post(newEntry); - System.out.println("<<< post id=" + newEntry.getId() + " entry=" + newEntry.getTitle()); - - System.out.println(">>> get id=" + newEntry.getId()); - Entry entry = customerCollection.get(newEntry.getId().toString()); - System.out.println("<<< get id=" + entry.getId() + " entry=" + entry.getTitle()); - - System.out.println(">>> put id=" + newEntry.getId() + " entry=" + entry.getTitle()); - customerCollection.put(entry.getId().toString(), updateEntry(entry, "James Bond")); - System.out.println("<<< put id=" + entry.getId() + " entry=" + entry.getTitle()); - - System.out.println(">>> delete id=" + entry.getId()); - customerCollection.delete(entry.getId().toString()); - System.out.println("<<< delete id=" + entry.getId()); - - System.out.println(">>> get collection"); - Feed feed = customerCollection.getFeed(); - System.out.println("<<< get collection"); - for (Object o : feed.getEntries()) { - Entry e = (Entry)o; - System.out.println("id = " + e.getId() + " entry = " + e.getTitle()); - } - } - - public Collection getCustomerCollection() { - return customerCollection; - } - - private Entry newEntry(String value) { - - Entry entry = this.abdera.newEntry(); - entry.setTitle("customer " + value); - - Content content = this.abdera.getFactory().newContent(); - content.setContentType(Content.Type.TEXT); - content.setValue(value); - - entry.setContentElement(content); - - return entry; - } - - private Entry updateEntry(Entry entry, String value) { - - entry.setTitle("customer " + value); - - Content content = this.abdera.getFactory().newContent(); - content.setContentType(Content.Type.TEXT); - content.setValue(value); - - entry.setContentElement(content); - - return entry; - } -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/CustomerCollectionImpl.java b/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/CustomerCollectionImpl.java deleted file mode 100644 index 222dc3e394..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/CustomerCollectionImpl.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.binding.atom; - -import java.util.Date; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -import org.apache.abdera.Abdera; -import org.apache.abdera.model.Content; -import org.apache.abdera.model.Entry; -import org.apache.abdera.model.Feed; -import org.apache.tuscany.sca.binding.atom.collection.Collection; -import org.apache.tuscany.sca.binding.atom.collection.NotFoundException; -import org.oasisopen.sca.annotation.Scope; - -@Scope("COMPOSITE") -public class CustomerCollectionImpl implements Collection { - private final Abdera abdera = new Abdera(); - private Map entries = new HashMap(); - public Date lastModified = new Date(); - - /** - * Default constructor - */ - public CustomerCollectionImpl() { - - } - - public Entry post(Entry entry) { - System.out.println(">>> CustomerCollectionImpl.post entry=" + entry.getTitle()); - - if(!("Exception_Test".equalsIgnoreCase(entry.getTitle()))) - { - String id = "urn:uuid:customer-" + UUID.randomUUID().toString(); - entry.setId(id); - - entry.addLink("" + id, "edit"); - entry.addLink("" + id, "alternate"); - Date now = new Date(); - entry.setUpdated(now); - lastModified = now; - entries.put(id, entry); - - System.out.println(">>> CustomerCollectionImpl.post return id=" + id); - - return entry; - - } - else - { - throw new IllegalArgumentException("Exception in Post method"); - } - } - - public Entry get(String id) { - System.out.println(">>> CustomerCollectionImpl.get id=" + id); - return entries.get(id); - } - - public void put(String id, Entry entry) throws NotFoundException { - System.out.println(">>> CustomerCollectionImpl.put id=" + id + " entry=" + entry.getTitle()); - if(entries.containsKey(id)){ - Date now = new Date(); - entry.setUpdated(now); - lastModified = now; - entries.put(id, entry); - } - else { - throw new NotFoundException(); - } - } - - public void delete(String id) throws NotFoundException { - System.out.println(">>> CustomerCollectionImpl.delete id=" + id); - if(entries.containsKey(id)){ - entries.remove(id); - lastModified = new Date(); - } - else { - throw new NotFoundException(); - } - } - - public Feed getFeed() { - System.out.println(">>> CustomerCollectionImpl.getFeed"); - - Feed feed = this.abdera.getFactory().newFeed(); - feed.setId("customers" + this.hashCode() ); // provide unique id for feed instance. - feed.setTitle("customers"); - feed.setSubtitle("This is a sample feed"); - feed.setUpdated(lastModified); - feed.addLink(""); - feed.addLink("", "self"); - - for (Entry entry : entries.values()) { - feed.addEntry(entry); - } - - return feed; - } - - public Feed query(String queryString) { - System.out.println(">>> CustomerCollectionImpl.query collection " + queryString); - return getFeed(); - } - - // This method used for testing. - protected void testPut(String value) { - String id = "urn:uuid:customer-" + UUID.randomUUID().toString(); - - Entry entry = abdera.getFactory().newEntry(); - entry.setId(id); - entry.setTitle("customer " + value); - - Content content = this.abdera.getFactory().newContent(); - content.setContentType(Content.Type.TEXT); - content.setValue(value); - - entry.setContentElement(content); - - entry.addLink("" + id, "edit"); - entry.addLink("" + id, "alternate"); - - entry.setUpdated(new Date()); - - entries.put(id, entry); - System.out.println(">>> id=" + id); - } - -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/MediaCollectionImpl.java b/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/MediaCollectionImpl.java deleted file mode 100644 index 41257d9a7f..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/MediaCollectionImpl.java +++ /dev/null @@ -1,210 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.atom; - -import java.io.IOException; -import java.io.InputStream; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -import org.apache.abdera.Abdera; -import org.apache.abdera.factory.Factory; -import org.apache.abdera.i18n.iri.IRI; -import org.apache.abdera.model.Content; -import org.apache.abdera.model.Entry; -import org.apache.abdera.model.Feed; -import org.apache.tuscany.sca.binding.atom.collection.Collection; -import org.apache.tuscany.sca.binding.atom.collection.MediaCollection; -import org.apache.tuscany.sca.binding.atom.collection.NotFoundException; -import org.oasisopen.sca.annotation.Scope; - -@Scope("COMPOSITE") -public class MediaCollectionImpl implements MediaCollection { - private final Abdera abdera = new Abdera(); - private Map entries = new HashMap(); - private Map mediaFiles = new HashMap(); - public Date lastModified = new Date(); - - public Entry post(Entry entry) { - System.out.println(">>> MediaCollectionImpl.post entry=" + entry.getTitle()); - - if(!("Exception_Test".equalsIgnoreCase(entry.getTitle()))) - { - String id = "urn:uuid:customer-" + UUID.randomUUID().toString(); - entry.setId(id); - - entry.addLink("" + id, "edit"); - entry.addLink("" + id, "alternate"); - Date now = new Date(); - entry.setUpdated(now); - lastModified = now; - entries.put(id, entry); - - System.out.println(">>> MediaCollectionImpl.post return id=" + id); - - return entry; - - } - else - { - throw new IllegalArgumentException("Exception in Post method"); - } - } - - public Entry get(String id) { - System.out.println(">>> MediaCollectionImpl.get id=" + id); - return entries.get(id); - } - - public void put(String id, Entry entry) throws NotFoundException { - System.out.println(">>> MediaCollectionImpl.put id=" + id + " entry=" + entry.getTitle()); - if(entries.containsKey(id)){ - Date now = new Date(); - entry.setUpdated(now); - lastModified = now; - entries.put(id, entry); - } - else { - throw new NotFoundException(); - } - } - - public void delete(String id) throws NotFoundException { - System.out.println(">>> MediaCollectionImpl.delete id=" + id); - if(entries.containsKey(id)){ - entries.remove(id); - lastModified = new Date(); - } - else { - throw new NotFoundException(); - } - } - - public Feed getFeed() { - System.out.println(">>> MediaCollectionImpl.getFeed"); - - Feed feed = this.abdera.getFactory().newFeed(); - feed.setId("customers" + this.hashCode() ); // provide unique id for feed instance. - feed.setTitle("customers"); - feed.setSubtitle("This is a sample feed"); - feed.setUpdated(lastModified); - feed.addLink(""); - feed.addLink("", "self"); - - for (Entry entry : entries.values()) { - feed.addEntry(entry); - } - - return feed; - } - - public Feed query(String queryString) { - System.out.println(">>> MediaCollectionImpl.query collection " + queryString); - return getFeed(); - } - - // This method used for testing. - protected void testPut(String value) { - String id = "urn:uuid:customer-" + UUID.randomUUID().toString(); - - Entry entry = abdera.getFactory().newEntry(); - entry.setId(id); - entry.setTitle("customer " + value); - - Content content = this.abdera.getFactory().newContent(); - content.setContentType(Content.Type.TEXT); - content.setValue(value); - - entry.setContentElement(content); - - entry.addLink("" + id, "edit"); - entry.addLink("" + id, "alternate"); - - entry.setUpdated(new Date()); - - entries.put(id, entry); - System.out.println(">>> id=" + id); - } - - // MediaCollection role - public Entry postMedia(String title, String slug, String contentType, InputStream media) { - System.out.println(">>> MediaCollectionImpl.postMedia title=" + title + ", slug=" + slug + ", contentType=" + contentType ); - - Factory factory = abdera.getFactory(); - Entry entry = factory.newEntry(); - // Must provide entry to media as per Atom Pub spec (http://tools.ietf.org/html/rfc5023#section-9.6) - // - // - // The Beach (REQUIRED) - // urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a (REQUIRED) - // 2005-10-07T17:17:08Z - // (REQUIRED, OPTIONAL to populate - // - // - // - // - - // Normalize title - entry.setTitle( title ); - String normalTitle = title.replace( " ", "_" ); - String hostURL = "http://media.example.org/"; - int lastDelimiterPos = contentType != null ? contentType.lastIndexOf( "/" ) : -1; - String extension = ""; - if ( lastDelimiterPos != -1 ) { - extension = contentType.substring( lastDelimiterPos + 1 ); - } else { - extension = contentType; - } - long mediaLength = -1; - try { - mediaLength = media.skip( Long.MAX_VALUE ); - } catch ( IOException e ){} - - // A true implementation would store the media to a repository, e.g. file system. - // This implementation record's the id and the location. - String id = "urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a-" + mediaFiles.size(); - String reposLocation = hostURL + "edit/" + normalTitle; - mediaFiles.put( id, reposLocation ); - - // Build entry for media link. - entry.setUpdated( new Date() ); - entry.setId( id ); - // Convention. Return header properties as key values. - entry.setSummary( "Content-Type=" + contentType + ",Content-Length=" + mediaLength ); - entry.setContent( new IRI( hostURL + normalTitle + "." + extension ), contentType ); - entry.addLink( reposLocation + ".atom", "edit" ); - entry.addLink( reposLocation + "." + extension, "edit-media" ); - return entry; - } - - public void putMedia(String id, String contentType, InputStream media) throws NotFoundException { - System.out.println(">>> MediaCollectionImpl.putMedia id=" + id + ", contentType=" + contentType ); - - // Must responsd with success or not found as per Atom Pub spec (http://tools.ietf.org/html/rfc5023#section-9.6) - // Body is null. - if ( !id.endsWith( "0" ) ) - throw new NotFoundException( "Media at id=" + id + " not found." ); - - // A true implementation would update the media in the media repository. - } - -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/MediaCollectionTestCase.java b/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/MediaCollectionTestCase.java deleted file mode 100644 index 0aabf225a4..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/MediaCollectionTestCase.java +++ /dev/null @@ -1,287 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.atom; - -import java.io.File; -import java.io.FileInputStream; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.List; - -import junit.framework.Assert; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -import org.apache.tuscany.sca.host.embedded.SCADomain; - -import org.apache.abdera.Abdera; -import org.apache.abdera.i18n.iri.IRI; -import org.apache.abdera.model.Entry; -import org.apache.abdera.model.Feed; -import org.apache.abdera.model.Document; -import org.apache.abdera.model.Link; -import org.apache.abdera.protocol.client.AbderaClient; -import org.apache.abdera.protocol.client.ClientResponse; -import org.apache.abdera.protocol.client.RequestOptions; -import org.apache.abdera.protocol.client.util.BaseRequestEntity; -import org.apache.abdera.util.EntityTag; -import org.apache.abdera.parser.Parser; - -import org.apache.commons.httpclient.Header; -import org.apache.commons.httpclient.HttpClient; -import org.apache.commons.httpclient.methods.PostMethod; -import org.apache.commons.httpclient.methods.PutMethod; -import org.apache.commons.httpclient.methods.InputStreamRequestEntity; - -/** - * Tests use of server provided entry entity tags for Atom binding in Tuscany. - * Tests conditional gets (e.g. get if-none-match) or conditional posts (post if-match) - * using entity tags or last modified header entries. - * Uses the SCA provided Provider composite to act as a server. - * Uses the Abdera provided Client to act as a client. - */ -public class MediaCollectionTestCase { - public final static String providerURI = "http://localhost:8084/receipt"; - protected static SCADomain scaConsumerDomain; - protected static SCADomain scaProviderDomain; - protected static CustomerClient testService; - protected static Abdera abdera; - protected static AbderaClient client; - protected static Parser abderaParser; - protected static String eTag; - protected static Date lastModified; - protected static String mediaId; - protected static final SimpleDateFormat dateFormat = new SimpleDateFormat( "EEE, dd MMM yyyy HH:mm:ss Z" ); // RFC 822 date time - - @BeforeClass - public static void init() throws Exception { - System.out.println(">>>MediaCollectionTestCase.init"); - scaProviderDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/atom/ReceiptProvider.composite"); - abdera = new Abdera(); - client = new AbderaClient(abdera); - abderaParser = Abdera.getNewParser(); - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println(">>>MediaCollectionTestCase.destroy"); - scaProviderDomain.close(); - } - - @Test - public void testPrelim() throws Exception { - Assert.assertNotNull(scaProviderDomain); - Assert.assertNotNull( client ); - } - - @Test - public void testMediaEntryPost() throws Exception { - // Pseudo Code (see APP (http://tools.ietf.org/html/rfc5023#section-9.6) - // Post request - // POST /edit/ HTTP/1.1 - // Host: media.example.org - // Content-Type: image/png - // Slug: The Beach - // Content-Length: nnn - // ...binary data... - - // Testing of entry creation - String receiptName = "Auto Repair Bill"; - String fileName = "ReceiptToms.gif"; - File input = new File( fileName ); - boolean exists = input.exists(); - Assert.assertTrue( exists ); - - // Prepare HTTP post - // PostMethod post = new PostMethod( colUri.toString() ); - PostMethod post = new PostMethod( providerURI ); - post.addRequestHeader( "Content-Type", "image/gif" ); - post.addRequestHeader( "Title", "Title " + receiptName + "" ); - post.addRequestHeader( "Slug", "Slug " + receiptName + "" ); - post.setRequestEntity( - new InputStreamRequestEntity( new FileInputStream( input ), "image/gif" ) ); - - // Get HTTP client - HttpClient httpclient = new HttpClient(); - try { - // Execute request - int result = httpclient.executeMethod(post); - // Pseudo Code (see APP (http://tools.ietf.org/html/rfc5023#section-9.6) - // Post response - // Tuscany responds with proper media links. Note that the media is - // stored in a different location than the media information which is - // stored in the Atom feed. - // HTTP/1.1 201 Created - // Display status code - // System.out.println("Response status code: " + result + ", status text=" + post.getStatusText() ); - Assert.assertEquals(201, result ); - // Display response - // System.out.println("Response body: "); - // System.out.println(post.getResponseBodyAsString()); // Warning: BodyAsString recommends BodyAsStream - - // Location: http://example.org/media/edit/the_beach.atom (REQUIRED) - // System.out.println( "Response Location=" + post.getResponseHeader( "Location" ).getValue() + "." ); - Header header = post.getResponseHeader( "Location" ); - Assert.assertNotNull( header ); - Assert.assertNotNull( header.getValue() ); - // ContentLocation: http://example.org/media/edit/the_beach.jpg (REQUIRED) - // System.out.println( "Response Content-Location=" + post.getResponseHeader( "Content-Location" ).getValue() ); - header = post.getResponseHeader( "Content-Location" ); - Assert.assertNotNull( header ); - Assert.assertNotNull( header.getValue() ); - // Content-Type: application/atom+xml;type=entry;charset="utf-8" - // System.out.println( "Response Content-Type=" + post.getResponseHeader( "Content-Type" ).getValue()); - header = post.getResponseHeader( "Content-Type" ); - Assert.assertNotNull( header ); - Assert.assertNotNull( header.getValue() ); - // Content-Length: nnn (OPTIONAL) - // System.out.println( "Response Content-Length=" + post.getResponseHeader( "Content-Length" ).getValue() ); - header = post.getResponseHeader( "Content-Length" ); - Assert.assertNotNull( header ); - Assert.assertNotNull( header.getValue() ); - // - // - // The Beach (REQUIRED) - // urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a (REQUIRED) - // 2005-10-07T17:17:08Z - // Daffy - // (REQUIRED, OPTIONAL to populate - // - // - // - // - Document document = abderaParser.parse( post.getResponseBodyAsStream() ); - Entry entry = document.getRoot(); - String title = entry.getTitle(); - // System.out.println( "mediaPost entry.title=" + title ); - Assert.assertNotNull( title ); - IRI id = entry.getId(); - // System.out.println( "mediaPost entry.id=" + id ); - Assert.assertNotNull( id ); - mediaId = id.toString(); - Assert.assertNotNull( mediaId ); // Save for put/update request - Date updated = entry.getUpdated(); - // System.out.println( "mediaPost entry.updated=" + updated); - Assert.assertNotNull( updated ); - String summary = entry.getSummary(); - // System.out.println( "mediaPost entry.summary=" + summary); - Assert.assertNotNull( summary ); - IRI contentSrc = entry.getContentSrc(); - // System.out.println( "mediaPost entry.content.src=" + contentSrc + ", type=" + entry.getContentType()); - Assert.assertNotNull( contentSrc ); - Link editLink = entry.getEditLink(); - // System.out.println( "mediaPost entry.editLink" + " rel=" + editLink.getRel() + ", href=" + editLink.getHref() ); - Assert.assertNotNull( editLink ); - Assert.assertNotNull( editLink.getRel() ); - Assert.assertNotNull( editLink.getHref() ); - Link editMediaLink = entry.getEditMediaLink(); - // System.out.println( "mediaPost entry.editMediaLink" + " rel=" + editMediaLink.getRel() + ", href=" + editMediaLink.getHref() ); - Assert.assertNotNull( editMediaLink ); - Assert.assertNotNull( editMediaLink.getRel() ); - Assert.assertNotNull( editMediaLink.getHref() ); - - } finally { - // Release current connection to the connection pool once you are done - post.releaseConnection(); - } - } - - @Test - public void testMediaEntryPutFound() throws Exception { - // Pseudo Code (see APP (http://tools.ietf.org/html/rfc5023#section-9.6) - // Testing of entry update - String receiptName = "Value Autoglass Bill"; - String fileName = "ReceiptValue.jpg"; - File input = new File( fileName ); - boolean exists = input.exists(); - Assert.assertTrue( exists ); - - // Prepare HTTP put request - // PUT /edit/the_beach.png HTTP/1.1 - // Host: media.example.org - // Content-Type: image/png - // Content-Length: nnn - // ...binary data... - PutMethod put = new PutMethod( providerURI + "/" + mediaId ); - put.addRequestHeader( "Content-Type", "image/jpg" ); - put.addRequestHeader( "Title", "Title " + receiptName + "" ); - put.addRequestHeader( "Slug", "Slug " + receiptName + "" ); - put.setRequestEntity( - new InputStreamRequestEntity( new FileInputStream( input ), "image/jpg" ) ); - - // Get HTTP client - HttpClient httpclient = new HttpClient(); - try { - // Execute request - int result = httpclient.executeMethod(put); - // Pseudo Code (see APP (http://tools.ietf.org/html/rfc5023#section-9.6) - // Display status code - // System.out.println("Response status code: " + result + ", status text=" + put.getStatusText() ); - Assert.assertEquals(200, result ); - // Display response. Should be empty for put. - // System.out.println("Response body: "); - // System.out.println(put.getResponseBodyAsString()); // Warning: BodyAsString recommends BodyAsStream - } finally { - // Release current connection to the connection pool once you are done - put.releaseConnection(); - } - } - - @Test - public void testMediaEntryPutNotFound() throws Exception { - // Pseudo Code (see APP (http://tools.ietf.org/html/rfc5023#section-9.6) - // Testing of entry update - String receiptName = "Value Autoglass Bill"; - String fileName = "ReceiptValue.jpg"; - File input = new File( fileName ); - boolean exists = input.exists(); - Assert.assertTrue( exists ); - - // Prepare HTTP put request - // PUT /edit/the_beach.png HTTP/1.1 - // Host: media.example.org - // Content-Type: image/png - // Content-Length: nnn - // ...binary data... - PutMethod put = new PutMethod( providerURI + "/" + mediaId + "-bogus" ); // Does not exist. - put.addRequestHeader( "Content-Type", "image/jpg" ); - put.addRequestHeader( "Title", "Title " + receiptName + "" ); - put.addRequestHeader( "Slug", "Slug " + receiptName + "" ); - put.setRequestEntity( - new InputStreamRequestEntity( new FileInputStream( input ), "image/jpg" ) ); - - // Get HTTP client - HttpClient httpclient = new HttpClient(); - try { - // Execute request - int result = httpclient.executeMethod(put); - // Pseudo Code (see APP (http://tools.ietf.org/html/rfc5023#section-9.6) - // Display status code - // System.out.println("Response status code: " + result + ", status text=" + put.getStatusText() ); - Assert.assertEquals(404, result ); - // Display response. Should be empty for put. - // System.out.println("Response body: "); - // System.out.println(put.getResponseBodyAsString()); // Warning: BodyAsString recommends BodyAsStream - } finally { - // Release current connection to the connection pool once you are done - put.releaseConnection(); - } - } -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/Provider.java b/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/Provider.java deleted file mode 100644 index 3e1bf543e5..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/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.atom; - -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/atom/Provider.composite"); - System.out.println("Provider.composite ready..."); - - try { - System.in.read(); - } catch (IOException e) { - e.printStackTrace(); - } - - scaDomain.close(); - } -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/ProviderEntryEntityTagsTestCase.java b/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/ProviderEntryEntityTagsTestCase.java deleted file mode 100644 index 703419f527..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/ProviderEntryEntityTagsTestCase.java +++ /dev/null @@ -1,428 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.atom; - -import java.text.SimpleDateFormat; -import java.util.Date; - -import junit.framework.Assert; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -import org.apache.tuscany.sca.binding.atom.collection.Collection; -import org.apache.tuscany.sca.host.embedded.SCADomain; - -import org.apache.abdera.Abdera; -import org.apache.abdera.i18n.iri.IRI; -import org.apache.abdera.factory.Factory; -import org.apache.abdera.model.Base; -import org.apache.abdera.model.Content; -import org.apache.abdera.model.Entry; -import org.apache.abdera.model.Feed; -import org.apache.abdera.model.Document; -import org.apache.abdera.model.Service; -import org.apache.abdera.protocol.Response.ResponseType; -import org.apache.abdera.protocol.client.AbderaClient; -import org.apache.abdera.protocol.client.ClientResponse; -import org.apache.abdera.protocol.client.RequestOptions; -import org.apache.abdera.protocol.client.util.BaseRequestEntity; -import org.apache.abdera.util.EntityTag; -import org.apache.abdera.parser.Parser; - -/** - * Tests use of server provided entry entity tags for Atom binding in Tuscany. - * Tests conditional gets (e.g. get if-none-match) or conditional posts (post if-match) - * using entity tags or last modified header entries. - * Uses the SCA provided Provider composite to act as a server. - * Uses the Abdera provided Client to act as a client. - */ -public class ProviderEntryEntityTagsTestCase { - public final static String providerURI = "http://localhost:8084/customer"; - protected static SCADomain scaConsumerDomain; - protected static SCADomain scaProviderDomain; - protected static CustomerClient testService; - protected static Abdera abdera; - protected static AbderaClient client; - protected static Parser abderaParser; - protected static String eTag; - protected static Date lastModified; - protected static final SimpleDateFormat dateFormat = new SimpleDateFormat( "EEE, dd MMM yyyy HH:mm:ss Z" ); // RFC 822 date time - - @BeforeClass - public static void init() throws Exception { - System.out.println(">>>ProviderEntryEntityTagsTestCase.init"); - scaProviderDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/atom/Provider.composite"); - abdera = new Abdera(); - client = new AbderaClient(abdera); - abderaParser = Abdera.getNewParser(); - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println(">>>ProviderEntryEntityTagsTestCase.destroy"); - scaProviderDomain.close(); - } - - @Test - public void testPrelim() throws Exception { - Assert.assertNotNull(scaProviderDomain); - Assert.assertNotNull( client ); - } - - @Test - public void testEmptyCachePost() throws Exception { - // Pseudo-code - // 1) Example HTTP POST request (new entry put, new etag response) - // User client post request - // POST /myblog/entries HTTP/1.1 - // Slug: First Post - // - // - // - // Atom-Powered Robots Run Amok - // urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a - // 2007-02-123T17:09:02Z - // Captain Lansing - // It's something moving... solid metal - // - - // Expected Atom server response (note unique ETag) - // HTTP/1.1 201 Created - // Date: Fri, 23 Feb 2007 21:17:11 GMT - // Content-Length: nnn - // Content-Type: application/atom+xml;type=entry - // Location: http://example.org/edit/first-post.atom - // Content-Location: http://example.org/edit/first-post.atom - // ETag: "e180ee84f0671b1" - // Last-Modified: Fri, 25 Jul 2008 14:36:44 -0500 - // - // - // - // Atom-Powered Robots Run Amok - // urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a - // 2007-02-123T17:09:02Z - // Captain Lansing - // It's something moving... solid metal - // - - // Testing of entry creation - Factory factory = abdera.getFactory(); - String customerName = "Fred Farkle"; - Entry entry = factory.newEntry(); - entry.setTitle("customer " + customerName); - entry.setUpdated(new Date()); - entry.addAuthor("Apache Tuscany"); - // ID created by collection. - // entry.setId(id); // auto-provided - // entry.addLink("" + id, "edit"); // auto-provided - // entry.addLink("" + id, "alternate"); // auto-provided - Content content = abdera.getFactory().newContent(); - content.setContentType(Content.Type.TEXT); - content.setValue(customerName); - entry.setContentElement(content); - - RequestOptions opts = new RequestOptions(); - final String contentType = "application/atom+xml; type=entry"; - opts.setContentType(contentType); - // AtomTestCaseUtils.printRequestHeaders( "Post request headers", " ", opts ); - IRI colUri = new IRI(providerURI).resolve("customer"); - // res = client.post(colUri.toString() + "?test=foo", entry, opts); - ClientResponse res = client.post(colUri.toString(), entry, opts); - - // Assert response status code is 201-OK. - // Assert response header Content-Type: application/atom+xml; charset=UTF-8 - // Assert response header Location: http://example.org/edit/first-post.atom - // Assert response header Content-Location: http://example.org/edit/first-post.atom - // Assert response header ETag: "e180ee84f0671b1" - // Assert response header Last-Modified: Fri, 25 Jul 2008 14:36:44 -0500 - // Assert collection size is 1. - Assert.assertEquals(201, res.getStatus()); - Assert.assertEquals(contentType, res.getContentType().toString().trim()); - // Assert.assertNotNull( res.getLocation().toString() ); - // Assert.assertEquals( "", res.getContentLocation().toString() ); - // Save eTag for subsequent tests; - eTag = res.getHeader( "ETag" ); - Assert.assertNotNull( eTag ); - lastModified = res.getLastModified(); - Assert.assertNotNull(lastModified); - } - - @Test - public void testDirtyCachePut() throws Exception { - // 2) Conditional PUT request (post with etag. entry provided is stale) - // User client PUT request - // PUT /edit/first-post.atom HTTP/1.1 - // > If-Match: "e180ee84f0671b1" - // - // - // - // Atom-Powered Robots Run Amok - // urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a - // 2007-02-24T16:34:06Z - // Captain Lansing - // Update: it's a hoax! - // - // Testing of entry creation - Factory factory = abdera.getFactory(); - String customerName = "Molly Ringwald"; - Entry entry = factory.newEntry(); - entry.setTitle("customer " + customerName); - entry.setUpdated( new Date()); - entry.addAuthor("Apache Tuscany"); - String id = eTag.substring( 1, eTag.length()-1); - entry.setId(id); // auto-provided - // entry.addLink("" + id, "edit"); // auto-provided - // entry.addLink("" + id, "alternate"); // auto-provided - Content content = abdera.getFactory().newContent(); - content.setContentType(Content.Type.TEXT); - content.setValue(customerName); - entry.setContentElement(content); - - RequestOptions opts = new RequestOptions(); - final String contentType = "application/atom+xml; type=entry"; - opts.setContentType(contentType); - opts.setHeader( "If-None-Match", eTag); - - // AtomTestCaseUtils.printRequestHeaders( "Put request headers", " ", opts ); - IRI colUri = new IRI(providerURI).resolve("customer"); - // res = client.post(colUri.toString() + "?test=foo", entry, opts); - id = eTag.substring( 1, eTag.length()-1); - // Warning. AbderaClient.put(String uri,Base base,RequestOptions options) caches on the client side. - // ClientResponse res = client.put(colUri.toString() + id, entry, opts); - ClientResponse res = client.put(colUri.toString() + "/" + id, new BaseRequestEntity( entry ), opts); - // Expected Atom server response (item was edited by another user) - // > HTTP/1.1 412 Precondition Failed - // Date: Sat, 24 Feb 2007 16:34:11 GMT - - // If-Match Assert response status code is 412. Precondition failed. - // If-None-Match Assert response status code is 200. OK - Assert.assertEquals(200, res.getStatus()); - // Put provides null body and no etags. - res.release(); - } - - @Test - public void testETagMissGet() throws Exception { - // 4) Conditional GET example (get with etag. etag not in cache) - // User client GET request - // GET /edit/first-post.atom HTTP/1.1 - // > If-None-Match: "e180ee84f0671b1" - - RequestOptions opts = new RequestOptions(); - final String contentType = "application/atom+xml; type=entry"; - opts.setContentType(contentType); - opts.setHeader( "If-None-Match", "123456"); - opts.setHeader( "Pragma", "no-cache"); // turn off client caching - - IRI colUri = new IRI(providerURI).resolve("customer"); - // res = client.post(colUri.toString() + "?test=foo", entry, opts); - String id = eTag.substring( 1, eTag.length()-1); - // Warning. AbderaClient.put(String uri,Base base,RequestOptions options) caches on the client side. - // ClientResponse res = client.put(colUri.toString() + id, entry, opts); - ClientResponse res = client.get(colUri.toString() + "/" + id, opts); - // Expected Atom server response (item was edited by another user) - // > HTTP/1.1 412 Precondition Failed - // Date: Sat, 24 Feb 2007 16:34:11 GMT - - // Atom server response (item was up to date) - // > HTTP/1.1 200 OK - // Date: Sat, 24 Feb 2007 13:17:11 GMT - // > ETag: "bb4f5e86e92ddb8549604a0df0763581" - // > Last-Modified: Mon, 28 Jul 2008 10:25:37 -0500 - - // Assert response status code is 200 OK. - // Assert header Content-Type: application/atom+xml;type=entry - // Assert header Location: http://example.org/edit/first-post.atom - // Assert header Content-Location: http://example.org/edit/first-post.atom - // Assert header ETag: "555555" (etag response != etag request) - // Assert header Last-Modified: Fri, 25 Jul 2008 14:36:44 -0500 - Assert.assertEquals(200, res.getStatus()); - Assert.assertEquals(contentType, res.getContentType().toString().trim()); - // Assert.assertNotNull( res.getLocation().toString() ); - // Assert.assertEquals( "", res.getContentLocation().toString() ); - Assert.assertNotNull( res.getHeader( "ETag" ) ); - lastModified = res.getLastModified(); - Assert.assertNotNull(lastModified); - res.release(); - } - - @Test - public void testETagHitGet() throws Exception { - // 3) Conditional GET example (get with etag. etag match) - // User client GET request - // GET /edit/first-post.atom HTTP/1.1 - // > If-None-Match: "e180ee84f0671b1" - - RequestOptions opts = new RequestOptions(); - final String contentType = "application/atom+xml; type=entry"; - opts.setContentType(contentType); - opts.setHeader( "If-None-Match", eTag); - opts.setHeader( "Pragma", "no-cache"); // turn off client caching - - IRI colUri = new IRI(providerURI).resolve("customer"); - // res = client.post(colUri.toString() + "?test=foo", entry, opts); - String id = eTag.substring( 1, eTag.length()-1); - // Warning. AbderaClient.put(String uri,Base base,RequestOptions options) caches on the client side. - // ClientResponse res = client.put(colUri.toString() + id, entry, opts); - ClientResponse res = client.get(colUri.toString() + "/" + id, opts); - // Atom server response (item was up to date) - // > HTTP/1.1 304 Not Modified - // Date: Sat, 24 Feb 2007 13:17:11 GMT - - // Assert response status code is 304 Not Modified. - // Assert header ETag: "e180ee84f0671b1" - // Assert header Last-Modified: Fri, 25 Jul 2008 14:36:44 -0500 - // Assert.assertEquals(304, res.getStatus()); - res.release(); - } - - - @Test - public void testUpToDateGet() throws Exception { - // 3) Conditional GET example (get with If-Mod. entry is up to date) - // User client GET request - // GET /edit/first-post.atom HTTP/1.1 - // > If-Modified-Since: Sat, 29 Oct 2025 19:43:31 GMT - RequestOptions opts = new RequestOptions(); - final String contentType = "application/atom+xml; type=entry"; - opts.setContentType(contentType); - opts.setHeader( "If-Modified-Since", "Sat, 29 Oct 2025 19:43:31 GMT"); // "EEE, dd MMM yyyy HH:mm:ss Z // RFC 822 Date - opts.setHeader( "Pragma", "no-cache"); // turn off client caching - - IRI colUri = new IRI(providerURI).resolve("customer"); - // res = client.post(colUri.toString() + "?test=foo", entry, opts); - String id = eTag.substring( 1, eTag.length()-1); - // Warning. AbderaClient.put(String uri,Base base,RequestOptions options) caches on the client side. - // ClientResponse res = client.put(colUri.toString() + id, entry, opts); - // Warning. AbderaClient.put(String uri,Base base,RequestOptions options) caches on the client side. - // ClientResponse res = client.get(colUri.toString() + "/" + id, opts); - ClientResponse res = client.execute( "GET", colUri.toString(), (BaseRequestEntity)null, opts); - - // Atom server response (item was up to date) - // > HTTP/1.1 304 Not Modified - // Date: Sat, 24 Feb 2007 13:17:11 GMT - - // Assert response status code is 304 Not Modified. - Assert.assertEquals(304, res.getStatus()); - res.release(); - } - - @Test - public void testOutOfDateGet() throws Exception { - // 4) Conditional GET example (get with If-Mod. entry is not to date) - // User client GET request - // GET /edit/first-post.atom HTTP/1.1 - // > If-Modified-Since: Sat, 29 Oct 1844 19:43:31 GMT - RequestOptions opts = new RequestOptions(); - final String contentType = "application/atom+xml; type=entry"; - opts.setContentType(contentType); - opts.setHeader( "If-Modified-Since", "Sat, 29 Oct 1844 19:43:31 GMT"); // "EEE, dd MMM yyyy HH:mm:ss Z // RFC 822 Date - opts.setHeader( "Pragma", "no-cache"); // turn off client caching - - IRI colUri = new IRI(providerURI).resolve("customer"); - // res = client.post(colUri.toString() + "?test=foo", entry, opts); - String id = eTag.substring( 1, eTag.length()-1); - // Warning. AbderaClient.put(String uri,Base base,RequestOptions options) caches on the client side. - // ClientResponse res = client.put(colUri.toString() + id, entry, opts); - ClientResponse res = client.get(colUri.toString() + "/" + id, opts); - - // Atom server response (item was up to date) - // > HTTP/1.1 200 OK - // Date: Sat, 24 Feb 2007 13:17:11 GMT - // > ETag: "bb4f5e86e92ddb8549604a0df0763581" - // > Last-Modified: Mon, 28 Jul 2008 10:25:37 -0500 - - // Assert response status code is 200 OK. - // Assert header ETag: "e180ee84f0671b1" - // Assert header Last-Modified: Greater than If-Mod - Assert.assertEquals(200, res.getStatus()); - Assert.assertEquals(contentType, res.getContentType().toString().trim()); - // Assert.assertNotNull( res.getLocation().toString() ); - // Assert.assertEquals( "", res.getContentLocation().toString() ); - Assert.assertNotNull( res.getHeader( "ETag" ) ); - lastModified = res.getLastModified(); - Assert.assertNotNull(lastModified); - res.release(); - } - - @Test - public void testUpToDateUnModGet() throws Exception { - // 3) Conditional GET example (get with If-Unmod. entry is not modified (< predicate date). - // User client GET request - // GET /edit/first-post.atom HTTP/1.1 - // > If-Unmodified-Since: Sat, 29 Oct 2025 19:43:31 GMT - RequestOptions opts = new RequestOptions(); - final String contentType = "application/atom+xml; type=entry"; - opts.setContentType(contentType); - opts.setHeader( "If-Unmodified-Since", "Sat, 29 Oct 2050 19:43:31 GMT" ); - opts.setHeader( "Pragma", "no-cache"); // turn off client caching - - IRI colUri = new IRI(providerURI).resolve("customer"); - // res = client.post(colUri.toString() + "?test=foo", entry, opts); - String id = eTag.substring( 1, eTag.length()-1); - // Warning. AbderaClient.put(String uri,Base base,RequestOptions options) caches on the client side. - // ClientResponse res = client.put(colUri.toString() + id, entry, opts); - ClientResponse res = client.get(colUri.toString() + "/" + id, opts); - - // Atom server response (item was up to date) - // > HTTP/1.1 200 OK - // Date: Sat, 24 Feb 2007 13:17:11 GMT - // > ETag: "bb4f5e86e92ddb8549604a0df0763581" - // > Last-Modified: Mon, 28 Jul 2008 10:25:37 -0500 - - // Assert response status code is 200 OK. - // Assert header Content-Type: application/atom+xml;type=entry - // Assert header Location: http://example.org/edit/first-post.atom - // Assert header Content-Location: http://example.org/edit/first-post.atom - // Assert header ETag: "e180ee84f0671b1" - // Assert header Last-Modified: Less than If-Unmod - Assert.assertEquals(200, res.getStatus()); - res.release(); - } - - @Test - public void testOutOfDateUnModGet() throws Exception { - // 4) Conditional GET example (get with If-Unmod. entry is modified (> predicate date) - // User client GET request - // GET /edit/first-post.atom HTTP/1.1 - // Host: example.org - // > If-Unmodified-Since: Sat, 29 Oct 1844 19:43:31 GMT - RequestOptions opts = new RequestOptions(); - final String contentType = "application/atom+xml; type=entry"; - opts.setContentType(contentType); - opts.setHeader( "If-Unmodified-Since", "Sat, 29 Oct 1844 19:43:31 GMT" ); - opts.setHeader( "Pragma", "no-cache"); // turn off client caching - - IRI colUri = new IRI(providerURI).resolve("customer"); - // res = client.post(colUri.toString() + "?test=foo", entry, opts); - String id = eTag.substring( 1, eTag.length()-1); - // Warning. AbderaClient.put(String uri,Base base,RequestOptions options) caches on the client side. - // ClientResponse res = client.put(colUri.toString() + id, entry, opts); - ClientResponse res = client.get(colUri.toString() + "/" + id, opts); - - // Atom server response (item was up to date) - // > HTTP/1.1 304 Not Modified - // Date: Sat, 24 Feb 2007 13:17:11 GMT - - // Assert response status code is 304 Not Modified. - Assert.assertEquals(304, res.getStatus()); - res.release(); - } -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/ProviderFeedEntityTagsTestCase.java b/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/ProviderFeedEntityTagsTestCase.java deleted file mode 100644 index 4915f7426e..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/ProviderFeedEntityTagsTestCase.java +++ /dev/null @@ -1,382 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.atom; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.StringReader; -import java.net.Socket; -import java.text.SimpleDateFormat; -import java.util.Date; - -import junit.framework.Assert; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -import org.apache.tuscany.sca.host.embedded.SCADomain; - -import org.apache.abdera.Abdera; -import org.apache.abdera.i18n.iri.IRI; -import org.apache.abdera.factory.Factory; -import org.apache.abdera.model.Base; -import org.apache.abdera.model.Content; -import org.apache.abdera.model.Entry; -import org.apache.abdera.model.Feed; -import org.apache.abdera.model.Document; -import org.apache.abdera.model.Service; -import org.apache.abdera.model.Collection; -import org.apache.abdera.protocol.Response.ResponseType; -import org.apache.abdera.protocol.client.AbderaClient; -import org.apache.abdera.protocol.client.ClientResponse; -import org.apache.abdera.protocol.client.RequestOptions; -import org.apache.abdera.protocol.client.util.BaseRequestEntity; -import org.apache.abdera.util.EntityTag; -import org.apache.abdera.parser.Parser; - -/** - * Tests use of server provided feed entity tags for Atom binding in Tuscany. - * Tests conditional gets (e.g. get if-none-match) or conditional posts (post if-match) - * using entity tags and last modified entries in headers. - * Uses the SCA provided Provider composite to act as a server. - * Uses the Abdera provided Client to act as a client. - */ -public class ProviderFeedEntityTagsTestCase { - public final static String providerURI = "http://localhost:8084/customer"; - protected static SCADomain scaConsumerDomain; - protected static SCADomain scaProviderDomain; - protected static CustomerClient testService; - protected static Abdera abdera; - protected static AbderaClient client; - protected static Parser abderaParser; - protected static String eTag; - protected static Date lastModified; - protected static final SimpleDateFormat dateFormat = new SimpleDateFormat( "EEE, dd MMM yyyy HH:mm:ss Z" ); // RFC 822 date time - - @BeforeClass - public static void init() throws Exception { - System.out.println(">>>ProviderFeedEntityTagsTestCase.init"); - scaProviderDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/atom/Provider.composite"); - abdera = new Abdera(); - client = new AbderaClient(abdera); - abderaParser = Abdera.getNewParser(); - } - - @AfterClass - public static void destroy() throws Exception { - System.out.println(">>>ProviderFeedEntityTagsTestCase.destroy"); - scaProviderDomain.close(); - } - - @Test - public void testPrelim() throws Exception { - Assert.assertNotNull(scaProviderDomain); - Assert.assertNotNull( client ); - } - - @Test - public void testFeedBasics() throws Exception { - System.out.println(">>>ProviderFeedEntityTagsTestCase.testFeedBasics"); - // Normal feed request - ClientResponse res = client.get(providerURI); - Assert.assertNotNull(res); - try { - // Assert feed provided since no predicates - Assert.assertEquals(200, res.getStatus()); - Assert.assertEquals(ResponseType.SUCCESS, res.getType()); - // AtomTestCaseUtils.printResponseHeaders( "Feed response headers:", " ", res ); - // System.out.println("Feed response content:"); - // AtomTestCaseUtils.prettyPrint(abdera, res.getDocument()); - - // Perform other tests on feed. - // Warning. AbderaClient.getEntityTag is very particular on tag pattern. - // Document doc = res.getDocument(); - String body = read( res.getInputStream() ); - // RFC 4287 requires non-null id, title, updated elements - Assert.assertTrue( -1 != body.indexOf( "" )); - Assert.assertTrue( -1 != body.indexOf( "" )); - Assert.assertTrue( -1 != body.indexOf( "" )); - - eTag = res.getHeader("ETag"); - Assert.assertNotNull( eTag ); - lastModified = res.getLastModified(); - Assert.assertNotNull( lastModified ); - } finally { - res.release(); - } - } - - @Test - public void testUnmodifiedGetIfMatch() throws Exception { - System.out.println(">>>ProviderFeedEntityTagsTestCase.testFeedUnmodifiedGetIfMatch"); - // Feed request with predicates - RequestOptions opts = new RequestOptions(); - final String contentType = "application/atom+xml"; - opts.setContentType(contentType); - opts.setHeader( "If-Match", eTag); - - ClientResponse res = client.get(providerURI, opts); - Assert.assertNotNull(res); - try { - String thisETag = res.getHeader("ETag"); - Assert.assertNotNull( thisETag ); - Date thisLastModified = res.getLastModified(); - Assert.assertNotNull( thisLastModified ); - - // Should return 200 - Feed provided since it matches etag. - Assert.assertEquals(200, res.getStatus()); - Assert.assertEquals(ResponseType.SUCCESS, res.getType()); - // AtomTestCaseUtils.printResponseHeaders( "Feed response headers:", " ", res ); - // System.out.println("Feed response content:"); - // AtomTestCaseUtils.prettyPrint(abdera, res.getDocument()); - } finally { - res.release(); - } - } - - @Test - public void testUnmodifiedGetIfNoneMatch() throws Exception { - System.out.println(">>>ProviderFeedEntityTagsTestCase.testFeedUnmodifiedGetIfNoneMatch"); - // Feed request with predicates - RequestOptions opts = new RequestOptions(); - final String contentType = "application/atom+xml"; - opts.setContentType(contentType); - opts.setHeader( "If-None-Match", eTag); - - ClientResponse res = client.get(providerURI, opts); - Assert.assertNotNull(res); - try { - // Should return 304 - Feed not provided since it matches ETag. - Assert.assertEquals(304, res.getStatus()); - } finally { - res.release(); - } - } - - @Test - public void testUnmodifiedGetIfUnModified() throws Exception { - System.out.println(">>>ProviderFeedEntityTagsTestCase.testFeedUnmodifiedGetIfUnModified"); - // Feed request with predicates - RequestOptions opts = new RequestOptions(); - final String contentType = "application/atom+xml"; - opts.setContentType(contentType); - opts.setHeader( "If-Unmodified-Since", dateFormat.format( new Date() )); - - ClientResponse res = client.get(providerURI, opts); - Assert.assertNotNull(res); - try { - // Should return 304 - Feed not provided since feed is modified since. - Assert.assertEquals(304, res.getStatus()); - } finally { - res.release(); - } - } - - @Test - public void testUnmodifiedGetIfModified() throws Exception { - System.out.println(">>>ProviderFeedEntityTagsTestCase.testFeedUnmodifiedGetIfModified"); - // Feed request with predicates - RequestOptions opts = new RequestOptions(); - final String contentType = "application/atom+xml"; - opts.setContentType(contentType); - opts.setHeader( "If-Modified-Since", dateFormat.format( new Date( 0 ) )); - - ClientResponse res = client.get(providerURI, opts); - Assert.assertNotNull(res); - try { - // Should return 200 - Feed provided since feed is changed. - Assert.assertEquals(200, res.getStatus()); - Assert.assertEquals(ResponseType.SUCCESS, res.getType()); - - String thisETag = res.getHeader("ETag"); - Assert.assertNotNull( thisETag ); - Date thisLastModified = res.getLastModified(); - Assert.assertNotNull( thisLastModified ); - } finally { - res.release(); - } - } - - @Test - public void testModifiedGetIfNoneMatch() throws Exception { - System.out.println(">>>ProviderFeedEntityTagsTestCase.testFeedModifiedGetIfNoneMatch"); - // Post some new content to the feed. - Factory factory = abdera.getFactory(); - String customerName = "Fred Farkle"; - Entry entry = factory.newEntry(); - entry.setTitle("customer " + customerName); - entry.setUpdated(new Date()); - entry.addAuthor("Apache Tuscany"); - Content content = abdera.getFactory().newContent(); - content.setContentType(Content.Type.TEXT); - content.setValue(customerName); - entry.setContentElement(content); - - RequestOptions opts = new RequestOptions(); - String contentType = "application/atom+xml; type=entry"; - opts.setContentType(contentType); - IRI colUri = new IRI(providerURI).resolve("customer"); - ClientResponse res = client.post(colUri.toString(), entry, opts); - - // Feed request with predicates - opts = new RequestOptions(); - contentType = "application/atom+xml"; - opts.setContentType(contentType); - opts.setHeader( "If-None-Match", eTag); - - res = client.get(providerURI, opts); - Assert.assertNotNull(res); - try { - // Should return 304 - Feed not provided since it matches ETag. - Assert.assertEquals(304, res.getStatus()); - // AtomTestCaseUtils.printResponseHeaders( "Feed response headers:", " ", res ); - // System.out.println("Feed response content:"); - // AtomTestCaseUtils.prettyPrint(abdera, res.getDocument()); - } finally { - res.release(); - } - } - - @Test - public void testModifiedGetIfMatch() throws Exception { - System.out.println(">>>ProviderFeedEntityTagsTestCase.testFeedModifiedGetIfMatch"); - // Feed request with predicates - RequestOptions opts = new RequestOptions(); - final String contentType = "application/atom+xml"; - opts.setContentType(contentType); - opts.setHeader( "If-Match", eTag); - - ClientResponse res = client.get(providerURI, opts); - Assert.assertNotNull(res); - try { - String thisETag = res.getHeader("ETag"); - Assert.assertNotNull( thisETag ); - Date thisLastModified = res.getLastModified(); - Assert.assertNotNull( thisLastModified ); - - // Should return 200 - value since feed is changed - Assert.assertEquals(200, res.getStatus()); - Assert.assertEquals(ResponseType.SUCCESS, res.getType()); - - // AtomTestCaseUtils.printResponseHeaders( "Feed modified if-none-match response headers:", " ", res ); - // System.out.println("Feed response content:"); - // AtomTestCaseUtils.prettyPrint(abdera, res.getDocument()); - } finally { - res.release(); - } - } - - @Test - public void testModifiedGetIfUnModified() throws Exception { - System.out.println(">>>ProviderFeedEntityTagsTestCase.testFeedUnmodifiedGetIfUnModified"); - // Feed request with predicates - RequestOptions opts = new RequestOptions(); - final String contentType = "application/atom+xml"; - opts.setContentType(contentType); - opts.setHeader( "If-Unmodified-Since", dateFormat.format( new Date() )); - - ClientResponse res = client.get(providerURI, opts); - Assert.assertNotNull(res); - try { - // Should return 304 - Feed not provided since feed is modified since. - Assert.assertEquals(304, res.getStatus()); - } finally { - res.release(); - } - } - - @Test - public void testModifiedGetIfModified() throws Exception { - System.out.println(">>>ProviderFeedEntityTagsTestCase.testFeedUnmodifiedGetIfModified"); - // Feed request with predicates - RequestOptions opts = new RequestOptions(); - final String contentType = "application/atom+xml"; - opts.setContentType(contentType); - opts.setHeader( "If-Modified-Since", dateFormat.format( lastModified )); - - ClientResponse res = client.get(providerURI, opts); - Assert.assertNotNull(res); - try { - // Should return 200 - Feed provided since feed is changed. - Assert.assertEquals(200, res.getStatus()); - Assert.assertEquals(ResponseType.SUCCESS, res.getType()); - - String thisETag = res.getHeader("ETag"); - Assert.assertNotNull( thisETag ); - Date thisLastModified = res.getLastModified(); - Assert.assertNotNull( thisLastModified ); - } finally { - res.release(); - } - } - - - public static void printFeed( String title, String indent, Feed feed ) { - if ( feed == null ) { - System.out.println( title + " feed is null"); - return; - } - - System.out.println( title ); - System.out.println( indent + "id=" + feed.getId() ); - System.out.println( indent + "title=" + feed.getTitle() ); - System.out.println( indent + "updated=" + feed.getUpdated() ); - System.out.println( indent + "author=" + feed.getAuthor() ); - Collection collection = feed.getCollection(); - if ( collection == null ) { - System.out.println( indent + "collection=null" ); - } else { - System.out.println( indent + "collection=" + collection ); - } - // System.out.println( indent + "collection size=" + feed.getCollection() ); - // for (Collection collection : workspace.getCollections()) { - // if (collection.getTitle().equals("customers")) { - // String expected = uri + "customers"; - // String actual = collection.getResolvedHref().toString(); - // assertEquals(expected, actual); - // } - // } - - } - - /** - * Read response ream from the given socket. - * @param socket - * @return - * @throws IOException - */ - private static String read(InputStream inputStream) throws IOException { - BufferedReader reader = null; - try { - reader = new BufferedReader(new InputStreamReader( inputStream )); - StringBuffer sb = new StringBuffer(); - String str; - while ((str = reader.readLine()) != null) { - sb.append(str); - } - return sb.toString(); - } finally { - if (reader != null) { - reader.close(); - } - } - } -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/ProviderServiceDocumentTestCase.java b/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/ProviderServiceDocumentTestCase.java deleted file mode 100644 index 96ea508210..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/test/java/org/apache/tuscany/sca/binding/atom/ProviderServiceDocumentTestCase.java +++ /dev/null @@ -1,209 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.atom; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.List; - -import junit.framework.Assert; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -import org.apache.tuscany.sca.host.embedded.SCADomain; -import org.apache.tuscany.sca.binding.atom.collection.Collection; - -import org.apache.abdera.Abdera; -import org.apache.abdera.i18n.iri.IRI; -import org.apache.abdera.factory.Factory; -import org.apache.abdera.model.Content; -import org.apache.abdera.model.Entry; -import org.apache.abdera.model.Feed; -import org.apache.abdera.model.Document; -import org.apache.abdera.model.Service; -import org.apache.abdera.protocol.Response.ResponseType; -import org.apache.abdera.protocol.client.AbderaClient; -import org.apache.abdera.protocol.client.ClientResponse; -import org.apache.abdera.protocol.client.RequestOptions; -import org.apache.abdera.parser.Parser; - -/** - * Tests use of service documents provided by atom binding based collections. - * Uses the SCA provided Provider composite to act as a server. - * Uses the Abdera provided Client to act as a client. - */ -public class ProviderServiceDocumentTestCase { - public final static String providerURI = "http://localhost:8084/customer"; - protected static SCADomain scaProviderDomain; - protected static SCADomain scaConsumerDomain; - protected static CustomerClient testService; - protected static Abdera abdera; - protected static AbderaClient client; - protected static Parser abderaParser; - - @BeforeClass - public static void init() throws Exception { - scaProviderDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/atom/Provider.composite"); - scaConsumerDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/atom/Consumer.composite"); - testService = scaConsumerDomain.getService(CustomerClient.class, "CustomerClient"); - abdera = new Abdera(); - client = new AbderaClient(abdera); - abderaParser = Abdera.getNewParser(); - } - - @AfterClass - public static void destroy() throws Exception { - scaProviderDomain.close(); - } - - @Test - public void testPrelim() throws Exception { - Assert.assertNotNull(scaProviderDomain); - Assert.assertNotNull( client ); - } - - @Test - public void testFeedBasics() throws Exception { - // Normal feed request - ClientResponse res = client.get(providerURI); - Assert.assertNotNull(res); - try { - // Assert feed provided since no predicates - Assert.assertEquals(200, res.getStatus()); - Assert.assertEquals(ResponseType.SUCCESS, res.getType()); - // AtomTestCaseUtils.printResponseHeaders( "Feed response headers:", " ", res ); - // System.out.println("Feed response content:"); - // AtomTestCaseUtils.prettyPrint(abdera, res.getDocument()); - - // Perform other tests on feed. - // Warning. AbderaClient.getEntityTag is very particular on tag pattern. - // Document doc = res.getDocument(); - String body = read( res.getInputStream() ); - // RFC 4287 requires non-null id, title, updated elements - Assert.assertTrue( -1 != body.indexOf( "" )); - Assert.assertTrue( -1 != body.indexOf( "" )); - Assert.assertTrue( -1 != body.indexOf( "" )); - } finally { - res.release(); - } - } - - @Test - public void testServiceDocumentGet() throws Exception { - Collection resourceCollection = testService.getCustomerCollection(); - Assert.assertNotNull(resourceCollection); - - Entry postEntry = postEntry("Sponge Bob"); - Entry newEntry = resourceCollection.post(postEntry); - postEntry = postEntry("Austin Powers"); - newEntry = resourceCollection.post(postEntry); - postEntry = postEntry("Count Dracula"); - newEntry = resourceCollection.post(postEntry); - - // Service document - ClientResponse res = client.get(providerURI + "/atomsvc"); - Assert.assertNotNull(res); - try { - // Asser feed provided since no predicates - Assert.assertEquals(200, res.getStatus()); - Assert.assertEquals(ResponseType.SUCCESS, res.getType()); - - // Perform other tests on feed. - // AtomTestCaseUtils.prettyPrint(abdera, res.getDocument()); - Document serviceDoc = res.getDocument(); - Service service = serviceDoc.getRoot(); - Assert.assertNotNull( service ); - org.apache.abdera.model.Collection collection = service.getCollection( "workspace", "customers" ); - String title = collection.getTitle(); - Assert.assertEquals("customers", title); - String href = collection.getHref().toString(); - Assert.assertTrue( href.contains( "customer") ); - } finally { - res.release(); - } - } - - public static void printFeed( String title, String indent, Feed feed ) { - if ( feed == null ) { - System.out.println( title + " feed is null"); - return; - } - - System.out.println( title ); - System.out.println( indent + "id=" + feed.getId() ); - System.out.println( indent + "title=" + feed.getTitle() ); - System.out.println( indent + "updated=" + feed.getUpdated() ); - System.out.println( indent + "author=" + feed.getAuthor() ); - // Collection collection = feed.getCollection(); - // if ( collection == null ) { - // System.out.println( indent + "collection=null" ); - // } else { - // System.out.println( indent + "collection=" + collection ); - // } - // System.out.println( indent + "collection size=" + feed.getCollection() ); - // for (Collection collection : workspace.getCollections()) { - // if (collection.getTitle().equals("customers")) { - // String expected = uri + "customers"; - // String actual = collection.getResolvedHref().toString(); - // assertEquals(expected, actual); - // } - // } - - } - - private Entry postEntry(String value) { - Entry entry = abdera.newEntry(); - entry.setTitle("customer " + value); - - Content content = abdera.getFactory().newContent(); - content.setContentType(Content.Type.TEXT); - content.setValue(value); - entry.setContentElement(content); - - return entry; - } - - /** - * Read response ream from the given socket. - * @param socket - * @return - * @throws IOException - */ - private static String read(InputStream inputStream) throws IOException { - BufferedReader reader = null; - try { - reader = new BufferedReader(new InputStreamReader( inputStream )); - StringBuffer sb = new StringBuffer(); - String str; - while ((str = reader.readLine()) != null) { - sb.append(str); - } - return sb.toString(); - } finally { - if (reader != null) { - reader.close(); - } - } - } -} diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/test/resources/org/apache/tuscany/sca/binding/atom/Consumer.composite b/java/sca/contrib/modules/binding-atom-abdera/src/test/resources/org/apache/tuscany/sca/binding/atom/Consumer.composite deleted file mode 100644 index a2c50f872e..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/test/resources/org/apache/tuscany/sca/binding/atom/Consumer.composite +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/test/resources/org/apache/tuscany/sca/binding/atom/Provider.composite b/java/sca/contrib/modules/binding-atom-abdera/src/test/resources/org/apache/tuscany/sca/binding/atom/Provider.composite deleted file mode 100644 index 60097ee0f7..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/test/resources/org/apache/tuscany/sca/binding/atom/Provider.composite +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-atom-abdera/src/test/resources/org/apache/tuscany/sca/binding/atom/ReceiptProvider.composite b/java/sca/contrib/modules/binding-atom-abdera/src/test/resources/org/apache/tuscany/sca/binding/atom/ReceiptProvider.composite deleted file mode 100644 index 71aa932a12..0000000000 --- a/java/sca/contrib/modules/binding-atom-abdera/src/test/resources/org/apache/tuscany/sca/binding/atom/ReceiptProvider.composite +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-atom/LICENSE b/java/sca/contrib/modules/binding-atom/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/java/sca/contrib/modules/binding-atom/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/java/sca/contrib/modules/binding-atom/NOTICE b/java/sca/contrib/modules/binding-atom/NOTICE deleted file mode 100644 index 51042eab05..0000000000 --- a/java/sca/contrib/modules/binding-atom/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-atom/pom.xml b/java/sca/contrib/modules/binding-atom/pom.xml deleted file mode 100644 index fc240bdb6a..0000000000 --- a/java/sca/contrib/modules/binding-atom/pom.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-atom - Apache Tuscany SCA Atom Feed Binding Extension - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-assembly-xml - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-sca-api - 2.0-SNAPSHOT - test - - - - junit - junit - 4.5 - test - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.atom - ${pom.name} - org.apache.tuscany.sca.binding.atom* - org.apache.tuscany.sca.assembly.xml;version="1.4", * - - - - - - - diff --git a/java/sca/contrib/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/AtomBinding.java b/java/sca/contrib/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/AtomBinding.java deleted file mode 100644 index 807d6a8971..0000000000 --- a/java/sca/contrib/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/AtomBinding.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.atom; - -import org.apache.tuscany.sca.assembly.Binding; - -/** - * Atom binding model. - * - * @version $Rev$ $Date$ - */ -public interface AtomBinding extends Binding { - - /** - * Returns the title of the Atom collection. - * @return - */ - String getTitle(); - - /** - * Sets the title of the Atom collection. - * @param title - */ - void setTitle(String title); - -} diff --git a/java/sca/contrib/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/AtomBindingFactory.java b/java/sca/contrib/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/AtomBindingFactory.java deleted file mode 100644 index 6e5623e1a2..0000000000 --- a/java/sca/contrib/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/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.atom; - -/** - * 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/java/sca/contrib/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/impl/AtomBindingFactoryImpl.java b/java/sca/contrib/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/impl/AtomBindingFactoryImpl.java deleted file mode 100644 index ea06625d34..0000000000 --- a/java/sca/contrib/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/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.atom.impl; - -import org.apache.tuscany.sca.binding.atom.AtomBinding; -import org.apache.tuscany.sca.binding.atom.AtomBindingFactory; - -/** - * Factory for the Atom binding model. - * - * @version $Rev$ $Date$ - */ -public class AtomBindingFactoryImpl implements AtomBindingFactory { - - public AtomBinding createAtomBinding() { - return new AtomBindingImpl(); - } - -} diff --git a/java/sca/contrib/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/impl/AtomBindingImpl.java b/java/sca/contrib/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/impl/AtomBindingImpl.java deleted file mode 100644 index 1c68ab5bc1..0000000000 --- a/java/sca/contrib/modules/binding-atom/src/main/java/org/apache/tuscany/sca/binding/atom/impl/AtomBindingImpl.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.atom.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.OptimizableBinding; -import org.apache.tuscany.sca.binding.atom.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 String title; - private List requiredIntents = new ArrayList(); - private List policySets = new ArrayList(); - private IntentAttachPointType intentAttachPointType; - private List applicablePolicySets = new ArrayList(); - - 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 String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public boolean isUnresolved() { - // The binding is always resolved - return false; - } - - public void setUnresolved(boolean unresolved) { - // The binding is always resolved - } - - //Policy related getters/setters - - public List getPolicySets() { - return policySets; - } - - public List getRequiredIntents() { - return requiredIntents; - } - - public IntentAttachPointType getType() { - return intentAttachPointType; - } - - public void setType(IntentAttachPointType intentAttachPointType) { - this.intentAttachPointType = intentAttachPointType; - } - - public void setPolicySets(List policySets) { - this.policySets = policySets; - } - - public void setRequiredIntents(List intents) { - this.requiredIntents = intents; - } - - public List getApplicablePolicySets() { - return applicablePolicySets; - } - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } -} diff --git a/java/sca/contrib/modules/binding-atom/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.atom.AtomBindingFactory b/java/sca/contrib/modules/binding-atom/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.atom.AtomBindingFactory deleted file mode 100644 index a8117db8f3..0000000000 --- a/java/sca/contrib/modules/binding-atom/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.atom.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.atom.impl.AtomBindingFactoryImpl \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-atom/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/binding-atom/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index 52e0e916f5..0000000000 --- a/java/sca/contrib/modules/binding-atom/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.assembly.xml.DefaultBeanModelProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#binding.atom,model=org.apache.tuscany.sca.binding.atom.AtomBinding,factory=org.apache.tuscany.sca.binding.atom.AtomBindingFactory \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-atom/src/test/java/org/apache/tuscany/sca/binding/atom/AtomBindingProcessorTestCase.java b/java/sca/contrib/modules/binding-atom/src/test/java/org/apache/tuscany/sca/binding/atom/AtomBindingProcessorTestCase.java deleted file mode 100644 index 63dffd5522..0000000000 --- a/java/sca/contrib/modules/binding-atom/src/test/java/org/apache/tuscany/sca/binding/atom/AtomBindingProcessorTestCase.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.atom; - -import java.io.StringReader; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamReader; - -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; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.MonitorFactory; -import org.apache.tuscany.sca.monitor.impl.DefaultMonitorFactoryImpl; - -/** - * @version $Rev$ $Date$ - */ -public class AtomBindingProcessorTestCase extends TestCase { - - private static final String COMPOSITE = - "" - + "" - + " " - + " " - + " " - + " " - + " " - + " " - + ""; - - private XMLInputFactory inputFactory; - private StAXArtifactProcessor staxProcessor; - private Monitor monitor; - - @Override - protected void setUp() throws Exception { - DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - inputFactory = XMLInputFactory.newInstance(); - // Create a monitor - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - MonitorFactory monitorFactory = new DefaultMonitorFactoryImpl(); - if (monitorFactory != null) { - monitor = monitorFactory.createMonitor(); - utilities.addUtility(monitorFactory); - } - StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, monitor); - } - - /** - * Test parsing valid composite definition. Valid composite populated with correct values expected. - * @throws Exception - */ - public void testLoadValidComposite() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(COMPOSITE)); - - Composite composite = (Composite)staxProcessor.read(reader); - AtomBinding binding = (AtomBinding) composite.getComponents().get(0).getServices().get(0).getBindings().get(0); - - assertNotNull(binding); - assertEquals("Feed Title", binding.getTitle()); - assertEquals("http://localhost:8080/feed", binding.getURI()); - } -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/LICENSE b/java/sca/contrib/modules/binding-corba-runtime/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/java/sca/contrib/modules/binding-corba-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/java/sca/contrib/modules/binding-corba-runtime/NOTICE b/java/sca/contrib/modules/binding-corba-runtime/NOTICE deleted file mode 100644 index 51042eab05..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-corba-runtime/pom.xml b/java/sca/contrib/modules/binding-corba-runtime/pom.xml deleted file mode 100644 index fbe0d89890..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/pom.xml +++ /dev/null @@ -1,143 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-binding-corba-runtime - Apache Tuscany SCA CORBA Binding Runtime - - - - org.apache.tuscany.sca - tuscany-interface-java - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-corba - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-corba - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-corba-jse - 2.0-SNAPSHOT - test - - - - cglib - cglib-nodep - 2.1_3 - compile - - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.corba - ${pom.name} - org.apache.tuscany.sca.binding.corba* - - - - - - - diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProviderFactory.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProviderFactory.java deleted file mode 100644 index 99c9d7736e..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProviderFactory.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.corba.impl; - -import org.apache.tuscany.sca.binding.corba.CorbaBinding; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.host.corba.CorbaHostExtensionPoint; -import org.apache.tuscany.sca.host.corba.ExtensibleCorbaHost; -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; - -/** - * @version $Rev$ $Date$ - */ -public class CorbaBindingProviderFactory implements BindingProviderFactory { - - private CorbaHostExtensionPoint chep; - private ExtensibleCorbaHost host; - - public CorbaBindingProviderFactory(ExtensionPointRegistry registry) { - chep = registry.getExtensionPoint(CorbaHostExtensionPoint.class); - host = new ExtensibleCorbaHost(chep); - } - /** - * @see org.apache.tuscany.sca.provider.BindingProviderFactory#createReferenceBindingProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentReference, org.apache.tuscany.sca.assembly.Binding) - */ - public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - CorbaBinding binding) { - return new CorbaReferenceBindingProvider(binding, host, reference); - } - - /** - * @see org.apache.tuscany.sca.provider.BindingProviderFactory#createServiceBindingProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentService, org.apache.tuscany.sca.assembly.Binding) - */ - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - CorbaBinding binding) { - return new CorbaServiceBindingProvider(binding, host, service); - } - - /** - * @see org.apache.tuscany.sca.provider.ProviderFactory#getModelType() - */ - public Class getModelType() { - return CorbaBinding.class; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.java deleted file mode 100644 index 9ad63fa569..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaInvoker.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.corba.impl; - -import java.lang.annotation.Annotation; -import java.lang.reflect.Method; -import java.util.Map; - -import org.apache.tuscany.sca.binding.corba.impl.exceptions.RequestConfigurationException; -import org.apache.tuscany.sca.binding.corba.impl.reference.DynaCorbaRequest; -import org.apache.tuscany.sca.binding.corba.impl.reference.DynaCorbaResponse; -import org.apache.tuscany.sca.binding.corba.impl.util.OperationMapper; -import org.apache.tuscany.sca.interfacedef.DataType; -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.runtime.RuntimeComponentReference; -import org.omg.CORBA.Object; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * @version $Rev$ $Date$ - */ -public class CorbaInvoker implements Invoker { - - private Object remoteObject; - private Class referenceClass; - private Map operationsMap; - private Map operationMethodMapping; - - public CorbaInvoker(RuntimeComponentReference reference, Object remoteObject, Class referenceClass, Map operationsMap) { - this.remoteObject = remoteObject; - this.referenceClass = referenceClass; - this.operationsMap = operationsMap; - this.operationMethodMapping = OperationMapper.mapOperationToMethod(reference.getInterfaceContract().getInterface().getOperations(), referenceClass); - } - - /** - * @see org.apache.tuscany.sca.invocation.Invoker#invoke(org.apache.tuscany.sca.invocation.Message) - */ - public Message invoke(Message msg) { - try { - DynaCorbaRequest request = new DynaCorbaRequest(remoteObject, msg.getOperation().getName()); - request.setReferenceClass(referenceClass); - request.setOperationsMap(operationsMap); - if (msg.getOperation().getOutputType() != null) { - Annotation[] notes = operationMethodMapping.get(msg.getOperation()).getAnnotations(); - request.setOutputType(msg.getOperation().getOutputType().getPhysical(), notes); - } - java.lang.Object[] args = msg.getBody(); - if (args != null) { - Annotation[][] notes = operationMethodMapping.get(msg.getOperation()).getParameterAnnotations(); - for (int i = 0; i < args.length; i++) { - request.addArgument(args[i], notes[i]); - } - } - if (msg.getOperation().getFaultTypes() != null) { - for (DataType type : msg.getOperation().getFaultTypes()) { - request.addExceptionType(type.getPhysical()); - } - } - DynaCorbaResponse response = request.invoke(); - msg.setBody(response.getContent()); - } catch (RequestConfigurationException e) { - throw new ServiceRuntimeException(e); - } catch (Exception e) { - msg.setFaultBody(e); - } - return msg; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaReferenceBindingProvider.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaReferenceBindingProvider.java deleted file mode 100644 index 43bf984440..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaReferenceBindingProvider.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.binding.corba.impl; - -import java.lang.reflect.Method; -import java.util.Map; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.apache.tuscany.sca.binding.corba.CorbaBinding; -import org.apache.tuscany.sca.binding.corba.impl.util.OperationMapper; -import org.apache.tuscany.sca.host.corba.CorbaHost; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.provider.ReferenceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.omg.CORBA.Object; - -/** - * @version $Rev$ $Date$ - */ -public class CorbaReferenceBindingProvider implements ReferenceBindingProvider { - - private static final Logger logger = Logger.getLogger(CorbaReferenceBindingProvider.class.getName()); - private CorbaBinding binding; - private CorbaHost host; - private RuntimeComponentReference reference; - private Object remoteObject; - private Class referenceClass; - private Map operationsMap = null; - - public CorbaReferenceBindingProvider(CorbaBinding binding, CorbaHost host, RuntimeComponentReference reference) { - this.binding = binding; - this.host = host; - this.reference = reference; - this.referenceClass = ((JavaInterface)reference.getInterfaceContract().getInterface()).getJavaClass(); - operationsMap = OperationMapper.mapMethodToOperationName(referenceClass); - } - - /** - * @see org.apache.tuscany.sca.provider.ReferenceBindingProvider#createInvoker(org.apache.tuscany.sca.interfacedef.Operation) - */ - public Invoker createInvoker(Operation operation) { - try { - if (remoteObject == null) { - remoteObject = host.lookup(binding.getCorbaname()); - } - return new CorbaInvoker(reference, remoteObject, referenceClass, operationsMap); - } catch (Exception e) { - logger.log(Level.WARNING, "Exception during creating CORBA invoker", e); - } - return null; - } - - /** - * @see org.apache.tuscany.sca.provider.ReferenceBindingProvider#getBindingInterfaceContract() - */ - public InterfaceContract getBindingInterfaceContract() { - return reference.getInterfaceContract(); - } - - /** - * @see org.apache.tuscany.sca.provider.ReferenceBindingProvider#start() - */ - public void start() { - } - - /** - * @see org.apache.tuscany.sca.provider.ReferenceBindingProvider#stop() - */ - public void stop() { - } - - /** - * @see org.apache.tuscany.sca.provider.ReferenceBindingProvider#supportsOneWayInvocation() - */ - public boolean supportsOneWayInvocation() { - return false; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java deleted file mode 100644 index e800a87aef..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaServiceBindingProvider.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.impl; - -import org.apache.tuscany.sca.binding.corba.CorbaBinding; -import org.apache.tuscany.sca.binding.corba.impl.service.ComponentInvocationProxy; -import org.apache.tuscany.sca.binding.corba.impl.service.DynaCorbaServant; -import org.apache.tuscany.sca.binding.corba.impl.service.InvocationProxy; -import org.apache.tuscany.sca.binding.corba.impl.types.util.Utils; -import org.apache.tuscany.sca.host.corba.CorbaHost; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * @version $Rev$ $Date$ - */ -public class CorbaServiceBindingProvider implements ServiceBindingProvider { - - private CorbaBinding binding; - private CorbaHost host; - private RuntimeComponentService service; - private DynaCorbaServant servant; - - public CorbaServiceBindingProvider(CorbaBinding binding, CorbaHost host, RuntimeComponentService service) { - this.binding = binding; - this.host = host; - this.service = service; - } - - /** - * @see org.apache.tuscany.sca.provider.ServiceBindingProvider#getBindingInterfaceContract() - */ - public InterfaceContract getBindingInterfaceContract() { - return service.getInterfaceContract(); - } - - /** - * @see org.apache.tuscany.sca.provider.ServiceBindingProvider#start() - */ - public void start() { - try { - Class javaClass = ((JavaInterface)service.getInterfaceContract().getInterface()).getJavaClass(); - InvocationProxy proxy = new ComponentInvocationProxy(service, service.getRuntimeWire(binding), javaClass); - servant = new DynaCorbaServant(proxy, Utils.getTypeId(javaClass)); - servant.setIds(new String[] {binding.getId()}); - host.registerServant(binding.getCorbaname(), servant); - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - - } - - /** - * @see org.apache.tuscany.sca.provider.ServiceBindingProvider#stop() - */ - public void stop() { - try { - host.unregisterServant(binding.getCorbaname()); - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - - } - - /** - * @see org.apache.tuscany.sca.provider.ServiceBindingProvider#supportsOneWayInvocation() - */ - public boolean supportsOneWayInvocation() { - return false; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/CorbaException.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/CorbaException.java deleted file mode 100644 index 6e54556a2c..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/CorbaException.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.binding.corba.impl.exceptions; - -/** - * @version $Rev$ $Date$ - * Represents CORBA SystemException - */ -public class CorbaException extends Exception { - - private static final long serialVersionUID = 1L; - - public CorbaException(String message, Throwable cause) { - super(message, cause); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/RequestConfigurationException.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/RequestConfigurationException.java deleted file mode 100644 index 9a11d205f2..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/exceptions/RequestConfigurationException.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.corba.impl.exceptions; - -/** - * @version $Rev$ $Date$ - */ -public class RequestConfigurationException extends Exception { - - private static final long serialVersionUID = 1L; - private String objectId; - - public RequestConfigurationException(String message, String objectId) { - super(message + ", object id was: " + objectId); - this.objectId = objectId; - } - - public RequestConfigurationException(String message) { - super(message); - } - - public String getType() { - return objectId; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaRequest.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaRequest.java deleted file mode 100644 index 3936bed9f6..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaRequest.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.binding.corba.impl.reference; - -import java.lang.annotation.Annotation; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.tuscany.sca.binding.corba.impl.exceptions.CorbaException; -import org.apache.tuscany.sca.binding.corba.impl.exceptions.RequestConfigurationException; -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTree; -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeCreator; -import org.apache.tuscany.sca.binding.corba.impl.types.util.TypeHelpersProxy; -import org.apache.tuscany.sca.binding.corba.impl.types.util.Utils; -import org.apache.tuscany.sca.binding.corba.impl.util.MethodFinder; -import org.omg.CORBA.BAD_OPERATION; -import org.omg.CORBA.BAD_PARAM; -import org.omg.CORBA.Object; -import org.omg.CORBA.SystemException; -import org.omg.CORBA.portable.ApplicationException; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.ObjectImpl; -import org.omg.CORBA.portable.OutputStream; - -/** - * @version $Rev$ $Date$ Represents single CORBA request - */ -public class DynaCorbaRequest { - - private TypeTree returnTree; - private Map exceptions = new HashMap(); - private InputStream inputStream; - private ObjectImpl remoteObject; - private String operation; - private List arguments = new ArrayList(); - private List argumentsTypes = new ArrayList(); - private Class referenceClass; - private Map operationsMap; - - /** - * Creates request. - * - * @param ObjectremoteObject remote object reference - * @param operation operation to invoke - * @param scaBindingRules apply SCA default binding mapping rules - */ - public DynaCorbaRequest(Object remoteObject, String operation) { - this.remoteObject = (ObjectImpl)remoteObject; - this.operation = operation; - } - - /** - * Sets class which will be backed by this reference request - * @param referenceClass - */ - public void setReferenceClass(Class referenceClass) { - this.referenceClass = referenceClass; - } - - /** - * Sets method to operation names mapping - * @param operationsMap - */ - public void setOperationsMap(Map operationsMap) { - this.operationsMap = operationsMap; - } - - /** - * Adds operation argument - stores arguments and caches its TypeTree. Annotations will be set to null by default. - * - * @param argument - */ - public void addArgument(java.lang.Object argument) throws RequestConfigurationException { - addArgument(argument, null); - } - - /** - * Adds operation argument - stores arguments and caches its TypeTree - * - * @param argument - */ - public void addArgument(java.lang.Object argument, Annotation[] notes) throws RequestConfigurationException { - TypeTree tree = TypeTreeCreator.createTypeTree(argument.getClass(), notes); - argumentsTypes.add(tree); - arguments.add(argument); - } - - /** - * Passing stored arguments to CORBA communication output stream - * - * @param outputStream - * @throws RequestConfigurationException - */ - private void passArguments(OutputStream outputStream) throws RequestConfigurationException { - for (int i = 0; i < arguments.size(); i++) { - TypeTree tree = argumentsTypes.get(i); - TypeHelpersProxy.write(tree.getRootNode(), outputStream, arguments.get(i)); - } - } - - /** - * Sets return type for operation. Annotations will be set to null by default. - * - * @param forClass - */ - public void setOutputType(Class forClass) throws RequestConfigurationException { - setOutputType(forClass, null); - } - - /** - * Sets return type for operation - * - * @param forClass - */ - public void setOutputType(Class forClass, Annotation[] notes) throws RequestConfigurationException { - returnTree = TypeTreeCreator.createTypeTree(forClass, notes); - } - - /** - * Configures possible exceptions - * - * @param forClass - */ - public void addExceptionType(Class forClass) throws RequestConfigurationException { - TypeTree tree = TypeTreeCreator.createTypeTree(forClass, null); - String exceptionId = Utils.getTypeId(forClass); - exceptions.put(exceptionId, tree); - } - - /** - * Handles application excpeition. - * - * @param ae occured exception - * @throws Exception - */ - private void handleApplicationException(ApplicationException ae) throws Exception { - try { - if (exceptions.size() == 0) { - RequestConfigurationException exception = - new RequestConfigurationException( - "ApplicationException occured, but no exception type was specified.", - ae.getId()); - throw exception; - } - InputStream is = ae.getInputStream(); - String exceptionId = is.read_string(); - TypeTree tree = exceptions.get(exceptionId); - if (tree == null) { - RequestConfigurationException exception = - new RequestConfigurationException( - "ApplicationException occured, but no such exception was defined", - ae.getId()); - throw exception; - } else { - Exception ex = (Exception)TypeHelpersProxy.read(tree.getRootNode(), is); - throw ex; - } - } catch (Exception e) { - throw e; - } - } - - /** - * Handles exceptions generated by CORBA API - * - * @param se - */ - private void handleSystemException(SystemException se) throws Exception { - if (se instanceof BAD_OPERATION) { - throw new CorbaException("Bad operation name: " + operation, se); - } else if (se instanceof BAD_PARAM) { - throw new CorbaException("Bad parameter", se); - } else { - // TODO: handle more system exception types - throw new CorbaException(se.getMessage(), se); - } - } - - /** - * Gets operation name which is includes mapping rules - * @return - */ - private String getFinalOperationName() { - String result = operation; - if (referenceClass != null) { - Class[] argumentTypes = new Class[arguments.size()]; - for (int i = 0; i < arguments.size(); i++) { - argumentTypes[i] = arguments.get(i).getClass(); - } - Method method = MethodFinder.findMethod(referenceClass, operation, argumentTypes); - String newOperation = (String)operationsMap.get(method); - if (newOperation != null) { - result = newOperation; - } - } - return result; - } - - /** - * Invokes previously configured request - * - * @return - */ - public DynaCorbaResponse invoke() throws Exception { - DynaCorbaResponse response = new DynaCorbaResponse(); - String finalOperationName = getFinalOperationName(); - OutputStream outputStream = ((ObjectImpl)remoteObject)._request(finalOperationName, true); - passArguments(outputStream); - try { - inputStream = remoteObject._invoke(outputStream); - if (inputStream != null && returnTree != null) { - response.setContent(TypeHelpersProxy.read(returnTree.getRootNode(), inputStream)); - } - } catch (ApplicationException ae) { - handleApplicationException(ae); - } catch (SystemException se) { - handleSystemException(se); - } catch (Exception e) { - throw e; - } finally { - release(); - } - return response; - } - - /** - * Releases request resources - */ - private void release() { - remoteObject._releaseReply(inputStream); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaResponse.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaResponse.java deleted file mode 100644 index 25463a7a8a..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/DynaCorbaResponse.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.binding.corba.impl.reference; - -/** - * @version $Rev$ $Date$ - * Holder for content returned from DynaCorbaRequest - * - */ -public class DynaCorbaResponse { - - private Object content; - - public Object getContent() { - return content; - } - - public void setContent(Object content) { - this.content = content; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceInstanceCreator.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceInstanceCreator.java deleted file mode 100644 index 514d7055a8..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceInstanceCreator.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.corba.impl.reference; - -import java.lang.reflect.Method; - -import net.sf.cglib.proxy.Callback; -import net.sf.cglib.proxy.CallbackFilter; -import net.sf.cglib.proxy.Enhancer; -import net.sf.cglib.proxy.MethodInterceptor; -import net.sf.cglib.proxy.NoOp; - -import org.omg.CORBA.Object; - -/** - * @version $Rev$ $Date$ - */ -public class InterfaceInstanceCreator { - - private static final CallbackFilter FILTER = new CallbackFilter() { - public int accept(Method method) { - return 1; - } - }; - - /** - * Dynamically creates instance of user defined interface. Instance is - * enhanced by RemoteMethodInterceptor - * - * @param reference - * CORBA reference - * @param forClass - * user defined interface - * @return dynamic implementation instance - */ - public static java.lang.Object createInstance(Object reference, Class forClass) { - java.lang.Object result = null; - try { - Enhancer enhancer = new Enhancer(); - enhancer.setInterfaces(new Class[] {forClass}); - enhancer.setCallbackFilter(FILTER); - enhancer.setCallbackTypes(new Class[] {NoOp.class, MethodInterceptor.class}); - Class newClass = enhancer.createClass(); - Enhancer.registerStaticCallbacks(newClass, new Callback[] {NoOp.INSTANCE, - new InterfaceMethodInterceptor(reference, forClass)}); - result = newClass.newInstance(); - } catch (Exception e) { - e.printStackTrace(); - } - return result; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceMethodInterceptor.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceMethodInterceptor.java deleted file mode 100644 index 7fba091b41..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/reference/InterfaceMethodInterceptor.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.corba.impl.reference; - -import java.lang.reflect.Method; - -import net.sf.cglib.proxy.MethodInterceptor; -import net.sf.cglib.proxy.MethodProxy; - -import org.omg.CORBA.Object; - -/** - * @version $Rev$ $Date$ - * Interceptor for CORBA reference methods - */ -public class InterfaceMethodInterceptor implements MethodInterceptor { - - private Object reference; - private Class javaClass; - - public InterfaceMethodInterceptor(Object reference, Class javaClass) { - this.reference = reference; - this.javaClass = javaClass; - } - - /** - * Create and execute DynaCorbaRequest instance, basing on intercepted - * method arguments, return types, exceptions - */ - public java.lang.Object intercept(java.lang.Object object, - Method method, - java.lang.Object[] arguments, - MethodProxy arg3) throws Throwable { - DynaCorbaRequest request = new DynaCorbaRequest(reference, method.getName()); - request.setReferenceClass(javaClass); - for (int i = 0; i < arguments.length; i++) { - request.addArgument(arguments[i]); - } - request.setOutputType(method.getReturnType()); - Class[] exceptions = method.getExceptionTypes(); - for (int i = 0; i < exceptions.length; i++) { - request.addExceptionType(exceptions[i]); - } - DynaCorbaResponse response = request.invoke(); - return response.getContent(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/ComponentInvocationProxy.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/ComponentInvocationProxy.java deleted file mode 100644 index ff4732cfdb..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/ComponentInvocationProxy.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.binding.corba.impl.service; - -import java.lang.annotation.Annotation; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.tuscany.sca.binding.corba.impl.exceptions.RequestConfigurationException; -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTree; -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeCreator; -import org.apache.tuscany.sca.binding.corba.impl.util.OperationMapper; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * @version $Rev$ $Date$ - * Invocation proxy for SCA components - */ -public class ComponentInvocationProxy implements InvocationProxy { - - private RuntimeWire wire; - private Map methodOperationMapping; - private Map operationMethodMapping; - private Map operationsMap; - private Map operationsCache = new HashMap(); - - public ComponentInvocationProxy(RuntimeComponentService service, RuntimeWire wire, Class javaClass) - throws RequestConfigurationException { - this.wire = wire; - operationsMap = OperationMapper.mapOperationNameToMethod(javaClass); - operationMethodMapping = OperationMapper.mapOperationToMethod(service.getInterfaceContract().getInterface().getOperations(), javaClass); - methodOperationMapping = OperationMapper.mapMethodToOperation(service.getInterfaceContract().getInterface().getOperations(), javaClass); - cacheOperationTypes(service.getInterfaceContract().getInterface().getOperations()); - } - - /** - * Caches TypeTree for every operation in backed component - * - * @param operations - * @throws RequestConfigurationException - */ - private void cacheOperationTypes(List operations) throws RequestConfigurationException { - for (Operation operation : operations) { - try { - OperationTypes operationTypes = new OperationTypes(); - List inputInstances = new ArrayList(); - // cache output type tree - if (operation.getOutputType() != null && operation.getOutputType().getPhysical() != null - && !operation.getOutputType().getPhysical().equals(void.class)) { - Annotation[] notes = operationMethodMapping.get(operation).getAnnotations(); - TypeTree outputType = - TypeTreeCreator.createTypeTree(operation.getOutputType().getPhysical(), notes); - operationTypes.setOutputType(outputType); - } - // cache input types trees - if (operation.getInputType() != null) { - Method method = operationMethodMapping.get(operation); - Annotation[][] notes = method.getParameterAnnotations(); - int i = 0; - for (DataType>> type : operation.getInputType().getLogical()) { - Class forClass = type.getPhysical(); - TypeTree inputType = TypeTreeCreator.createTypeTree(forClass, notes[i]); - inputInstances.add(inputType); - i++; - } - - } - operationTypes.setInputType(inputInstances); - operationsCache.put(operation, operationTypes); - } catch (RequestConfigurationException e) { - throw e; - } - } - } - - private Operation getOperation4Name(String operationName) { - Method method = operationsMap.get(operationName); - return methodOperationMapping.get(method); - } - - public OperationTypes getOperationTypes(String operationName) { - return operationsCache.get(getOperation4Name(operationName)); - } - - public Object invoke(String operationName, List arguments) throws InvocationException { - Object result = null; - try { - result = wire.invoke(getOperation4Name(operationName), arguments.toArray()); - } catch (InvocationTargetException e) { - InvocationException exception = new InvocationException(e.getCause()); - throw exception; - } - return result; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/DynaCorbaServant.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/DynaCorbaServant.java deleted file mode 100644 index 2a032f5d25..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/DynaCorbaServant.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.impl.service; - -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.apache.tuscany.sca.binding.corba.impl.exceptions.RequestConfigurationException; -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTree; -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeCreator; -import org.apache.tuscany.sca.binding.corba.impl.types.util.TypeHelpersProxy; -import org.apache.tuscany.sca.binding.corba.impl.types.util.Utils; -import org.omg.CORBA.MARSHAL; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.InvokeHandler; -import org.omg.CORBA.portable.ObjectImpl; -import org.omg.CORBA.portable.OutputStream; -import org.omg.CORBA.portable.ResponseHandler; - -/** - * @version $Rev$ $Date$ - * General servant which provides target component implementation via CORBA - */ -public class DynaCorbaServant extends ObjectImpl implements InvokeHandler { - - private static final Logger logger = Logger.getLogger(DynaCorbaServant.class.getName()); - - private String[] ids; - private InvocationProxy invocationProxy; - private String typeId; - - /** - * Creates servant object - * @param invocationProxy - * @param typeId - * @throws RequestConfigurationException - */ - public DynaCorbaServant(InvocationProxy invocationProxy, String typeId) throws RequestConfigurationException { - this.invocationProxy = invocationProxy; - this.typeId = typeId; - setDefaultIds(); - } - - /** - * Sets CORBA object ID - * @param ids - */ - public void setIds(String[] ids) { - for (int i = 0; i < ids.length; i++) { - if (ids[i] == null || ids[i].length() == 0) { - // if invalid id was passed then set to default - setDefaultIds(); - return; - } - } - this.ids = ids; - } - - public OutputStream _invoke(String operationName, InputStream in, ResponseHandler rh) { - OperationTypes types = invocationProxy.getOperationTypes(operationName); - if (types == null) { - // operation wasn't found - throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - } else { - List inputInstances = new ArrayList(); - try { - // retrieving in arguments - for (TypeTree tree : types.getInputType()) { - Object o = TypeHelpersProxy.read(tree.getRootNode(), in); - inputInstances.add(o); - } - } catch (MARSHAL e) { - // parameter passed by user was not compatible with Java to - // Corba mapping - throw new org.omg.CORBA.BAD_PARAM(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - } - try { - // invocation and sending result - Object result = invocationProxy.invoke(operationName, inputInstances); - OutputStream out = rh.createReply(); - if (types.getOutputType() != null) { - TypeTree tree = types.getOutputType(); - TypeHelpersProxy.write(tree.getRootNode(), out, result); - } - return out; - } catch (InvocationException ie) { - // handling user exception - try { - OutputStream out = rh.createExceptionReply(); - Class exceptionClass = ie.getTargetException().getClass(); - TypeTree tree = TypeTreeCreator.createTypeTree(exceptionClass, null); - String exceptionId = Utils.getTypeId(exceptionClass); - out.write_string(exceptionId); - TypeHelpersProxy.write(tree.getRootNode(), out, ie.getTargetException()); - return out; - } catch (Exception e) { - logger.log(Level.WARNING, "Exception during handling invocation exception", e); - } - } catch (Exception e) { - logger.log(Level.WARNING, "Unexpected exception during sending CORBA result to client", e); - } - } - return null; - } - - @Override - public String[] _ids() { - return ids; - } - - /** - * Sets servant ID to default, based on Java class name - */ - private void setDefaultIds() { - this.ids = new String[] {typeId}; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/InvocationException.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/InvocationException.java deleted file mode 100644 index a82e43e42e..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/InvocationException.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.corba.impl.service; - -/** - * @version $Rev$ $Date$ - * Wrapper for exception thrown during target invocation - */ -public class InvocationException extends Exception { - - private static final long serialVersionUID = 1L; - private Throwable targetException; - - public InvocationException(Throwable targetException) { - this.targetException = targetException; - } - - public Throwable getTargetException() { - return targetException; - } - - public void setTargetException(Throwable target) { - this.targetException = target; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/InvocationProxy.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/InvocationProxy.java deleted file mode 100644 index 5ad9068b8d..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/InvocationProxy.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.corba.impl.service; - -import java.util.List; - -/** - * @version $Rev$ $Date$ - * Target proxy interface for service bindings - */ -public interface InvocationProxy { - - /** - * Gets operations types for target - * @param operationName - * @return - */ - public OperationTypes getOperationTypes(String operationName); - - /** - * Invokes target operation - * @param operationName - * @param arguments - * @return - * @throws InvocationException - */ - public Object invoke(String operationName, List arguments) throws InvocationException; - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/OperationTypes.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/OperationTypes.java deleted file mode 100644 index d93036d6d9..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/service/OperationTypes.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.binding.corba.impl.service; - -import java.util.List; - -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTree; - -/** - * @version $Rev$ $Date$ - * Holder for Java type trees for one method - */ -public class OperationTypes { - - private TypeTree outputType; - private List inputType; - - public TypeTree getOutputType() { - return outputType; - } - - public void setOutputType(TypeTree outputType) { - this.outputType = outputType; - } - - public List getInputType() { - return inputType; - } - - public void setInputType(List inputType) { - this.inputType = inputType; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/AnnotationAttributes.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/AnnotationAttributes.java deleted file mode 100644 index d2b48d22c7..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/AnnotationAttributes.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.corba.impl.types; - -/** - * Holds information retrieved from objects annotations - */ -public class AnnotationAttributes { - - private boolean corbaArray; - private int[] corbaArrayLength; - - public boolean isCorbaArray() { - return corbaArray; - } - - public void setCorbaArray(boolean isCorbaArray) { - this.corbaArray = isCorbaArray; - } - - public int[] getCorbaArrayLength() { - return corbaArrayLength; - } - - public void setCorbaArrayLength(int[] corbaArrayLength) { - this.corbaArrayLength = corbaArrayLength; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/NodeType.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/NodeType.java deleted file mode 100644 index 4080a836bc..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/NodeType.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.binding.corba.impl.types; - -/** - * @version $Rev$ $Date$ - * Types of CORBA objects. - */ -public enum NodeType { - primitive, struct, union, array, sequence, reference, idl_enum, exception -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTree.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTree.java deleted file mode 100644 index b8c4f88324..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTree.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.corba.impl.types; - -/** - * @version $Rev$ $Date$ - * Helper tree for Java object hierarchy. It's closer to CORBA types - * structure than plain Java hierarchy - it helps reading and writing - * complex structures. - */ -public class TypeTree { - - private TypeTreeNode rootNode; - - /** - * Returns root node. - * - * @return root of type tree - */ - public TypeTreeNode getRootNode() { - return rootNode; - } - - /** - * Sets root of the type tree. - * - * @param rootNode root node. - */ - public void setRootNode(TypeTreeNode rootNode) { - this.rootNode = rootNode; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeCreator.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeCreator.java deleted file mode 100644 index e8441ed177..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeCreator.java +++ /dev/null @@ -1,497 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.impl.types; - -import java.lang.annotation.Annotation; -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import org.apache.tuscany.sca.binding.corba.impl.exceptions.RequestConfigurationException; -import org.apache.tuscany.sca.binding.corba.meta.CorbaArray; -import org.apache.tuscany.sca.binding.corba.meta.CorbaUnionElement; -import org.apache.tuscany.sca.binding.corba.meta.CorbaUnionElementType; - -/** - * @version $Rev$ $Date$ - * Creator of types tree. - */ -public class TypeTreeCreator { - - /** - * Helps to determine if type is a primitive. - */ - private static List> primitives = new ArrayList>(); - - static { - primitives.add(boolean.class); - primitives.add(byte.class); - primitives.add(short.class); - primitives.add(int.class); - primitives.add(long.class); - primitives.add(double.class); - primitives.add(float.class); - primitives.add(char.class); - primitives.add(String.class); - primitives.add(Boolean.class); - primitives.add(Byte.class); - primitives.add(Short.class); - primitives.add(Integer.class); - primitives.add(Long.class); - primitives.add(Double.class); - primitives.add(Float.class); - primitives.add(Character.class); - } - - /** - * Creates class for given string argument. - * - * @param name name of type - * @return type - */ - private static Class createClassFromString(String name) { - Class result = null; - try { - if (name.length() == 1) { - // primitives - switch (name.charAt(0)) { - case 'Z': - result = boolean.class; - break; - case 'C': - result = char.class; - break; - case 'B': - result = byte.class; - break; - case 'S': - result = short.class; - break; - case 'I': - result = int.class; - break; - case 'J': - result = long.class; - break; - case 'F': - result = float.class; - break; - case 'D': - result = double.class; - break; - } - } else { - // class - name = name.substring(1, name.length() - 1); - result = Class.forName(name); - } - } catch (Exception e) { - e.printStackTrace(); - } - return result; - } - - /** - * Reduces dimension of array. - * - * @param forClass array class - * @return reduced array - */ - private static Class reduceArrayDimension(Class forClass) { - String name = forClass.getName(); - try { - String reduced = name.substring(1, name.length()); - if (reduced.startsWith("[")) { - // reduced class is still an array - return Class.forName(reduced); - } else { - // reduced class may be primitive or class - return createClassFromString(reduced); - } - } catch (ClassNotFoundException e) { - e.printStackTrace(); - } - return null; - } - - /** - * Return given array without first element - * - * @param array - * @return - */ - private static int[] removeFirstElement(int[] array) { - int[] result = new int[array.length - 1]; - System.arraycopy(array, 1, result, 0, result.length); - return result; - } - - /** - * Converts objects annotations to structure which will be used by this - * class - * - * @param notes - * @return - */ - private static AnnotationAttributes createAnnotationAttributes(Annotation[] notes) { - AnnotationAttributes attrs = new AnnotationAttributes(); - for (int i = 0; notes != null && i < notes.length; i++) { - if (notes[i].annotationType().equals(CorbaArray.class)) { - attrs.setCorbaArray(true); - attrs.setCorbaArrayLength(((CorbaArray)notes[i]).value()); - } - } - return attrs; - } - - /** - * Creates tree for given type. - * - * @param forClass - * @return type tree - */ - public static TypeTree createTypeTree(Class forClass, Annotation[] notes) throws RequestConfigurationException { - TypeTree tree = new TypeTree(); - TypeTreeNode rootNode = null; - AnnotationAttributes attrs = createAnnotationAttributes(notes); - rootNode = inspectClassHierarchy(forClass, attrs, tree); - tree.setRootNode(rootNode); - return tree; - - } - - /** - * Recurrent method which builds type tree. - * - * @param forClass - * @param tree - * @return - */ - private static TypeTreeNode inspectClassHierarchy(Class forClass, AnnotationAttributes attributes, TypeTree tree) - throws RequestConfigurationException { - - TypeTreeNode node = null; - node = createTypeNode(forClass, attributes); - - NodeType nodeType = node.getNodeType(); - TypeTreeNode[] children = null; - - if (nodeType.equals(NodeType.primitive)) { - // stop condition for recurrent method - } else if (nodeType.equals(NodeType.array)) { - Class reduced = reduceArrayDimension(node.getJavaClass()); - children = new TypeTreeNode[1]; - int[] newLengths = removeFirstElement(attributes.getCorbaArrayLength()); - attributes.setCorbaArrayLength(newLengths); - children[0] = inspectClassHierarchy(reduced, attributes, tree); - } else if (nodeType.equals(NodeType.sequence)) { - // reducing sequence dimension - Class reduced = reduceArrayDimension(node.getJavaClass()); - children = new TypeTreeNode[1]; - children[0] = inspectClassHierarchy(reduced, attributes, tree); - // System.arraycopy(src, srcPos, dest, destPos, length) - } else if (nodeType.equals(NodeType.struct) || nodeType.equals(NodeType.exception)) { - // inspect types for every structure member - Field[] fields = node.getJavaClass().getFields(); - children = new TypeTreeNode[fields.length]; - for (int i = 0; i < fields.length; i++) { - Class field = fields[i].getType(); - AnnotationAttributes fAttrs = createAnnotationAttributes(fields[i].getAnnotations()); - TypeTreeNode child = inspectClassHierarchy(field, fAttrs, tree); - child.setName(fields[i].getName()); - children[i] = child; - } - } else if (nodeType.equals(NodeType.idl_enum)) { - - } else if (nodeType.equals(NodeType.union)) { - // inspect types for every structure member - Field[] fields = node.getJavaClass().getDeclaredFields(); - children = new TypeTreeNode[fields.length]; - for (int i = 0; i < fields.length; i++) { - Class field = fields[i].getType(); - AnnotationAttributes fAttrs = createAnnotationAttributes(fields[i].getAnnotations()); - TypeTreeNode child = inspectClassHierarchy(field, fAttrs, tree); - child.setName(fields[i].getName()); - children[i] = child; - } - } else if (nodeType.equals(NodeType.reference)) { - // TODO: CORBA references - } - - node.setChildren(children); - return node; - } - - /** - * Creating and configuring TypeTreeNode for given class. - * - * @param forClass class - * @return node - * @throws RequestConfigurationException - */ - private static TypeTreeNode createTypeNode(Class forClass, AnnotationAttributes attributes) - throws RequestConfigurationException { - TypeTreeNode node = new TypeTreeNode(); - if (forClass.isArray() && !attributes.isCorbaArray()) { - node.setNodeType(NodeType.sequence); - node.setJavaClass(forClass); - } else if (forClass.isArray() && attributes.isCorbaArray()) { - node.setNodeType(NodeType.array); - node.setJavaClass(forClass); - try { - // set the actual array size for further use by ArrayTypeHelper - node.setAttributes(attributes.getCorbaArrayLength()[0]); - } catch (ArrayIndexOutOfBoundsException e) { - RequestConfigurationException exc = - new RequestConfigurationException("Annotated array size doesn't match declared arrays size"); - throw exc; - } - } else if (primitives.contains(forClass)) { - node.setNodeType(NodeType.primitive); - node.setJavaClass(forClass); - node.setChildren(null); - } else if (forClass.isInterface()) { - node.setNodeType(NodeType.reference); - node.setJavaClass(forClass); - node.setChildren(null); - } else if (isStructType(forClass)) { - node.setNodeType(NodeType.struct); - node.setJavaClass(forClass); - } else if (isEnumType(forClass)) { - node.setNodeType(NodeType.idl_enum); - node.setJavaClass(forClass); - } else if (isUserException(forClass)) { - node.setNodeType(NodeType.exception); - node.setJavaClass(forClass); - } else if (isUnionType(forClass)) { - node.setNodeType(NodeType.union); - node.setJavaClass(forClass); - node.setAttributes(getUnionAttributes(forClass)); - } else { - RequestConfigurationException e = - new RequestConfigurationException("User defined type which cannot be handled: " + forClass - .getCanonicalName()); - throw e; - } - return node; - } - - /** - * Tells whether given class is structure - * - * @param forClass - * @return - */ - private static boolean isStructType(Class forClass) { - int classMods = forClass.getModifiers(); - if (!Modifier.isFinal(classMods)) { - return false; - } - boolean areCtorsValid = false; - Class[] fieldsTypes = null; - Constructor[] ctors = forClass.getConstructors(); - /* - * Do we have 2 ctors and one of them is null ctor? - */ - if (ctors.length != 2) { - return false; - } - for (int i = 0; i < ctors.length; i++) { - Class[] params = ctors[i].getParameterTypes(); - if (params.length == 0) { - areCtorsValid = true; - } else { - fieldsTypes = params; - } - } - if (!areCtorsValid) { - return false; - } - /* - * Are constructor args declared as class fields? - */ - Field[] fields = forClass.getFields(); - Set> fieldsSet = new HashSet>(Arrays.asList(fieldsTypes)); - for (int i = 0; i < fields.length && !fieldsSet.isEmpty(); i++) { - int mods = fields[i].getModifiers(); - if (Modifier.isPublic(mods) && !Modifier.isStatic(mods) && !Modifier.isFinal(mods)) { - fieldsSet.remove(fields[i].getType()); - } - - } - return fieldsSet.isEmpty(); - } - - /** - * Tells whether given class is enum - * - * @param forClass - * @return - */ - private static boolean isEnumType(Class forClass) { - boolean isValueMethod = false; - boolean isFromIntMethod = false; - /* - * enum type should have value and from_int methods - */ - try { - Method valueMet = forClass.getMethod("value", new Class[] {}); - int modValueMet = valueMet.getModifiers(); - if (valueMet.getReturnType().equals(int.class) && Modifier.isPublic(modValueMet)) { - isValueMethod = true; - } - Method fromIntMet = forClass.getMethod("from_int", new Class[] {int.class}); - int modFromIntMet = fromIntMet.getModifiers(); - if ((fromIntMet.getReturnType().equals(forClass) && Modifier.isPublic(modFromIntMet) && Modifier - .isStatic(modFromIntMet))) { - isFromIntMethod = true; - } - } catch (NoSuchMethodException e) { - } - if (!isFromIntMethod || !isValueMethod) { - return false; - } - /* - * enum type should also contain minimum one pair of fields: EnumType - * field and int _field - */ - int enumCount = 0; - Field[] fields = forClass.getFields(); - for (int i = 0; i < fields.length; i++) { - if (fields[i].getType().equals(forClass)) { - int modifiers = fields[i].getModifiers(); - if (Modifier.isStatic(modifiers) && Modifier.isPublic(modifiers) && Modifier.isFinal(modifiers)) { - try { - Field field = forClass.getField("_" + fields[i].getName()); - if (field.getType().equals(int.class)) { - enumCount++; - } - } catch (NoSuchFieldException e) { - } - - } - } - } - return enumCount > 0; - } - - /** - * Tells whether given class is CORBA user exception - * - * @param forClass - * @return - */ - private static boolean isUserException(Class forClass) { - do { - if (forClass.equals(Exception.class)) { - return true; - } else { - forClass = forClass.getSuperclass(); - } - } while (forClass != null && !forClass.equals(Object.class)); - return false; - } - - /** - * Tells whether given class is CORBA union. This method validates usage of - * unions annotations. - * - * @param forClass - * @return - * @throws RequestConfigurationException - */ - private static boolean isUnionType(Class forClass) throws RequestConfigurationException { - int classMods = forClass.getModifiers(); - if (!Modifier.isFinal(classMods)) { - return false; - } - boolean atLeastOneOption = false; - boolean discriminatorPresent = false; - for (int i = 0; i < forClass.getDeclaredFields().length; i++) { - CorbaUnionElement note = forClass.getDeclaredFields()[i].getAnnotation(CorbaUnionElement.class); - if (note != null) { - int fieldMod = forClass.getDeclaredFields()[i].getModifiers(); - if (Modifier.isPrivate(fieldMod) && !Modifier.isFinal(fieldMod) && !Modifier.isStatic(fieldMod)) { - if (note.type().equals(CorbaUnionElementType.discriminator)) { - if (discriminatorPresent) { - throw new RequestConfigurationException( - "More than one discriminators declared on: " + forClass); - } - discriminatorPresent = true; - } else { - atLeastOneOption = true; - } - } else { - throw new RequestConfigurationException( - "Annotated union field should be private, not final and no static on class: " + forClass); - } - } - } - if (atLeastOneOption && !discriminatorPresent) { - throw new RequestConfigurationException("No discriminator annotation found on: " + forClass); - } else if (!atLeastOneOption && discriminatorPresent) { - throw new RequestConfigurationException("No union option found on: " + forClass); - } else if (discriminatorPresent && atLeastOneOption) { - return true; - } else { - return false; - } - } - - /** - * Gets union attributes - discriminator field name, option fields etc. This - * method relies that previously scanned class is valid (method isUnionType) - * - * @param forClass - * @return - * @throws RequestConfigurationException - */ - private static UnionAttributes getUnionAttributes(Class forClass) throws RequestConfigurationException { - UnionAttributes attributes = new UnionAttributes(); - for (int i = 0; i < forClass.getDeclaredFields().length; i++) { - CorbaUnionElement note = forClass.getDeclaredFields()[i].getAnnotation(CorbaUnionElement.class); - if (note != null) { - if (note.type().equals(CorbaUnionElementType.discriminator)) { - attributes.setDiscriminatorName(forClass.getDeclaredFields()[i].getName()); - } else if (note.type().equals(CorbaUnionElementType.defaultOption)) { - attributes.setDefaultOptionName(forClass.getDeclaredFields()[i].getName()); - } else if (note.type().equals(CorbaUnionElementType.option)) { - if (attributes.getOptionsMapping().containsKey(note.optionNumber())) { - throw new RequestConfigurationException("In " + forClass - + ": field \"" - + forClass.getDeclaredFields()[i].getName() - + "\" uses already used option id: " - + note.optionNumber()); - } else { - attributes.getOptionsMapping().put(note.optionNumber(), - forClass.getDeclaredFields()[i].getName()); - } - } - } - } - return attributes; - } -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeNode.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeNode.java deleted file mode 100644 index 7d2183fb01..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/TypeTreeNode.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.corba.impl.types; - -/** - * @version $Rev$ $Date$ - * Represents single tree node. - * - */ -public class TypeTreeNode { - - private NodeType nodeType; - private TypeTreeNode[] children; - private Class javaClass; - private String name; - private Object attributes; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public NodeType getNodeType() { - return nodeType; - } - - public void setNodeType(NodeType nodeType) { - this.nodeType = nodeType; - } - - public TypeTreeNode[] getChildren() { - return children; - } - - public void setChildren(TypeTreeNode[] children) { - this.children = children; - } - - public Class getJavaClass() { - return javaClass; - } - - public void setJavaClass(Class javaClass) { - this.javaClass = javaClass; - } - - public Object getAttributes() { - return attributes; - } - - public void setAttributes(Object attributes) { - this.attributes = attributes; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/UnionAttributes.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/UnionAttributes.java deleted file mode 100644 index df6358d118..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/UnionAttributes.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.binding.corba.impl.types; - -import java.util.HashMap; -import java.util.Map; - -/** - * @version $Rev$ $Date$ - * Stores attributes for previously scanned CORBA union type - */ -public class UnionAttributes { - - public String discriminatorName; - public String defaultOptionName; - public Map optionsMapping = new HashMap(); - - public String getDiscriminatorName() { - return discriminatorName; - } - - public void setDiscriminatorName(String discriminatorName) { - this.discriminatorName = discriminatorName; - } - - public String getDefaultOptionName() { - return defaultOptionName; - } - - public void setDefaultOptionName(String defaultOptionName) { - this.defaultOptionName = defaultOptionName; - } - - public Map getOptionsMapping() { - return optionsMapping; - } - - public void setOptionsMapping(Map optionsMapping) { - this.optionsMapping = optionsMapping; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ArrayTypeHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ArrayTypeHelper.java deleted file mode 100644 index 6dbeda3b7c..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ArrayTypeHelper.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.binding.corba.impl.types.util; - -import java.lang.reflect.Array; - -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.OutputStream; - -/** - * @version $Rev$ $Date$ - */ -public class ArrayTypeHelper implements TypeHelper { - - public Object read(TypeTreeNode node, InputStream is) { - Object array = null; - try { - int size = (Integer)node.getAttributes(); - array = Array.newInstance(node.getChildren()[0].getJavaClass(), size); - for (int i = 0; i < size; i++) { - Array.set(array, i, TypeHelpersProxy.read(node.getChildren()[0], is)); - } - } catch (Exception e) { - e.printStackTrace(); - } - return array; - } - - public void write(TypeTreeNode node, OutputStream os, Object data) { - for (int i = 0; i < (Integer)node.getAttributes(); i++) { - TypeHelpersProxy.write(node.getChildren()[0], os, Array.get(data, i)); - } - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/BooleanTypeHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/BooleanTypeHelper.java deleted file mode 100644 index 87d3e93d22..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/BooleanTypeHelper.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.binding.corba.impl.types.util; - -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.OutputStream; - -/** - * @version $Rev$ $Date$ - */ -public class BooleanTypeHelper implements TypeHelper { - - public Object read(TypeTreeNode node, InputStream is) { - return is.read_boolean(); - } - - public void write(TypeTreeNode node, OutputStream os, Object data) { - os.write_boolean((Boolean)data); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ByteTypeHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ByteTypeHelper.java deleted file mode 100644 index eb02f1cbcb..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ByteTypeHelper.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.binding.corba.impl.types.util; - -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.OutputStream; - -/** - * @version $Rev$ $Date$ - */ -public class ByteTypeHelper implements TypeHelper { - - public Object read(TypeTreeNode node, InputStream is) { - return is.read_octet(); - } - - public void write(TypeTreeNode node, OutputStream os, Object data) { - os.write_octet((Byte)data); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/CharTypeHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/CharTypeHelper.java deleted file mode 100644 index 71f8fbfc47..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/CharTypeHelper.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.binding.corba.impl.types.util; - -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.OutputStream; - -/** - * @version $Rev$ $Date$ - */ -public class CharTypeHelper implements TypeHelper { - - public Object read(TypeTreeNode node, InputStream is) { - return is.read_char(); - } - - public void write(TypeTreeNode node, OutputStream os, Object data) { - os.write_char((Character)data); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/DoubleTypeHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/DoubleTypeHelper.java deleted file mode 100644 index c5019c5c0b..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/DoubleTypeHelper.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.binding.corba.impl.types.util; - -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.OutputStream; - -/** - * @version $Rev$ $Date$ - */ -public class DoubleTypeHelper implements TypeHelper { - - public Object read(TypeTreeNode node, InputStream is) { - return is.read_double(); - } - - public void write(TypeTreeNode node, OutputStream os, Object data) { - os.write_double((Double)data); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/EnumTypeHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/EnumTypeHelper.java deleted file mode 100644 index 30c3ac3a8a..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/EnumTypeHelper.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.apache.tuscany.sca.binding.corba.impl.types.util; - -import java.lang.reflect.Method; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.OutputStream; - -/** - * @version $Rev$ $Date$ - */ -public class EnumTypeHelper implements TypeHelper { - - private static final Logger logger = Logger.getLogger(EnumTypeHelper.class.getName()); - - public Object read(TypeTreeNode node, InputStream is) { - int value = is.read_long(); - Object result = null; - try { - Method method = node.getJavaClass().getMethod("from_int", new Class[] {int.class}); - result = method.invoke(null, new Object[] {value}); - } catch (Exception e) { - logger.log(Level.WARNING, "Exception during reading CORBA enum data", e); - e.printStackTrace(); - } - return result; - } - - public void write(TypeTreeNode node, OutputStream os, Object data) { - int value = 0; - try { - Method method = data.getClass().getMethod("value", new Class[] {}); - value = (Integer)method.invoke(data, new Object[] {}); - } catch (Exception e) { - logger.log(Level.WARNING, "Exception during writing CORBA enum data", e); - } - os.write_long(value); - } -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/FloatTypeHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/FloatTypeHelper.java deleted file mode 100644 index 3214f8b30d..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/FloatTypeHelper.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.binding.corba.impl.types.util; - -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.OutputStream; - -/** - * @version $Rev$ $Date$ - */ -public class FloatTypeHelper implements TypeHelper { - - public Object read(TypeTreeNode node, InputStream is) { - return is.read_float(); - } - - public void write(TypeTreeNode node, OutputStream os, Object data) { - os.write_float((Float)data); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/IntTypeHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/IntTypeHelper.java deleted file mode 100644 index b11175064c..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/IntTypeHelper.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.binding.corba.impl.types.util; - -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.OutputStream; - -/** - * @version $Rev$ $Date$ - */ -public class IntTypeHelper implements TypeHelper { - - public Object read(TypeTreeNode node, InputStream is) { - return is.read_long(); - } - - public void write(TypeTreeNode node, OutputStream os, Object data) { - os.write_long((Integer)data); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/LongTypeHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/LongTypeHelper.java deleted file mode 100644 index 7b4300a1da..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/LongTypeHelper.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.binding.corba.impl.types.util; - -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.OutputStream; - -/** - * @version $Rev$ $Date$ - */ -public class LongTypeHelper implements TypeHelper { - - public Object read(TypeTreeNode node, InputStream is) { - return is.read_longlong(); - } - - public void write(TypeTreeNode node, OutputStream os, Object data) { - os.write_longlong((Long)data); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ReferenceTypeHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ReferenceTypeHelper.java deleted file mode 100644 index 4e0c2893d2..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ReferenceTypeHelper.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.binding.corba.impl.types.util; - -import org.apache.tuscany.sca.binding.corba.impl.reference.InterfaceInstanceCreator; -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode; -import org.omg.CORBA.Object; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.OutputStream; - -/** - * @version $Rev$ $Date$ - */ -public class ReferenceTypeHelper implements TypeHelper { - - public java.lang.Object read(TypeTreeNode node, InputStream is) { - Object reference = is.read_Object(); - return (java.lang.Object)InterfaceInstanceCreator.createInstance(reference, node.getJavaClass()); - } - - public void write(TypeTreeNode node, OutputStream os, java.lang.Object data) { - os.write_Object((Object)data); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/SequenceTypeHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/SequenceTypeHelper.java deleted file mode 100644 index 5862838cd5..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/SequenceTypeHelper.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.corba.impl.types.util; - -import java.lang.reflect.Array; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.OutputStream; - -/** - * @version $Rev$ $Date$ - */ -public class SequenceTypeHelper implements TypeHelper { - - public Object read(TypeTreeNode node, InputStream is) { - Object sequence = null; - try { - int size = is.read_long(); - sequence = Array.newInstance(node.getChildren()[0].getJavaClass(), size); - for (int i = 0; i < size; i++) { - Array.set(sequence, i, TypeHelpersProxy.read(node.getChildren()[0], is)); - } - } catch (Exception e) { - e.printStackTrace(); - } - return sequence; - } - - public void write(TypeTreeNode node, OutputStream os, Object data) { - int sum = 0; - // determine length of array - List array = new ArrayList(); - while (true) { - try { - array.add(Array.get(data, sum)); - sum++; - } catch (ArrayIndexOutOfBoundsException e) { - break; - } - } - os.write_long(sum); - Iterator iter = array.iterator(); - while (iter.hasNext()) { - Object elem = iter.next(); - TypeHelpersProxy.write(node.getChildren()[0], os, elem); - } - - } -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ShortTypeHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ShortTypeHelper.java deleted file mode 100644 index 9130db65e4..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/ShortTypeHelper.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.binding.corba.impl.types.util; - -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.OutputStream; - -/** - * @version $Rev$ $Date$ - */ -public class ShortTypeHelper implements TypeHelper { - - public Object read(TypeTreeNode node, InputStream is) { - return is.read_short(); - } - - public void write(TypeTreeNode node, OutputStream os, Object data) { - os.write_short((Short)data); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StringTypeHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StringTypeHelper.java deleted file mode 100644 index 4d782efcc5..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StringTypeHelper.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.binding.corba.impl.types.util; - -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.OutputStream; - -/** - * @version $Rev$ $Date$ - */ -public class StringTypeHelper implements TypeHelper { - - public Object read(TypeTreeNode node, InputStream is) { - return is.read_string(); - } - - public void write(TypeTreeNode node, OutputStream os, Object data) { - os.write_string((String)data); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StructTypeHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StructTypeHelper.java deleted file mode 100644 index 365d62fb73..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/StructTypeHelper.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.binding.corba.impl.types.util; - -import java.lang.reflect.Field; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.OutputStream; - -/** - * @version $Rev$ $Date$ - */ -public class StructTypeHelper implements TypeHelper { - - private static final Logger logger = Logger.getLogger(StructTypeHelper.class.getName()); - - public Object read(TypeTreeNode node, InputStream is) { - TypeTreeNode[] children = node.getChildren(); - Object result = null; - if (children != null) { - try { - result = node.getJavaClass().newInstance(); - for (int i = 0; i < children.length; i++) { - Object childResult = TypeHelpersProxy.read(children[i], is); - Field childField = result.getClass().getField(children[i].getName()); - childField.set(result, childResult); - } - } catch (Exception e) { - logger.log(Level.WARNING, "Exception during reading CORBA struct data", e); - } - } - return result; - } - - public void write(TypeTreeNode node, OutputStream os, Object data) { - TypeTreeNode[] children = node.getChildren(); - if (children != null) { - try { - for (int i = 0; i < children.length; i++) { - Field childField = node.getJavaClass().getField(children[i].getName()); - TypeHelpersProxy.write(children[i], os, childField.get(data)); - } - } catch (Exception e) { - logger.log(Level.WARNING, "Exception during writing CORBA struct data", e); - } - } - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelper.java deleted file mode 100644 index c9d0dd263f..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelper.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.binding.corba.impl.types.util; - -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.OutputStream; - -/** - * @version $Rev$ $Date$ - */ -public interface TypeHelper { - - /** - * Reads CORBA object - * @param node - * @param is - * @return - */ - Object read(TypeTreeNode node, InputStream is); - - /** - * Writes CORBA object - * @param node - * @param os - * @param data - */ - void write(TypeTreeNode node, OutputStream os, Object data); - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelpersProxy.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelpersProxy.java deleted file mode 100644 index 72e4ccc6fb..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/TypeHelpersProxy.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.binding.corba.impl.types.util; - -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.sca.binding.corba.impl.types.NodeType; -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.OutputStream; - -/** - * @version $Rev$ $Date$ - * Proxies getType(), write(), read() methods to appropriate TypeHelper implementation. - */ -public class TypeHelpersProxy { - - /** - * Maps primitive types to its TypeHelper implementations - */ - private static Map, TypeHelper> primitiveTypes = null; - - /** - * Maps other types to its TypeHelper implementations - */ - private static Map complexTypes = null; - - static { - // initiate type helpers - primitiveTypes = new HashMap, TypeHelper>(); - complexTypes = new HashMap(); - - primitiveTypes.put(boolean.class, new BooleanTypeHelper()); - primitiveTypes.put(char.class, new CharTypeHelper()); - primitiveTypes.put(byte.class, new ByteTypeHelper()); - primitiveTypes.put(short.class, new ShortTypeHelper()); - primitiveTypes.put(int.class, new IntTypeHelper()); - primitiveTypes.put(long.class, new LongTypeHelper()); - primitiveTypes.put(float.class, new FloatTypeHelper()); - primitiveTypes.put(double.class, new DoubleTypeHelper()); - primitiveTypes.put(String.class, new StringTypeHelper()); - primitiveTypes.put(Boolean.class, primitiveTypes.get(boolean.class)); - primitiveTypes.put(Character.class, primitiveTypes.get(char.class)); - primitiveTypes.put(Byte.class, primitiveTypes.get(byte.class)); - primitiveTypes.put(Short.class, primitiveTypes.get(short.class)); - primitiveTypes.put(Integer.class, primitiveTypes.get(int.class)); - primitiveTypes.put(Long.class, primitiveTypes.get(long.class)); - primitiveTypes.put(Float.class, primitiveTypes.get(float.class)); - primitiveTypes.put(Double.class, primitiveTypes.get(double.class)); - primitiveTypes.put(String.class, primitiveTypes.get(String.class)); - complexTypes.put(NodeType.array, new ArrayTypeHelper()); - complexTypes.put(NodeType.struct, new StructTypeHelper()); - complexTypes.put(NodeType.reference, new ReferenceTypeHelper()); - complexTypes.put(NodeType.sequence, new SequenceTypeHelper()); - complexTypes.put(NodeType.idl_enum, new EnumTypeHelper()); - complexTypes.put(NodeType.exception, new StructTypeHelper()); - complexTypes.put(NodeType.union, new UnionTypeHelper()); - } - - /** - * Gets type helper basing on given type - * - * @param node - * @return - */ - private static TypeHelper getTypeHelper(TypeTreeNode node) { - TypeHelper typeHelper = null; - NodeType type = node.getNodeType(); - if (type.equals(NodeType.primitive)) { - typeHelper = primitiveTypes.get(node.getJavaClass()); - } else { - typeHelper = complexTypes.get(type); - } - return typeHelper; - } - - /** - * Proxies read method invocation to appropriate TypeHelper implementation. - * - * @param node - * @param is - * @return - */ - public static final Object read(TypeTreeNode node, InputStream is) { - TypeHelper helper = getTypeHelper(node); - return helper.read(node, is); - } - - /** - * Proxies write method invocation to appropriate TypeHelper implementation. - * - * @param node - * @param os - * @param data - */ - public static final void write(TypeTreeNode node, OutputStream os, Object data) { - TypeHelper helper = getTypeHelper(node); - helper.write(node, os, data); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/UnionTypeHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/UnionTypeHelper.java deleted file mode 100644 index 66c928acec..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/UnionTypeHelper.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.impl.types.util; - -import java.lang.reflect.Field; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeNode; -import org.apache.tuscany.sca.binding.corba.impl.types.UnionAttributes; -import org.omg.CORBA.portable.InputStream; -import org.omg.CORBA.portable.OutputStream; - -/** - * @version $Rev$ $Date$ - */ -public class UnionTypeHelper implements TypeHelper { - - private static final Logger logger = Logger.getLogger(UnionTypeHelper.class.getName()); - - public Object read(TypeTreeNode node, InputStream is) { - Object result = null; - try { - int discriminator = is.read_long(); - UnionAttributes attrs = (UnionAttributes)node.getAttributes(); - String childName = attrs.getOptionsMapping().get(discriminator); - if (childName == null) { - // get default if option numbers field not found - childName = attrs.getDefaultOptionName(); - } - result = node.getJavaClass().newInstance(); - Field discField = result.getClass().getDeclaredField(attrs.getDiscriminatorName()); - discField.setAccessible(true); - discField.set(result, discriminator); - for (int i = 0; i < node.getChildren().length; i++) { - if (node.getChildren()[i].getName().equals(childName)) { - Object unionValue = TypeHelpersProxy.read(node.getChildren()[i], is); - Field childField = result.getClass().getDeclaredField(childName); - childField.setAccessible(true); - childField.set(result, unionValue); - break; - } - } - } catch (Exception e) { - logger.log(Level.WARNING, "Exception during reading CORBA union data", e); - } - return result; - } - - public void write(TypeTreeNode node, OutputStream os, Object data) { - try { - UnionAttributes attrs = (UnionAttributes)node.getAttributes(); - Field discriminatorField = data.getClass().getDeclaredField(attrs.getDiscriminatorName()); - discriminatorField.setAccessible(true); - int discriminator = discriminatorField.getInt(data); - os.write_long(discriminator); - String childName = attrs.getOptionsMapping().get(discriminator); - if (childName == null) { - // get default if option numbers field not found - childName = attrs.getDefaultOptionName(); - } - for (int i = 0; i < node.getChildren().length; i++) { - if (node.getChildren()[i].getName().equals(childName)) { - Field childField = data.getClass().getDeclaredField(childName); - childField.setAccessible(true); - TypeHelpersProxy.write(node.getChildren()[i], os, childField.get(data)); - break; - } - } - } catch (Exception e) { - logger.log(Level.WARNING, "Exception during writing CORBA union data", e); - } - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/Utils.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/Utils.java deleted file mode 100644 index 68f71b7169..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/types/util/Utils.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.corba.impl.types.util; - -/** - * @version $Rev$ $Date$ - * Class for type utilities - */ -public class Utils { - - /** - * Creates CORBA id for Java class - * @param forClass - * @return - */ - public static String getTypeId(Class forClass) { - String result = forClass.getName().replace('.', '/'); - result = result.replaceAll("Package", ""); - result = "IDL:" + result + ":1.0"; - return result; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/util/MethodFinder.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/util/MethodFinder.java deleted file mode 100644 index 912d355641..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/util/MethodFinder.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.corba.impl.util; - -import java.lang.reflect.Method; -import java.util.HashMap; -import java.util.Map; - -/** - * @version $Rev$ $Date$ - * Utility for finding method in given class. - */ -public class MethodFinder { - - private static Map, Class> boxingMapping; - - static { - boxingMapping = new HashMap, Class>(); - boxingMapping.put(boolean.class, Boolean.class); - boxingMapping.put(byte.class, Byte.class); - boxingMapping.put(short.class, Short.class); - boxingMapping.put(char.class, Character.class); - boxingMapping.put(int.class, Integer.class); - boxingMapping.put(long.class, Long.class); - boxingMapping.put(float.class, Float.class); - boxingMapping.put(double.class, Double.class); - } - - /** - * Converts primitive class to its object equivalent. - * - * @param parameter class to convert - * @return object equivalent for primitive type. If parameter wasn't - * primitive then returns parameter. - */ - private static Class normalizePrimitive(Class parameter) { - Class result = boxingMapping.get(parameter); - if (result != null) { - return result; - } else { - // not a primitive - no need to normalize - return parameter; - } - } - - /** - * Finds appropriate method. This method ignores difference between - * primitive types and theirs object equivalents. Ie. if we want to find - * method "get" in java.util.List with only one parameter, which type is - * Integer then we'll obtain method get(int). - * - * @param forClass class which possibly contains desired method - * @param methodName desired methods name - * @param parameterTypes desired methods parameter types - * @return desired method, if no method was found then null will be returned - */ - public static Method findMethod(Class forClass, String methodName, Class[] parameterTypes) { - Method[] methods = forClass.getMethods(); - for (int i = 0; i < methods.length; i++) { - if (methods[i].getName().equals(methodName)) { - Class[] methodPTypes = methods[i].getParameterTypes(); - if (methodPTypes.length == parameterTypes.length) { - boolean parameterMatch = true; - for (int j = 0; j < methodPTypes.length; j++) { - Class nMethodPType = normalizePrimitive(methodPTypes[j]); - Class nParameterType = normalizePrimitive(parameterTypes[j]); - if (!nMethodPType.equals(nParameterType)) { - parameterMatch = false; - break; - } - } - if (parameterMatch) { - return methods[i]; - } - } - } - } - return null; - } -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/util/OperationMapper.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/util/OperationMapper.java deleted file mode 100644 index a9fabcb82a..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/impl/util/OperationMapper.java +++ /dev/null @@ -1,578 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.impl.util; - -import java.lang.reflect.Method; -import java.rmi.RemoteException; -import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.omg.CORBA.portable.IDLEntity; - -/** - * @version $Rev$ $Date$ - */ -public final class OperationMapper { - - private static Set> getAllInterfaces(Class intfClass) { - Set> allInterfaces = new LinkedHashSet>(); - - LinkedList> stack = new LinkedList>(); - stack.addFirst(intfClass); - - while (!stack.isEmpty()) { - Class intf = stack.removeFirst(); - allInterfaces.add(intf); - for (Class i : intf.getInterfaces()) { - stack.add(0, i); - } - } - - return allInterfaces; - } - - /** - * Maps Java methods to operation names - * @param intfClass - * @return - */ - @SuppressWarnings("unchecked") - public static Map mapMethodToOperationName(Class intfClass) { - return iiopMap(intfClass, false); - } - - /** - * Maps operation names to Java methods - * @param intfClass - * @return - */ - @SuppressWarnings("unchecked") - public static Map mapOperationNameToMethod(Class intfClass) { - return iiopMap(intfClass, true); - } - - @SuppressWarnings("unchecked") - private static Map iiopMap(Class intfClass, boolean operationToMethod) { - Method[] methods = getAllMethods(intfClass); - - // find every valid getter - Map getterByMethod = new HashMap(methods.length); - Map getterByName = new HashMap(methods.length); - for (int i = 0; i < methods.length; i++) { - Method method = methods[i]; - String methodName = method.getName(); - - // no arguments allowed - if (method.getParameterTypes().length != 0) { - continue; - } - - // must start with get or is - String verb; - if (methodName.startsWith("get") && methodName.length() > 3 && method.getReturnType() != void.class) { - verb = "get"; - } else if (methodName.startsWith("is") && methodName.length() > 2 && method.getReturnType() == boolean.class) { - verb = "is"; - } else { - continue; - } - - // must only throw Remote or Runtime Exceptions - boolean exceptionsValid = true; - Class[] exceptionTypes = method.getExceptionTypes(); - for (int j = 0; j < exceptionTypes.length; j++) { - Class exceptionType = exceptionTypes[j]; - if (!RemoteException.class.isAssignableFrom(exceptionType) && - !RuntimeException.class.isAssignableFrom(exceptionType) && - !Error.class.isAssignableFrom(exceptionType)) { - exceptionsValid = false; - break; - } - } - if (!exceptionsValid) { - continue; - } - - String propertyName; - if (methodName.length() > verb.length() + 1 && Character.isUpperCase(methodName.charAt(verb.length() + 1))) { - propertyName = methodName.substring(verb.length()); - } else { - propertyName = Character.toLowerCase(methodName.charAt(verb.length())) + methodName.substring(verb.length() + 1); - } - getterByMethod.put(method, propertyName); - getterByName.put(propertyName, method); - } - - Map setterByMethod = new HashMap(methods.length); - for (int i = 0; i < methods.length; i++) { - Method method = methods[i]; - String methodName = method.getName(); - - // must have exactally one arg - if (method.getParameterTypes().length != 1) { - continue; - } - - // must return non void - if (method.getReturnType() != void.class) { - continue; - } - - // must start with set - if (!methodName.startsWith("set") || methodName.length() <= 3) { - continue; - } - - // must only throw Remote or Runtime Exceptions - boolean exceptionsValid = true; - Class[] exceptionTypes = method.getExceptionTypes(); - for (int j = 0; j < exceptionTypes.length; j++) { - Class exceptionType = exceptionTypes[j]; - if (!RemoteException.class.isAssignableFrom(exceptionType) && - !RuntimeException.class.isAssignableFrom(exceptionType) && - !Error.class.isAssignableFrom(exceptionType)) { - exceptionsValid = false; - break; - } - } - if (!exceptionsValid) { - continue; - } - - String propertyName; - if (methodName.length() > 4 && Character.isUpperCase(methodName.charAt(4))) { - propertyName = methodName.substring(3); - } else { - propertyName = Character.toLowerCase(methodName.charAt(3)) + methodName.substring(4); - } - - // must have a matching getter - Method getter = (Method) getterByName.get(propertyName); - if (getter == null) { - continue; - } - - // setter property must match getter return value - if (!method.getParameterTypes()[0].equals(getter.getReturnType())) { - continue; - } - setterByMethod.put(method, propertyName); - } - - // index the methods by name... used to determine which methods are overloaded - HashMap> overloadedMethods = new HashMap>(methods.length); - for (int i = 0; i < methods.length; i++) { - Method method = methods[i]; - if (getterByMethod.containsKey(method) || setterByMethod.containsKey(method)) { - continue; - } - String methodName = method.getName(); - List methodList = overloadedMethods.get(methodName); - if (methodList == null) { - methodList = new LinkedList(); - overloadedMethods.put(methodName, methodList); - } - methodList.add(method); - } - - // index the methods by lower case name... used to determine which methods differ only by case - Map> caseCollisionMethods = new HashMap>(methods.length); - for (int i = 0; i < methods.length; i++) { - Method method = methods[i]; - if (getterByMethod.containsKey(method) || setterByMethod.containsKey(method)) { - continue; - } - String lowerCaseMethodName = method.getName().toLowerCase(); - Set methodSet = caseCollisionMethods.get(lowerCaseMethodName); - if (methodSet == null) { - methodSet = new HashSet(); - caseCollisionMethods.put(lowerCaseMethodName, methodSet); - } - methodSet.add(method.getName()); - } - - String className = getClassName(intfClass); - Map iiopMap = new HashMap(methods.length); - for (int i = 0; i < methods.length; i++) { - Method method = methods[i]; - - String iiopName = (String) getterByMethod.get(method); - if (iiopName != null) { - // if we have a leading underscore prepend with J - if (iiopName.charAt(0) == '_') { - iiopName = "J_get_" + iiopName.substring(1); - } else { - iiopName = "_get_" + iiopName; - } - } else { - iiopName = (String) setterByMethod.get(method); - if (iiopName != null) { - // if we have a leading underscore prepend with J - if (iiopName.charAt(0) == '_') { - iiopName = "J_set_" + iiopName.substring(1); - } else { - iiopName = "_set_" + iiopName; - } - } else { - iiopName = method.getName(); - - // if we have a leading underscore prepend with J - if (iiopName.charAt(0) == '_') { - iiopName = "J" + iiopName; - } - } - } - - // if this name only differs by case add the case index to the end - Set caseCollisions = caseCollisionMethods.get(method.getName().toLowerCase()); - if (caseCollisions != null && caseCollisions.size() > 1) { - iiopName += upperCaseIndexString(iiopName); - } - - // if this is an overloaded method append the parameter string - List overloads = overloadedMethods.get(method.getName()); - if (overloads != null && overloads.size() > 1) { - iiopName += buildOverloadParameterString(method.getParameterTypes()); - } - - // if we have a leading underscore prepend with J - iiopName = replace(iiopName, '$', "U0024"); - - // if we have matched a keyword prepend with an underscore - if (keywords.contains(iiopName.toLowerCase())) { - iiopName = "_" + iiopName; - } - - // if the name is the same as the class name, append an underscore - if (iiopName.equalsIgnoreCase(className)) { - iiopName += "_"; - } - - if (operationToMethod) { - iiopMap.put(iiopName, method); - } else { - iiopMap.put(method, iiopName); - } - } - - return iiopMap; - } - - private static Method[] getAllMethods(Class intfClass) { - List methods = new LinkedList(); - for (Iterator> iterator = getAllInterfaces(intfClass).iterator(); iterator.hasNext();) { - Class intf = iterator.next(); - methods.addAll(Arrays.asList(intf.getDeclaredMethods())); - } - - return (Method[]) methods.toArray(new Method[methods.size()]); - } - - /** - * Return the a string containing an underscore '_' index of each uppercase - * character in the IIOP name. This is used for distinction of names that - * only differ by case, since CORBA does not support case sensitive names. - */ - private static String upperCaseIndexString(String iiopName) { - StringBuffer stringBuffer = new StringBuffer(); - for (int i = 0; i < iiopName.length(); i++) { - char c = iiopName.charAt(i); - if (Character.isUpperCase(c)) { - stringBuffer.append('_').append(i); - } - } - return stringBuffer.toString(); - } - - /** - * Replaces any occurances of the specified "oldChar" with the new string. - * This is used to replace occurances if '$' in CORBA names since '$' is a - * special character - */ - private static String replace(String source, char oldChar, String newString) { - StringBuffer stringBuffer = new StringBuffer(source.length()); - for (int i = 0; i < source.length(); i++) { - char c = source.charAt(i); - if (c == oldChar) { - stringBuffer.append(newString); - } else { - stringBuffer.append(c); - } - } - return stringBuffer.toString(); - } - - /** - * Return the a string containing a double underscore '__' list of parameter - * types encoded using the Java to IDL rules. This is used for distinction - * of methods that only differ by parameter lists. - */ - private static String buildOverloadParameterString(Class[] parameterTypes) { - String name = ""; - if (parameterTypes.length == 0) { - name += "__"; - } else { - for (int i = 0; i < parameterTypes.length; i++) { - Class parameterType = parameterTypes[i]; - name += buildOverloadParameterString(parameterType); - } - } - return name.replace('.', '_'); - } - - /** - * Returns a single parameter type encoded using the Java to IDL rules. - */ - private static String buildOverloadParameterString(Class parameterType) { - String name = "_"; - - int arrayDimensions = 0; - while (parameterType.isArray()) { - arrayDimensions++; - parameterType = parameterType.getComponentType(); - } - - // arrays start with org_omg_boxedRMI_ - if (arrayDimensions > 0) { - name += "_org_omg_boxedRMI"; - } - - // IDLEntity types must be prefixed with org_omg_boxedIDL_ - if (IDLEntity.class.isAssignableFrom(parameterType)) { - name += "_org_omg_boxedIDL"; - } - - // add package... some types have special mappings in corba - String packageName = (String)specialTypePackages.get(parameterType.getName()); - if (packageName == null) { - packageName = getPackageName(parameterType.getName()); - } - if (packageName.length() > 0) { - name += "_" + packageName; - } - - // arrays now contain a dimension indicator - if (arrayDimensions > 0) { - name += "_" + "seq" + arrayDimensions; - } - - // add the class name - String className = (String)specialTypeNames.get(parameterType.getName()); - if (className == null) { - className = buildClassName(parameterType); - } - name += "_" + className; - - return name; - } - - /** - * Returns a string containing an encoded class name. - */ - private static String buildClassName(Class type) { - if (type.isArray()) { - throw new IllegalArgumentException("type is an array: " + type); - } - - // get the classname - String typeName = type.getName(); - int endIndex = typeName.lastIndexOf('.'); - if (endIndex < 0) { - return typeName; - } - StringBuffer className = new StringBuffer(typeName.substring(endIndex + 1)); - - // for innerclasses replace the $ separator with two underscores - // we can't just blindly replace all $ characters since class names can - // contain the $ character - if (type.getDeclaringClass() != null) { - String declaringClassName = getClassName(type.getDeclaringClass()); - assert className.toString().startsWith(declaringClassName + "$"); - className.replace(declaringClassName.length(), declaringClassName.length() + 1, "__"); - } - - // if we have a leading underscore prepend with J - if (className.charAt(0) == '_') { - className.insert(0, "J"); - } - return className.toString(); - } - - private static String getClassName(Class type) { - if (type.isArray()) { - throw new IllegalArgumentException("type is an array: " + type); - } - - // get the classname - String typeName = type.getName(); - int endIndex = typeName.lastIndexOf('.'); - if (endIndex < 0) { - return typeName; - } - return typeName.substring(endIndex + 1); - } - - private static String getPackageName(String interfaceName) { - int endIndex = interfaceName.lastIndexOf('.'); - if (endIndex < 0) { - return ""; - } - return interfaceName.substring(0, endIndex); - } - - private static final Map specialTypeNames; - private static final Map specialTypePackages; - private static final Set keywords; - - static { - specialTypeNames = new HashMap(); - specialTypeNames.put("boolean", "boolean"); - specialTypeNames.put("char", "wchar"); - specialTypeNames.put("byte", "octet"); - specialTypeNames.put("short", "short"); - specialTypeNames.put("int", "long"); - specialTypeNames.put("long", "long_long"); - specialTypeNames.put("float", "float"); - specialTypeNames.put("double", "double"); - specialTypeNames.put("java.lang.Class", "ClassDesc"); - specialTypeNames.put("java.lang.String", "WStringValue"); - specialTypeNames.put("org.omg.CORBA.Object", "Object"); - - specialTypePackages = new HashMap(); - specialTypePackages.put("boolean", ""); - specialTypePackages.put("char", ""); - specialTypePackages.put("byte", ""); - specialTypePackages.put("short", ""); - specialTypePackages.put("int", ""); - specialTypePackages.put("long", ""); - specialTypePackages.put("float", ""); - specialTypePackages.put("double", ""); - specialTypePackages.put("java.lang.Class", "javax.rmi.CORBA"); - specialTypePackages.put("java.lang.String", "CORBA"); - specialTypePackages.put("org.omg.CORBA.Object", ""); - - keywords = new HashSet(); - keywords.add("abstract"); - keywords.add("any"); - keywords.add("attribute"); - keywords.add("boolean"); - keywords.add("case"); - keywords.add("char"); - keywords.add("const"); - keywords.add("context"); - keywords.add("custom"); - keywords.add("default"); - keywords.add("double"); - keywords.add("enum"); - keywords.add("exception"); - keywords.add("factory"); - keywords.add("false"); - keywords.add("fixed"); - keywords.add("float"); - keywords.add("in"); - keywords.add("inout"); - keywords.add("interface"); - keywords.add("long"); - keywords.add("module"); - keywords.add("native"); - keywords.add("object"); - keywords.add("octet"); - keywords.add("oneway"); - keywords.add("out"); - keywords.add("private"); - keywords.add("public"); - keywords.add("raises"); - keywords.add("readonly"); - keywords.add("sequence"); - keywords.add("short"); - keywords.add("string"); - keywords.add("struct"); - keywords.add("supports"); - keywords.add("switch"); - keywords.add("true"); - keywords.add("truncatable"); - keywords.add("typedef"); - keywords.add("union"); - keywords.add("unsigned"); - keywords.add("valuebase"); - keywords.add("valuetype"); - keywords.add("void"); - keywords.add("wchar"); - keywords.add("wstring"); - } - - @SuppressWarnings("unchecked") - public static Map mapOperationToMethod(List operations, Class forClass) { - return (Map)createMethod2OperationMapping(operations, forClass, false); - } - - @SuppressWarnings("unchecked") - public static Map mapMethodToOperation(List operations, Class forClass) { - return (Map)createMethod2OperationMapping(operations, forClass, true); - } - - /** - * Maps Java methods to Tuscany operations - */ - @SuppressWarnings("unchecked") - private static Map createMethod2OperationMapping(List operations, Class forClass, boolean method2operation) { - // for every operation find all methods with the same name, then - // compare operations and methods parameters - Map mapping = new HashMap(); - for (Operation operation : operations) { - List inputTypes = operation.getInputType().getLogical(); - Method[] methods = forClass.getMethods(); - for (int i = 0; i < methods.length; i++) { - if (methods[i].getName().equals(operation.getName()) && inputTypes.size() == methods[i] - .getParameterTypes().length) { - Class[] parameterTypes = methods[i].getParameterTypes(); - int j = 0; - boolean parameterMatch = true; - for (DataType dataType : inputTypes) { - if (!dataType.getPhysical().equals(parameterTypes[j])) { - parameterMatch = false; - break; - } - j++; - } - if (parameterMatch) { - // match found - if (method2operation) { - mapping.put(methods[i], operation); - } else { - mapping.put(operation, methods[i]); - } - break; - } - } - } - } - return mapping; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/meta/CorbaArray.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/meta/CorbaArray.java deleted file mode 100644 index 24661323be..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/meta/CorbaArray.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.binding.corba.meta; - -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; - -/** - * @version $Rev$ $Date$ - * Declares CORBA arrays lengths - */ -@Retention(RetentionPolicy.RUNTIME) -public @interface CorbaArray { - - int[] value(); - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/meta/CorbaUnionElement.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/meta/CorbaUnionElement.java deleted file mode 100644 index 101bda1ba2..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/meta/CorbaUnionElement.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.corba.meta; - -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; - -/** - * @version $Rev$ $Date$ Declares CORBA union object - */ -@Retention(RetentionPolicy.RUNTIME) -public @interface CorbaUnionElement { - - // number of option in switch clause - int optionNumber() default -1; - - // type of element - CorbaUnionElementType type(); - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/meta/CorbaUnionElementType.java b/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/meta/CorbaUnionElementType.java deleted file mode 100644 index 3a46fc2b5f..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/main/java/org/apache/tuscany/sca/binding/corba/meta/CorbaUnionElementType.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.binding.corba.meta; - -/** - * @version $Rev$ $Date$ - * Types for union element - */ -public enum CorbaUnionElementType { - discriminator, defaultOption, option; -} \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/java/sca/contrib/modules/binding-corba-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory deleted file mode 100644 index 394e7bbd05..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/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.corba.impl.CorbaBindingProviderFactory;model=org.apache.tuscany.sca.binding.corba.CorbaBinding diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/CorbaServantTestCase.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/CorbaServantTestCase.java deleted file mode 100644 index 7fc58c9b96..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/CorbaServantTestCase.java +++ /dev/null @@ -1,564 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing; - -import static junit.framework.Assert.fail; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -import java.lang.reflect.Array; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.binding.corba.impl.exceptions.CorbaException; -import org.apache.tuscany.sca.binding.corba.impl.exceptions.RequestConfigurationException; -import org.apache.tuscany.sca.binding.corba.impl.reference.DynaCorbaRequest; -import org.apache.tuscany.sca.binding.corba.impl.reference.DynaCorbaResponse; -import org.apache.tuscany.sca.binding.corba.impl.service.ComponentInvocationProxy; -import org.apache.tuscany.sca.binding.corba.impl.service.DynaCorbaServant; -import org.apache.tuscany.sca.binding.corba.impl.service.InvocationProxy; -import org.apache.tuscany.sca.binding.corba.impl.types.util.Utils; -import org.apache.tuscany.sca.binding.corba.testing.arrays_unions.ArraysUnionsTests; -import org.apache.tuscany.sca.binding.corba.testing.arrays_unions.ArraysUnionsTestsHelper; -import org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStruct; -import org.apache.tuscany.sca.binding.corba.testing.enums.Color; -import org.apache.tuscany.sca.binding.corba.testing.enums.EnumManager; -import org.apache.tuscany.sca.binding.corba.testing.enums.EnumManagerHelper; -import org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc; -import org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcHelper; -import org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero; -import org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported; -import org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter; -import org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetterHelper; -import org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter; -import org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetterHelper; -import org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct; -import org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct; -import org.apache.tuscany.sca.binding.corba.testing.generated.TestObject; -import org.apache.tuscany.sca.binding.corba.testing.generated.TestObjectHelper; -import org.apache.tuscany.sca.binding.corba.testing.hierarchy.NonCorbaException; -import org.apache.tuscany.sca.binding.corba.testing.servants.ArraysSetterServant; -import org.apache.tuscany.sca.binding.corba.testing.servants.ArraysUnionsTuscanyServant; -import org.apache.tuscany.sca.binding.corba.testing.servants.CalcServant; -import org.apache.tuscany.sca.binding.corba.testing.servants.EnumManagerServant; -import org.apache.tuscany.sca.binding.corba.testing.servants.InvalidTestObjectServant; -import org.apache.tuscany.sca.binding.corba.testing.servants.InvalidTypesServant; -import org.apache.tuscany.sca.binding.corba.testing.servants.NonCorbaServant; -import org.apache.tuscany.sca.binding.corba.testing.servants.PrimitivesSetterServant; -import org.apache.tuscany.sca.binding.corba.testing.servants.TestObjectServant; -import org.apache.tuscany.sca.binding.corba.testing.service.mocks.TestRuntimeComponentService; -import org.apache.tuscany.sca.host.corba.naming.TransientNameServer; -import org.apache.tuscany.sca.host.corba.naming.TransientNameService; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import org.omg.CORBA.BAD_OPERATION; -import org.omg.CORBA.ORB; -import org.omg.CORBA.Object; -import org.omg.CosNaming.NameComponent; -import org.omg.CosNaming.NamingContext; -import org.omg.CosNaming.NamingContextHelper; - -/** - * @version $Rev$ $Date$ - * Tests API for dynamic CORBA servants - */ -public class CorbaServantTestCase { - - private static ORB orb; - private static TransientNameServer server; - - @BeforeClass - public static void start() { - try { - server = - new TransientNameServer(TestConstants.TEST2_HOST, TestConstants.TEST2_PORT, - TransientNameService.DEFAULT_SERVICE_NAME); - Thread t = server.start(); - if (t == null) { - Assert.fail("The naming server cannot be started"); - } - orb = server.getORB(); - } catch (Throwable e) { - e.printStackTrace(); - Assert.fail(e.getMessage()); - } - } - - @AfterClass - public static void stop() { - server.stop(); - } - - /** - * Binds servant implementation to name - */ - private void bindServant(DynaCorbaServant servant, String name) { - try { - Object nameService = orb.resolve_initial_references("NameService"); - NamingContext namingContext = NamingContextHelper.narrow(nameService); - - NameComponent nc = new NameComponent(name, ""); - NameComponent[] path = new NameComponent[] {nc}; - namingContext.rebind(path, servant); - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * Returns object reference which is binded to given name - * - * @param name - * @return - */ - private org.omg.CORBA.Object bindReference(String name) { - try { - org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService"); - NamingContext ncRef = NamingContextHelper.narrow(objRef); - NameComponent nc = new NameComponent(name, ""); - NameComponent path[] = {nc}; - return ncRef.resolve(path); - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } - - /** - * Tests primitives (arguments, return types) - */ - @Test - public void test_primitivesSetter() { - try { - PrimitivesSetter primitivesSetter = new PrimitivesSetterServant(); - TestRuntimeComponentService service = new TestRuntimeComponentService(primitivesSetter); - Class javaClass = ((JavaInterface)service.getInterfaceContract().getInterface()).getJavaClass(); - InvocationProxy proxy = new ComponentInvocationProxy(service, service.getRuntimeWire(null), javaClass); - DynaCorbaServant servant = new DynaCorbaServant(proxy, Utils.getTypeId(javaClass)); - String[] ids = - new String[] {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter:1.0"}; - servant.setIds(ids); - bindServant(servant, "PrimitivesSetter"); - PrimitivesSetter psClient = PrimitivesSetterHelper.narrow(bindReference("PrimitivesSetter")); - assertTrue(psClient.setBoolean(true) == true); - assertTrue(psClient.setChar('A') == 'A'); - assertTrue(psClient.setString("SomeTest").equals("SomeTest")); - assertTrue(psClient.setDouble(2d) == 2d); - assertTrue(psClient.setFloat(3f) == 3f); - assertTrue(psClient.setLong(1) == 1); - assertTrue(psClient.setLongLong(0L) == 0L); - assertTrue(psClient.setOctet((byte)8) == (byte)8); - assertTrue(psClient.setShort((short)6) == (short)6); - assertTrue(psClient.setUnsignedLong(9) == 9); - assertTrue(psClient.setUnsignedLongLong(11L) == 11L); - assertTrue(psClient.setUnsignedShort((short)15) == (short)15); - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - } - - /** - * Tests if array values are equal - */ - private boolean areArraysEqual(java.lang.Object arr1, java.lang.Object arr2, int arrLen) { - try { - for (int i = 0; i < arrLen; i++) { - if (!Array.get(arr1, i).equals(Array.get(arr2, i))) { - return false; - } - } - return true; - } catch (Exception e) { - e.printStackTrace(); - } - return false; - } - - /** - * Tests arrays (arguments, return types) - */ - @Test - public void test_arraysSetter() { - try { - ArraysSetter arraysSetter = new ArraysSetterServant(); - TestRuntimeComponentService service = new TestRuntimeComponentService(arraysSetter); - Class javaClass = ((JavaInterface)service.getInterfaceContract().getInterface()).getJavaClass(); - InvocationProxy proxy = new ComponentInvocationProxy(service, service.getRuntimeWire(null), javaClass); - DynaCorbaServant servant = new DynaCorbaServant(proxy, Utils.getTypeId(javaClass)); - String[] ids = new String[] {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter:1.0"}; - servant.setIds(ids); - java.lang.Object result = null; - bindServant(servant, "ArraysSetter"); - ArraysSetter asClient = ArraysSetterHelper.narrow(bindReference("ArraysSetter")); - - boolean[] bArr = new boolean[] {true, false}; - result = (java.lang.Object)asClient.setBoolean(bArr); - assertTrue(areArraysEqual(bArr, result, bArr.length)); - - byte[] byArr = new byte[] {1, 2}; - result = (java.lang.Object)asClient.setOctet(byArr); - assertTrue(areArraysEqual(byArr, result, byArr.length)); - - short[] shArr = new short[] {1, 2}; - result = (java.lang.Object)asClient.setShort(shArr); - assertTrue(areArraysEqual(shArr, result, shArr.length)); - - int[] iArr = new int[] {1, 2}; - result = (java.lang.Object)asClient.setLong(iArr); - assertTrue(areArraysEqual(iArr, result, iArr.length)); - - long[] lArr = new long[] {1, 2}; - result = (java.lang.Object)asClient.setLongLong(lArr); - assertTrue(areArraysEqual(lArr, result, lArr.length)); - - String[] strArr = new String[] {"Some", "Test"}; - result = (java.lang.Object)asClient.setString(strArr); - assertTrue(areArraysEqual(strArr, result, strArr.length)); - - char[] chArr = new char[] {'A', 'B'}; - result = (java.lang.Object)asClient.setChar(chArr); - assertTrue(areArraysEqual(chArr, result, chArr.length)); - - float[] flArr = new float[] {1, 2}; - result = (java.lang.Object)asClient.setFloat(flArr); - assertTrue(areArraysEqual(flArr, result, flArr.length)); - - double[] dbArr = new double[] {1, 2}; - result = (java.lang.Object)asClient.setDouble(dbArr); - assertTrue(areArraysEqual(dbArr, result, dbArr.length)); - - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - } - - /** - * Tests structures (arguments, return types) - */ - @Test - public void test_TestObject_setStruct() { - try { - TestObject to = new TestObjectServant(); - TestRuntimeComponentService service = new TestRuntimeComponentService(to); - Class javaClass = ((JavaInterface)service.getInterfaceContract().getInterface()).getJavaClass(); - InvocationProxy proxy = new ComponentInvocationProxy(service, service.getRuntimeWire(null), javaClass); - DynaCorbaServant servant = new DynaCorbaServant(proxy, Utils.getTypeId(javaClass)); - String[] ids = new String[] {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/TestObject:1.0"}; - servant.setIds(ids); - bindServant(servant, "TestObject"); - TestObject testObject = TestObjectHelper.narrow(bindReference("TestObject")); - SomeStruct ss = new SomeStruct(); - SimpleStruct inner = new SimpleStruct(); - inner.field1 = TestConstants.STR_1; - inner.field2 = TestConstants.INT_1; - ss.innerStruct = inner; - ss.str = TestConstants.STR_2; - ss.str_list = TestConstants.STR_ARR_1; - ss.threeDimSeq = TestConstants.INT_ARRAY_3_DIM; - ss.twoDimSeq = TestConstants.INT_ARRAY_2_DIM; - SomeStruct result = testObject.setStruct(ss); - assertTrue(TestConstants.are2DimArraysEqual(result.twoDimSeq, TestConstants.INT_ARRAY_2_DIM)); - assertTrue(TestConstants.are3DimArraysEqual(result.threeDimSeq, TestConstants.INT_ARRAY_3_DIM)); - assertTrue(result.str.equals(ss.str)); - assertTrue(result.innerStruct.field1.equals(ss.innerStruct.field1)); - assertTrue(result.innerStruct.field2 == ss.innerStruct.field2); - assertTrue(areArraysEqual(result.str_list, ss.str_list, ss.str_list.length)); - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - } - - /** - * Tests handling BAD_OPERATION system exception - */ - @Test - public void test_systemException_BAD_OPERATION() { - try { - TestObjectServant tos = new TestObjectServant(); - TestRuntimeComponentService service = new TestRuntimeComponentService(tos); - Class javaClass = ((JavaInterface)service.getInterfaceContract().getInterface()).getJavaClass(); - InvocationProxy proxy = new ComponentInvocationProxy(service, service.getRuntimeWire(null), javaClass); - DynaCorbaServant servant = new DynaCorbaServant(proxy, Utils.getTypeId(javaClass)); - String[] ids = new String[] {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/TestObject:1.0"}; - servant.setIds(ids); - bindServant(servant, "TestObject"); - DynaCorbaRequest request = - new DynaCorbaRequest(bindReference("TestObject"), "methodThatSurelyDoesNotExist"); - request.invoke(); - fail(); - } catch (Exception e) { - if (e instanceof CorbaException) { - assertTrue(true); - } else { - e.printStackTrace(); - } - } - - try { - InvalidTestObjectServant tos = new InvalidTestObjectServant(); - TestRuntimeComponentService service = new TestRuntimeComponentService(tos); - Class javaClass = ((JavaInterface)service.getInterfaceContract().getInterface()).getJavaClass(); - InvocationProxy proxy = new ComponentInvocationProxy(service, service.getRuntimeWire(null), javaClass); - DynaCorbaServant servant = new DynaCorbaServant(proxy, Utils.getTypeId(javaClass)); - String[] ids = new String[] {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/TestObject:1.0"}; - servant.setIds(ids); - bindServant(servant, "InvalidTestObject"); - TestObject to = TestObjectHelper.narrow(bindReference("InvalidTestObject")); - SomeStruct str = new SomeStruct(); - str.innerStruct = new SimpleStruct(); - str.innerStruct.field1 = "Whatever"; - str.str = "Whatever"; - str.str_list = new String[] {}; - str.threeDimSeq = new int[][][] {}; - str.twoDimSeq = new int[][] {}; - to.setStruct(str); - } catch (Exception e) { - if (e instanceof BAD_OPERATION) { - assertTrue(true); - } else { - e.printStackTrace(); - } - } - } - - /** - * Tests handling user exceptions - */ - @Test - public void test_userExceptions() { - try { - CalcServant calc = new CalcServant(); - TestRuntimeComponentService service = new TestRuntimeComponentService(calc); - Class javaClass = ((JavaInterface)service.getInterfaceContract().getInterface()).getJavaClass(); - InvocationProxy proxy = new ComponentInvocationProxy(service, service.getRuntimeWire(null), javaClass); - DynaCorbaServant servant = new DynaCorbaServant(proxy, Utils.getTypeId(javaClass)); - String[] ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc:1.0"}; - servant.setIds(ids); - bindServant(servant, "Calc"); - Calc calcClient = CalcHelper.narrow(bindReference("Calc")); - calcClient.div(1, 0); - fail(); - } catch (Exception e) { - if (e instanceof DivByZero) { - assertTrue(true); - } else { - e.printStackTrace(); - fail(); - } - } - - try { - CalcServant calc = new CalcServant(); - TestRuntimeComponentService service = new TestRuntimeComponentService(calc); - Class javaClass = ((JavaInterface)service.getInterfaceContract().getInterface()).getJavaClass(); - InvocationProxy proxy = new ComponentInvocationProxy(service, service.getRuntimeWire(null), javaClass); - DynaCorbaServant servant = new DynaCorbaServant(proxy, Utils.getTypeId(javaClass)); - String[] ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc:1.0"}; - servant.setIds(ids); - bindServant(servant, "Calc"); - Calc calcClient = CalcHelper.narrow(bindReference("Calc")); - calcClient.divForSmallArgs(255, 255); - fail(); - } catch (Exception e) { - if (e instanceof NotSupported) { - assertTrue(true); - } else { - e.printStackTrace(); - fail(); - } - } - } - - /** - * Tests enums (arguments, return types) - */ - @Test - public void test_enums() { - try { - EnumManagerServant ems = new EnumManagerServant(); - TestRuntimeComponentService service = new TestRuntimeComponentService(ems); - Class javaClass = ((JavaInterface)service.getInterfaceContract().getInterface()).getJavaClass(); - InvocationProxy proxy = new ComponentInvocationProxy(service, service.getRuntimeWire(null), javaClass); - DynaCorbaServant servant = new DynaCorbaServant(proxy, Utils.getTypeId(javaClass)); - String[] ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/enums/EnumManager:1.0"}; - servant.setIds(ids); - bindServant(servant, "Enum"); - EnumManager em = EnumManagerHelper.narrow(bindReference("Enum")); - Color color = Color.red; - assertTrue(em.getColor(color).value() == color.value()); - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - } - - @Test - public void test_nonCorbaServants() { - try { - NonCorbaServant ncs = new NonCorbaServant(); - TestRuntimeComponentService service = new TestRuntimeComponentService(ncs); - Class javaClass = ((JavaInterface)service.getInterfaceContract().getInterface()).getJavaClass(); - InvocationProxy proxy = new ComponentInvocationProxy(service, service.getRuntimeWire(null), javaClass); - DynaCorbaServant servant = new DynaCorbaServant(proxy, Utils.getTypeId(javaClass)); - bindServant(servant, "NonCorbaServant"); - // it's non corba servant so we don't have stubs to test them - DynaCorbaRequest request = new DynaCorbaRequest(bindReference("NonCorbaServant"), "setString"); - request.addArgument(TestConstants.STR_1); - request.setOutputType(String.class); - DynaCorbaResponse response = request.invoke(); - assertTrue(response.getContent().equals(TestConstants.STR_1)); - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - - try { - NonCorbaServant ncs = new NonCorbaServant(); - TestRuntimeComponentService service = new TestRuntimeComponentService(ncs); - Class javaClass = ((JavaInterface)service.getInterfaceContract().getInterface()).getJavaClass(); - InvocationProxy proxy = new ComponentInvocationProxy(service, service.getRuntimeWire(null), javaClass); - DynaCorbaServant servant = new DynaCorbaServant(proxy, Utils.getTypeId(javaClass)); - bindServant(servant, "NonCorbaServant"); - // it's non corba servant so we don't have stubs to test them - DynaCorbaRequest request = new DynaCorbaRequest(bindReference("NonCorbaServant"), "throwException"); - request.addExceptionType(NonCorbaException.class); - request.invoke(); - fail(); - } catch (Exception e) { - if (e instanceof NonCorbaException) { - assertTrue(true); - } else { - e.printStackTrace(); - fail(); - } - } - } - - /** - * Tests handling BAD_PARAM system exception - */ - @Test - public void test_systemException_BAD_PARAM() { - try { - CalcServant calc = new CalcServant(); - TestRuntimeComponentService service = new TestRuntimeComponentService(calc); - Class javaClass = ((JavaInterface)service.getInterfaceContract().getInterface()).getJavaClass(); - InvocationProxy proxy = new ComponentInvocationProxy(service, service.getRuntimeWire(null), javaClass); - DynaCorbaServant servant = new DynaCorbaServant(proxy, Utils.getTypeId(javaClass)); - String[] ids = new String[] {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/TestObject:1.0"}; - servant.setIds(ids); - bindServant(servant, "Calc"); - DynaCorbaRequest request = new DynaCorbaRequest(bindReference("Calc"), "div"); - request.addArgument(2d); - request.setOutputType(double.class); - request.invoke(); - fail(); - } catch (Exception e) { - if (e instanceof CorbaException) { - assertTrue(true); - } else { - e.printStackTrace(); - fail(); - } - } - } - - /** - * Tests handling BAD_PARAM system exception - */ - @Test - public void test_invalidServantConfiguraion() { - try { - InvalidTypesServant its = new InvalidTypesServant(); - TestRuntimeComponentService service = new TestRuntimeComponentService(its); - //expecting exception... - Class javaClass = ((JavaInterface)service.getInterfaceContract().getInterface()).getJavaClass(); - InvocationProxy proxy = new ComponentInvocationProxy(service, service.getRuntimeWire(null), javaClass); - new DynaCorbaServant(proxy, Utils.getTypeId(javaClass)); - fail(); - } catch (Exception e) { - if (e instanceof RequestConfigurationException) { - assertTrue(true); - } else { - e.printStackTrace(); - fail(); - } - } - } - - /** - * Tests serving CORBA arrays by Tuscany CORBA servants - */ - @Test - public void test_arraysPassing() { - try { - ArraysUnionsTuscanyServant arraysUnions = new ArraysUnionsTuscanyServant(); - TestRuntimeComponentService service = new TestRuntimeComponentService(arraysUnions); - Class javaClass = ((JavaInterface)service.getInterfaceContract().getInterface()).getJavaClass(); - InvocationProxy proxy = new ComponentInvocationProxy(service, service.getRuntimeWire(null), javaClass); - DynaCorbaServant servant = new DynaCorbaServant(proxy, Utils.getTypeId(javaClass)); - String[] ids = new String[] {"IDL:org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTests:1.0"}; - servant.setIds(ids); - bindServant(servant, "ArraysUnions"); - Object reference = bindReference("ArraysUnions"); - ArraysUnionsTests objRef = ArraysUnionsTestsHelper.narrow(reference); - String[][] stringArray = {{"Hello", "World"}, {"Hi", "Again"}}; - String[][] result = objRef.passStringArray(stringArray); - for (int i = 0; i < stringArray.length; i++) { - for (int j = 0; j < stringArray[i].length; j++) { - assertEquals(stringArray[i][j], result[i][j]); - } - } - TestStruct struct = new TestStruct(); - String[] field1 = {"Hello", "World"}; - int[][] field2 = { {4, 2, 2, 5}, {6, 12, 5, 8}}; - float[][][] field3 = { { {2, 6}, {2, 7}, {9, 3}, {4, 6}}, { {3, 7}, {6, 6}, {3, 5}, {6, 2}}}; - struct.oneDimArray = field1; - struct.twoDimArray = field2; - struct.threeDimArray = field3; - - TestStruct structResult = objRef.passTestStruct(struct); - for (int i = 0; i < struct.oneDimArray.length; i++) { - assertEquals(struct.oneDimArray[i], structResult.oneDimArray[i]); - } - for (int i = 0; i < struct.twoDimArray.length; i++) { - for (int j = 0; j < struct.twoDimArray[i].length; j++) { - assertEquals(struct.twoDimArray[i][j], structResult.twoDimArray[i][j]); - } - } - for (int i = 0; i < struct.threeDimArray.length; i++) { - for (int j = 0; j < struct.threeDimArray[i].length; j++) { - for (int k = 0; k < struct.threeDimArray[i][j].length; k++) { - assertEquals(struct.threeDimArray[i][j][k], structResult.threeDimArray[i][j][k], 0.0); - } - } - } - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/CorbaTypesTestCase.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/CorbaTypesTestCase.java deleted file mode 100644 index 6521255d3b..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/CorbaTypesTestCase.java +++ /dev/null @@ -1,841 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotSame; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import java.lang.annotation.Annotation; -import java.lang.reflect.Array; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.binding.corba.impl.exceptions.CorbaException; -import org.apache.tuscany.sca.binding.corba.impl.exceptions.RequestConfigurationException; -import org.apache.tuscany.sca.binding.corba.impl.reference.DynaCorbaRequest; -import org.apache.tuscany.sca.binding.corba.impl.reference.DynaCorbaResponse; -import org.apache.tuscany.sca.binding.corba.testing.enums.Color; -import org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero; -import org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported; -import org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct; -import org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct; -import org.apache.tuscany.sca.binding.corba.testing.hierarchy.ArraysTestStruct; -import org.apache.tuscany.sca.binding.corba.testing.hierarchy.DummyObject; -import org.apache.tuscany.sca.binding.corba.testing.hierarchy.InnerUnion; -import org.apache.tuscany.sca.binding.corba.testing.hierarchy.InvalidCorbaArray; -import org.apache.tuscany.sca.binding.corba.testing.hierarchy.InvalidEnum1; -import org.apache.tuscany.sca.binding.corba.testing.hierarchy.InvalidEnum2; -import org.apache.tuscany.sca.binding.corba.testing.hierarchy.InvalidEnum3; -import org.apache.tuscany.sca.binding.corba.testing.hierarchy.InvalidStruct1; -import org.apache.tuscany.sca.binding.corba.testing.hierarchy.InvalidStruct2; -import org.apache.tuscany.sca.binding.corba.testing.hierarchy.InvalidStruct3; -import org.apache.tuscany.sca.binding.corba.testing.hierarchy.InvalidUnion1; -import org.apache.tuscany.sca.binding.corba.testing.hierarchy.InvalidUnion2; -import org.apache.tuscany.sca.binding.corba.testing.hierarchy.InvalidUnion3; -import org.apache.tuscany.sca.binding.corba.testing.hierarchy.InvalidUnion4; -import org.apache.tuscany.sca.binding.corba.testing.hierarchy.InvalidUnion5; -import org.apache.tuscany.sca.binding.corba.testing.hierarchy.RichUnion; -import org.apache.tuscany.sca.binding.corba.testing.servants.ArraysSetterServant; -import org.apache.tuscany.sca.binding.corba.testing.servants.ArraysUnionsServant; -import org.apache.tuscany.sca.binding.corba.testing.servants.ArraysUnionsTuscanyServant; -import org.apache.tuscany.sca.binding.corba.testing.servants.CalcServant; -import org.apache.tuscany.sca.binding.corba.testing.servants.EnumManagerServant; -import org.apache.tuscany.sca.binding.corba.testing.servants.ObjectManagerServant; -import org.apache.tuscany.sca.binding.corba.testing.servants.PrimitivesSetterServant; -import org.apache.tuscany.sca.binding.corba.testing.servants.TestObjectServant; -import org.apache.tuscany.sca.host.corba.naming.TransientNameServer; -import org.apache.tuscany.sca.host.corba.naming.TransientNameService; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Ignore; -import org.junit.Test; -import org.omg.CORBA.ORB; -import org.omg.CORBA.Object; -import org.omg.CosNaming.NameComponent; -import org.omg.CosNaming.NamingContext; -import org.omg.CosNaming.NamingContextExt; -import org.omg.CosNaming.NamingContextExtHelper; -import org.omg.CosNaming.NamingContextHelper; - -/** - * @version $Rev$ $Date$ - * Tests API for dynamic CORBA requests. Tests handling various Java - * types. - */ -public class CorbaTypesTestCase { - private static TransientNameServer server; - private static ORB orb; - - private static Object refPrimitivesSetter; - private static Object refArraysSetter; - private static Object refTestObject; - private static Object refCalcObject; - private static Object refObjectManager; - private static Object refEnumManager; - private static Object refArraysUnions; - - /** - * Spawns tnameserv process (must be in PATH). Initializes test servants and - * stores it's references so tests can use it. - */ - @BeforeClass - public static void setUp() { - try { - try { - server = - new TransientNameServer(TestConstants.TEST1_HOST, TestConstants.TEST1_PORT, - TransientNameService.DEFAULT_SERVICE_NAME); - Thread t = server.start(); - if (t == null) { - Assert.fail("The naming server cannot be started"); - } - orb = server.getORB(); - } catch (Throwable e) { - e.printStackTrace(); - Assert.fail(e.getMessage()); - } - - Object nameService = orb.resolve_initial_references("NameService"); - NamingContext namingContext = NamingContextHelper.narrow(nameService); - - PrimitivesSetterServant singleSetter = new PrimitivesSetterServant(); - ArraysSetterServant arraysSetter = new ArraysSetterServant(); - TestObjectServant complexObject = new TestObjectServant(); - CalcServant calcObject = new CalcServant(); - ObjectManagerServant objectManager = new ObjectManagerServant(); - EnumManagerServant enumManager = new EnumManagerServant(); - ArraysUnionsServant arraysUnions = new ArraysUnionsServant(); - - orb.connect(singleSetter); - orb.connect(arraysSetter); - - NameComponent nc; - NameComponent[] path; - - nc = new NameComponent("PrimitivesSetter", ""); - path = new NameComponent[] {nc}; - namingContext.rebind(path, singleSetter); - - nc = new NameComponent("ArraysSetter", ""); - path = new NameComponent[] {nc}; - namingContext.rebind(path, arraysSetter); - - nc = new NameComponent("TestObject", ""); - path = new NameComponent[] {nc}; - namingContext.rebind(path, complexObject); - - nc = new NameComponent("CalcObject", ""); - path = new NameComponent[] {nc}; - namingContext.rebind(path, calcObject); - - nc = new NameComponent("ObjectManager", ""); - path = new NameComponent[] {nc}; - namingContext.rebind(path, objectManager); - - nc = new NameComponent("EnumManager", ""); - path = new NameComponent[] {nc}; - namingContext.rebind(path, enumManager); - - nc = new NameComponent("ArraysUnions", ""); - path = new NameComponent[] {nc}; - namingContext.rebind(path, arraysUnions); - - NamingContextExt nce = NamingContextExtHelper.narrow(orb.resolve_initial_references("NameService")); - - refArraysSetter = nce.resolve(nce.to_name("ArraysSetter")); - refPrimitivesSetter = nce.resolve(nce.to_name("PrimitivesSetter")); - refTestObject = nce.resolve(nce.to_name("TestObject")); - refCalcObject = nce.resolve(nce.to_name("CalcObject")); - refObjectManager = nce.resolve(nce.to_name("ObjectManager")); - refEnumManager = nce.resolve(nce.to_name("EnumManager")); - refArraysUnions = nce.resolve(nce.to_name("ArraysUnions")); - - } catch (Exception e) { - e.printStackTrace(); - } - } - - @AfterClass - public static void stop() { - server.stop(); - } - - /** - * Tests remote operation, basing on given reference, operation name, - * arguments, expected return type and content - * - * @param ref remote object - * @param operationName operation to invoke - * @param clazz expected return type - * @param arguments array of operation arguments - * @param equalTo expected return content - */ - private void dynaTestInvoker(Object ref, - String operationName, - Class clazz, - java.lang.Object[] arguments, - java.lang.Object equalTo) { - - try { - DynaCorbaRequest request = new DynaCorbaRequest(ref, operationName); - request.setOutputType(clazz); - for (int i = 0; arguments != null && i < arguments.length; i++) { - request.addArgument(arguments[i]); - } - - DynaCorbaResponse response = request.invoke(); - java.lang.Object content = (java.lang.Object)response.getContent(); - assertTrue(content.getClass().equals(clazz)); - if (equalTo != null && equalTo.getClass().isArray()) { - for (int i = 0; i < Array.getLength(equalTo); i++) { - assertTrue(Array.get(content, i).equals(Array.get(equalTo, i))); - } - } else { - assertTrue(content.equals(equalTo)); - } - } catch (Exception e) { - e.printStackTrace(); - fail("Error while invoking " + operationName); - } - } - - /** - * Tests passing (and getting as result) varied primitives - */ - @Test - public void test_setPrimitives() { - - dynaTestInvoker(refPrimitivesSetter, "setBoolean", Boolean.class, new Boolean[] {true}, true); - dynaTestInvoker(refPrimitivesSetter, "setOctet", Byte.class, new Byte[] {1}, (byte)1); - dynaTestInvoker(refPrimitivesSetter, "setChar", Character.class, new Character[] {'A'}, 'A'); - dynaTestInvoker(refPrimitivesSetter, "setShort", Short.class, new Short[] {1}, (short)1); - dynaTestInvoker(refPrimitivesSetter, "setLong", Integer.class, new Integer[] {1}, (int)1); - dynaTestInvoker(refPrimitivesSetter, "setLongLong", Long.class, new Long[] {(long)1}, (long)1); - dynaTestInvoker(refPrimitivesSetter, "setFloat", Float.class, new Float[] {(float)1}, (float)1); - dynaTestInvoker(refPrimitivesSetter, "setDouble", Double.class, new Double[] {(double)1}, (double)1); - dynaTestInvoker(refPrimitivesSetter, "setString", String.class, new String[] {"1"}, "1"); - - } - - /** - * Tests passing (and getting as result) varied types sequences - */ - @Test - public void test_setArrays() { - - dynaTestInvoker(refArraysSetter, - "setBoolean", - Boolean[].class, - new Boolean[][] {new Boolean[] {false, true}}, - new Boolean[] {false, true}); - - dynaTestInvoker(refArraysSetter, - "setChar", - Character[].class, - new Character[][] {new Character[] {'A', 'B'}}, - new Character[] {'A', 'B'}); - - dynaTestInvoker(refArraysSetter, "setOctet", Byte[].class, new Byte[][] {new Byte[] {1, 2}}, new Byte[] {1, 2}); - - dynaTestInvoker(refArraysSetter, "setShort", Short[].class, new Short[][] {new Short[] {1, 2}}, new Short[] {1, - 2}); - - dynaTestInvoker(refArraysSetter, - "setLong", - Integer[].class, - new Integer[][] {new Integer[] {1, 2}}, - new Integer[] {1, 2}); - - dynaTestInvoker(refArraysSetter, - "setLongLong", - Long[].class, - new Long[][] {new Long[] {new Long(1), new Long(2)}}, - new Long[] {new Long(1), new Long(2)}); - - dynaTestInvoker(refArraysSetter, - "setFloat", - Float[].class, - new Float[][] {new Float[] {new Float(1.0), new Float(2.0)}}, - new Float[] {new Float(1.0), new Float(2.0)}); - - dynaTestInvoker(refArraysSetter, - "setDouble", - Double[].class, - new Double[][] {new Double[] {new Double(1.0), new Double(2.0)}}, - new Double[] {new Double(1.0), new Double(2.0)}); - - dynaTestInvoker(refArraysSetter, - "setString", - String[].class, - new String[][] {new String[] {"A", "B"}}, - new String[] {"A", "B"}); - - } - - /** - * Tests passing (and getting as result) complex structure - */ - @Test - public void test_TestObject_setStruct() { - DynaCorbaRequest request = new DynaCorbaRequest(refTestObject, "setStruct"); - - SomeStruct struct = new SomeStruct(); - SimpleStruct inner = new SimpleStruct(); - inner.field1 = TestConstants.STR_1; - inner.field2 = TestConstants.INT_1; - struct.innerStruct = inner; - struct.str_list = TestConstants.STR_ARR_2; - struct.twoDimSeq = TestConstants.INT_ARRAY_2_DIM; - struct.threeDimSeq = TestConstants.INT_ARRAY_3_DIM; - struct.str = TestConstants.STR_1; - - try { - request.addArgument(struct); - request.setOutputType(SomeStruct.class); - DynaCorbaResponse response = request.invoke(); - SomeStruct result = (SomeStruct)response.getContent(); - assertTrue(TestConstants.are2DimArraysEqual(result.twoDimSeq, TestConstants.INT_ARRAY_2_DIM)); - assertTrue(TestConstants.are3DimArraysEqual(result.threeDimSeq, TestConstants.INT_ARRAY_3_DIM)); - assertEquals(TestConstants.STR_1, result.str); - assertEquals(TestConstants.STR_ARR_2[0], result.str_list[0]); - assertEquals(TestConstants.STR_ARR_2[1], result.str_list[1]); - assertEquals(TestConstants.STR_1, result.innerStruct.field1); - assertEquals(TestConstants.INT_1, result.innerStruct.field2); - } catch (Exception e) { - e.printStackTrace(); - fail("Exception occured during tests: " + e); - } - } - - /** - * Test passing (and getting as result) simple two-field structure - */ - @Test - public void test_TestObject_setSimpleStruct() { - SimpleStruct struct = new SimpleStruct(); - struct.field1 = TestConstants.STR_1; - struct.field2 = TestConstants.INT_1; - DynaCorbaRequest request = new DynaCorbaRequest(refTestObject, "setSimpleStruct"); - try { - request.setOutputType(SimpleStruct.class); - request.addArgument(struct); - DynaCorbaResponse response = request.invoke(); - SimpleStruct retStruct = (SimpleStruct)response.getContent(); - assertTrue(retStruct.field1.equals(struct.field1) && retStruct.field2 == struct.field2); - } catch (Exception e) { - e.printStackTrace(); - fail("Exception occured during tests: " + e); - } - } - - /** - * Tests passing (and getting as result) two dim. sequence of long. - */ - @Test - public void test_TestObject_setLongSeq2() { - int[][] arr1 = new int[2][2]; - for (int i = 0; i < 2; i++) { - for (int j = 0; j < 2; j++) { - arr1[i][j] = (int)(Math.random() * 1000); - } - } - DynaCorbaRequest request = new DynaCorbaRequest(refTestObject, "setLongSeq2"); - try { - request.setOutputType(arr1.getClass()); - request.addArgument(arr1); - DynaCorbaResponse response = request.invoke(); - int[][] arr2 = (int[][])response.getContent(); - for (int i = 0; i < 2; i++) { - for (int j = 0; j < 2; j++) { - assertEquals(arr1[i][j], arr2[i][j]); - } - } - } catch (Exception e) { - e.printStackTrace(); - fail("Exception occured during tests: " + e); - } - } - - /** - * Tests passing multiple complex attributes. - */ - @Test - public void test_TestObject_pickStructFromArgs() { - SomeStruct arg1 = new SomeStruct(); - SomeStruct arg2 = new SomeStruct(); - SomeStruct arg3 = new SomeStruct(); - - SimpleStruct inner = new SimpleStruct(); - inner.field1 = TestConstants.STR_1; - inner.field2 = TestConstants.INT_1; - - arg1.innerStruct = inner; - arg2.innerStruct = inner; - arg3.innerStruct = inner; - - arg1.str = TestConstants.STR_1; - arg2.str = TestConstants.STR_2; - arg3.str = TestConstants.STR_3; - - arg1.str_list = TestConstants.STR_ARR_1; - arg2.str_list = TestConstants.STR_ARR_2; - arg3.str_list = TestConstants.STR_ARR_2; - - arg1.threeDimSeq = TestConstants.INT_ARRAY_3_DIM; - arg2.threeDimSeq = TestConstants.INT_ARRAY_3_DIM; - arg3.threeDimSeq = TestConstants.INT_ARRAY_3_DIM; - - arg1.twoDimSeq = TestConstants.INT_ARRAY_2_DIM; - arg2.twoDimSeq = TestConstants.INT_ARRAY_2_DIM; - arg3.twoDimSeq = TestConstants.INT_ARRAY_2_DIM; - - DynaCorbaRequest request = new DynaCorbaRequest(refTestObject, "pickStructFromArgs"); - try { - - request.setOutputType(SomeStruct.class); - request.addArgument(arg1); - request.addArgument(arg2); - request.addArgument(arg3); - request.addArgument(1); - DynaCorbaResponse response = request.invoke(); - SomeStruct result = (SomeStruct)response.getContent(); - - // just make sure that servant returned right structure - assertTrue(result.str.equals(TestConstants.STR_1)); - } catch (Exception e) { - fail("Exception occured during tests " + e); - e.printStackTrace(); - } - - } - - /** - * Tests handling user defined remote exception (single declared) - */ - @Test - public void test_singleException() { - DynaCorbaRequest request1 = new DynaCorbaRequest(refCalcObject, "div"); - try { - request1.addArgument(2d); - request1.addArgument(2d); - request1.setOutputType(Double.class); - request1.addExceptionType(DivByZero.class); - request1.invoke(); - } catch (Exception e) { - fail(); - } - - DynaCorbaRequest request2 = new DynaCorbaRequest(refCalcObject, "div"); - try { - request2.addArgument(2d); - request2.addArgument(0d); - request2.setOutputType(Double.class); - request2.addExceptionType(DivByZero.class); - request2.invoke(); - } catch (DivByZero e) { - assertTrue(e.info != null && e.arguments != null && e.arguments.arg1 == 2 && e.arguments.arg2 == 0); - } catch (Exception exc) { - exc.printStackTrace(); - fail(); - } - } - - /** - * Tests handling user defined multiple exceptions - */ - @Test - public void test_multipleExceptions() { - DynaCorbaRequest request = new DynaCorbaRequest(refCalcObject, "divForSmallArgs"); - try { - request.addArgument(101d); - request.addArgument(101d); - request.setOutputType(Double.class); - request.addExceptionType(DivByZero.class); - request.addExceptionType(NotSupported.class); - request.invoke(); - } catch (Exception e) { - assertTrue(e instanceof NotSupported); - } - } - - /** - * Tests handling exceptions while user defined no exceptions - */ - @Test - public void test_noExceptionsDeclared() { - DynaCorbaRequest request = new DynaCorbaRequest(refCalcObject, "div"); - try { - request.addArgument(1d); - request.addArgument(0d); - request.setOutputType(Double.class); - request.invoke(); - fail(); - } catch (Exception e) { - assertTrue(e instanceof RequestConfigurationException); - } - } - - /** - * Tests handling exceptions while user defined no such exception - */ - @Test - public void test_noSuchExceptionDeclared() { - DynaCorbaRequest request = new DynaCorbaRequest(refCalcObject, "div"); - try { - request.addArgument(1d); - request.addArgument(0d); - request.addExceptionType(NotSupported.class); - request.setOutputType(Double.class); - request.invoke(); - fail(); - } catch (Exception e) { - assertTrue(e instanceof RequestConfigurationException); - } - } - - /** - * Tests handling non existing operation situation - */ - @Test - public void test_systemException_BAD_OPERATION() { - DynaCorbaRequest request = new DynaCorbaRequest(refCalcObject, "thisOperationSurelyDoesNotExist"); - try { - request.invoke(); - fail(); - } catch (Exception e) { - assertTrue(e instanceof CorbaException); - } - } - - /** - * Tests obtaining references to other objects and using them with specified - * user interface - */ - @Test - @Ignore("Cause of tnameservice hang on stop") - public void test_enchancedReferences() { - DynaCorbaRequest request = null; - try { - request = new DynaCorbaRequest(refObjectManager, "getDummyObject"); - request.setOutputType(DummyObject.class); - DynaCorbaResponse response = request.invoke(); - DummyObject dummy = (DummyObject)response.getContent(); - DummyObject dummy2 = dummy.cloneObject(); - dummy2.cloneObject(); - assertNotSame(dummy.getLong(), dummy2.getLong()); - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - } - - /** - * Test passing enums as arguments and retrieving them as a result - */ - @Test - public void test_enums() { - try { - DynaCorbaRequest request = new DynaCorbaRequest(refEnumManager, "getColor"); - Color color = Color.green; - request.addArgument(color); - request.setOutputType(Color.class); - DynaCorbaResponse response = request.invoke(); - Color result = (Color)response.getContent(); - assertEquals(color.value(), result.value()); - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - } - - /** - * Tests recognizing structures - */ - @Test - public void test_structValidation() { - DynaCorbaRequest request = null; - try { - request = new DynaCorbaRequest(refArraysSetter, "whatever"); - request.setOutputType(InvalidStruct1.class); - fail(); - } catch (Exception e) { - assertTrue(e instanceof RequestConfigurationException); - } - - try { - request = new DynaCorbaRequest(refArraysSetter, "whatever"); - request.setOutputType(InvalidStruct2.class); - fail(); - } catch (Exception e) { - assertTrue(e instanceof RequestConfigurationException); - } - - try { - request = new DynaCorbaRequest(refArraysSetter, "whatever"); - request.setOutputType(InvalidStruct3.class); - fail(); - } catch (Exception e) { - assertTrue(e instanceof RequestConfigurationException); - } - - try { - request = new DynaCorbaRequest(refArraysSetter, "whatever"); - request.setOutputType(SomeStruct.class); - } catch (Exception e) { - fail(); - } - } - - /** - * Tests recognizing enums - */ - @Test - public void test_enumValidation() { - DynaCorbaRequest request = null; - try { - request = new DynaCorbaRequest(refArraysSetter, "whatever"); - request.setOutputType(InvalidEnum1.class); - fail(); - } catch (Exception e) { - assertTrue(e instanceof RequestConfigurationException); - } - - try { - request = new DynaCorbaRequest(refArraysSetter, "whatever"); - request.setOutputType(InvalidEnum2.class); - fail(); - } catch (Exception e) { - assertTrue(e instanceof RequestConfigurationException); - } - - try { - request = new DynaCorbaRequest(refArraysSetter, "whatever"); - request.setOutputType(InvalidEnum3.class); - fail(); - } catch (Exception e) { - assertTrue(e instanceof RequestConfigurationException); - } - - try { - request = new DynaCorbaRequest(refArraysSetter, "whatever"); - request.setOutputType(Color.class); - } catch (Exception e) { - fail(); - } - } - - /** - * Tests handling passing wrong params - */ - @Test - public void test_systemException_BAD_PARAM() { - try { - DynaCorbaRequest request = new DynaCorbaRequest(refCalcObject, "div"); - request.setOutputType(Double.class); - request.addArgument(3d); - request.invoke(); - fail(); - } catch (Exception e) { - if (e instanceof CorbaException) { - assertTrue(true); - } else { - e.printStackTrace(); - fail(); - } - } - } - - /** - * Tests passing CORBA arrays - */ - @Test - public void test_arraysPassing() { - try { - DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "passStringArray"); - Annotation[] notes = - ArraysUnionsTuscanyServant.class.getMethod("passStringArray", new Class[] {String[][].class}) - .getAnnotations(); - request.setOutputType(String[][].class, notes); - String[][] argument = { {"Hello", "World"}, {"Hi", "again"}}; - request.addArgument(argument, notes); - DynaCorbaResponse response = request.invoke(); - String[][] result = (String[][])response.getContent(); - for (int i = 0; i < argument.length; i++) { - for (int j = 0; j < argument[i].length; j++) { - assertEquals(argument[i][j], result[i][j]); - } - } - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - - try { - DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "passTestStruct"); - ArraysTestStruct arg = new ArraysTestStruct(); - String[] field1 = {"Hello", "World"}; - arg.field1 = field1; - int[][] field2 = { {4, 2, 2, 5}, {6, 12, 5, 8}}; - arg.field2 = field2; - float[][][] field3 = { { {2, 6}, {2, 7}, {9, 3}, {4, 6}}, { {3, 7}, {6, 6}, {3, 5}, {6, 2}}}; - arg.field3 = field3; - request.addArgument(arg); - request.setOutputType(ArraysTestStruct.class); - DynaCorbaResponse response = request.invoke(); - ArraysTestStruct result = (ArraysTestStruct)response.getContent(); - for (int i = 0; i < arg.field1.length; i++) { - assertEquals(arg.field1[i], result.field1[i]); - } - for (int i = 0; i < arg.field2.length; i++) { - for (int j = 0; j < arg.field2[i].length; j++) { - assertEquals(arg.field2[i][j], result.field2[i][j]); - } - } - for (int i = 0; i < arg.field2.length; i++) { - for (int j = 0; j < arg.field2[i].length; j++) { - for (int k = 0; k < arg.field3[i][j].length; k++) { - assertEquals(arg.field3[i][j][k], result.field3[i][j][k], 0.0); - } - } - } - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - } - - /** - * Tests situation when CORBA array dimension size doesn't match - * CORBA array annotation arguments (which sets dimension lengths) - */ - @Test - public void test_invalidArrayAnnotationSize() { - try { - DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "passStringArray"); - Annotation[] notes = - ArraysUnionsTuscanyServant.class.getMethod("passStringArray", new Class[] {String[][].class}) - .getAnnotations(); - request.setOutputType(String[][][].class, notes); - fail(); - } catch (RequestConfigurationException e) { - // expected - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - try { - DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "passStringArray"); - Annotation[] notes = - ArraysUnionsTuscanyServant.class.getMethod("passStringArray", new Class[] {String[][].class}) - .getAnnotations(); - request.addArgument(new String[0][0][0], notes); - fail(); - } catch (RequestConfigurationException e) { - // expected - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - try { - DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "passStringArray"); - request.addArgument(new InvalidCorbaArray(), null); - fail(); - } catch (RequestConfigurationException e) { - // expected - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - } - - /** - * Tests passing CORBA unions - */ - @Test - public void test_passingUnions() { - try { - DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "passRichUnion"); - request.setOutputType(RichUnion.class); - RichUnion arg = new RichUnion(); - InnerUnion argIu = new InnerUnion(); - argIu.setX(10); - arg.setIu(argIu); - request.addArgument(arg); - DynaCorbaResponse response = request.invoke(); - RichUnion result = (RichUnion)response.getContent(); - assertEquals(arg.getIu().getX(), result.getIu().getX()); - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - try { - DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "passRichUnion"); - request.setOutputType(RichUnion.class); - RichUnion arg = new RichUnion(); - arg.setDef(true); - request.addArgument(arg); - DynaCorbaResponse response = request.invoke(); - RichUnion result = (RichUnion)response.getContent(); - assertEquals(arg.isDef(), result.isDef()); - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - } - - /** - * Tests handling invalid union declarations - */ - @Test - public void test_testInvalidUnionClasses() { - try { - DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "whatever"); - request.setOutputType(InvalidUnion1.class); - } catch (Exception e) { - assertEquals(RequestConfigurationException.class, e.getClass()); - } - try { - DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "whatever"); - request.setOutputType(InvalidUnion2.class); - } catch (Exception e) { - assertEquals(RequestConfigurationException.class, e.getClass()); - } - try { - DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "whatever"); - request.setOutputType(InvalidUnion3.class); - } catch (Exception e) { - assertEquals(RequestConfigurationException.class, e.getClass()); - } - try { - DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "whatever"); - request.setOutputType(InvalidUnion4.class); - } catch (Exception e) { - assertEquals(RequestConfigurationException.class, e.getClass()); - } - try { - DynaCorbaRequest request = new DynaCorbaRequest(refArraysUnions, "whatever"); - request.setOutputType(InvalidUnion5.class); - } catch (Exception e) { - assertEquals(RequestConfigurationException.class, e.getClass()); - } - } -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/MappingTestInterface.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/MappingTestInterface.java deleted file mode 100644 index f0dccd9e7e..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/MappingTestInterface.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.corba.testing; - -/** - * @version $Rev$ $Date$ - * Interface that can be tested for operations mapping - */ -public interface MappingTestInterface { - - int getIntField(); - - void setIntField(int intField); - - boolean isBoolField(); - - void setBoolField(boolean boolField); - - void overloadedName(); - - void overloadedName(String arg1); - - void overloadedName(String arg1, int arg2); - - void caseCollision(); - - void CaseCollision(); - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/MethodFinderTestCase.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/MethodFinderTestCase.java deleted file mode 100644 index 725ce0ec41..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/MethodFinderTestCase.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.corba.testing; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; - -import java.lang.reflect.Method; - -import org.apache.tuscany.sca.binding.corba.impl.util.MethodFinder; -import org.junit.Test; - -/** - * @version $Rev$ $Date$ - * Various tests for MethodFinder - */ -public class MethodFinderTestCase { - - /** - * Tests finding existing methods - */ - @Test - public void test_findExistingMethod() { - try { - String methodName = "rotateLeft"; - Method sample = Integer.class.getMethod(methodName, new Class[] {int.class, int.class}); - Method m1 = MethodFinder.findMethod(Integer.class, methodName, new Class[] {int.class, int.class}); - Method m2 = - MethodFinder.findMethod(Integer.class, methodName, new Class[] {Integer.class, Integer.class}); - assertEquals(sample, m1); - assertEquals(sample, m2); - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - } - - /** - * Tests null result value for not existing method - */ - @Test - public void test_findNotExistingMethod() { - try { - String methodName = "rotateLeft"; - Method method = MethodFinder.findMethod(Integer.class, methodName, new Class[] {}); - assertEquals(null, method); - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/OperationMappingTestCase.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/OperationMappingTestCase.java deleted file mode 100644 index 0dd34c26e8..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/OperationMappingTestCase.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.corba.testing; - -import static org.junit.Assert.assertEquals; - -import java.lang.reflect.Method; -import java.util.Map; - -import org.apache.tuscany.sca.binding.corba.impl.util.OperationMapper; -import org.junit.Test; - -/** - * @version $Rev$ $Date$ - * Various tests for OperationsMapping - */ -public class OperationMappingTestCase { - - /** - * Tests if Java2IDLUtil maps methods to operations correctly - */ - @Test - public void test_mappingRules() { - Map met2op = OperationMapper.mapMethodToOperationName(MappingTestInterface.class); - for (Method method : met2op.keySet()) { - String name = method.getName(); - String translatedName = met2op.get(method); - if (name.equals("getIntField")) { - assertEquals("_get_intField", translatedName); - } else if (name.equals("setIntField")) { - assertEquals("_set_intField", translatedName); - } else if (name.equals("isBoolField")) { - assertEquals("_get_boolField", translatedName); - } else if (name.equals("setBoolField")) { - assertEquals("_set_boolField", translatedName); - } else if (name.equals("overloadedName") && method.getParameterTypes().length == 0) { - assertEquals("overloadedName__", translatedName); - } else if (name.equals("overloadedName") && method.getParameterTypes().length == 1) { - assertEquals("overloadedName__CORBA_WStringValue", translatedName); - } else if (name.equals("overloadedName") && method.getParameterTypes().length == 2) { - assertEquals("overloadedName__CORBA_WStringValue__long", translatedName); - } else if (name.equals("caseCollision")) { - assertEquals("caseCollision_4", translatedName); - } else if (name.equals("CaseCollision")) { - assertEquals("CaseCollision_0_4", translatedName); - } - } - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/TestConstants.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/TestConstants.java deleted file mode 100644 index 962a00d002..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/TestConstants.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.corba.testing; - -/** - * Some constants and utilities for module tests - * @version $Rev$ $Date$ - */ -public class TestConstants { - - public static final String STR_1 = "Hello world!"; - public static final String STR_2 = "2nd string"; - public static final String STR_3 = "Other string"; - public static final String[] STR_ARR_1 = {"Hello", "World"}; - public static final String[] STR_ARR_2 = {"Another", "string", "array"}; - public static final int INT_1 = 0; - - public static final int TEST1_PORT = 11100; - public static final String TEST1_HOST = "localhost"; - - public static final int TEST2_PORT = 11101; - public static final String TEST2_HOST = "localhost"; - - public static final int[][] INT_ARRAY_2_DIM = { {1, 2}, {3, 4}}; - public static final int[][][] INT_ARRAY_3_DIM = { { {1, 2}, {3, 4}}, { {5, 6}, {7, 8}}}; - - public static final long TNAMESERV_SPAWN_WAIT = 300; - - /** - * Tests if given 2D arrays values are equal - * @param arr1 - * @param arr2 - * @return - */ - public static boolean are2DimArraysEqual(int[][] arr1, int[][] arr2) { - int sum = 0; - int expSum = 0; - for (int i = 0; i < arr1.length; i++) { - for (int j = 0; j < arr1[i].length; j++) { - expSum++; - if (arr1[i][j] == arr2[i][j]) { - sum++; - } - } - } - return sum == expSum; - } - - /** - * Tests if given 3D arrays values are equal - * @param arr1 - * @param arr2 - * @return - */ - public static boolean are3DimArraysEqual(int[][][] arr1, int[][][] arr2) { - int sum = 0; - int expSum = 0; - for (int i = 0; i < arr1.length; i++) { - for (int j = 0; j < arr1[i].length; j++) { - for (int k = 0; k < arr1[i][j].length; k++) { - expSum++; - if (arr1[i][j][k] == arr2[i][j][k]) { - sum++; - } - } - } - } - return sum == expSum; - } -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTests.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTests.java deleted file mode 100644 index f4ca1577f5..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTests.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.apache.tuscany.sca.binding.corba.testing.arrays_unions; - - -/** -* org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTests.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from arrays_unions.idl -* niedziela, 17 sierpieñ 2008 15:45:39 CEST -*/ - -public interface ArraysUnionsTests extends ArraysUnionsTestsOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity -{ -} // interface ArraysUnionsTests diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTestsHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTestsHelper.java deleted file mode 100644 index d10bc498b7..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTestsHelper.java +++ /dev/null @@ -1,85 +0,0 @@ -package org.apache.tuscany.sca.binding.corba.testing.arrays_unions; - - -/** -* org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTestsHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from arrays_unions.idl -* niedziela, 17 sierpieñ 2008 15:45:39 CEST -*/ - -abstract public class ArraysUnionsTestsHelper -{ - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTests:1.0"; - - public static void insert (org.omg.CORBA.Any a, org.apache.tuscany.sca.binding.corba.testing.arrays_unions.ArraysUnionsTests that) - { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream (); - a.type (type ()); - write (out, that); - a.read_value (out.create_input_stream (), type ()); - } - - public static org.apache.tuscany.sca.binding.corba.testing.arrays_unions.ArraysUnionsTests extract (org.omg.CORBA.Any a) - { - return read (a.create_input_stream ()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - synchronized public static org.omg.CORBA.TypeCode type () - { - if (__typeCode == null) - { - __typeCode = org.omg.CORBA.ORB.init ().create_interface_tc (org.apache.tuscany.sca.binding.corba.testing.arrays_unions.ArraysUnionsTestsHelper.id (), "ArraysUnionsTests"); - } - return __typeCode; - } - - public static String id () - { - return _id; - } - - public static org.apache.tuscany.sca.binding.corba.testing.arrays_unions.ArraysUnionsTests read (org.omg.CORBA.portable.InputStream istream) - { - return narrow (istream.read_Object (_ArraysUnionsTestsStub.class)); - } - - public static void write (org.omg.CORBA.portable.OutputStream ostream, org.apache.tuscany.sca.binding.corba.testing.arrays_unions.ArraysUnionsTests value) - { - ostream.write_Object ((org.omg.CORBA.Object) value); - } - - public static org.apache.tuscany.sca.binding.corba.testing.arrays_unions.ArraysUnionsTests narrow (org.omg.CORBA.Object obj) - { - if (obj == null) - return null; - else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.arrays_unions.ArraysUnionsTests) - return (org.apache.tuscany.sca.binding.corba.testing.arrays_unions.ArraysUnionsTests)obj; - else if (!obj._is_a (id ())) - throw new org.omg.CORBA.BAD_PARAM (); - else - { - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate (); - org.apache.tuscany.sca.binding.corba.testing.arrays_unions._ArraysUnionsTestsStub stub = new org.apache.tuscany.sca.binding.corba.testing.arrays_unions._ArraysUnionsTestsStub (); - stub._set_delegate(delegate); - return stub; - } - } - - public static org.apache.tuscany.sca.binding.corba.testing.arrays_unions.ArraysUnionsTests unchecked_narrow (org.omg.CORBA.Object obj) - { - if (obj == null) - return null; - else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.arrays_unions.ArraysUnionsTests) - return (org.apache.tuscany.sca.binding.corba.testing.arrays_unions.ArraysUnionsTests)obj; - else - { - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate (); - org.apache.tuscany.sca.binding.corba.testing.arrays_unions._ArraysUnionsTestsStub stub = new org.apache.tuscany.sca.binding.corba.testing.arrays_unions._ArraysUnionsTestsStub (); - stub._set_delegate(delegate); - return stub; - } - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTestsHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTestsHolder.java deleted file mode 100644 index 98987c1252..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTestsHolder.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.apache.tuscany.sca.binding.corba.testing.arrays_unions; - -/** -* org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTestsHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from arrays_unions.idl -* niedziela, 17 sierpieñ 2008 15:45:39 CEST -*/ - -public final class ArraysUnionsTestsHolder implements org.omg.CORBA.portable.Streamable -{ - public org.apache.tuscany.sca.binding.corba.testing.arrays_unions.ArraysUnionsTests value = null; - - public ArraysUnionsTestsHolder () - { - } - - public ArraysUnionsTestsHolder (org.apache.tuscany.sca.binding.corba.testing.arrays_unions.ArraysUnionsTests initialValue) - { - value = initialValue; - } - - public void _read (org.omg.CORBA.portable.InputStream i) - { - value = org.apache.tuscany.sca.binding.corba.testing.arrays_unions.ArraysUnionsTestsHelper.read (i); - } - - public void _write (org.omg.CORBA.portable.OutputStream o) - { - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.ArraysUnionsTestsHelper.write (o, value); - } - - public org.omg.CORBA.TypeCode _type () - { - return org.apache.tuscany.sca.binding.corba.testing.arrays_unions.ArraysUnionsTestsHelper.type (); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTestsOperations.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTestsOperations.java deleted file mode 100644 index d80adb476a..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTestsOperations.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.apache.tuscany.sca.binding.corba.testing.arrays_unions; - - -/** -* org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTestsOperations.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from arrays_unions.idl -* niedziela, 17 sierpieñ 2008 15:45:39 CEST -*/ - -public interface ArraysUnionsTestsOperations -{ - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStruct passTestStruct (org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStruct arg); - String[][] passStringArray (String[][] arg); - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnion passRichUnion (org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnion arg); -} // interface ArraysUnionsTestsOperations diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/InnerUnion.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/InnerUnion.java deleted file mode 100644 index 9f520f3c5d..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/InnerUnion.java +++ /dev/null @@ -1,112 +0,0 @@ -package org.apache.tuscany.sca.binding.corba.testing.arrays_unions; - - -/** -* org/apache/tuscany/sca/binding/corba/testing/arrays_unions/InnerUnion.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from arrays_unions.idl -* niedziela, 17 sierpieñ 2008 15:45:39 CEST -*/ - -public final class InnerUnion implements org.omg.CORBA.portable.IDLEntity -{ - private int ___x; - private float ___y; - private int __discriminator; - private boolean __uninitialized = true; - - public InnerUnion () - { - } - - public int discriminator () - { - if (__uninitialized) - throw new org.omg.CORBA.BAD_OPERATION (); - return __discriminator; - } - - public int x () - { - if (__uninitialized) - throw new org.omg.CORBA.BAD_OPERATION (); - verifyx (__discriminator); - return ___x; - } - - public void x (int value) - { - __discriminator = 1; - ___x = value; - __uninitialized = false; - } - - public void x (int discriminator, int value) - { - verifyx (discriminator); - __discriminator = discriminator; - ___x = value; - __uninitialized = false; - } - - private void verifyx (int discriminator) - { - if (discriminator != 1) - throw new org.omg.CORBA.BAD_OPERATION (); - } - - public float y () - { - if (__uninitialized) - throw new org.omg.CORBA.BAD_OPERATION (); - verifyy (__discriminator); - return ___y; - } - - public void y (float value) - { - __discriminator = 2; - ___y = value; - __uninitialized = false; - } - - public void y (int discriminator, float value) - { - verifyy (discriminator); - __discriminator = discriminator; - ___y = value; - __uninitialized = false; - } - - private void verifyy (int discriminator) - { - if (discriminator != 2) - throw new org.omg.CORBA.BAD_OPERATION (); - } - - public void _default () - { - __discriminator = -2147483648; - __uninitialized = false; - } - - public void _default (int discriminator) - { - verifyDefault( discriminator ) ; - __discriminator = discriminator ; - __uninitialized = false; - } - - private void verifyDefault( int value ) - { - switch (value) { - case 1: - case 2: - throw new org.omg.CORBA.BAD_OPERATION() ; - - default: - return; - } - } - -} // class InnerUnion diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/InnerUnionHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/InnerUnionHelper.java deleted file mode 100644 index 11c22f1d72..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/InnerUnionHelper.java +++ /dev/null @@ -1,106 +0,0 @@ -package org.apache.tuscany.sca.binding.corba.testing.arrays_unions; - - -/** -* org/apache/tuscany/sca/binding/corba/testing/arrays_unions/InnerUnionHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from arrays_unions.idl -* niedziela, 17 sierpieñ 2008 15:45:39 CEST -*/ - -abstract public class InnerUnionHelper -{ - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/arrays_unions/InnerUnion/InnerUnion:1.0"; - - public static void insert (org.omg.CORBA.Any a, org.apache.tuscany.sca.binding.corba.testing.arrays_unions.InnerUnion that) - { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream (); - a.type (type ()); - write (out, that); - a.read_value (out.create_input_stream (), type ()); - } - - public static org.apache.tuscany.sca.binding.corba.testing.arrays_unions.InnerUnion extract (org.omg.CORBA.Any a) - { - return read (a.create_input_stream ()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - synchronized public static org.omg.CORBA.TypeCode type () - { - if (__typeCode == null) - { - org.omg.CORBA.TypeCode _disTypeCode0; - _disTypeCode0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long); - org.omg.CORBA.UnionMember[] _members0 = new org.omg.CORBA.UnionMember [2]; - org.omg.CORBA.TypeCode _tcOf_members0; - org.omg.CORBA.Any _anyOf_members0; - - // Branch for x (case label 1) - _anyOf_members0 = org.omg.CORBA.ORB.init ().create_any (); - _anyOf_members0.insert_long ((int)1); - _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long); - _members0[0] = new org.omg.CORBA.UnionMember ( - "x", - _anyOf_members0, - _tcOf_members0, - null); - - // Branch for y (case label 2) - _anyOf_members0 = org.omg.CORBA.ORB.init ().create_any (); - _anyOf_members0.insert_long ((int)2); - _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_float); - _members0[1] = new org.omg.CORBA.UnionMember ( - "y", - _anyOf_members0, - _tcOf_members0, - null); - __typeCode = org.omg.CORBA.ORB.init ().create_union_tc (org.apache.tuscany.sca.binding.corba.testing.arrays_unions.InnerUnionHelper.id (), "InnerUnion", _disTypeCode0, _members0); - } - return __typeCode; - } - - public static String id () - { - return _id; - } - - public static org.apache.tuscany.sca.binding.corba.testing.arrays_unions.InnerUnion read (org.omg.CORBA.portable.InputStream istream) - { - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.InnerUnion value = new org.apache.tuscany.sca.binding.corba.testing.arrays_unions.InnerUnion (); - int _dis0 = (int)0; - _dis0 = istream.read_long (); - switch (_dis0) - { - case 1: - int _x = (int)0; - _x = istream.read_long (); - value.x (_x); - break; - case 2: - float _y = (float)0; - _y = istream.read_float (); - value.y (_y); - break; - default: - value._default( _dis0 ) ; - break; - } - return value; - } - - public static void write (org.omg.CORBA.portable.OutputStream ostream, org.apache.tuscany.sca.binding.corba.testing.arrays_unions.InnerUnion value) - { - ostream.write_long (value.discriminator ()); - switch (value.discriminator ()) - { - case 1: - ostream.write_long (value.x ()); - break; - case 2: - ostream.write_float (value.y ()); - break; - } - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/InnerUnionHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/InnerUnionHolder.java deleted file mode 100644 index ca9233c77f..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/InnerUnionHolder.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.apache.tuscany.sca.binding.corba.testing.arrays_unions; - -/** -* org/apache/tuscany/sca/binding/corba/testing/arrays_unions/InnerUnionHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from arrays_unions.idl -* niedziela, 17 sierpieñ 2008 15:45:39 CEST -*/ - -public final class InnerUnionHolder implements org.omg.CORBA.portable.Streamable -{ - public org.apache.tuscany.sca.binding.corba.testing.arrays_unions.InnerUnion value = null; - - public InnerUnionHolder () - { - } - - public InnerUnionHolder (org.apache.tuscany.sca.binding.corba.testing.arrays_unions.InnerUnion initialValue) - { - value = initialValue; - } - - public void _read (org.omg.CORBA.portable.InputStream i) - { - value = org.apache.tuscany.sca.binding.corba.testing.arrays_unions.InnerUnionHelper.read (i); - } - - public void _write (org.omg.CORBA.portable.OutputStream o) - { - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.InnerUnionHelper.write (o, value); - } - - public org.omg.CORBA.TypeCode _type () - { - return org.apache.tuscany.sca.binding.corba.testing.arrays_unions.InnerUnionHelper.type (); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/RichUnion.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/RichUnion.java deleted file mode 100644 index 1a1a36fd16..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/RichUnion.java +++ /dev/null @@ -1,177 +0,0 @@ -package org.apache.tuscany.sca.binding.corba.testing.arrays_unions; - - -/** -* org/apache/tuscany/sca/binding/corba/testing/arrays_unions/RichUnion.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from arrays_unions.idl -* niedziela, 17 sierpieñ 2008 15:45:39 CEST -*/ - -public final class RichUnion implements org.omg.CORBA.portable.IDLEntity -{ - private int ___x; - private float ___y; - private String ___z; - private org.apache.tuscany.sca.binding.corba.testing.arrays_unions.InnerUnion ___iu; - private boolean ___a; - private int __discriminator; - private boolean __uninitialized = true; - - public RichUnion () - { - } - - public int discriminator () - { - if (__uninitialized) - throw new org.omg.CORBA.BAD_OPERATION (); - return __discriminator; - } - - public int x () - { - if (__uninitialized) - throw new org.omg.CORBA.BAD_OPERATION (); - verifyx (__discriminator); - return ___x; - } - - public void x (int value) - { - __discriminator = 1; - ___x = value; - __uninitialized = false; - } - - public void x (int discriminator, int value) - { - verifyx (discriminator); - __discriminator = discriminator; - ___x = value; - __uninitialized = false; - } - - private void verifyx (int discriminator) - { - if (discriminator != 1) - throw new org.omg.CORBA.BAD_OPERATION (); - } - - public float y () - { - if (__uninitialized) - throw new org.omg.CORBA.BAD_OPERATION (); - verifyy (__discriminator); - return ___y; - } - - public void y (float value) - { - __discriminator = 2; - ___y = value; - __uninitialized = false; - } - - public void y (int discriminator, float value) - { - verifyy (discriminator); - __discriminator = discriminator; - ___y = value; - __uninitialized = false; - } - - private void verifyy (int discriminator) - { - if (discriminator != 2) - throw new org.omg.CORBA.BAD_OPERATION (); - } - - public String z () - { - if (__uninitialized) - throw new org.omg.CORBA.BAD_OPERATION (); - verifyz (__discriminator); - return ___z; - } - - public void z (String value) - { - __discriminator = 3; - ___z = value; - __uninitialized = false; - } - - public void z (int discriminator, String value) - { - verifyz (discriminator); - __discriminator = discriminator; - ___z = value; - __uninitialized = false; - } - - private void verifyz (int discriminator) - { - if (discriminator != 3) - throw new org.omg.CORBA.BAD_OPERATION (); - } - - public org.apache.tuscany.sca.binding.corba.testing.arrays_unions.InnerUnion iu () - { - if (__uninitialized) - throw new org.omg.CORBA.BAD_OPERATION (); - verifyiu (__discriminator); - return ___iu; - } - - public void iu (org.apache.tuscany.sca.binding.corba.testing.arrays_unions.InnerUnion value) - { - __discriminator = 4; - ___iu = value; - __uninitialized = false; - } - - public void iu (int discriminator, org.apache.tuscany.sca.binding.corba.testing.arrays_unions.InnerUnion value) - { - verifyiu (discriminator); - __discriminator = discriminator; - ___iu = value; - __uninitialized = false; - } - - private void verifyiu (int discriminator) - { - if (discriminator != 4) - throw new org.omg.CORBA.BAD_OPERATION (); - } - - public boolean a () - { - if (__uninitialized) - throw new org.omg.CORBA.BAD_OPERATION (); - verifya (__discriminator); - return ___a; - } - - public void a (boolean value) - { - __discriminator = -2147483648; - ___a = value; - __uninitialized = false; - } - - public void a (int discriminator, boolean value) - { - verifya (discriminator); - __discriminator = discriminator; - ___a = value; - __uninitialized = false; - } - - private void verifya (int discriminator) - { - if (discriminator == 1 || discriminator == 2 || discriminator == 3 || discriminator == 4) - throw new org.omg.CORBA.BAD_OPERATION (); - } - -} // class RichUnion diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/RichUnionHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/RichUnionHelper.java deleted file mode 100644 index 7cef0ea189..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/RichUnionHelper.java +++ /dev/null @@ -1,157 +0,0 @@ -package org.apache.tuscany.sca.binding.corba.testing.arrays_unions; - - -/** -* org/apache/tuscany/sca/binding/corba/testing/arrays_unions/RichUnionHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from arrays_unions.idl -* niedziela, 17 sierpieñ 2008 15:45:39 CEST -*/ - -abstract public class RichUnionHelper -{ - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/arrays_unions/RichUnion/RichUnion:1.0"; - - public static void insert (org.omg.CORBA.Any a, org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnion that) - { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream (); - a.type (type ()); - write (out, that); - a.read_value (out.create_input_stream (), type ()); - } - - public static org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnion extract (org.omg.CORBA.Any a) - { - return read (a.create_input_stream ()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - synchronized public static org.omg.CORBA.TypeCode type () - { - if (__typeCode == null) - { - org.omg.CORBA.TypeCode _disTypeCode0; - _disTypeCode0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long); - org.omg.CORBA.UnionMember[] _members0 = new org.omg.CORBA.UnionMember [5]; - org.omg.CORBA.TypeCode _tcOf_members0; - org.omg.CORBA.Any _anyOf_members0; - - // Branch for x (case label 1) - _anyOf_members0 = org.omg.CORBA.ORB.init ().create_any (); - _anyOf_members0.insert_long ((int)1); - _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long); - _members0[0] = new org.omg.CORBA.UnionMember ( - "x", - _anyOf_members0, - _tcOf_members0, - null); - - // Branch for y (case label 2) - _anyOf_members0 = org.omg.CORBA.ORB.init ().create_any (); - _anyOf_members0.insert_long ((int)2); - _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_float); - _members0[1] = new org.omg.CORBA.UnionMember ( - "y", - _anyOf_members0, - _tcOf_members0, - null); - - // Branch for z (case label 3) - _anyOf_members0 = org.omg.CORBA.ORB.init ().create_any (); - _anyOf_members0.insert_long ((int)3); - _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0); - _members0[2] = new org.omg.CORBA.UnionMember ( - "z", - _anyOf_members0, - _tcOf_members0, - null); - - // Branch for iu (case label 4) - _anyOf_members0 = org.omg.CORBA.ORB.init ().create_any (); - _anyOf_members0.insert_long ((int)4); - _tcOf_members0 = org.apache.tuscany.sca.binding.corba.testing.arrays_unions.InnerUnionHelper.type (); - _members0[3] = new org.omg.CORBA.UnionMember ( - "iu", - _anyOf_members0, - _tcOf_members0, - null); - - // Branch for a (Default case) - _anyOf_members0 = org.omg.CORBA.ORB.init ().create_any (); - _anyOf_members0.insert_octet ((byte)0); // default member label - _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_boolean); - _members0[4] = new org.omg.CORBA.UnionMember ( - "a", - _anyOf_members0, - _tcOf_members0, - null); - __typeCode = org.omg.CORBA.ORB.init ().create_union_tc (org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnionHelper.id (), "RichUnion", _disTypeCode0, _members0); - } - return __typeCode; - } - - public static String id () - { - return _id; - } - - public static org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnion read (org.omg.CORBA.portable.InputStream istream) - { - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnion value = new org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnion (); - int _dis0 = (int)0; - _dis0 = istream.read_long (); - switch (_dis0) - { - case 1: - int _x = (int)0; - _x = istream.read_long (); - value.x (_x); - break; - case 2: - float _y = (float)0; - _y = istream.read_float (); - value.y (_y); - break; - case 3: - String _z = null; - _z = istream.read_string (); - value.z (_z); - break; - case 4: - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.InnerUnion _iu = null; - _iu = org.apache.tuscany.sca.binding.corba.testing.arrays_unions.InnerUnionHelper.read (istream); - value.iu (_iu); - break; - default: - boolean _a = false; - _a = istream.read_boolean (); - value.a (_dis0, _a); - break; - } - return value; - } - - public static void write (org.omg.CORBA.portable.OutputStream ostream, org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnion value) - { - ostream.write_long (value.discriminator ()); - switch (value.discriminator ()) - { - case 1: - ostream.write_long (value.x ()); - break; - case 2: - ostream.write_float (value.y ()); - break; - case 3: - ostream.write_string (value.z ()); - break; - case 4: - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.InnerUnionHelper.write (ostream, value.iu ()); - break; - default: - ostream.write_boolean (value.a ()); - break; - } - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/RichUnionHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/RichUnionHolder.java deleted file mode 100644 index 5498104905..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/RichUnionHolder.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.apache.tuscany.sca.binding.corba.testing.arrays_unions; - -/** -* org/apache/tuscany/sca/binding/corba/testing/arrays_unions/RichUnionHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from arrays_unions.idl -* niedziela, 17 sierpieñ 2008 15:45:39 CEST -*/ - -public final class RichUnionHolder implements org.omg.CORBA.portable.Streamable -{ - public org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnion value = null; - - public RichUnionHolder () - { - } - - public RichUnionHolder (org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnion initialValue) - { - value = initialValue; - } - - public void _read (org.omg.CORBA.portable.InputStream i) - { - value = org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnionHelper.read (i); - } - - public void _write (org.omg.CORBA.portable.OutputStream o) - { - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnionHelper.write (o, value); - } - - public org.omg.CORBA.TypeCode _type () - { - return org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnionHelper.type (); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/StringArrayHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/StringArrayHelper.java deleted file mode 100644 index 72beff0537..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/StringArrayHelper.java +++ /dev/null @@ -1,76 +0,0 @@ -package org.apache.tuscany.sca.binding.corba.testing.arrays_unions; - - -/** -* org/apache/tuscany/sca/binding/corba/testing/arrays_unions/StringArrayHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from arrays_unions.idl -* niedziela, 17 sierpieñ 2008 15:45:39 CEST -*/ - -abstract public class StringArrayHelper -{ - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/arrays_unions/StringArray:1.0"; - - public static void insert (org.omg.CORBA.Any a, String[][] that) - { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream (); - a.type (type ()); - write (out, that); - a.read_value (out.create_input_stream (), type ()); - } - - public static String[][] extract (org.omg.CORBA.Any a) - { - return read (a.create_input_stream ()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - synchronized public static org.omg.CORBA.TypeCode type () - { - if (__typeCode == null) - { - __typeCode = org.omg.CORBA.ORB.init ().create_string_tc (0); - __typeCode = org.omg.CORBA.ORB.init ().create_array_tc (2, __typeCode ); - __typeCode = org.omg.CORBA.ORB.init ().create_array_tc (2, __typeCode ); - __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.apache.tuscany.sca.binding.corba.testing.arrays_unions.StringArrayHelper.id (), "StringArray", __typeCode); - } - return __typeCode; - } - - public static String id () - { - return _id; - } - - public static String[][] read (org.omg.CORBA.portable.InputStream istream) - { - String value[][] = null; - value = new String[2][]; - for (int _o0 = 0;_o0 < (2); ++_o0) - { - value[_o0] = new String[2]; - for (int _o1 = 0;_o1 < (2); ++_o1) - { - value[_o0][_o1] = istream.read_string (); - } - } - return value; - } - - public static void write (org.omg.CORBA.portable.OutputStream ostream, String[][] value) - { - if (value.length != (2)) - throw new org.omg.CORBA.MARSHAL (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - for (int _i0 = 0;_i0 < (2); ++_i0) - { - if (value[_i0].length != (2)) - throw new org.omg.CORBA.MARSHAL (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - for (int _i1 = 0;_i1 < (2); ++_i1) - { - ostream.write_string (value[_i0][_i1]); - } - } - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/StringArrayHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/StringArrayHolder.java deleted file mode 100644 index 747337597c..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/StringArrayHolder.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.apache.tuscany.sca.binding.corba.testing.arrays_unions; - - -/** -* org/apache/tuscany/sca/binding/corba/testing/arrays_unions/StringArrayHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from arrays_unions.idl -* niedziela, 17 sierpieñ 2008 15:45:39 CEST -*/ - -public final class StringArrayHolder implements org.omg.CORBA.portable.Streamable -{ - public String value[][] = null; - - public StringArrayHolder () - { - } - - public StringArrayHolder (String[][] initialValue) - { - value = initialValue; - } - - public void _read (org.omg.CORBA.portable.InputStream i) - { - value = org.apache.tuscany.sca.binding.corba.testing.arrays_unions.StringArrayHelper.read (i); - } - - public void _write (org.omg.CORBA.portable.OutputStream o) - { - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.StringArrayHelper.write (o, value); - } - - public org.omg.CORBA.TypeCode _type () - { - return org.apache.tuscany.sca.binding.corba.testing.arrays_unions.StringArrayHelper.type (); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/TestStruct.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/TestStruct.java deleted file mode 100644 index 2b239deadc..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/TestStruct.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.apache.tuscany.sca.binding.corba.testing.arrays_unions; - - -/** -* org/apache/tuscany/sca/binding/corba/testing/arrays_unions/TestStruct.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from arrays_unions.idl -* niedziela, 17 sierpieñ 2008 15:45:39 CEST -*/ - -public final class TestStruct implements org.omg.CORBA.portable.IDLEntity -{ - public String oneDimArray[] = null; - public int twoDimArray[][] = null; - public float threeDimArray[][][] = null; - - public TestStruct () - { - } // ctor - - public TestStruct (String[] _oneDimArray, int[][] _twoDimArray, float[][][] _threeDimArray) - { - oneDimArray = _oneDimArray; - twoDimArray = _twoDimArray; - threeDimArray = _threeDimArray; - } // ctor - -} // class TestStruct diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/TestStructHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/TestStructHelper.java deleted file mode 100644 index 6427d9d200..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/TestStructHelper.java +++ /dev/null @@ -1,149 +0,0 @@ -package org.apache.tuscany.sca.binding.corba.testing.arrays_unions; - - -/** -* org/apache/tuscany/sca/binding/corba/testing/arrays_unions/TestStructHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from arrays_unions.idl -* niedziela, 17 sierpieñ 2008 15:45:39 CEST -*/ - -abstract public class TestStructHelper -{ - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/arrays_unions/TestStruct/TestStruct:1.0"; - - public static void insert (org.omg.CORBA.Any a, org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStruct that) - { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream (); - a.type (type ()); - write (out, that); - a.read_value (out.create_input_stream (), type ()); - } - - public static org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStruct extract (org.omg.CORBA.Any a) - { - return read (a.create_input_stream ()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - private static boolean __active = false; - synchronized public static org.omg.CORBA.TypeCode type () - { - if (__typeCode == null) - { - synchronized (org.omg.CORBA.TypeCode.class) - { - if (__typeCode == null) - { - if (__active) - { - return org.omg.CORBA.ORB.init().create_recursive_tc ( _id ); - } - __active = true; - org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember [3]; - org.omg.CORBA.TypeCode _tcOf_members0 = null; - _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0); - _tcOf_members0 = org.omg.CORBA.ORB.init ().create_array_tc (2, _tcOf_members0 ); - _members0[0] = new org.omg.CORBA.StructMember ( - "oneDimArray", - _tcOf_members0, - null); - _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long); - _tcOf_members0 = org.omg.CORBA.ORB.init ().create_array_tc (2, _tcOf_members0 ); - _tcOf_members0 = org.omg.CORBA.ORB.init ().create_array_tc (4, _tcOf_members0 ); - _members0[1] = new org.omg.CORBA.StructMember ( - "twoDimArray", - _tcOf_members0, - null); - _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_float); - _tcOf_members0 = org.omg.CORBA.ORB.init ().create_array_tc (2, _tcOf_members0 ); - _tcOf_members0 = org.omg.CORBA.ORB.init ().create_array_tc (4, _tcOf_members0 ); - _tcOf_members0 = org.omg.CORBA.ORB.init ().create_array_tc (2, _tcOf_members0 ); - _members0[2] = new org.omg.CORBA.StructMember ( - "threeDimArray", - _tcOf_members0, - null); - __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStructHelper.id (), "TestStruct", _members0); - __active = false; - } - } - } - return __typeCode; - } - - public static String id () - { - return _id; - } - - public static org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStruct read (org.omg.CORBA.portable.InputStream istream) - { - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStruct value = new org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStruct (); - value.oneDimArray = new String[2]; - for (int _o0 = 0;_o0 < (2); ++_o0) - { - value.oneDimArray[_o0] = istream.read_string (); - } - value.twoDimArray = new int[2][]; - for (int _o1 = 0;_o1 < (2); ++_o1) - { - value.twoDimArray[_o1] = new int[4]; - for (int _o2 = 0;_o2 < (4); ++_o2) - { - value.twoDimArray[_o1][_o2] = istream.read_long (); - } - } - value.threeDimArray = new float[2][][]; - for (int _o3 = 0;_o3 < (2); ++_o3) - { - value.threeDimArray[_o3] = new float[4][]; - for (int _o4 = 0;_o4 < (4); ++_o4) - { - value.threeDimArray[_o3][_o4] = new float[2]; - for (int _o5 = 0;_o5 < (2); ++_o5) - { - value.threeDimArray[_o3][_o4][_o5] = istream.read_float (); - } - } - } - return value; - } - - public static void write (org.omg.CORBA.portable.OutputStream ostream, org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStruct value) - { - if (value.oneDimArray.length != (2)) - throw new org.omg.CORBA.MARSHAL (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - for (int _i0 = 0;_i0 < (2); ++_i0) - { - ostream.write_string (value.oneDimArray[_i0]); - } - if (value.twoDimArray.length != (2)) - throw new org.omg.CORBA.MARSHAL (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - for (int _i1 = 0;_i1 < (2); ++_i1) - { - if (value.twoDimArray[_i1].length != (4)) - throw new org.omg.CORBA.MARSHAL (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - for (int _i2 = 0;_i2 < (4); ++_i2) - { - ostream.write_long (value.twoDimArray[_i1][_i2]); - } - } - if (value.threeDimArray.length != (2)) - throw new org.omg.CORBA.MARSHAL (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - for (int _i3 = 0;_i3 < (2); ++_i3) - { - if (value.threeDimArray[_i3].length != (4)) - throw new org.omg.CORBA.MARSHAL (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - for (int _i4 = 0;_i4 < (4); ++_i4) - { - if (value.threeDimArray[_i3][_i4].length != (2)) - throw new org.omg.CORBA.MARSHAL (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - for (int _i5 = 0;_i5 < (2); ++_i5) - { - ostream.write_float (value.threeDimArray[_i3][_i4][_i5]); - } - } - } - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/TestStructHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/TestStructHolder.java deleted file mode 100644 index 94683e0327..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/TestStructHolder.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.apache.tuscany.sca.binding.corba.testing.arrays_unions; - -/** -* org/apache/tuscany/sca/binding/corba/testing/arrays_unions/TestStructHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from arrays_unions.idl -* niedziela, 17 sierpieñ 2008 15:45:39 CEST -*/ - -public final class TestStructHolder implements org.omg.CORBA.portable.Streamable -{ - public org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStruct value = null; - - public TestStructHolder () - { - } - - public TestStructHolder (org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStruct initialValue) - { - value = initialValue; - } - - public void _read (org.omg.CORBA.portable.InputStream i) - { - value = org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStructHelper.read (i); - } - - public void _write (org.omg.CORBA.portable.OutputStream o) - { - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStructHelper.write (o, value); - } - - public org.omg.CORBA.TypeCode _type () - { - return org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStructHelper.type (); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/_ArraysUnionsTestsImplBase.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/_ArraysUnionsTestsImplBase.java deleted file mode 100644 index e4cac28e4f..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/_ArraysUnionsTestsImplBase.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.apache.tuscany.sca.binding.corba.testing.arrays_unions; - - -/** -* org/apache/tuscany/sca/binding/corba/testing/arrays_unions/_ArraysUnionsTestsImplBase.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from arrays_unions.idl -* niedziela, 17 sierpieñ 2008 15:45:39 CEST -*/ - -public abstract class _ArraysUnionsTestsImplBase extends org.omg.CORBA.portable.ObjectImpl - implements org.apache.tuscany.sca.binding.corba.testing.arrays_unions.ArraysUnionsTests, org.omg.CORBA.portable.InvokeHandler -{ - - // Constructors - public _ArraysUnionsTestsImplBase () - { - } - - private static java.util.Hashtable _methods = new java.util.Hashtable (); - static - { - _methods.put ("passTestStruct", new java.lang.Integer (0)); - _methods.put ("passStringArray", new java.lang.Integer (1)); - _methods.put ("passRichUnion", new java.lang.Integer (2)); - } - - public org.omg.CORBA.portable.OutputStream _invoke (String $method, - org.omg.CORBA.portable.InputStream in, - org.omg.CORBA.portable.ResponseHandler $rh) - { - org.omg.CORBA.portable.OutputStream out = null; - java.lang.Integer __method = (java.lang.Integer)_methods.get ($method); - if (__method == null) - throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - - switch (__method.intValue ()) - { - case 0: // org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTests/passTestStruct - { - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStruct arg = org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStructHelper.read (in); - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStruct $result = null; - $result = this.passTestStruct (arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStructHelper.write (out, $result); - break; - } - - case 1: // org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTests/passStringArray - { - String arg[][] = org.apache.tuscany.sca.binding.corba.testing.arrays_unions.StringArrayHelper.read (in); - String $result[][] = null; - $result = this.passStringArray (arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.StringArrayHelper.write (out, $result); - break; - } - - case 2: // org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTests/passRichUnion - { - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnion arg = org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnionHelper.read (in); - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnion $result = null; - $result = this.passRichUnion (arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnionHelper.write (out, $result); - break; - } - - default: - throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - } - - return out; - } // _invoke - - // Type-specific CORBA::Object operations - private static String[] __ids = { - "IDL:org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTests:1.0"}; - - public String[] _ids () - { - return (String[])__ids.clone (); - } - - -} // class _ArraysUnionsTestsImplBase diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/_ArraysUnionsTestsStub.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/_ArraysUnionsTestsStub.java deleted file mode 100644 index 38e29c0d63..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/arrays_unions/_ArraysUnionsTestsStub.java +++ /dev/null @@ -1,100 +0,0 @@ -package org.apache.tuscany.sca.binding.corba.testing.arrays_unions; - - -/** -* org/apache/tuscany/sca/binding/corba/testing/arrays_unions/_ArraysUnionsTestsStub.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from arrays_unions.idl -* niedziela, 17 sierpieñ 2008 15:45:39 CEST -*/ - -public class _ArraysUnionsTestsStub extends org.omg.CORBA.portable.ObjectImpl implements org.apache.tuscany.sca.binding.corba.testing.arrays_unions.ArraysUnionsTests -{ - - public org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStruct passTestStruct (org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStruct arg) - { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request ("passTestStruct", true); - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStructHelper.write ($out, arg); - $in = _invoke ($out); - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStruct $result = org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStructHelper.read ($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream (); - String _id = $ex.getId (); - throw new org.omg.CORBA.MARSHAL (_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return passTestStruct (arg ); - } finally { - _releaseReply ($in); - } - } // passTestStruct - - public String[][] passStringArray (String[][] arg) - { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request ("passStringArray", true); - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.StringArrayHelper.write ($out, arg); - $in = _invoke ($out); - String $result[][] = org.apache.tuscany.sca.binding.corba.testing.arrays_unions.StringArrayHelper.read ($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream (); - String _id = $ex.getId (); - throw new org.omg.CORBA.MARSHAL (_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return passStringArray (arg ); - } finally { - _releaseReply ($in); - } - } // passStringArray - - public org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnion passRichUnion (org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnion arg) - { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request ("passRichUnion", true); - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnionHelper.write ($out, arg); - $in = _invoke ($out); - org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnion $result = org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnionHelper.read ($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream (); - String _id = $ex.getId (); - throw new org.omg.CORBA.MARSHAL (_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return passRichUnion (arg ); - } finally { - _releaseReply ($in); - } - } // passRichUnion - - // Type-specific CORBA::Object operations - private static String[] __ids = { - "IDL:org/apache/tuscany/sca/binding/corba/testing/arrays_unions/ArraysUnionsTests:1.0"}; - - public String[] _ids () - { - return (String[])__ids.clone (); - } - - private void readObject (java.io.ObjectInputStream s) throws java.io.IOException - { - String str = s.readUTF (); - String[] args = null; - java.util.Properties props = null; - org.omg.CORBA.Object obj = org.omg.CORBA.ORB.init (args, props).string_to_object (str); - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl) obj)._get_delegate (); - _set_delegate (delegate); - } - - private void writeObject (java.io.ObjectOutputStream s) throws java.io.IOException - { - String[] args = null; - java.util.Properties props = null; - String str = org.omg.CORBA.ORB.init (args, props).object_to_string (this); - s.writeUTF (str); - } -} // class _ArraysUnionsTestsStub diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/Color.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/Color.java deleted file mode 100644 index e3c28f8b91..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/Color.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing.enums; - -/** -* org/apache/tuscany/sca/binding/corba/testing/enums/Color.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from enums.idl -* czwartek, 19 czerwiec 2008 15:46:10 CEST -*/ - -public class Color implements org.omg.CORBA.portable.IDLEntity { - private int __value; - private static int __size = 3; - private static org.apache.tuscany.sca.binding.corba.testing.enums.Color[] __array = - new org.apache.tuscany.sca.binding.corba.testing.enums.Color[__size]; - - public static final int _red = 0; - public static final org.apache.tuscany.sca.binding.corba.testing.enums.Color red = - new org.apache.tuscany.sca.binding.corba.testing.enums.Color(_red); - public static final int _yellow = 1; - public static final org.apache.tuscany.sca.binding.corba.testing.enums.Color yellow = - new org.apache.tuscany.sca.binding.corba.testing.enums.Color(_yellow); - public static final int _green = 2; - public static final org.apache.tuscany.sca.binding.corba.testing.enums.Color green = - new org.apache.tuscany.sca.binding.corba.testing.enums.Color(_green); - - public int value() { - return __value; - } - - public static org.apache.tuscany.sca.binding.corba.testing.enums.Color from_int(int value) { - if (value >= 0 && value < __size) - return __array[value]; - else - throw new org.omg.CORBA.BAD_PARAM(); - } - - protected Color(int value) { - __value = value; - __array[__value] = this; - } -} // class Color diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/ColorHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/ColorHelper.java deleted file mode 100644 index 775cac8e16..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/ColorHelper.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.binding.corba.testing.enums; - -/** -* org/apache/tuscany/sca/binding/corba/testing/enums/ColorHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from enums.idl -* czwartek, 19 czerwiec 2008 15:46:10 CEST -*/ - -abstract public class ColorHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/enums/Color:1.0"; - - public static void insert(org.omg.CORBA.Any a, org.apache.tuscany.sca.binding.corba.testing.enums.Color that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static org.apache.tuscany.sca.binding.corba.testing.enums.Color extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = - org.omg.CORBA.ORB.init().create_enum_tc(org.apache.tuscany.sca.binding.corba.testing.enums.ColorHelper - .id(), - "Color", - new String[] {"red", "yellow", "green"}); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static org.apache.tuscany.sca.binding.corba.testing.enums.Color read(org.omg.CORBA.portable.InputStream istream) { - return org.apache.tuscany.sca.binding.corba.testing.enums.Color.from_int(istream.read_long()); - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, - org.apache.tuscany.sca.binding.corba.testing.enums.Color value) { - ostream.write_long(value.value()); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/ColorHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/ColorHolder.java deleted file mode 100644 index 32cd9c8df6..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/ColorHolder.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.binding.corba.testing.enums; - -/** -* org/apache/tuscany/sca/binding/corba/testing/enums/ColorHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from enums.idl -* czwartek, 19 czerwiec 2008 15:46:10 CEST -*/ - -public final class ColorHolder implements org.omg.CORBA.portable.Streamable { - public org.apache.tuscany.sca.binding.corba.testing.enums.Color value = null; - - public ColorHolder() { - } - - public ColorHolder(org.apache.tuscany.sca.binding.corba.testing.enums.Color initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.enums.ColorHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.enums.ColorHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.enums.ColorHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/EnumManager.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/EnumManager.java deleted file mode 100644 index 3f73557952..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/EnumManager.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.corba.testing.enums; - -/** -* org/apache/tuscany/sca/binding/corba/testing/enums/EnumManager.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from enums.idl -* czwartek, 19 czerwiec 2008 15:46:10 CEST -*/ - -public interface EnumManager extends EnumManagerOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity { -} // interface EnumManager diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/EnumManagerHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/EnumManagerHelper.java deleted file mode 100644 index a6160a7643..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/EnumManagerHelper.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing.enums; - -/** -* org/apache/tuscany/sca/binding/corba/testing/enums/EnumManagerHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from enums.idl -* czwartek, 19 czerwiec 2008 15:46:10 CEST -*/ - -abstract public class EnumManagerHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/enums/EnumManager:1.0"; - - public static void insert(org.omg.CORBA.Any a, org.apache.tuscany.sca.binding.corba.testing.enums.EnumManager that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static org.apache.tuscany.sca.binding.corba.testing.enums.EnumManager extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = - org.omg.CORBA.ORB.init() - .create_interface_tc(org.apache.tuscany.sca.binding.corba.testing.enums.EnumManagerHelper.id(), - "EnumManager"); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static org.apache.tuscany.sca.binding.corba.testing.enums.EnumManager read(org.omg.CORBA.portable.InputStream istream) { - return narrow(istream.read_Object(_EnumManagerStub.class)); - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, - org.apache.tuscany.sca.binding.corba.testing.enums.EnumManager value) { - ostream.write_Object((org.omg.CORBA.Object)value); - } - - public static org.apache.tuscany.sca.binding.corba.testing.enums.EnumManager narrow(org.omg.CORBA.Object obj) { - if (obj == null) - return null; - else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.enums.EnumManager) - return (org.apache.tuscany.sca.binding.corba.testing.enums.EnumManager)obj; - else if (!obj._is_a(id())) - throw new org.omg.CORBA.BAD_PARAM(); - else { - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - org.apache.tuscany.sca.binding.corba.testing.enums._EnumManagerStub stub = - new org.apache.tuscany.sca.binding.corba.testing.enums._EnumManagerStub(); - stub._set_delegate(delegate); - return stub; - } - } - - public static org.apache.tuscany.sca.binding.corba.testing.enums.EnumManager unchecked_narrow(org.omg.CORBA.Object obj) { - if (obj == null) - return null; - else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.enums.EnumManager) - return (org.apache.tuscany.sca.binding.corba.testing.enums.EnumManager)obj; - else { - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - org.apache.tuscany.sca.binding.corba.testing.enums._EnumManagerStub stub = - new org.apache.tuscany.sca.binding.corba.testing.enums._EnumManagerStub(); - stub._set_delegate(delegate); - return stub; - } - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/EnumManagerHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/EnumManagerHolder.java deleted file mode 100644 index 6afa6bc806..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/EnumManagerHolder.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.binding.corba.testing.enums; - -/** -* org/apache/tuscany/sca/binding/corba/testing/enums/EnumManagerHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from enums.idl -* czwartek, 19 czerwiec 2008 15:46:10 CEST -*/ - -public final class EnumManagerHolder implements org.omg.CORBA.portable.Streamable { - public org.apache.tuscany.sca.binding.corba.testing.enums.EnumManager value = null; - - public EnumManagerHolder() { - } - - public EnumManagerHolder(org.apache.tuscany.sca.binding.corba.testing.enums.EnumManager initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.enums.EnumManagerHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.enums.EnumManagerHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.enums.EnumManagerHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/EnumManagerOperations.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/EnumManagerOperations.java deleted file mode 100644 index bab0c27f77..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/EnumManagerOperations.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.binding.corba.testing.enums; - -/** -* org/apache/tuscany/sca/binding/corba/testing/enums/EnumManagerOperations.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from enums.idl -* czwartek, 19 czerwiec 2008 15:46:10 CEST -*/ - -public interface EnumManagerOperations { - - org.apache.tuscany.sca.binding.corba.testing.enums.Color getColor(org.apache.tuscany.sca.binding.corba.testing.enums.Color color); -} // interface EnumManagerOperations diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/_EnumManagerImplBase.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/_EnumManagerImplBase.java deleted file mode 100644 index 514627ff4b..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/_EnumManagerImplBase.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.binding.corba.testing.enums; - -/** -* org/apache/tuscany/sca/binding/corba/testing/enums/_EnumManagerImplBase.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from enums.idl -* czwartek, 19 czerwiec 2008 15:46:10 CEST -*/ - -public abstract class _EnumManagerImplBase extends org.omg.CORBA.portable.ObjectImpl implements - org.apache.tuscany.sca.binding.corba.testing.enums.EnumManager, org.omg.CORBA.portable.InvokeHandler { - - // Constructors - public _EnumManagerImplBase() { - } - - private static java.util.Hashtable _methods = new java.util.Hashtable(); - static { - _methods.put("getColor", new java.lang.Integer(0)); - } - - public org.omg.CORBA.portable.OutputStream _invoke(String $method, - org.omg.CORBA.portable.InputStream in, - org.omg.CORBA.portable.ResponseHandler $rh) { - org.omg.CORBA.portable.OutputStream out = null; - java.lang.Integer __method = (java.lang.Integer)_methods.get($method); - if (__method == null) - throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - - switch (__method.intValue()) { - case 0: // org/apache/tuscany/sca/binding/corba/testing/enums/EnumManager/getColor - { - org.apache.tuscany.sca.binding.corba.testing.enums.Color color = - org.apache.tuscany.sca.binding.corba.testing.enums.ColorHelper.read(in); - org.apache.tuscany.sca.binding.corba.testing.enums.Color $result = null; - $result = this.getColor(color); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.enums.ColorHelper.write(out, $result); - break; - } - - default: - throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - } - - return out; - } // _invoke - - // Type-specific CORBA::Object operations - private static String[] __ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/enums/EnumManager:1.0"}; - - @Override - public String[] _ids() { - return (String[])__ids.clone(); - } - -} // class _EnumManagerImplBase diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/_EnumManagerStub.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/_EnumManagerStub.java deleted file mode 100644 index 4629ca9cff..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/enums/_EnumManagerStub.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.corba.testing.enums; - -/** -* org/apache/tuscany/sca/binding/corba/testing/enums/_EnumManagerStub.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from enums.idl -* czwartek, 19 czerwiec 2008 15:46:10 CEST -*/ - -public class _EnumManagerStub extends org.omg.CORBA.portable.ObjectImpl implements - org.apache.tuscany.sca.binding.corba.testing.enums.EnumManager { - - public org.apache.tuscany.sca.binding.corba.testing.enums.Color getColor(org.apache.tuscany.sca.binding.corba.testing.enums.Color color) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("getColor", true); - org.apache.tuscany.sca.binding.corba.testing.enums.ColorHelper.write($out, color); - $in = _invoke($out); - org.apache.tuscany.sca.binding.corba.testing.enums.Color $result = - org.apache.tuscany.sca.binding.corba.testing.enums.ColorHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return getColor(color); - } finally { - _releaseReply($in); - } - } // getColor - - // Type-specific CORBA::Object operations - private static String[] __ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/enums/EnumManager:1.0"}; - - @Override - public String[] _ids() { - return (String[])__ids.clone(); - } - - private void readObject(java.io.ObjectInputStream s) throws java.io.IOException { - String str = s.readUTF(); - String[] args = null; - java.util.Properties props = null; - org.omg.CORBA.Object obj = org.omg.CORBA.ORB.init(args, props).string_to_object(str); - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - _set_delegate(delegate); - } - - private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException { - String[] args = null; - java.util.Properties props = null; - String str = org.omg.CORBA.ORB.init(args, props).object_to_string(this); - s.writeUTF(str); - } -} // class _EnumManagerStub diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc.java deleted file mode 100644 index aa480f93ac..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc.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.corba.testing.exceptions; - -/** -* org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from exceptions.idl -* sobota, 7 czerwiec 2008 16:12:31 CEST -*/ - -public interface Calc extends CalcOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity { -} // interface Calc diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHelper.java deleted file mode 100644 index 5ed36ca19b..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHelper.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing.exceptions; - -/** -* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from exceptions.idl -* sobota, 7 czerwiec 2008 16:12:31 CEST -*/ - -abstract public class CalcHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc:1.0"; - - public static void insert(org.omg.CORBA.Any a, org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = - org.omg.CORBA.ORB.init() - .create_interface_tc(org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcHelper.id(), - "Calc"); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc read(org.omg.CORBA.portable.InputStream istream) { - return narrow(istream.read_Object(_CalcStub.class)); - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, - org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc value) { - ostream.write_Object((org.omg.CORBA.Object)value); - } - - public static org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc narrow(org.omg.CORBA.Object obj) { - if (obj == null) - return null; - else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc) - return (org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc)obj; - else if (!obj._is_a(id())) - throw new org.omg.CORBA.BAD_PARAM(); - else { - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - org.apache.tuscany.sca.binding.corba.testing.exceptions._CalcStub stub = - new org.apache.tuscany.sca.binding.corba.testing.exceptions._CalcStub(); - stub._set_delegate(delegate); - return stub; - } - } - - public static org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc unchecked_narrow(org.omg.CORBA.Object obj) { - if (obj == null) - return null; - else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc) - return (org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc)obj; - else { - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - org.apache.tuscany.sca.binding.corba.testing.exceptions._CalcStub stub = - new org.apache.tuscany.sca.binding.corba.testing.exceptions._CalcStub(); - stub._set_delegate(delegate); - return stub; - } - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHolder.java deleted file mode 100644 index ec1cfadd1e..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHolder.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.binding.corba.testing.exceptions; - -/** -* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from exceptions.idl -* sobota, 7 czerwiec 2008 16:12:31 CEST -*/ - -public final class CalcHolder implements org.omg.CORBA.portable.Streamable { - public org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc value = null; - - public CalcHolder() { - } - - public CalcHolder(org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcOperations.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcOperations.java deleted file mode 100644 index 29865ace06..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcOperations.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.corba.testing.exceptions; - -/** -* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcOperations.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from exceptions.idl -* sobota, 7 czerwiec 2008 16:12:31 CEST -*/ - -public interface CalcOperations { - double div(double arg1, double arg2) - throws org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero; - - double divForSmallArgs(double arg1, double arg2) - throws org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero, - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported; -} // interface CalcOperations diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/Arguments.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/Arguments.java deleted file mode 100644 index d7839ec4db..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/Arguments.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.corba.testing.exceptions.CalcPackage; - -/** -* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/Arguments.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from exceptions.idl -* sobota, 7 czerwiec 2008 16:12:31 CEST -*/ - -public final class Arguments implements org.omg.CORBA.portable.IDLEntity { - public double arg1 = (double)0; - public double arg2 = (double)0; - - public Arguments() { - } // ctor - - public Arguments(double _arg1, double _arg2) { - arg1 = _arg1; - arg2 = _arg2; - } // ctor - -} // class Arguments diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHelper.java deleted file mode 100644 index c47d63208f..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHelper.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing.exceptions.CalcPackage; - -/** -* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from exceptions.idl -* sobota, 7 czerwiec 2008 16:12:31 CEST -*/ - -abstract public class ArgumentsHelper { - private static String _id = - "IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc/Arguments/Arguments:1.0"; - - public static void insert(org.omg.CORBA.Any a, - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - private static boolean __active = false; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - synchronized (org.omg.CORBA.TypeCode.class) { - if (__typeCode == null) { - if (__active) { - return org.omg.CORBA.ORB.init().create_recursive_tc(_id); - } - __active = true; - org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember[2]; - org.omg.CORBA.TypeCode _tcOf_members0 = null; - _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_double); - _members0[0] = new org.omg.CORBA.StructMember("arg1", _tcOf_members0, null); - _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_double); - _members0[1] = new org.omg.CORBA.StructMember("arg2", _tcOf_members0, null); - __typeCode = - org.omg.CORBA.ORB - .init() - .create_struct_tc(org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.ArgumentsHelper - .id(), - "Arguments", - _members0); - __active = false; - } - } - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments read(org.omg.CORBA.portable.InputStream istream) { - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments value = - new org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments(); - value.arg1 = istream.read_double(); - value.arg2 = istream.read_double(); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments value) { - ostream.write_double(value.arg1); - ostream.write_double(value.arg2); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHolder.java deleted file mode 100644 index f767e8c11a..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHolder.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.binding.corba.testing.exceptions.CalcPackage; - -/** -* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/ArgumentsHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from exceptions.idl -* sobota, 7 czerwiec 2008 16:12:31 CEST -*/ - -public final class ArgumentsHolder implements org.omg.CORBA.portable.Streamable { - public org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments value = null; - - public ArgumentsHolder() { - } - - public ArgumentsHolder(org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.ArgumentsHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.ArgumentsHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.ArgumentsHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZero.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZero.java deleted file mode 100644 index e7cbb4b8ca..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZero.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing.exceptions.CalcPackage; - -/** -* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZero.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from exceptions.idl -* sobota, 7 czerwiec 2008 16:12:31 CEST -*/ - -public final class DivByZero extends org.omg.CORBA.UserException { - public org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments arguments = null; - public String info = null; - - public DivByZero() { - super(DivByZeroHelper.id()); - } // ctor - - public DivByZero(org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments _arguments, - String _info) { - super(DivByZeroHelper.id()); - arguments = _arguments; - info = _info; - } // ctor - - public DivByZero(String $reason, - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments _arguments, - String _info) { - super(DivByZeroHelper.id() + " " + $reason); - arguments = _arguments; - info = _info; - } // ctor - -} // class DivByZero diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHelper.java deleted file mode 100644 index 5d27f9969c..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHelper.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.binding.corba.testing.exceptions.CalcPackage; - -/** -* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from exceptions.idl -* sobota, 7 czerwiec 2008 16:12:31 CEST -*/ - -abstract public class DivByZeroHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc/DivByZero:1.0"; - - public static void insert(org.omg.CORBA.Any a, - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - private static boolean __active = false; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - synchronized (org.omg.CORBA.TypeCode.class) { - if (__typeCode == null) { - if (__active) { - return org.omg.CORBA.ORB.init().create_recursive_tc(_id); - } - __active = true; - org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember[2]; - org.omg.CORBA.TypeCode _tcOf_members0 = null; - _tcOf_members0 = - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.ArgumentsHelper.type(); - _members0[0] = new org.omg.CORBA.StructMember("arguments", _tcOf_members0, null); - _tcOf_members0 = org.omg.CORBA.ORB.init().create_string_tc(0); - _members0[1] = new org.omg.CORBA.StructMember("info", _tcOf_members0, null); - __typeCode = - org.omg.CORBA.ORB - .init() - .create_exception_tc(org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZeroHelper - .id(), - "DivByZero", - _members0); - __active = false; - } - } - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero read(org.omg.CORBA.portable.InputStream istream) { - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero value = - new org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero(); - // read and discard the repository ID - istream.read_string(); - value.arguments = - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.ArgumentsHelper.read(istream); - value.info = istream.read_string(); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero value) { - // write the repository ID - ostream.write_string(id()); - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.ArgumentsHelper.write(ostream, - value.arguments); - ostream.write_string(value.info); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHolder.java deleted file mode 100644 index ab01c66675..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHolder.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.binding.corba.testing.exceptions.CalcPackage; - -/** -* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/DivByZeroHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from exceptions.idl -* sobota, 7 czerwiec 2008 16:12:31 CEST -*/ - -public final class DivByZeroHolder implements org.omg.CORBA.portable.Streamable { - public org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero value = null; - - public DivByZeroHolder() { - } - - public DivByZeroHolder(org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZeroHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZeroHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZeroHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupported.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupported.java deleted file mode 100644 index f4ea58e55e..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupported.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.corba.testing.exceptions.CalcPackage; - -/** -* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupported.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from exceptions.idl -* sobota, 7 czerwiec 2008 16:12:31 CEST -*/ - -public final class NotSupported extends org.omg.CORBA.UserException { - public String info = null; - - public NotSupported() { - super(NotSupportedHelper.id()); - } // ctor - - public NotSupported(String _info) { - super(NotSupportedHelper.id()); - info = _info; - } // ctor - - public NotSupported(String $reason, String _info) { - super(NotSupportedHelper.id() + " " + $reason); - info = _info; - } // ctor - -} // class NotSupported diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHelper.java deleted file mode 100644 index 82609a36c1..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHelper.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.corba.testing.exceptions.CalcPackage; - -/** -* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from exceptions.idl -* sobota, 7 czerwiec 2008 16:12:31 CEST -*/ - -abstract public class NotSupportedHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc/NotSupported:1.0"; - - public static void insert(org.omg.CORBA.Any a, - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - private static boolean __active = false; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - synchronized (org.omg.CORBA.TypeCode.class) { - if (__typeCode == null) { - if (__active) { - return org.omg.CORBA.ORB.init().create_recursive_tc(_id); - } - __active = true; - org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember[1]; - org.omg.CORBA.TypeCode _tcOf_members0 = null; - _tcOf_members0 = org.omg.CORBA.ORB.init().create_string_tc(0); - _members0[0] = new org.omg.CORBA.StructMember("info", _tcOf_members0, null); - __typeCode = - org.omg.CORBA.ORB - .init() - .create_exception_tc(org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupportedHelper - .id(), - "NotSupported", - _members0); - __active = false; - } - } - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported read(org.omg.CORBA.portable.InputStream istream) { - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported value = - new org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported(); - // read and discard the repository ID - istream.read_string(); - value.info = istream.read_string(); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported value) { - // write the repository ID - ostream.write_string(id()); - ostream.write_string(value.info); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHolder.java deleted file mode 100644 index 1389bd33d9..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHolder.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.binding.corba.testing.exceptions.CalcPackage; - -/** -* org/apache/tuscany/sca/binding/corba/testing/exceptions/CalcPackage/NotSupportedHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from exceptions.idl -* sobota, 7 czerwiec 2008 16:12:31 CEST -*/ - -public final class NotSupportedHolder implements org.omg.CORBA.portable.Streamable { - public org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported value = null; - - public NotSupportedHolder() { - } - - public NotSupportedHolder(org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupportedHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupportedHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupportedHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcImplBase.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcImplBase.java deleted file mode 100644 index a73e252129..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcImplBase.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing.exceptions; - -/** -* org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcImplBase.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from exceptions.idl -* sobota, 7 czerwiec 2008 16:12:31 CEST -*/ - -public abstract class _CalcImplBase extends org.omg.CORBA.portable.ObjectImpl implements - org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc, org.omg.CORBA.portable.InvokeHandler { - - // Constructors - public _CalcImplBase() { - } - - private static java.util.Hashtable _methods = new java.util.Hashtable(); - static { - _methods.put("div", new java.lang.Integer(0)); - _methods.put("divForSmallArgs", new java.lang.Integer(1)); - } - - public org.omg.CORBA.portable.OutputStream _invoke(String $method, - org.omg.CORBA.portable.InputStream in, - org.omg.CORBA.portable.ResponseHandler $rh) { - org.omg.CORBA.portable.OutputStream out = null; - java.lang.Integer __method = (java.lang.Integer)_methods.get($method); - if (__method == null) - throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - - switch (__method.intValue()) { - case 0: // org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc/div - { - try { - double arg1 = in.read_double(); - double arg2 = in.read_double(); - double $result = (double)0; - $result = this.div(arg1, arg2); - out = $rh.createReply(); - out.write_double($result); - } catch (org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero $ex) { - out = $rh.createExceptionReply(); - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZeroHelper.write(out, $ex); - } - break; - } - - case 1: // org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc/divForSmallArgs - { - try { - double arg1 = in.read_double(); - double arg2 = in.read_double(); - double $result = (double)0; - $result = this.divForSmallArgs(arg1, arg2); - out = $rh.createReply(); - out.write_double($result); - } catch (org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero $ex) { - out = $rh.createExceptionReply(); - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZeroHelper.write(out, $ex); - } catch (org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported $ex) { - out = $rh.createExceptionReply(); - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupportedHelper.write(out, - $ex); - } - break; - } - - default: - throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - } - - return out; - } // _invoke - - // Type-specific CORBA::Object operations - private static String[] __ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc:1.0"}; - - @Override - public String[] _ids() { - return (String[])__ids.clone(); - } - -} // class _CalcImplBase diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcStub.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcStub.java deleted file mode 100644 index 65ce051129..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcStub.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.binding.corba.testing.exceptions; - -/** -* org/apache/tuscany/sca/binding/corba/testing/exceptions/_CalcStub.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from exceptions.idl -* sobota, 7 czerwiec 2008 16:12:31 CEST -*/ - -public class _CalcStub extends org.omg.CORBA.portable.ObjectImpl implements - org.apache.tuscany.sca.binding.corba.testing.exceptions.Calc { - - public double div(double arg1, double arg2) - throws org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("div", true); - $out.write_double(arg1); - $out.write_double(arg2); - $in = _invoke($out); - double $result = $in.read_double(); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - if (_id.equals("IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc/DivByZero:1.0")) - throw org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZeroHelper.read($in); - else - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return div(arg1, arg2); - } finally { - _releaseReply($in); - } - } // div - - public double divForSmallArgs(double arg1, double arg2) - throws org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero, - org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("divForSmallArgs", true); - $out.write_double(arg1); - $out.write_double(arg2); - $in = _invoke($out); - double $result = $in.read_double(); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - if (_id.equals("IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc/DivByZero:1.0")) - throw org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZeroHelper.read($in); - else if (_id.equals("IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc/NotSupported:1.0")) - throw org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupportedHelper.read($in); - else - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return divForSmallArgs(arg1, arg2); - } finally { - _releaseReply($in); - } - } // divForSmallArgs - - // Type-specific CORBA::Object operations - private static String[] __ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/exceptions/Calc:1.0"}; - - @Override - public String[] _ids() { - return (String[])__ids.clone(); - } - - private void readObject(java.io.ObjectInputStream s) throws java.io.IOException { - String str = s.readUTF(); - String[] args = null; - java.util.Properties props = null; - org.omg.CORBA.Object obj = org.omg.CORBA.ORB.init(args, props).string_to_object(str); - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - _set_delegate(delegate); - } - - private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException { - String[] args = null; - java.util.Properties props = null; - String str = org.omg.CORBA.ORB.init(args, props).object_to_string(this); - s.writeUTF(str); - } -} // class _CalcStub diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter.java deleted file mode 100644 index fde204edf8..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -public interface ArraysSetter extends ArraysSetterOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity { -} // interface ArraysSetter diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHelper.java deleted file mode 100644 index 71b4fbbdb6..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHelper.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -abstract public class ArraysSetterHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter:1.0"; - - public static void insert(org.omg.CORBA.Any a, - org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = - org.omg.CORBA.ORB - .init() - .create_interface_tc(org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetterHelper.id(), - "ArraysSetter"); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter read(org.omg.CORBA.portable.InputStream istream) { - return narrow(istream.read_Object(_ArraysSetterStub.class)); - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, - org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter value) { - ostream.write_Object((org.omg.CORBA.Object)value); - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter narrow(org.omg.CORBA.Object obj) { - if (obj == null) - return null; - else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter) - return (org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter)obj; - else if (!obj._is_a(id())) - throw new org.omg.CORBA.BAD_PARAM(); - else { - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - org.apache.tuscany.sca.binding.corba.testing.generated._ArraysSetterStub stub = - new org.apache.tuscany.sca.binding.corba.testing.generated._ArraysSetterStub(); - stub._set_delegate(delegate); - return stub; - } - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter unchecked_narrow(org.omg.CORBA.Object obj) { - if (obj == null) - return null; - else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter) - return (org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter)obj; - else { - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - org.apache.tuscany.sca.binding.corba.testing.generated._ArraysSetterStub stub = - new org.apache.tuscany.sca.binding.corba.testing.generated._ArraysSetterStub(); - stub._set_delegate(delegate); - return stub; - } - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHolder.java deleted file mode 100644 index d758a560a9..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHolder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -public final class ArraysSetterHolder implements org.omg.CORBA.portable.Streamable { - public org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter value = null; - - public ArraysSetterHolder() { - } - - public ArraysSetterHolder(org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetterHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetterHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetterHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterOperations.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterOperations.java deleted file mode 100644 index 464c2ccbc3..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterOperations.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetterOperations.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -public interface ArraysSetterOperations { - boolean[] setBoolean(boolean[] arg); - - char[] setChar(char[] arg); - - char[] setWchar(char[] arg); - - byte[] setOctet(byte[] arg); - - short[] setShort(short[] arg); - - short[] setUnsignedShort(short[] arg); - - int[] setLong(int[] arg); - - int[] setUnsignedLong(int[] arg); - - long[] setLongLong(long[] arg); - - long[] setUnsignedLongLong(long[] arg); - - float[] setFloat(float[] arg); - - double[] setDouble(double[] arg); - - String[] setString(String[] arg); - - String[] setWstring(String[] arg); - - org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject[] setRemoteObject(org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject[] obj); -} // interface ArraysSetterOperations diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter.java deleted file mode 100644 index c053f12a02..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public interface PrimitivesSetter extends PrimitivesSetterOperations, org.omg.CORBA.Object, - org.omg.CORBA.portable.IDLEntity { -} // interface PrimitivesSetter diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHelper.java deleted file mode 100644 index 566689960e..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHelper.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -abstract public class PrimitivesSetterHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter:1.0"; - - public static void insert(org.omg.CORBA.Any a, - org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = - org.omg.CORBA.ORB.init() - .create_interface_tc(org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetterHelper - .id(), - "PrimitivesSetter"); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter read(org.omg.CORBA.portable.InputStream istream) { - return narrow(istream.read_Object(_PrimitivesSetterStub.class)); - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, - org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter value) { - ostream.write_Object((org.omg.CORBA.Object)value); - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter narrow(org.omg.CORBA.Object obj) { - if (obj == null) - return null; - else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter) - return (org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter)obj; - else if (!obj._is_a(id())) - throw new org.omg.CORBA.BAD_PARAM(); - else { - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - org.apache.tuscany.sca.binding.corba.testing.generated._PrimitivesSetterStub stub = - new org.apache.tuscany.sca.binding.corba.testing.generated._PrimitivesSetterStub(); - stub._set_delegate(delegate); - return stub; - } - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter unchecked_narrow(org.omg.CORBA.Object obj) { - if (obj == null) - return null; - else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter) - return (org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter)obj; - else { - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - org.apache.tuscany.sca.binding.corba.testing.generated._PrimitivesSetterStub stub = - new org.apache.tuscany.sca.binding.corba.testing.generated._PrimitivesSetterStub(); - stub._set_delegate(delegate); - return stub; - } - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHolder.java deleted file mode 100644 index 6564957081..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHolder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public final class PrimitivesSetterHolder implements org.omg.CORBA.portable.Streamable { - public org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter value = null; - - public PrimitivesSetterHolder() { - } - - public PrimitivesSetterHolder(org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetterHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetterHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetterHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterOperations.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterOperations.java deleted file mode 100644 index 26669de95a..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterOperations.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetterOperations.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public interface PrimitivesSetterOperations { - boolean setBoolean(boolean arg); - - char setChar(char arg); - - char setWchar(char arg); - - byte setOctet(byte arg); - - short setShort(short arg); - - short setUnsignedShort(short arg); - - int setLong(int arg); - - int setUnsignedLong(int arg); - - long setLongLong(long arg); - - long setUnsignedLongLong(long arg); - - float setFloat(float arg); - - double setDouble(double arg); - - String setString(String arg); - - String setWstring(String arg); - - org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject setRemoteObject(org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject obj); -} // interface PrimitivesSetterOperations diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObject.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObject.java deleted file mode 100644 index 5a140f5ecc..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObject.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObject.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public interface RemoteObject extends RemoteObjectOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity { -} // interface RemoteObject diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHelper.java deleted file mode 100644 index 2a8fe73417..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHelper.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -abstract public class RemoteObjectHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObject:1.0"; - - public static void insert(org.omg.CORBA.Any a, - org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = - org.omg.CORBA.ORB - .init() - .create_interface_tc(org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.id(), - "RemoteObject"); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject read(org.omg.CORBA.portable.InputStream istream) { - return narrow(istream.read_Object(_RemoteObjectStub.class)); - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, - org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject value) { - ostream.write_Object((org.omg.CORBA.Object)value); - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject narrow(org.omg.CORBA.Object obj) { - if (obj == null) - return null; - else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject) - return (org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject)obj; - else if (!obj._is_a(id())) - throw new org.omg.CORBA.BAD_PARAM(); - else { - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - org.apache.tuscany.sca.binding.corba.testing.generated._RemoteObjectStub stub = - new org.apache.tuscany.sca.binding.corba.testing.generated._RemoteObjectStub(); - stub._set_delegate(delegate); - return stub; - } - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject unchecked_narrow(org.omg.CORBA.Object obj) { - if (obj == null) - return null; - else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject) - return (org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject)obj; - else { - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - org.apache.tuscany.sca.binding.corba.testing.generated._RemoteObjectStub stub = - new org.apache.tuscany.sca.binding.corba.testing.generated._RemoteObjectStub(); - stub._set_delegate(delegate); - return stub; - } - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHolder.java deleted file mode 100644 index 63e3926dd2..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHolder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public final class RemoteObjectHolder implements org.omg.CORBA.portable.Streamable { - public org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject value = null; - - public RemoteObjectHolder() { - } - - public RemoteObjectHolder(org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectOperations.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectOperations.java deleted file mode 100644 index a8231236eb..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectOperations.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObjectOperations.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public interface RemoteObjectOperations { -} // interface RemoteObjectOperations diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStruct.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStruct.java deleted file mode 100644 index ca86420240..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStruct.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStruct.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public final class SimpleStruct implements org.omg.CORBA.portable.IDLEntity { - public String field1 = null; - public int field2 = (int)0; - - public SimpleStruct() { - } // ctor - - public SimpleStruct(String _field1, int _field2) { - field1 = _field1; - field2 = _field2; - } // ctor - -} // class SimpleStruct diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHelper.java deleted file mode 100644 index 2a8898d38f..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHelper.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -abstract public class SimpleStructHelper { - private static String _id = - "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStruct/SimpleStruct:1.0"; - - public static void insert(org.omg.CORBA.Any a, - org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - private static boolean __active = false; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - synchronized (org.omg.CORBA.TypeCode.class) { - if (__typeCode == null) { - if (__active) { - return org.omg.CORBA.ORB.init().create_recursive_tc(_id); - } - __active = true; - org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember[2]; - org.omg.CORBA.TypeCode _tcOf_members0 = null; - _tcOf_members0 = org.omg.CORBA.ORB.init().create_string_tc(0); - _members0[0] = new org.omg.CORBA.StructMember("field1", _tcOf_members0, null); - _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); - _members0[1] = new org.omg.CORBA.StructMember("field2", _tcOf_members0, null); - __typeCode = - org.omg.CORBA.ORB.init() - .create_struct_tc(org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper - .id(), - "SimpleStruct", - _members0); - __active = false; - } - } - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct read(org.omg.CORBA.portable.InputStream istream) { - org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct value = - new org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct(); - value.field1 = istream.read_string(); - value.field2 = istream.read_long(); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, - org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct value) { - ostream.write_string(value.field1); - ostream.write_long(value.field2); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHolder.java deleted file mode 100644 index bed30e00ca..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHolder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/SimpleStructHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public final class SimpleStructHolder implements org.omg.CORBA.portable.Streamable { - public org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct value = null; - - public SimpleStructHolder() { - } - - public SimpleStructHolder(org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStruct.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStruct.java deleted file mode 100644 index 73dbd6c198..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStruct.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/SomeStruct.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public final class SomeStruct implements org.omg.CORBA.portable.IDLEntity { - public org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct innerStruct = null; - public String str = null; - public String str_list[] = null; - public int twoDimSeq[][] = null; - public int threeDimSeq[][][] = null; - - public SomeStruct() { - } // ctor - - public SomeStruct(org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct _innerStruct, - String _str, - String[] _str_list, - int[][] _twoDimSeq, - int[][][] _threeDimSeq) { - innerStruct = _innerStruct; - str = _str; - str_list = _str_list; - twoDimSeq = _twoDimSeq; - threeDimSeq = _threeDimSeq; - } // ctor - -} // class SomeStruct diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHelper.java deleted file mode 100644 index 8f524ffeb1..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHelper.java +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -abstract public class SomeStructHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/SomeStruct/SomeStruct:1.0"; - - public static void insert(org.omg.CORBA.Any a, - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - private static boolean __active = false; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - synchronized (org.omg.CORBA.TypeCode.class) { - if (__typeCode == null) { - if (__active) { - return org.omg.CORBA.ORB.init().create_recursive_tc(_id); - } - __active = true; - org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember[5]; - org.omg.CORBA.TypeCode _tcOf_members0 = null; - _tcOf_members0 = org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.type(); - _members0[0] = new org.omg.CORBA.StructMember("innerStruct", _tcOf_members0, null); - _tcOf_members0 = org.omg.CORBA.ORB.init().create_string_tc(0); - _members0[1] = new org.omg.CORBA.StructMember("str", _tcOf_members0, null); - _tcOf_members0 = org.omg.CORBA.ORB.init().create_string_tc(0); - _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); - _tcOf_members0 = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper - .id(), - "string_list", - _tcOf_members0); - _members0[2] = new org.omg.CORBA.StructMember("str_list", _tcOf_members0, null); - _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); - _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); - _tcOf_members0 = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper - .id(), - "long_seq1", - _tcOf_members0); - _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); - _tcOf_members0 = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper - .id(), - "long_seq2", - _tcOf_members0); - _members0[3] = new org.omg.CORBA.StructMember("twoDimSeq", _tcOf_members0, null); - _tcOf_members0 = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); - _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); - _tcOf_members0 = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper - .id(), - "long_seq1", - _tcOf_members0); - _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); - _tcOf_members0 = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper - .id(), - "long_seq2", - _tcOf_members0); - _tcOf_members0 = org.omg.CORBA.ORB.init().create_sequence_tc(0, _tcOf_members0); - _tcOf_members0 = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper - .id(), - "long_seq3", - _tcOf_members0); - _members0[4] = new org.omg.CORBA.StructMember("threeDimSeq", _tcOf_members0, null); - __typeCode = - org.omg.CORBA.ORB.init() - .create_struct_tc(org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper - .id(), - "SomeStruct", - _members0); - __active = false; - } - } - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct read(org.omg.CORBA.portable.InputStream istream) { - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct value = - new org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct(); - value.innerStruct = org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.read(istream); - value.str = istream.read_string(); - value.str_list = org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper.read(istream); - value.twoDimSeq = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.read(istream); - value.threeDimSeq = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.read(istream); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct value) { - org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.write(ostream, value.innerStruct); - ostream.write_string(value.str); - org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper.write(ostream, value.str_list); - org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.write(ostream, value.twoDimSeq); - org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.write(ostream, value.threeDimSeq); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHolder.java deleted file mode 100644 index 3231a136dc..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHolder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/SomeStructHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public final class SomeStructHolder implements org.omg.CORBA.portable.Streamable { - public org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct value = null; - - public SomeStructHolder() { - } - - public SomeStructHolder(org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObject.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObject.java deleted file mode 100644 index 28d3ecdc91..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObject.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/TestObject.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public interface TestObject extends TestObjectOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity { -} // interface TestObject diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHelper.java deleted file mode 100644 index 29ff2edfd2..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHelper.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -abstract public class TestObjectHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/TestObject:1.0"; - - public static void insert(org.omg.CORBA.Any a, - org.apache.tuscany.sca.binding.corba.testing.generated.TestObject that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.TestObject extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = - org.omg.CORBA.ORB.init() - .create_interface_tc(org.apache.tuscany.sca.binding.corba.testing.generated.TestObjectHelper.id(), - "TestObject"); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.TestObject read(org.omg.CORBA.portable.InputStream istream) { - return narrow(istream.read_Object(_TestObjectStub.class)); - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, - org.apache.tuscany.sca.binding.corba.testing.generated.TestObject value) { - ostream.write_Object((org.omg.CORBA.Object)value); - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.TestObject narrow(org.omg.CORBA.Object obj) { - if (obj == null) - return null; - else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.generated.TestObject) - return (org.apache.tuscany.sca.binding.corba.testing.generated.TestObject)obj; - else if (!obj._is_a(id())) - throw new org.omg.CORBA.BAD_PARAM(); - else { - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - org.apache.tuscany.sca.binding.corba.testing.generated._TestObjectStub stub = - new org.apache.tuscany.sca.binding.corba.testing.generated._TestObjectStub(); - stub._set_delegate(delegate); - return stub; - } - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.TestObject unchecked_narrow(org.omg.CORBA.Object obj) { - if (obj == null) - return null; - else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.generated.TestObject) - return (org.apache.tuscany.sca.binding.corba.testing.generated.TestObject)obj; - else { - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - org.apache.tuscany.sca.binding.corba.testing.generated._TestObjectStub stub = - new org.apache.tuscany.sca.binding.corba.testing.generated._TestObjectStub(); - stub._set_delegate(delegate); - return stub; - } - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHolder.java deleted file mode 100644 index b8aea13c8d..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHolder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public final class TestObjectHolder implements org.omg.CORBA.portable.Streamable { - public org.apache.tuscany.sca.binding.corba.testing.generated.TestObject value = null; - - public TestObjectHolder() { - } - - public TestObjectHolder(org.apache.tuscany.sca.binding.corba.testing.generated.TestObject initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.TestObjectHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.TestObjectHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.TestObjectHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectOperations.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectOperations.java deleted file mode 100644 index 0bacb6746a..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectOperations.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/TestObjectOperations.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public interface TestObjectOperations { - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct pickStructFromArgs(org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct arg1, - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct arg2, - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct arg3, - int structNumber); - - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct setStruct(org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct arg); - - org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct setSimpleStruct(org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHolder arg); - - int[] setLongSeq1(org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Holder arg); - - int[][] setLongSeq2(org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Holder arg); - - int[][][] setLongSeq3(org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Holder arg); -} // interface TestObjectOperations diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterImplBase.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterImplBase.java deleted file mode 100644 index c6e8c2a4e0..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterImplBase.java +++ /dev/null @@ -1,232 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterImplBase.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -public abstract class _ArraysSetterImplBase extends org.omg.CORBA.portable.ObjectImpl implements - org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter, org.omg.CORBA.portable.InvokeHandler { - - // Constructors - public _ArraysSetterImplBase() { - } - - private static java.util.Hashtable _methods = new java.util.Hashtable(); - static { - _methods.put("setBoolean", new java.lang.Integer(0)); - _methods.put("setChar", new java.lang.Integer(1)); - _methods.put("setWchar", new java.lang.Integer(2)); - _methods.put("setOctet", new java.lang.Integer(3)); - _methods.put("setShort", new java.lang.Integer(4)); - _methods.put("setUnsignedShort", new java.lang.Integer(5)); - _methods.put("setLong", new java.lang.Integer(6)); - _methods.put("setUnsignedLong", new java.lang.Integer(7)); - _methods.put("setLongLong", new java.lang.Integer(8)); - _methods.put("setUnsignedLongLong", new java.lang.Integer(9)); - _methods.put("setFloat", new java.lang.Integer(10)); - _methods.put("setDouble", new java.lang.Integer(11)); - _methods.put("setString", new java.lang.Integer(12)); - _methods.put("setWstring", new java.lang.Integer(13)); - _methods.put("setRemoteObject", new java.lang.Integer(14)); - } - - public org.omg.CORBA.portable.OutputStream _invoke(String $method, - org.omg.CORBA.portable.InputStream in, - org.omg.CORBA.portable.ResponseHandler $rh) { - org.omg.CORBA.portable.OutputStream out = null; - java.lang.Integer __method = (java.lang.Integer)_methods.get($method); - if (__method == null) - throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - - switch (__method.intValue()) { - case 0: // org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter/setBoolean - { - boolean arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.boolean_listHelper.read(in); - boolean $result[] = null; - $result = this.setBoolean(arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.boolean_listHelper.write(out, $result); - break; - } - - case 1: // org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter/setChar - { - char arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.char_listHelper.read(in); - char $result[] = null; - $result = this.setChar(arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.char_listHelper.write(out, $result); - break; - } - - case 2: // org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter/setWchar - { - char arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.wchar_listHelper.read(in); - char $result[] = null; - $result = this.setWchar(arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.wchar_listHelper.write(out, $result); - break; - } - - case 3: // org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter/setOctet - { - byte arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.octet_listHelper.read(in); - byte $result[] = null; - $result = this.setOctet(arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.octet_listHelper.write(out, $result); - break; - } - - case 4: // org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter/setShort - { - short arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.short_listHelper.read(in); - short $result[] = null; - $result = this.setShort(arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.short_listHelper.write(out, $result); - break; - } - - case 5: // org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter/setUnsignedShort - { - short arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_short_listHelper.read(in); - short $result[] = null; - $result = this.setUnsignedShort(arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_short_listHelper.write(out, $result); - break; - } - - case 6: // org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter/setLong - { - int arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.long_listHelper.read(in); - int $result[] = null; - $result = this.setLong(arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.long_listHelper.write(out, $result); - break; - } - - case 7: // org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter/setUnsignedLong - { - int arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_listHelper.read(in); - int $result[] = null; - $result = this.setUnsignedLong(arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_listHelper.write(out, $result); - break; - } - - case 8: // org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter/setLongLong - { - long arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.long_long_listHelper.read(in); - long $result[] = null; - $result = this.setLongLong(arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.long_long_listHelper.write(out, $result); - break; - } - - case 9: // org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter/setUnsignedLongLong - { - long arg[] = - org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_long_listHelper.read(in); - long $result[] = null; - $result = this.setUnsignedLongLong(arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_long_listHelper - .write(out, $result); - break; - } - - case 10: // org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter/setFloat - { - float arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.float_listHelper.read(in); - float $result[] = null; - $result = this.setFloat(arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.float_listHelper.write(out, $result); - break; - } - - case 11: // org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter/setDouble - { - double arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.double_listHelper.read(in); - double $result[] = null; - $result = this.setDouble(arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.double_listHelper.write(out, $result); - break; - } - - case 12: // org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter/setString - { - String arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper.read(in); - String $result[] = null; - $result = this.setString(arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper.write(out, $result); - break; - } - - case 13: // org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter/setWstring - { - String arg[] = org.apache.tuscany.sca.binding.corba.testing.generated.wstring_listHelper.read(in); - String $result[] = null; - $result = this.setWstring(arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.wstring_listHelper.write(out, $result); - break; - } - - case 14: // org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter/setRemoteObject - { - org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject obj[] = - org.apache.tuscany.sca.binding.corba.testing.generated.remote_object_listHelper.read(in); - org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject $result[] = null; - $result = this.setRemoteObject(obj); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.remote_object_listHelper.write(out, $result); - break; - } - - default: - throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - } - - return out; - } // _invoke - - // Type-specific CORBA::Object operations - private static String[] __ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter:1.0"}; - - @Override - public String[] _ids() { - return (String[])__ids.clone(); - } - -} // class _ArraysSetterImplBase diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterStub.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterStub.java deleted file mode 100644 index 079cc6e899..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterStub.java +++ /dev/null @@ -1,343 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/_ArraysSetterStub.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -public class _ArraysSetterStub extends org.omg.CORBA.portable.ObjectImpl implements - org.apache.tuscany.sca.binding.corba.testing.generated.ArraysSetter { - - public boolean[] setBoolean(boolean[] arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setBoolean", true); - org.apache.tuscany.sca.binding.corba.testing.generated.boolean_listHelper.write($out, arg); - $in = _invoke($out); - boolean $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.boolean_listHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setBoolean(arg); - } finally { - _releaseReply($in); - } - } // setBoolean - - public char[] setChar(char[] arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setChar", true); - org.apache.tuscany.sca.binding.corba.testing.generated.char_listHelper.write($out, arg); - $in = _invoke($out); - char $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.char_listHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setChar(arg); - } finally { - _releaseReply($in); - } - } // setChar - - public char[] setWchar(char[] arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setWchar", true); - org.apache.tuscany.sca.binding.corba.testing.generated.wchar_listHelper.write($out, arg); - $in = _invoke($out); - char $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.wchar_listHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setWchar(arg); - } finally { - _releaseReply($in); - } - } // setWchar - - public byte[] setOctet(byte[] arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setOctet", true); - org.apache.tuscany.sca.binding.corba.testing.generated.octet_listHelper.write($out, arg); - $in = _invoke($out); - byte $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.octet_listHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setOctet(arg); - } finally { - _releaseReply($in); - } - } // setOctet - - public short[] setShort(short[] arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setShort", true); - org.apache.tuscany.sca.binding.corba.testing.generated.short_listHelper.write($out, arg); - $in = _invoke($out); - short $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.short_listHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setShort(arg); - } finally { - _releaseReply($in); - } - } // setShort - - public short[] setUnsignedShort(short[] arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setUnsignedShort", true); - org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_short_listHelper.write($out, arg); - $in = _invoke($out); - short $result[] = - org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_short_listHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setUnsignedShort(arg); - } finally { - _releaseReply($in); - } - } // setUnsignedShort - - public int[] setLong(int[] arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setLong", true); - org.apache.tuscany.sca.binding.corba.testing.generated.long_listHelper.write($out, arg); - $in = _invoke($out); - int $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.long_listHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setLong(arg); - } finally { - _releaseReply($in); - } - } // setLong - - public int[] setUnsignedLong(int[] arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setUnsignedLong", true); - org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_listHelper.write($out, arg); - $in = _invoke($out); - int $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_listHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setUnsignedLong(arg); - } finally { - _releaseReply($in); - } - } // setUnsignedLong - - public long[] setLongLong(long[] arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setLongLong", true); - org.apache.tuscany.sca.binding.corba.testing.generated.long_long_listHelper.write($out, arg); - $in = _invoke($out); - long $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.long_long_listHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setLongLong(arg); - } finally { - _releaseReply($in); - } - } // setLongLong - - public long[] setUnsignedLongLong(long[] arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setUnsignedLongLong", true); - org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_long_listHelper.write($out, arg); - $in = _invoke($out); - long $result[] = - org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_long_listHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setUnsignedLongLong(arg); - } finally { - _releaseReply($in); - } - } // setUnsignedLongLong - - public float[] setFloat(float[] arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setFloat", true); - org.apache.tuscany.sca.binding.corba.testing.generated.float_listHelper.write($out, arg); - $in = _invoke($out); - float $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.float_listHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setFloat(arg); - } finally { - _releaseReply($in); - } - } // setFloat - - public double[] setDouble(double[] arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setDouble", true); - org.apache.tuscany.sca.binding.corba.testing.generated.double_listHelper.write($out, arg); - $in = _invoke($out); - double $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.double_listHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setDouble(arg); - } finally { - _releaseReply($in); - } - } // setDouble - - public String[] setString(String[] arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setString", true); - org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper.write($out, arg); - $in = _invoke($out); - String $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setString(arg); - } finally { - _releaseReply($in); - } - } // setString - - public String[] setWstring(String[] arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setWstring", true); - org.apache.tuscany.sca.binding.corba.testing.generated.wstring_listHelper.write($out, arg); - $in = _invoke($out); - String $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.wstring_listHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setWstring(arg); - } finally { - _releaseReply($in); - } - } // setWstring - - public org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject[] setRemoteObject(org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject[] obj) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setRemoteObject", true); - org.apache.tuscany.sca.binding.corba.testing.generated.remote_object_listHelper.write($out, obj); - $in = _invoke($out); - org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject $result[] = - org.apache.tuscany.sca.binding.corba.testing.generated.remote_object_listHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setRemoteObject(obj); - } finally { - _releaseReply($in); - } - } // setRemoteObject - - // Type-specific CORBA::Object operations - private static String[] __ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/ArraysSetter:1.0"}; - - @Override - public String[] _ids() { - return (String[])__ids.clone(); - } - - private void readObject(java.io.ObjectInputStream s) throws java.io.IOException { - String str = s.readUTF(); - String[] args = null; - java.util.Properties props = null; - org.omg.CORBA.Object obj = org.omg.CORBA.ORB.init(args, props).string_to_object(str); - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - _set_delegate(delegate); - } - - private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException { - String[] args = null; - java.util.Properties props = null; - String str = org.omg.CORBA.ORB.init(args, props).object_to_string(this); - s.writeUTF(str); - } -} // class _ArraysSetterStub diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterImplBase.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterImplBase.java deleted file mode 100644 index b444ce68d8..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterImplBase.java +++ /dev/null @@ -1,230 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterImplBase.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -public abstract class _PrimitivesSetterImplBase extends org.omg.CORBA.portable.ObjectImpl implements - org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter, org.omg.CORBA.portable.InvokeHandler { - - // Constructors - public _PrimitivesSetterImplBase() { - } - - private static java.util.Hashtable _methods = new java.util.Hashtable(); - static { - _methods.put("setBoolean", new java.lang.Integer(0)); - _methods.put("setChar", new java.lang.Integer(1)); - _methods.put("setWchar", new java.lang.Integer(2)); - _methods.put("setOctet", new java.lang.Integer(3)); - _methods.put("setShort", new java.lang.Integer(4)); - _methods.put("setUnsignedShort", new java.lang.Integer(5)); - _methods.put("setLong", new java.lang.Integer(6)); - _methods.put("setUnsignedLong", new java.lang.Integer(7)); - _methods.put("setLongLong", new java.lang.Integer(8)); - _methods.put("setUnsignedLongLong", new java.lang.Integer(9)); - _methods.put("setFloat", new java.lang.Integer(10)); - _methods.put("setDouble", new java.lang.Integer(11)); - _methods.put("setString", new java.lang.Integer(12)); - _methods.put("setWstring", new java.lang.Integer(13)); - _methods.put("setRemoteObject", new java.lang.Integer(14)); - } - - public org.omg.CORBA.portable.OutputStream _invoke(String $method, - org.omg.CORBA.portable.InputStream in, - org.omg.CORBA.portable.ResponseHandler $rh) { - org.omg.CORBA.portable.OutputStream out = null; - java.lang.Integer __method = (java.lang.Integer)_methods.get($method); - if (__method == null) - throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - - switch (__method.intValue()) { - case 0: // org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter/setBoolean - { - boolean arg = in.read_boolean(); - boolean $result = false; - $result = this.setBoolean(arg); - out = $rh.createReply(); - out.write_boolean($result); - break; - } - - case 1: // org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter/setChar - { - char arg = in.read_char(); - char $result = (char)0; - $result = this.setChar(arg); - out = $rh.createReply(); - out.write_char($result); - break; - } - - case 2: // org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter/setWchar - { - char arg = in.read_wchar(); - char $result = (char)0; - $result = this.setWchar(arg); - out = $rh.createReply(); - out.write_wchar($result); - break; - } - - case 3: // org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter/setOctet - { - byte arg = in.read_octet(); - byte $result = (byte)0; - $result = this.setOctet(arg); - out = $rh.createReply(); - out.write_octet($result); - break; - } - - case 4: // org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter/setShort - { - short arg = in.read_short(); - short $result = (short)0; - $result = this.setShort(arg); - out = $rh.createReply(); - out.write_short($result); - break; - } - - case 5: // org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter/setUnsignedShort - { - short arg = in.read_ushort(); - short $result = (short)0; - $result = this.setUnsignedShort(arg); - out = $rh.createReply(); - out.write_ushort($result); - break; - } - - case 6: // org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter/setLong - { - int arg = in.read_long(); - int $result = (int)0; - $result = this.setLong(arg); - out = $rh.createReply(); - out.write_long($result); - break; - } - - case 7: // org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter/setUnsignedLong - { - int arg = in.read_ulong(); - int $result = (int)0; - $result = this.setUnsignedLong(arg); - out = $rh.createReply(); - out.write_ulong($result); - break; - } - - case 8: // org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter/setLongLong - { - long arg = in.read_longlong(); - long $result = (long)0; - $result = this.setLongLong(arg); - out = $rh.createReply(); - out.write_longlong($result); - break; - } - - case 9: // org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter/setUnsignedLongLong - { - long arg = in.read_ulonglong(); - long $result = (long)0; - $result = this.setUnsignedLongLong(arg); - out = $rh.createReply(); - out.write_ulonglong($result); - break; - } - - case 10: // org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter/setFloat - { - float arg = in.read_float(); - float $result = (float)0; - $result = this.setFloat(arg); - out = $rh.createReply(); - out.write_float($result); - break; - } - - case 11: // org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter/setDouble - { - double arg = in.read_double(); - double $result = (double)0; - $result = this.setDouble(arg); - out = $rh.createReply(); - out.write_double($result); - break; - } - - case 12: // org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter/setString - { - String arg = in.read_string(); - String $result = null; - $result = this.setString(arg); - out = $rh.createReply(); - out.write_string($result); - break; - } - - case 13: // org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter/setWstring - { - String arg = in.read_wstring(); - String $result = null; - $result = this.setWstring(arg); - out = $rh.createReply(); - out.write_wstring($result); - break; - } - - case 14: // org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter/setRemoteObject - { - org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject obj = - org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.read(in); - org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject $result = null; - $result = this.setRemoteObject(obj); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.write(out, $result); - break; - } - - default: - throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - } - - return out; - } // _invoke - - // Type-specific CORBA::Object operations - private static String[] __ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter:1.0"}; - - @Override - public String[] _ids() { - return (String[])__ids.clone(); - } - -} // class _PrimitivesSetterImplBase diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterStub.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterStub.java deleted file mode 100644 index 0b08e1fb67..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterStub.java +++ /dev/null @@ -1,341 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/_PrimitivesSetterStub.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -public class _PrimitivesSetterStub extends org.omg.CORBA.portable.ObjectImpl implements - org.apache.tuscany.sca.binding.corba.testing.generated.PrimitivesSetter { - - public boolean setBoolean(boolean arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setBoolean", true); - $out.write_boolean(arg); - $in = _invoke($out); - boolean $result = $in.read_boolean(); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setBoolean(arg); - } finally { - _releaseReply($in); - } - } // setBoolean - - public char setChar(char arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setChar", true); - $out.write_char(arg); - $in = _invoke($out); - char $result = $in.read_char(); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setChar(arg); - } finally { - _releaseReply($in); - } - } // setChar - - public char setWchar(char arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setWchar", true); - $out.write_wchar(arg); - $in = _invoke($out); - char $result = $in.read_wchar(); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setWchar(arg); - } finally { - _releaseReply($in); - } - } // setWchar - - public byte setOctet(byte arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setOctet", true); - $out.write_octet(arg); - $in = _invoke($out); - byte $result = $in.read_octet(); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setOctet(arg); - } finally { - _releaseReply($in); - } - } // setOctet - - public short setShort(short arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setShort", true); - $out.write_short(arg); - $in = _invoke($out); - short $result = $in.read_short(); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setShort(arg); - } finally { - _releaseReply($in); - } - } // setShort - - public short setUnsignedShort(short arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setUnsignedShort", true); - $out.write_ushort(arg); - $in = _invoke($out); - short $result = $in.read_ushort(); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setUnsignedShort(arg); - } finally { - _releaseReply($in); - } - } // setUnsignedShort - - public int setLong(int arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setLong", true); - $out.write_long(arg); - $in = _invoke($out); - int $result = $in.read_long(); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setLong(arg); - } finally { - _releaseReply($in); - } - } // setLong - - public int setUnsignedLong(int arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setUnsignedLong", true); - $out.write_ulong(arg); - $in = _invoke($out); - int $result = $in.read_ulong(); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setUnsignedLong(arg); - } finally { - _releaseReply($in); - } - } // setUnsignedLong - - public long setLongLong(long arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setLongLong", true); - $out.write_longlong(arg); - $in = _invoke($out); - long $result = $in.read_longlong(); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setLongLong(arg); - } finally { - _releaseReply($in); - } - } // setLongLong - - public long setUnsignedLongLong(long arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setUnsignedLongLong", true); - $out.write_ulonglong(arg); - $in = _invoke($out); - long $result = $in.read_ulonglong(); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setUnsignedLongLong(arg); - } finally { - _releaseReply($in); - } - } // setUnsignedLongLong - - public float setFloat(float arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setFloat", true); - $out.write_float(arg); - $in = _invoke($out); - float $result = $in.read_float(); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setFloat(arg); - } finally { - _releaseReply($in); - } - } // setFloat - - public double setDouble(double arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setDouble", true); - $out.write_double(arg); - $in = _invoke($out); - double $result = $in.read_double(); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setDouble(arg); - } finally { - _releaseReply($in); - } - } // setDouble - - public String setString(String arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setString", true); - $out.write_string(arg); - $in = _invoke($out); - String $result = $in.read_string(); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setString(arg); - } finally { - _releaseReply($in); - } - } // setString - - public String setWstring(String arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setWstring", true); - $out.write_wstring(arg); - $in = _invoke($out); - String $result = $in.read_wstring(); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setWstring(arg); - } finally { - _releaseReply($in); - } - } // setWstring - - public org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject setRemoteObject(org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject obj) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setRemoteObject", true); - org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.write($out, obj); - $in = _invoke($out); - org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject $result = - org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setRemoteObject(obj); - } finally { - _releaseReply($in); - } - } // setRemoteObject - - // Type-specific CORBA::Object operations - private static String[] __ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/PrimitivesSetter:1.0"}; - - @Override - public String[] _ids() { - return (String[])__ids.clone(); - } - - private void readObject(java.io.ObjectInputStream s) throws java.io.IOException { - String str = s.readUTF(); - String[] args = null; - java.util.Properties props = null; - org.omg.CORBA.Object obj = org.omg.CORBA.ORB.init(args, props).string_to_object(str); - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - _set_delegate(delegate); - } - - private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException { - String[] args = null; - java.util.Properties props = null; - String str = org.omg.CORBA.ORB.init(args, props).object_to_string(this); - s.writeUTF(str); - } -} // class _PrimitivesSetterStub diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectImplBase.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectImplBase.java deleted file mode 100644 index a87534f88b..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectImplBase.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectImplBase.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -public abstract class _RemoteObjectImplBase extends org.omg.CORBA.portable.ObjectImpl implements - org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject, org.omg.CORBA.portable.InvokeHandler { - - // Constructors - public _RemoteObjectImplBase() { - } - - private static java.util.Hashtable _methods = new java.util.Hashtable(); - static { - } - - public org.omg.CORBA.portable.OutputStream _invoke(String $method, - org.omg.CORBA.portable.InputStream in, - org.omg.CORBA.portable.ResponseHandler $rh) { - org.omg.CORBA.portable.OutputStream out = null; - java.lang.Integer __method = (java.lang.Integer)_methods.get($method); - if (__method == null) - throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - - return out; - } // _invoke - - // Type-specific CORBA::Object operations - private static String[] __ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObject:1.0"}; - - @Override - public String[] _ids() { - return (String[])__ids.clone(); - } - -} // class _RemoteObjectImplBase diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectStub.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectStub.java deleted file mode 100644 index e219dfa338..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectStub.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/_RemoteObjectStub.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -public class _RemoteObjectStub extends org.omg.CORBA.portable.ObjectImpl implements - org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject { - - // Type-specific CORBA::Object operations - private static String[] __ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/RemoteObject:1.0"}; - - @Override - public String[] _ids() { - return (String[])__ids.clone(); - } - - private void readObject(java.io.ObjectInputStream s) throws java.io.IOException { - String str = s.readUTF(); - String[] args = null; - java.util.Properties props = null; - org.omg.CORBA.Object obj = org.omg.CORBA.ORB.init(args, props).string_to_object(str); - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - _set_delegate(delegate); - } - - private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException { - String[] args = null; - java.util.Properties props = null; - String str = org.omg.CORBA.ORB.init(args, props).object_to_string(this); - s.writeUTF(str); - } -} // class _RemoteObjectStub diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectImplBase.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectImplBase.java deleted file mode 100644 index c0bc0d6ebd..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectImplBase.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectImplBase.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -public abstract class _TestObjectImplBase extends org.omg.CORBA.portable.ObjectImpl implements - org.apache.tuscany.sca.binding.corba.testing.generated.TestObject, org.omg.CORBA.portable.InvokeHandler { - - // Constructors - public _TestObjectImplBase() { - } - - private static java.util.Hashtable _methods = new java.util.Hashtable(); - static { - _methods.put("pickStructFromArgs", new java.lang.Integer(0)); - _methods.put("setStruct", new java.lang.Integer(1)); - _methods.put("setSimpleStruct", new java.lang.Integer(2)); - _methods.put("setLongSeq1", new java.lang.Integer(3)); - _methods.put("setLongSeq2", new java.lang.Integer(4)); - _methods.put("setLongSeq3", new java.lang.Integer(5)); - } - - public org.omg.CORBA.portable.OutputStream _invoke(String $method, - org.omg.CORBA.portable.InputStream in, - org.omg.CORBA.portable.ResponseHandler $rh) { - org.omg.CORBA.portable.OutputStream out = null; - java.lang.Integer __method = (java.lang.Integer)_methods.get($method); - if (__method == null) - throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - - switch (__method.intValue()) { - case 0: // org/apache/tuscany/sca/binding/corba/testing/generated/TestObject/pickStructFromArgs - { - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct arg1 = - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.read(in); - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct arg2 = - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.read(in); - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct arg3 = - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.read(in); - int structNumber = in.read_long(); - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct $result = null; - $result = this.pickStructFromArgs(arg1, arg2, arg3, structNumber); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.write(out, $result); - break; - } - - case 1: // org/apache/tuscany/sca/binding/corba/testing/generated/TestObject/setStruct - { - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct arg = - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.read(in); - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct $result = null; - $result = this.setStruct(arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.write(out, $result); - break; - } - - case 2: // org/apache/tuscany/sca/binding/corba/testing/generated/TestObject/setSimpleStruct - { - org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHolder arg = - new org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHolder(); - arg.value = org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.read(in); - org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct $result = null; - $result = this.setSimpleStruct(arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.write(out, $result); - org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.write(out, arg.value); - break; - } - - case 3: // org/apache/tuscany/sca/binding/corba/testing/generated/TestObject/setLongSeq1 - { - org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Holder arg = - new org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Holder(); - arg.value = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.read(in); - int $result[] = null; - $result = this.setLongSeq1(arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.write(out, $result); - org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.write(out, arg.value); - break; - } - - case 4: // org/apache/tuscany/sca/binding/corba/testing/generated/TestObject/setLongSeq2 - { - org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Holder arg = - new org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Holder(); - arg.value = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.read(in); - int $result[][] = null; - $result = this.setLongSeq2(arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.write(out, $result); - org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.write(out, arg.value); - break; - } - - case 5: // org/apache/tuscany/sca/binding/corba/testing/generated/TestObject/setLongSeq3 - { - org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Holder arg = - new org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Holder(); - arg.value = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.read(in); - int $result[][][] = null; - $result = this.setLongSeq3(arg); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.write(out, $result); - org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.write(out, arg.value); - break; - } - - default: - throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - } - - return out; - } // _invoke - - // Type-specific CORBA::Object operations - private static String[] __ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/TestObject:1.0"}; - - @Override - public String[] _ids() { - return (String[])__ids.clone(); - } - -} // class _TestObjectImplBase diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectStub.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectStub.java deleted file mode 100644 index ad47595ddf..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectStub.java +++ /dev/null @@ -1,182 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/_TestObjectStub.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -public class _TestObjectStub extends org.omg.CORBA.portable.ObjectImpl implements - org.apache.tuscany.sca.binding.corba.testing.generated.TestObject { - - public org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct pickStructFromArgs(org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct arg1, - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct arg2, - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct arg3, - int structNumber) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("pickStructFromArgs", true); - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.write($out, arg1); - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.write($out, arg2); - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.write($out, arg3); - $out.write_long(structNumber); - $in = _invoke($out); - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct $result = - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return pickStructFromArgs(arg1, arg2, arg3, structNumber); - } finally { - _releaseReply($in); - } - } // pickStructFromArgs - - public org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct setStruct(org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setStruct", true); - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.write($out, arg); - $in = _invoke($out); - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct $result = - org.apache.tuscany.sca.binding.corba.testing.generated.SomeStructHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setStruct(arg); - } finally { - _releaseReply($in); - } - } // setStruct - - public org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct setSimpleStruct(org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHolder arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setSimpleStruct", true); - org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.write($out, arg.value); - $in = _invoke($out); - org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct $result = - org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.read($in); - arg.value = org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setSimpleStruct(arg); - } finally { - _releaseReply($in); - } - } // setSimpleStruct - - public int[] setLongSeq1(org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Holder arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setLongSeq1", true); - org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.write($out, arg.value); - $in = _invoke($out); - int $result[] = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.read($in); - arg.value = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setLongSeq1(arg); - } finally { - _releaseReply($in); - } - } // setLongSeq1 - - public int[][] setLongSeq2(org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Holder arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setLongSeq2", true); - org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.write($out, arg.value); - $in = _invoke($out); - int $result[][] = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.read($in); - arg.value = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setLongSeq2(arg); - } finally { - _releaseReply($in); - } - } // setLongSeq2 - - public int[][][] setLongSeq3(org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Holder arg) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("setLongSeq3", true); - org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.write($out, arg.value); - $in = _invoke($out); - int $result[][][] = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.read($in); - arg.value = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return setLongSeq3(arg); - } finally { - _releaseReply($in); - } - } // setLongSeq3 - - // Type-specific CORBA::Object operations - private static String[] __ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/generated/TestObject:1.0"}; - - @Override - public String[] _ids() { - return (String[])__ids.clone(); - } - - private void readObject(java.io.ObjectInputStream s) throws java.io.IOException { - String str = s.readUTF(); - String[] args = null; - java.util.Properties props = null; - org.omg.CORBA.Object obj = org.omg.CORBA.ORB.init(args, props).string_to_object(str); - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - _set_delegate(delegate); - } - - private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException { - String[] args = null; - java.util.Properties props = null; - String str = org.omg.CORBA.ORB.init(args, props).object_to_string(this); - s.writeUTF(str); - } -} // class _TestObjectStub diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHelper.java deleted file mode 100644 index f3d96e8fd7..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHelper.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -abstract public class boolean_listHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/boolean_list:1.0"; - - public static void insert(org.omg.CORBA.Any a, boolean[] that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static boolean[] extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_boolean); - __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); - __typeCode = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.boolean_listHelper.id(), - "boolean_list", - __typeCode); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static boolean[] read(org.omg.CORBA.portable.InputStream istream) { - boolean value[] = null; - int _len0 = istream.read_long(); - value = new boolean[_len0]; - istream.read_boolean_array(value, 0, _len0); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, boolean[] value) { - ostream.write_long(value.length); - ostream.write_boolean_array(value, 0, value.length); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHolder.java deleted file mode 100644 index cb0ab8bcfd..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHolder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/boolean_listHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -public final class boolean_listHolder implements org.omg.CORBA.portable.Streamable { - public boolean value[] = null; - - public boolean_listHolder() { - } - - public boolean_listHolder(boolean[] initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.boolean_listHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.boolean_listHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.boolean_listHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/char_listHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/char_listHelper.java deleted file mode 100644 index 0bde1e701c..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/char_listHelper.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/char_listHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -abstract public class char_listHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/char_list:1.0"; - - public static void insert(org.omg.CORBA.Any a, char[] that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static char[] extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_char); - __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); - __typeCode = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.char_listHelper.id(), - "char_list", - __typeCode); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static char[] read(org.omg.CORBA.portable.InputStream istream) { - char value[] = null; - int _len0 = istream.read_long(); - value = new char[_len0]; - istream.read_char_array(value, 0, _len0); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, char[] value) { - ostream.write_long(value.length); - ostream.write_char_array(value, 0, value.length); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/char_listHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/char_listHolder.java deleted file mode 100644 index 19b2942cfe..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/char_listHolder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/char_listHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -public final class char_listHolder implements org.omg.CORBA.portable.Streamable { - public char value[] = null; - - public char_listHolder() { - } - - public char_listHolder(char[] initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.char_listHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.char_listHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.char_listHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/double_listHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/double_listHelper.java deleted file mode 100644 index 8bb5a9c69d..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/double_listHelper.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/double_listHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -abstract public class double_listHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/double_list:1.0"; - - public static void insert(org.omg.CORBA.Any a, double[] that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static double[] extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_double); - __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); - __typeCode = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.double_listHelper.id(), - "double_list", - __typeCode); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static double[] read(org.omg.CORBA.portable.InputStream istream) { - double value[] = null; - int _len0 = istream.read_long(); - value = new double[_len0]; - istream.read_double_array(value, 0, _len0); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, double[] value) { - ostream.write_long(value.length); - ostream.write_double_array(value, 0, value.length); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/double_listHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/double_listHolder.java deleted file mode 100644 index dc89e71092..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/double_listHolder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/double_listHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -public final class double_listHolder implements org.omg.CORBA.portable.Streamable { - public double value[] = null; - - public double_listHolder() { - } - - public double_listHolder(double[] initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.double_listHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.double_listHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.double_listHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/float_listHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/float_listHelper.java deleted file mode 100644 index 7b71aa0a9f..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/float_listHelper.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/float_listHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -abstract public class float_listHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/float_list:1.0"; - - public static void insert(org.omg.CORBA.Any a, float[] that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static float[] extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_float); - __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); - __typeCode = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.float_listHelper.id(), - "float_list", - __typeCode); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static float[] read(org.omg.CORBA.portable.InputStream istream) { - float value[] = null; - int _len0 = istream.read_long(); - value = new float[_len0]; - istream.read_float_array(value, 0, _len0); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, float[] value) { - ostream.write_long(value.length); - ostream.write_float_array(value, 0, value.length); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/float_listHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/float_listHolder.java deleted file mode 100644 index 513bab37cc..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/float_listHolder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/float_listHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -public final class float_listHolder implements org.omg.CORBA.portable.Streamable { - public float value[] = null; - - public float_listHolder() { - } - - public float_listHolder(float[] initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.float_listHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.float_listHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.float_listHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_listHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_listHelper.java deleted file mode 100644 index c1d06e2ba9..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_listHelper.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/long_listHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -abstract public class long_listHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/long_list:1.0"; - - public static void insert(org.omg.CORBA.Any a, int[] that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static int[] extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); - __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); - __typeCode = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.long_listHelper.id(), - "long_list", - __typeCode); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static int[] read(org.omg.CORBA.portable.InputStream istream) { - int value[] = null; - int _len0 = istream.read_long(); - value = new int[_len0]; - istream.read_long_array(value, 0, _len0); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, int[] value) { - ostream.write_long(value.length); - ostream.write_long_array(value, 0, value.length); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_listHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_listHolder.java deleted file mode 100644 index f9ad7b77ac..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_listHolder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/long_listHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -public final class long_listHolder implements org.omg.CORBA.portable.Streamable { - public int value[] = null; - - public long_listHolder() { - } - - public long_listHolder(int[] initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.long_listHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.long_listHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.long_listHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHelper.java deleted file mode 100644 index cfb292fc01..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHelper.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -abstract public class long_long_listHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/long_long_list:1.0"; - - public static void insert(org.omg.CORBA.Any a, long[] that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static long[] extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_longlong); - __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); - __typeCode = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.long_long_listHelper.id(), - "long_long_list", - __typeCode); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static long[] read(org.omg.CORBA.portable.InputStream istream) { - long value[] = null; - int _len0 = istream.read_long(); - value = new long[_len0]; - istream.read_longlong_array(value, 0, _len0); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, long[] value) { - ostream.write_long(value.length); - ostream.write_longlong_array(value, 0, value.length); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHolder.java deleted file mode 100644 index 02f46a7d85..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHolder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/long_long_listHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 14:12:28 CEST -*/ - -public final class long_long_listHolder implements org.omg.CORBA.portable.Streamable { - public long value[] = null; - - public long_long_listHolder() { - } - - public long_long_listHolder(long[] initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.long_long_listHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.long_long_listHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.long_long_listHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Helper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Helper.java deleted file mode 100644 index 505aa3f026..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Helper.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Helper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -abstract public class long_seq1Helper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1:1.0"; - - public static void insert(org.omg.CORBA.Any a, int[] that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static int[] extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); - __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); - __typeCode = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.id(), - "long_seq1", - __typeCode); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static int[] read(org.omg.CORBA.portable.InputStream istream) { - int value[] = null; - int _len0 = istream.read_long(); - value = new int[_len0]; - istream.read_long_array(value, 0, _len0); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, int[] value) { - ostream.write_long(value.length); - ostream.write_long_array(value, 0, value.length); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Holder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Holder.java deleted file mode 100644 index 5cbaa109ee..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Holder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/long_seq1Holder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public final class long_seq1Holder implements org.omg.CORBA.portable.Streamable { - public int value[] = null; - - public long_seq1Holder() { - } - - public long_seq1Holder(int[] initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Helper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Helper.java deleted file mode 100644 index 2f792888fb..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Helper.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Helper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -abstract public class long_seq2Helper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2:1.0"; - - public static void insert(org.omg.CORBA.Any a, int[][] that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static int[][] extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); - __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); - __typeCode = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.id(), - "long_seq1", - __typeCode); - __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); - __typeCode = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.id(), - "long_seq2", - __typeCode); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static int[][] read(org.omg.CORBA.portable.InputStream istream) { - int value[][] = null; - int _len0 = istream.read_long(); - value = new int[_len0][]; - for (int _o1 = 0; _o1 < value.length; ++_o1) - value[_o1] = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.read(istream); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, int[][] value) { - ostream.write_long(value.length); - for (int _i0 = 0; _i0 < value.length; ++_i0) - org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.write(ostream, value[_i0]); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Holder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Holder.java deleted file mode 100644 index 8b2ccc1f73..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Holder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/long_seq2Holder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public final class long_seq2Holder implements org.omg.CORBA.portable.Streamable { - public int value[][] = null; - - public long_seq2Holder() { - } - - public long_seq2Holder(int[][] initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Helper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Helper.java deleted file mode 100644 index 67e224f0be..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Helper.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Helper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -abstract public class long_seq3Helper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3:1.0"; - - public static void insert(org.omg.CORBA.Any a, int[][][] that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static int[][][] extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_long); - __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); - __typeCode = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Helper.id(), - "long_seq1", - __typeCode); - __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); - __typeCode = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.id(), - "long_seq2", - __typeCode); - __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); - __typeCode = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.id(), - "long_seq3", - __typeCode); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static int[][][] read(org.omg.CORBA.portable.InputStream istream) { - int value[][][] = null; - int _len0 = istream.read_long(); - value = new int[_len0][][]; - for (int _o1 = 0; _o1 < value.length; ++_o1) - value[_o1] = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.read(istream); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, int[][][] value) { - ostream.write_long(value.length); - for (int _i0 = 0; _i0 < value.length; ++_i0) - org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Helper.write(ostream, value[_i0]); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Holder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Holder.java deleted file mode 100644 index 5d4adfba2d..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Holder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/long_seq3Holder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public final class long_seq3Holder implements org.omg.CORBA.portable.Streamable { - public int value[][][] = null; - - public long_seq3Holder() { - } - - public long_seq3Holder(int[][][] initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Helper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHelper.java deleted file mode 100644 index c7d86d9179..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHelper.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -abstract public class octet_listHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/octet_list:1.0"; - - public static void insert(org.omg.CORBA.Any a, byte[] that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static byte[] extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_octet); - __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); - __typeCode = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.octet_listHelper.id(), - "octet_list", - __typeCode); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static byte[] read(org.omg.CORBA.portable.InputStream istream) { - byte value[] = null; - int _len0 = istream.read_long(); - value = new byte[_len0]; - istream.read_octet_array(value, 0, _len0); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, byte[] value) { - ostream.write_long(value.length); - ostream.write_octet_array(value, 0, value.length); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHolder.java deleted file mode 100644 index 09b2b85c6a..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHolder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/octet_listHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public final class octet_listHolder implements org.omg.CORBA.portable.Streamable { - public byte value[] = null; - - public octet_listHolder() { - } - - public octet_listHolder(byte[] initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.octet_listHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.octet_listHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.octet_listHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHelper.java deleted file mode 100644 index e88b1e06c4..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHelper.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -abstract public class remote_object_listHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_list:1.0"; - - public static void insert(org.omg.CORBA.Any a, - org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject[] that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject[] extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.type(); - __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); - __typeCode = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.remote_object_listHelper - .id(), - "remote_object_list", - __typeCode); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject[] read(org.omg.CORBA.portable.InputStream istream) { - org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject value[] = null; - int _len0 = istream.read_long(); - value = new org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject[_len0]; - for (int _o1 = 0; _o1 < value.length; ++_o1) - value[_o1] = org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.read(istream); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, - org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject[] value) { - ostream.write_long(value.length); - for (int _i0 = 0; _i0 < value.length; ++_i0) - org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObjectHelper.write(ostream, value[_i0]); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHolder.java deleted file mode 100644 index d3f996c5b4..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHolder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/remote_object_listHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public final class remote_object_listHolder implements org.omg.CORBA.portable.Streamable { - public org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject value[] = null; - - public remote_object_listHolder() { - } - - public remote_object_listHolder(org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject[] initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.remote_object_listHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.remote_object_listHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.remote_object_listHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/short_listHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/short_listHelper.java deleted file mode 100644 index 7c58d47f7c..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/short_listHelper.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/short_listHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -abstract public class short_listHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/short_list:1.0"; - - public static void insert(org.omg.CORBA.Any a, short[] that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static short[] extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_short); - __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); - __typeCode = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.short_listHelper.id(), - "short_list", - __typeCode); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static short[] read(org.omg.CORBA.portable.InputStream istream) { - short value[] = null; - int _len0 = istream.read_long(); - value = new short[_len0]; - istream.read_short_array(value, 0, _len0); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, short[] value) { - ostream.write_long(value.length); - ostream.write_short_array(value, 0, value.length); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/short_listHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/short_listHolder.java deleted file mode 100644 index 5be5a65c43..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/short_listHolder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/short_listHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public final class short_listHolder implements org.omg.CORBA.portable.Streamable { - public short value[] = null; - - public short_listHolder() { - } - - public short_listHolder(short[] initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.short_listHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.short_listHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.short_listHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/string_listHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/string_listHelper.java deleted file mode 100644 index a40d5fa8de..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/string_listHelper.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/string_listHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -abstract public class string_listHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/string_list:1.0"; - - public static void insert(org.omg.CORBA.Any a, String[] that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static String[] extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = org.omg.CORBA.ORB.init().create_string_tc(0); - __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); - __typeCode = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper.id(), - "string_list", - __typeCode); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static String[] read(org.omg.CORBA.portable.InputStream istream) { - String value[] = null; - int _len0 = istream.read_long(); - value = new String[_len0]; - for (int _o1 = 0; _o1 < value.length; ++_o1) - value[_o1] = istream.read_string(); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, String[] value) { - ostream.write_long(value.length); - for (int _i0 = 0; _i0 < value.length; ++_i0) - ostream.write_string(value[_i0]); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/string_listHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/string_listHolder.java deleted file mode 100644 index 76f99408f2..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/string_listHolder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/string_listHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public final class string_listHolder implements org.omg.CORBA.portable.Streamable { - public String value[] = null; - - public string_listHolder() { - } - - public string_listHolder(String[] initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.string_listHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHelper.java deleted file mode 100644 index d7594b0815..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHelper.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -abstract public class unsigned_long_listHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_list:1.0"; - - public static void insert(org.omg.CORBA.Any a, int[] that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static int[] extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ulong); - __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); - __typeCode = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_listHelper - .id(), - "unsigned_long_list", - __typeCode); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static int[] read(org.omg.CORBA.portable.InputStream istream) { - int value[] = null; - int _len0 = istream.read_long(); - value = new int[_len0]; - istream.read_ulong_array(value, 0, _len0); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, int[] value) { - ostream.write_long(value.length); - ostream.write_ulong_array(value, 0, value.length); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHolder.java deleted file mode 100644 index e9fbcccc36..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHolder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_listHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public final class unsigned_long_listHolder implements org.omg.CORBA.portable.Streamable { - public int value[] = null; - - public unsigned_long_listHolder() { - } - - public unsigned_long_listHolder(int[] initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_listHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_listHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_listHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHelper.java deleted file mode 100644 index 6ef187c4e5..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHelper.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -abstract public class unsigned_long_long_listHelper { - private static String _id = - "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_list:1.0"; - - public static void insert(org.omg.CORBA.Any a, long[] that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static long[] extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ulonglong); - __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); - __typeCode = - org.omg.CORBA.ORB - .init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_long_listHelper - .id(), - "unsigned_long_long_list", - __typeCode); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static long[] read(org.omg.CORBA.portable.InputStream istream) { - long value[] = null; - int _len0 = istream.read_long(); - value = new long[_len0]; - istream.read_ulonglong_array(value, 0, _len0); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, long[] value) { - ostream.write_long(value.length); - ostream.write_ulonglong_array(value, 0, value.length); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHolder.java deleted file mode 100644 index 59bc015c38..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHolder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_long_long_listHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public final class unsigned_long_long_listHolder implements org.omg.CORBA.portable.Streamable { - public long value[] = null; - - public unsigned_long_long_listHolder() { - } - - public unsigned_long_long_listHolder(long[] initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_long_listHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_long_listHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_long_long_listHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHelper.java deleted file mode 100644 index ec4526cebf..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHelper.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -abstract public class unsigned_short_listHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_list:1.0"; - - public static void insert(org.omg.CORBA.Any a, short[] that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static short[] extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ushort); - __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); - __typeCode = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_short_listHelper - .id(), - "unsigned_short_list", - __typeCode); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static short[] read(org.omg.CORBA.portable.InputStream istream) { - short value[] = null; - int _len0 = istream.read_long(); - value = new short[_len0]; - istream.read_ushort_array(value, 0, _len0); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, short[] value) { - ostream.write_long(value.length); - ostream.write_ushort_array(value, 0, value.length); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHolder.java deleted file mode 100644 index 56ab28f0be..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHolder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/unsigned_short_listHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public final class unsigned_short_listHolder implements org.omg.CORBA.portable.Streamable { - public short value[] = null; - - public unsigned_short_listHolder() { - } - - public unsigned_short_listHolder(short[] initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_short_listHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_short_listHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.unsigned_short_listHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHelper.java deleted file mode 100644 index 73a10d3b7f..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHelper.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -abstract public class wchar_listHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/wchar_list:1.0"; - - public static void insert(org.omg.CORBA.Any a, char[] that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static char[] extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_wchar); - __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); - __typeCode = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.wchar_listHelper.id(), - "wchar_list", - __typeCode); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static char[] read(org.omg.CORBA.portable.InputStream istream) { - char value[] = null; - int _len0 = istream.read_long(); - value = new char[_len0]; - istream.read_wchar_array(value, 0, _len0); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, char[] value) { - ostream.write_long(value.length); - ostream.write_wchar_array(value, 0, value.length); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHolder.java deleted file mode 100644 index c5c1e87756..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHolder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/wchar_listHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public final class wchar_listHolder implements org.omg.CORBA.portable.Streamable { - public char value[] = null; - - public wchar_listHolder() { - } - - public wchar_listHolder(char[] initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.wchar_listHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.wchar_listHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.wchar_listHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHelper.java deleted file mode 100644 index 3e45568f01..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHelper.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.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -abstract public class wstring_listHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/generated/wstring_list:1.0"; - - public static void insert(org.omg.CORBA.Any a, String[] that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static String[] extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = org.omg.CORBA.ORB.init().create_wstring_tc(0); - __typeCode = org.omg.CORBA.ORB.init().create_sequence_tc(0, __typeCode); - __typeCode = - org.omg.CORBA.ORB.init() - .create_alias_tc(org.apache.tuscany.sca.binding.corba.testing.generated.wstring_listHelper.id(), - "wstring_list", - __typeCode); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static String[] read(org.omg.CORBA.portable.InputStream istream) { - String value[] = null; - int _len0 = istream.read_long(); - value = new String[_len0]; - for (int _o1 = 0; _o1 < value.length; ++_o1) - value[_o1] = istream.read_wstring(); - return value; - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, String[] value) { - ostream.write_long(value.length); - for (int _i0 = 0; _i0 < value.length; ++_i0) - ostream.write_wstring(value[_i0]); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHolder.java deleted file mode 100644 index bdbf9d995b..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHolder.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.binding.corba.testing.generated; - -/** -* org/apache/tuscany/sca/binding/corba/testing/generated/wstring_listHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from general_tests.idl -* monday, 23 june 2008 2008 14:12:28 CEST -*/ - -public final class wstring_listHolder implements org.omg.CORBA.portable.Streamable { - public String value[] = null; - - public wstring_listHolder() { - } - - public wstring_listHolder(String[] initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.generated.wstring_listHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.generated.wstring_listHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.generated.wstring_listHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/ArraysTestStruct.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/ArraysTestStruct.java deleted file mode 100644 index 7f90520d67..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/ArraysTestStruct.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.corba.testing.hierarchy; - -import org.apache.tuscany.sca.binding.corba.meta.CorbaArray; - -public final class ArraysTestStruct { - - public ArraysTestStruct() { - - } - - public ArraysTestStruct(String[] field1, int[][] field2, float[][][] field3) { - this.field1 = field1; - this.field2 = field2; - this.field3 = field3; - } - - @CorbaArray( {2}) - public String[] field1; - - @CorbaArray( {2, 4}) - public int[][] field2; - - @CorbaArray( {2, 4, 2}) - public float[][][] field3; - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/Calc.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/Calc.java deleted file mode 100644 index 7c33b1d449..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/Calc.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.corba.testing.hierarchy; - -import org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero; - -public interface Calc { - - public double div(double arg1, double arg2) throws DivByZero; - - public double divForSmallArgs(double arg1, double arg2); - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/DummyObject.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/DummyObject.java deleted file mode 100644 index d0ebff5fec..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/DummyObject.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.binding.corba.testing.hierarchy; - -public interface DummyObject { - - int getLong(); - - DummyObject cloneObject(); - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InnerUnion.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InnerUnion.java deleted file mode 100644 index baf5043bc2..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InnerUnion.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.corba.testing.hierarchy; - -import org.apache.tuscany.sca.binding.corba.meta.CorbaUnionElement; -import org.apache.tuscany.sca.binding.corba.meta.CorbaUnionElementType; - -public final class InnerUnion { - - @CorbaUnionElement(type = CorbaUnionElementType.option, optionNumber = 1) - private int x; - - @CorbaUnionElement(type = CorbaUnionElementType.option, optionNumber = 2) - private float y; - - @CorbaUnionElement(type = CorbaUnionElementType.discriminator) - @SuppressWarnings("unused") - private int discriminator; - - public int getX() { - return x; - } - - public void setX(int x) { - discriminator = 1; - this.x = x; - } - - public float getY() { - return y; - } - - public void setY(float y) { - discriminator = 2; - this.y = y; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidCorbaArray.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidCorbaArray.java deleted file mode 100644 index 9ad637fc55..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidCorbaArray.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.binding.corba.testing.hierarchy; - -import org.apache.tuscany.sca.binding.corba.meta.CorbaArray; - -public final class InvalidCorbaArray { - - // annotation argument array is not equal to declared arrays dimension - @CorbaArray( {1}) - public String[][] array; - - public InvalidCorbaArray() { - - } - - public InvalidCorbaArray(String[][] arg) { - - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidEnum1.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidEnum1.java deleted file mode 100644 index 0c9de5bb31..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidEnum1.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.corba.testing.hierarchy; - -public class InvalidEnum1 { - - public static final InvalidEnum1 red = new InvalidEnum1(0); - - public int value() { - return 0; - } - - public static InvalidEnum1 from_int(int value) { - return null; - } - - protected InvalidEnum1(int value) { - } -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidEnum2.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidEnum2.java deleted file mode 100644 index 8746eb7f9b..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidEnum2.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.binding.corba.testing.hierarchy; - -public class InvalidEnum2 { - - public static final int _red = 0; - public static final InvalidEnum2 red = new InvalidEnum2(_red); - - public static InvalidEnum2 from_int(int value) { - return null; - } - - protected InvalidEnum2(int value) { - } -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidEnum3.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidEnum3.java deleted file mode 100644 index 6d124b0485..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidEnum3.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.binding.corba.testing.hierarchy; - -public class InvalidEnum3 { - - public static final int _red = 0; - public static final InvalidEnum2 red = new InvalidEnum2(_red); - - public int value() { - return 0; - } - - protected InvalidEnum3(int value) { - } -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidStruct1.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidStruct1.java deleted file mode 100644 index 8cf66e2fac..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidStruct1.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.binding.corba.testing.hierarchy; - -public final class InvalidStruct1 { - - public InvalidStruct1() { - - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidStruct2.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidStruct2.java deleted file mode 100644 index 5f361512f0..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidStruct2.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.corba.testing.hierarchy; - -public final class InvalidStruct2 { - - public int f1; - public String f2; - - public InvalidStruct2(int f1, String f2) { - - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidStruct3.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidStruct3.java deleted file mode 100644 index adc81ea5a2..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidStruct3.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.corba.testing.hierarchy; - -public final class InvalidStruct3 { - - public int f1; - public String f2; - public static byte f3; - - public InvalidStruct3() { - - } - - public InvalidStruct3(int f1, String f2, byte f3) { - - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion1.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion1.java deleted file mode 100644 index c3fd45d5f4..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion1.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.corba.testing.hierarchy; - -import org.apache.tuscany.sca.binding.corba.meta.CorbaUnionElement; -import org.apache.tuscany.sca.binding.corba.meta.CorbaUnionElementType; - -/** - * More than one discriminators - */ -public final class InvalidUnion1 { - - @CorbaUnionElement(type = CorbaUnionElementType.discriminator) - @SuppressWarnings("unused") - private int a; - @CorbaUnionElement(type = CorbaUnionElementType.discriminator) - @SuppressWarnings("unused") - private int b; - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion2.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion2.java deleted file mode 100644 index f6d5421a56..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion2.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.binding.corba.testing.hierarchy; - -import org.apache.tuscany.sca.binding.corba.meta.CorbaUnionElement; -import org.apache.tuscany.sca.binding.corba.meta.CorbaUnionElementType; - -/** - * Discriminator is missing - */ -public final class InvalidUnion2 { - - @CorbaUnionElement(type=CorbaUnionElementType.defaultOption) - @SuppressWarnings("unused") - private int a; - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion3.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion3.java deleted file mode 100644 index 0d1bdd0a13..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion3.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.corba.testing.hierarchy; - -import org.apache.tuscany.sca.binding.corba.meta.CorbaUnionElement; -import org.apache.tuscany.sca.binding.corba.meta.CorbaUnionElementType; - -/** - * No option, only discriminator - */ -public final class InvalidUnion3{ - - @CorbaUnionElement(type = CorbaUnionElementType.discriminator) - @SuppressWarnings("unused") - private int a; - -} - diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion4.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion4.java deleted file mode 100644 index 3afe702f87..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion4.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.binding.corba.testing.hierarchy; - -import org.apache.tuscany.sca.binding.corba.meta.CorbaUnionElement; -import org.apache.tuscany.sca.binding.corba.meta.CorbaUnionElementType; - -/** - * Invalid field modifiers - */ -public final class InvalidUnion4{ - - @CorbaUnionElement(type = CorbaUnionElementType.discriminator) - @SuppressWarnings("unused") - private static int a; - - @CorbaUnionElement(type = CorbaUnionElementType.defaultOption) - @SuppressWarnings("unused") - private static int b; - -} - diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion5.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion5.java deleted file mode 100644 index 9d30e5ced1..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/InvalidUnion5.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.binding.corba.testing.hierarchy; - -import org.apache.tuscany.sca.binding.corba.meta.CorbaUnionElement; -import org.apache.tuscany.sca.binding.corba.meta.CorbaUnionElementType; - -/** - * Reused option id - */ -public final class InvalidUnion5 { - - @CorbaUnionElement(type = CorbaUnionElementType.discriminator) - @SuppressWarnings("unused") - private int a; - - @CorbaUnionElement(type = CorbaUnionElementType.option, optionNumber = 1) - @SuppressWarnings("unused") - private int b; - - @CorbaUnionElement(type = CorbaUnionElementType.option, optionNumber = 1) - @SuppressWarnings("unused") - private int c; - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/NonCorbaException.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/NonCorbaException.java deleted file mode 100644 index a514b5e222..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/NonCorbaException.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.binding.corba.testing.hierarchy; - -public class NonCorbaException extends Exception { - - private static final long serialVersionUID = 1L; - - public String someField; - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/RichUnion.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/RichUnion.java deleted file mode 100644 index 2ea40e345f..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/RichUnion.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.corba.testing.hierarchy; - -import org.apache.tuscany.sca.binding.corba.meta.CorbaUnionElement; -import org.apache.tuscany.sca.binding.corba.meta.CorbaUnionElementType; - -public final class RichUnion { - - @CorbaUnionElement(type = CorbaUnionElementType.option, optionNumber = 1) - private int x; - - @CorbaUnionElement(type = CorbaUnionElementType.option, optionNumber = 2) - private float y; - - @CorbaUnionElement(type = CorbaUnionElementType.option, optionNumber = 3) - private String z; - - @CorbaUnionElement(type = CorbaUnionElementType.option, optionNumber = 4) - private InnerUnion iu; - - @CorbaUnionElement(type = CorbaUnionElementType.defaultOption) - private boolean def; - - @CorbaUnionElement(type = CorbaUnionElementType.discriminator) - @SuppressWarnings("unused") - private int discriminator = -1; - - public int getX() { - return x; - } - - public void setX(int x) { - this.discriminator = 1; - this.x = x; - } - - public float getY() { - return y; - } - - public void setY(float y) { - this.discriminator = 2; - this.y = y; - } - - public String getZ() { - return z; - } - - public void setZ(String z) { - this.discriminator = 3; - this.z = z; - } - - public boolean isDef() { - return def; - } - - public void setDef(boolean def) { - this.discriminator = -1; - this.def = def; - } - - public InnerUnion getIu() { - return iu; - } - - public void setIu(InnerUnion iu) { - this.discriminator = 4; - this.iu = iu; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/SimpleStruct.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/SimpleStruct.java deleted file mode 100644 index 85ca3798f4..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/SimpleStruct.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.corba.testing.hierarchy; - -/** - * @version $Rev$ $Date$ - */ -public class SimpleStruct { - - public String field1; - public int field2; - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/SomeStruct.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/SomeStruct.java deleted file mode 100644 index d8cdf1835a..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/hierarchy/SomeStruct.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.binding.corba.testing.hierarchy; - -/** - * @version $Rev$ $Date$ - */ -public class SomeStruct { - - public SimpleStruct innerStruct; - public String str; - public String[] str_list; - public int[][] twoDimSeq; - public int[][][] threeDimSeq; - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObject.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObject.java deleted file mode 100644 index bb72fdbbf3..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObject.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.corba.testing.references; - -/** -* org/apache/tuscany/sca/binding/corba/testing/references/DummyObject.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from remote_objects.idl -* niedziela, 8 czerwiec 2008 16:43:12 CEST -*/ - -public interface DummyObject extends DummyObjectOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity { -} // interface DummyObject diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHelper.java deleted file mode 100644 index 606d333bb3..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHelper.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.binding.corba.testing.references; - -/** -* org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from remote_objects.idl -* niedziela, 8 czerwiec 2008 16:43:12 CEST -*/ - -abstract public class DummyObjectHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/references/DummyObject:1.0"; - - public static void insert(org.omg.CORBA.Any a, - org.apache.tuscany.sca.binding.corba.testing.references.DummyObject that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static org.apache.tuscany.sca.binding.corba.testing.references.DummyObject extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = - org.omg.CORBA.ORB - .init() - .create_interface_tc(org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.id(), - "DummyObject"); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static org.apache.tuscany.sca.binding.corba.testing.references.DummyObject read(org.omg.CORBA.portable.InputStream istream) { - return narrow(istream.read_Object(_DummyObjectStub.class)); - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, - org.apache.tuscany.sca.binding.corba.testing.references.DummyObject value) { - ostream.write_Object((org.omg.CORBA.Object)value); - } - - public static org.apache.tuscany.sca.binding.corba.testing.references.DummyObject narrow(org.omg.CORBA.Object obj) { - if (obj == null) - return null; - else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.references.DummyObject) - return (org.apache.tuscany.sca.binding.corba.testing.references.DummyObject)obj; - else if (!obj._is_a(id())) - throw new org.omg.CORBA.BAD_PARAM(); - else { - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - org.apache.tuscany.sca.binding.corba.testing.references._DummyObjectStub stub = - new org.apache.tuscany.sca.binding.corba.testing.references._DummyObjectStub(); - stub._set_delegate(delegate); - return stub; - } - } - - public static org.apache.tuscany.sca.binding.corba.testing.references.DummyObject unchecked_narrow(org.omg.CORBA.Object obj) { - if (obj == null) - return null; - else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.references.DummyObject) - return (org.apache.tuscany.sca.binding.corba.testing.references.DummyObject)obj; - else { - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - org.apache.tuscany.sca.binding.corba.testing.references._DummyObjectStub stub = - new org.apache.tuscany.sca.binding.corba.testing.references._DummyObjectStub(); - stub._set_delegate(delegate); - return stub; - } - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHolder.java deleted file mode 100644 index 0ff9540502..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHolder.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.binding.corba.testing.references; - -/** -* org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from remote_objects.idl -* niedziela, 8 czerwiec 2008 16:43:12 CEST -*/ - -public final class DummyObjectHolder implements org.omg.CORBA.portable.Streamable { - public org.apache.tuscany.sca.binding.corba.testing.references.DummyObject value = null; - - public DummyObjectHolder() { - } - - public DummyObjectHolder(org.apache.tuscany.sca.binding.corba.testing.references.DummyObject initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectOperations.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectOperations.java deleted file mode 100644 index 912bd16f9b..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectOperations.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.binding.corba.testing.references; - -/** -* org/apache/tuscany/sca/binding/corba/testing/references/DummyObjectOperations.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from remote_objects.idl -* niedziela, 8 czerwiec 2008 16:43:12 CEST -*/ - -public interface DummyObjectOperations { - int getLong(); - - org.apache.tuscany.sca.binding.corba.testing.references.DummyObject cloneObject(); -} // interface DummyObjectOperations diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager.java deleted file mode 100644 index 79f7959c72..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager.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.corba.testing.references; - -/** -* org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from remote_objects.idl -* niedziela, 8 czerwiec 2008 16:43:12 CEST -*/ - -public interface ObjectManager extends ObjectManagerOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity { -} // interface ObjectManager diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHelper.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHelper.java deleted file mode 100644 index 495a614d84..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHelper.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.binding.corba.testing.references; - -/** -* org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHelper.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from remote_objects.idl -* niedziela, 8 czerwiec 2008 16:43:12 CEST -*/ - -abstract public class ObjectManagerHelper { - private static String _id = "IDL:org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager:1.0"; - - public static void insert(org.omg.CORBA.Any a, - org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager that) { - org.omg.CORBA.portable.OutputStream out = a.create_output_stream(); - a.type(type()); - write(out, that); - a.read_value(out.create_input_stream(), type()); - } - - public static org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager extract(org.omg.CORBA.Any a) { - return read(a.create_input_stream()); - } - - private static org.omg.CORBA.TypeCode __typeCode = null; - - synchronized public static org.omg.CORBA.TypeCode type() { - if (__typeCode == null) { - __typeCode = - org.omg.CORBA.ORB.init() - .create_interface_tc(org.apache.tuscany.sca.binding.corba.testing.references.ObjectManagerHelper - .id(), - "ObjectManager"); - } - return __typeCode; - } - - public static String id() { - return _id; - } - - public static org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager read(org.omg.CORBA.portable.InputStream istream) { - return narrow(istream.read_Object(_ObjectManagerStub.class)); - } - - public static void write(org.omg.CORBA.portable.OutputStream ostream, - org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager value) { - ostream.write_Object((org.omg.CORBA.Object)value); - } - - public static org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager narrow(org.omg.CORBA.Object obj) { - if (obj == null) - return null; - else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager) - return (org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager)obj; - else if (!obj._is_a(id())) - throw new org.omg.CORBA.BAD_PARAM(); - else { - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - org.apache.tuscany.sca.binding.corba.testing.references._ObjectManagerStub stub = - new org.apache.tuscany.sca.binding.corba.testing.references._ObjectManagerStub(); - stub._set_delegate(delegate); - return stub; - } - } - - public static org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager unchecked_narrow(org.omg.CORBA.Object obj) { - if (obj == null) - return null; - else if (obj instanceof org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager) - return (org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager)obj; - else { - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - org.apache.tuscany.sca.binding.corba.testing.references._ObjectManagerStub stub = - new org.apache.tuscany.sca.binding.corba.testing.references._ObjectManagerStub(); - stub._set_delegate(delegate); - return stub; - } - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHolder.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHolder.java deleted file mode 100644 index 11cfc82ac2..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHolder.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.binding.corba.testing.references; - -/** -* org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerHolder.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from remote_objects.idl -* niedziela, 8 czerwiec 2008 16:43:12 CEST -*/ - -public final class ObjectManagerHolder implements org.omg.CORBA.portable.Streamable { - public org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager value = null; - - public ObjectManagerHolder() { - } - - public ObjectManagerHolder(org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager initialValue) { - value = initialValue; - } - - public void _read(org.omg.CORBA.portable.InputStream i) { - value = org.apache.tuscany.sca.binding.corba.testing.references.ObjectManagerHelper.read(i); - } - - public void _write(org.omg.CORBA.portable.OutputStream o) { - org.apache.tuscany.sca.binding.corba.testing.references.ObjectManagerHelper.write(o, value); - } - - public org.omg.CORBA.TypeCode _type() { - return org.apache.tuscany.sca.binding.corba.testing.references.ObjectManagerHelper.type(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerOperations.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerOperations.java deleted file mode 100644 index e0e56d1017..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerOperations.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.binding.corba.testing.references; - -/** -* org/apache/tuscany/sca/binding/corba/testing/references/ObjectManagerOperations.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from remote_objects.idl -* niedziela, 8 czerwiec 2008 16:43:12 CEST -*/ - -public interface ObjectManagerOperations { - org.apache.tuscany.sca.binding.corba.testing.references.DummyObject getDummyObject(); - - org.apache.tuscany.sca.binding.corba.testing.references.DummyObject getObjectByArgument(org.apache.tuscany.sca.binding.corba.testing.references.DummyObject dummy); -} // interface ObjectManagerOperations diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectImplBase.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectImplBase.java deleted file mode 100644 index c706661eaa..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectImplBase.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.binding.corba.testing.references; - -/** -* org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectImplBase.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from remote_objects.idl -* niedziela, 8 czerwiec 2008 16:43:12 CEST -*/ - -public abstract class _DummyObjectImplBase extends org.omg.CORBA.portable.ObjectImpl implements - org.apache.tuscany.sca.binding.corba.testing.references.DummyObject, org.omg.CORBA.portable.InvokeHandler { - - // Constructors - public _DummyObjectImplBase() { - } - - private static java.util.Hashtable _methods = new java.util.Hashtable(); - static { - _methods.put("getLong", new java.lang.Integer(0)); - _methods.put("cloneObject", new java.lang.Integer(1)); - } - - public org.omg.CORBA.portable.OutputStream _invoke(String $method, - org.omg.CORBA.portable.InputStream in, - org.omg.CORBA.portable.ResponseHandler $rh) { - org.omg.CORBA.portable.OutputStream out = null; - java.lang.Integer __method = (java.lang.Integer)_methods.get($method); - if (__method == null) - throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - - switch (__method.intValue()) { - case 0: // org/apache/tuscany/sca/binding/corba/testing/references/DummyObject/getLong - { - int $result = (int)0; - $result = this.getLong(); - out = $rh.createReply(); - out.write_long($result); - break; - } - - case 1: // org/apache/tuscany/sca/binding/corba/testing/references/DummyObject/cloneObject - { - org.apache.tuscany.sca.binding.corba.testing.references.DummyObject $result = null; - $result = this.cloneObject(); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.write(out, $result); - break; - } - - default: - throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - } - - return out; - } // _invoke - - // Type-specific CORBA::Object operations - private static String[] __ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/references/DummyObject:1.0"}; - - @Override - public String[] _ids() { - return (String[])__ids.clone(); - } - -} // class _DummyObjectImplBase diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectStub.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectStub.java deleted file mode 100644 index c9a31deb27..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectStub.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing.references; - -/** -* org/apache/tuscany/sca/binding/corba/testing/references/_DummyObjectStub.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from remote_objects.idl -* niedziela, 8 czerwiec 2008 16:43:12 CEST -*/ - -public class _DummyObjectStub extends org.omg.CORBA.portable.ObjectImpl implements - org.apache.tuscany.sca.binding.corba.testing.references.DummyObject { - - public int getLong() { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("getLong", true); - $in = _invoke($out); - int $result = $in.read_long(); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return getLong(); - } finally { - _releaseReply($in); - } - } // getLong - - public org.apache.tuscany.sca.binding.corba.testing.references.DummyObject cloneObject() { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("cloneObject", true); - $in = _invoke($out); - org.apache.tuscany.sca.binding.corba.testing.references.DummyObject $result = - org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return cloneObject(); - } finally { - _releaseReply($in); - } - } // cloneObject - - // Type-specific CORBA::Object operations - private static String[] __ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/references/DummyObject:1.0"}; - - @Override - public String[] _ids() { - return (String[])__ids.clone(); - } - - private void readObject(java.io.ObjectInputStream s) throws java.io.IOException { - String str = s.readUTF(); - String[] args = null; - java.util.Properties props = null; - org.omg.CORBA.Object obj = org.omg.CORBA.ORB.init(args, props).string_to_object(str); - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - _set_delegate(delegate); - } - - private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException { - String[] args = null; - java.util.Properties props = null; - String str = org.omg.CORBA.ORB.init(args, props).object_to_string(this); - s.writeUTF(str); - } -} // class _DummyObjectStub diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerImplBase.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerImplBase.java deleted file mode 100644 index a6b55b8bae..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerImplBase.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.corba.testing.references; - -/** -* org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerImplBase.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from remote_objects.idl -* niedziela, 8 czerwiec 2008 16:43:12 CEST -*/ - -public abstract class _ObjectManagerImplBase extends org.omg.CORBA.portable.ObjectImpl implements - org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager, org.omg.CORBA.portable.InvokeHandler { - - // Constructors - public _ObjectManagerImplBase() { - } - - private static java.util.Hashtable _methods = new java.util.Hashtable(); - static { - _methods.put("getDummyObject", new java.lang.Integer(0)); - _methods.put("getObjectByArgument", new java.lang.Integer(1)); - } - - public org.omg.CORBA.portable.OutputStream _invoke(String $method, - org.omg.CORBA.portable.InputStream in, - org.omg.CORBA.portable.ResponseHandler $rh) { - org.omg.CORBA.portable.OutputStream out = null; - java.lang.Integer __method = (java.lang.Integer)_methods.get($method); - if (__method == null) - throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - - switch (__method.intValue()) { - case 0: // org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager/getDummyObject - { - org.apache.tuscany.sca.binding.corba.testing.references.DummyObject $result = null; - $result = this.getDummyObject(); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.write(out, $result); - break; - } - - case 1: // org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager/getObjectByArgument - { - org.apache.tuscany.sca.binding.corba.testing.references.DummyObject dummy = - org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.read(in); - org.apache.tuscany.sca.binding.corba.testing.references.DummyObject $result = null; - $result = this.getObjectByArgument(dummy); - out = $rh.createReply(); - org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.write(out, $result); - break; - } - - default: - throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE); - } - - return out; - } // _invoke - - // Type-specific CORBA::Object operations - private static String[] __ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager:1.0"}; - - @Override - public String[] _ids() { - return (String[])__ids.clone(); - } - -} // class _ObjectManagerImplBase diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerStub.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerStub.java deleted file mode 100644 index e06a078a93..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerStub.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing.references; - -/** -* org/apache/tuscany/sca/binding/corba/testing/references/_ObjectManagerStub.java . -* Generated by the IDL-to-Java compiler (portable), version "3.2" -* from remote_objects.idl -* niedziela, 8 czerwiec 2008 16:43:12 CEST -*/ - -public class _ObjectManagerStub extends org.omg.CORBA.portable.ObjectImpl implements - org.apache.tuscany.sca.binding.corba.testing.references.ObjectManager { - - public org.apache.tuscany.sca.binding.corba.testing.references.DummyObject getDummyObject() { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("getDummyObject", true); - $in = _invoke($out); - org.apache.tuscany.sca.binding.corba.testing.references.DummyObject $result = - org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return getDummyObject(); - } finally { - _releaseReply($in); - } - } // getDummyObject - - public org.apache.tuscany.sca.binding.corba.testing.references.DummyObject getObjectByArgument(org.apache.tuscany.sca.binding.corba.testing.references.DummyObject dummy) { - org.omg.CORBA.portable.InputStream $in = null; - try { - org.omg.CORBA.portable.OutputStream $out = _request("getObjectByArgument", true); - org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.write($out, dummy); - $in = _invoke($out); - org.apache.tuscany.sca.binding.corba.testing.references.DummyObject $result = - org.apache.tuscany.sca.binding.corba.testing.references.DummyObjectHelper.read($in); - return $result; - } catch (org.omg.CORBA.portable.ApplicationException $ex) { - $in = $ex.getInputStream(); - String _id = $ex.getId(); - throw new org.omg.CORBA.MARSHAL(_id); - } catch (org.omg.CORBA.portable.RemarshalException $rm) { - return getObjectByArgument(dummy); - } finally { - _releaseReply($in); - } - } // getObjectByArgument - - // Type-specific CORBA::Object operations - private static String[] __ids = {"IDL:org/apache/tuscany/sca/binding/corba/testing/references/ObjectManager:1.0"}; - - @Override - public String[] _ids() { - return (String[])__ids.clone(); - } - - private void readObject(java.io.ObjectInputStream s) throws java.io.IOException { - String str = s.readUTF(); - String[] args = null; - java.util.Properties props = null; - org.omg.CORBA.Object obj = org.omg.CORBA.ORB.init(args, props).string_to_object(str); - org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate(); - _set_delegate(delegate); - } - - private void writeObject(java.io.ObjectOutputStream s) throws java.io.IOException { - String[] args = null; - java.util.Properties props = null; - String str = org.omg.CORBA.ORB.init(args, props).object_to_string(this); - s.writeUTF(str); - } -} // class _ObjectManagerStub diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysSetterServant.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysSetterServant.java deleted file mode 100644 index 0aec4d278d..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysSetterServant.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.corba.testing.servants; - -import org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject; -import org.apache.tuscany.sca.binding.corba.testing.generated._ArraysSetterImplBase; - -public class ArraysSetterServant extends _ArraysSetterImplBase { - - private static final long serialVersionUID = 1L; - - public boolean[] setBoolean(boolean[] arg) { - return arg; - } - - public char[] setChar(char[] arg) { - return arg; - } - - public double[] setDouble(double[] arg) { - return arg; - } - - public float[] setFloat(float[] arg) { - return arg; - } - - public int[] setLong(int[] arg) { - return arg; - } - - public long[] setLongLong(long[] arg) { - return arg; - } - - public byte[] setOctet(byte[] arg) { - return arg; - } - - public RemoteObject[] setRemoteObject(RemoteObject[] obj) { - return obj; - } - - public short[] setShort(short[] arg) { - return arg; - } - - public String[] setString(String[] arg) { - return arg; - } - - public int[] setUnsignedLong(int[] arg) { - return arg; - } - - public long[] setUnsignedLongLong(long[] arg) { - return arg; - } - - public short[] setUnsignedShort(short[] arg) { - return arg; - } - - public char[] setWchar(char[] arg) { - return arg; - } - - public String[] setWstring(String[] arg) { - return arg; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysUnionsServant.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysUnionsServant.java deleted file mode 100644 index d9bde48a5a..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysUnionsServant.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.binding.corba.testing.servants; - -import org.apache.tuscany.sca.binding.corba.testing.arrays_unions.RichUnion; -import org.apache.tuscany.sca.binding.corba.testing.arrays_unions.TestStruct; -import org.apache.tuscany.sca.binding.corba.testing.arrays_unions._ArraysUnionsTestsImplBase; - -public class ArraysUnionsServant extends _ArraysUnionsTestsImplBase { - - private static final long serialVersionUID = 1L; - - public TestStruct passTestStruct(TestStruct arg) { - return arg; - } - - public String[][] passStringArray(String[][] arg) { - return arg; - } - - public RichUnion passRichUnion(RichUnion arg) { - return arg; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysUnionsTuscanyServant.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysUnionsTuscanyServant.java deleted file mode 100644 index cd78588363..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ArraysUnionsTuscanyServant.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.corba.testing.servants; - -import org.apache.tuscany.sca.binding.corba.meta.CorbaArray; -import org.apache.tuscany.sca.binding.corba.testing.hierarchy.ArraysTestStruct; -import org.apache.tuscany.sca.binding.corba.testing.hierarchy.RichUnion; - -public class ArraysUnionsTuscanyServant { - - private static final long serialVersionUID = 1L; - - public ArraysTestStruct passTestStruct(ArraysTestStruct arg) { - return arg; - } - - @CorbaArray( {2, 2}) - public String[][] passStringArray(@CorbaArray( {2, 2})String[][] arg) { - return arg; - } - - public RichUnion passRichUnion(RichUnion arg) { - return arg; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/CalcServant.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/CalcServant.java deleted file mode 100644 index fd789e19cb..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/CalcServant.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing.servants; - -import org.apache.tuscany.sca.binding.corba.testing.exceptions._CalcImplBase; -import org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.Arguments; -import org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.DivByZero; -import org.apache.tuscany.sca.binding.corba.testing.exceptions.CalcPackage.NotSupported; - -public class CalcServant extends _CalcImplBase { - - private static final long serialVersionUID = 1L; - - public double div(double arg1, double arg2) throws DivByZero { - if (arg2 == 0) { - DivByZero exception = new DivByZero(); - exception.arguments = new Arguments(arg1, arg2); - exception.info = "Error occured during div: div by zero"; - throw exception; - } else { - return arg1 / arg2; - } - } - - public double divForSmallArgs(double arg1, double arg2) throws DivByZero, NotSupported { - if (arg1 > 100 || arg2 > 100) { - NotSupported exception = new NotSupported(); - exception.info = "arg1: " + arg1 + ", arg2: " + arg2; - throw exception; - } else { - return div(arg1, arg2); - } - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/DummyObjectServant.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/DummyObjectServant.java deleted file mode 100644 index 2e205f1d0f..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/DummyObjectServant.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.binding.corba.testing.servants; - -import org.apache.tuscany.sca.binding.corba.testing.references.DummyObject; -import org.apache.tuscany.sca.binding.corba.testing.references._DummyObjectImplBase; - -public class DummyObjectServant extends _DummyObjectImplBase { - - private static final long serialVersionUID = 1L; - private int retVal; - - public DummyObjectServant() { - retVal = (int)System.currentTimeMillis(); - } - - public int getLong() { - return retVal; - } - - public DummyObject cloneObject() { - return new DummyObjectServant(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/EnumManagerServant.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/EnumManagerServant.java deleted file mode 100644 index 52386aeef7..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/EnumManagerServant.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.binding.corba.testing.servants; - -import org.apache.tuscany.sca.binding.corba.testing.enums.Color; -import org.apache.tuscany.sca.binding.corba.testing.enums._EnumManagerImplBase; - -public class EnumManagerServant extends _EnumManagerImplBase { - - private static final long serialVersionUID = 1L; - - public Color getColor(Color color) { - return color; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/InvalidTestObjectServant.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/InvalidTestObjectServant.java deleted file mode 100644 index b7fbb69627..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/InvalidTestObjectServant.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.binding.corba.testing.servants; - -public class InvalidTestObjectServant { - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/InvalidTypesServant.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/InvalidTypesServant.java deleted file mode 100644 index dda8203f79..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/InvalidTypesServant.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.binding.corba.testing.servants; - -import org.apache.tuscany.sca.binding.corba.testing.hierarchy.InvalidStruct1; - -public class InvalidTypesServant { - - public InvalidStruct1 firstMethodWithInvalidArg() { - return null; - } - - public void secondMethodWithInvalidArg(InvalidStruct1 arg) { - - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/NonCorbaServant.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/NonCorbaServant.java deleted file mode 100644 index 20700a0392..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/NonCorbaServant.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.corba.testing.servants; - -import org.apache.tuscany.sca.binding.corba.testing.hierarchy.NonCorbaException; - -public class NonCorbaServant { - - public String setString(String arg) { - return arg; - } - - public void throwException() throws NonCorbaException { - NonCorbaException e = new NonCorbaException(); - e.someField = "test"; - throw e; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ObjectManagerServant.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ObjectManagerServant.java deleted file mode 100644 index 213c7fbd7c..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/ObjectManagerServant.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.corba.testing.servants; - -import org.apache.tuscany.sca.binding.corba.testing.references.DummyObject; -import org.apache.tuscany.sca.binding.corba.testing.references._ObjectManagerImplBase; - -public class ObjectManagerServant extends _ObjectManagerImplBase { - - private static final long serialVersionUID = 1L; - - public DummyObject getObjectByArgument(DummyObject arg) { - return arg; - } - - public DummyObject getDummyObject() { - return new DummyObjectServant(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/PrimitivesSetterServant.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/PrimitivesSetterServant.java deleted file mode 100644 index 92e18741ae..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/PrimitivesSetterServant.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.corba.testing.servants; - -import org.apache.tuscany.sca.binding.corba.testing.generated.RemoteObject; -import org.apache.tuscany.sca.binding.corba.testing.generated._PrimitivesSetterImplBase; - -public class PrimitivesSetterServant extends _PrimitivesSetterImplBase { - - private static final long serialVersionUID = 1L; - - public boolean setBoolean(boolean arg) { - return arg; - } - - public char setChar(char arg) { - return arg; - } - - public double setDouble(double arg) { - return arg; - } - - public float setFloat(float arg) { - return arg; - } - - public int setLong(int arg) { - return arg; - } - - public long setLongLong(long arg) { - return arg; - } - - public byte setOctet(byte arg) { - return arg; - } - - public RemoteObject setRemoteObject(RemoteObject obj) { - return obj; - } - - public short setShort(short arg) { - return arg; - } - - public String setString(String arg) { - return arg; - } - - public int setUnsignedLong(int arg) { - return arg; - } - - public long setUnsignedLongLong(long arg) { - return arg; - } - - public short setUnsignedShort(short arg) { - return arg; - } - - public char setWchar(char arg) { - return arg; - } - - public String setWstring(String arg) { - return arg; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/TestObjectServant.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/TestObjectServant.java deleted file mode 100644 index 153268983f..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/servants/TestObjectServant.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing.servants; - -import org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStruct; -import org.apache.tuscany.sca.binding.corba.testing.generated.SimpleStructHolder; -import org.apache.tuscany.sca.binding.corba.testing.generated.SomeStruct; -import org.apache.tuscany.sca.binding.corba.testing.generated._TestObjectImplBase; -import org.apache.tuscany.sca.binding.corba.testing.generated.long_seq1Holder; -import org.apache.tuscany.sca.binding.corba.testing.generated.long_seq2Holder; -import org.apache.tuscany.sca.binding.corba.testing.generated.long_seq3Holder; - -/** - * @version $Rev$ $Date$ - */ -public class TestObjectServant extends _TestObjectImplBase { - - private static final long serialVersionUID = 1L; - - public int[] setLongSeq1(long_seq1Holder arg) { - return arg.value; - } - - public int[][] setLongSeq2(long_seq2Holder arg) { - - return arg.value; - } - - public int[][][] setLongSeq3(long_seq3Holder arg) { - return arg.value; - } - - public SimpleStruct setSimpleStruct(SimpleStructHolder arg) { - return arg.value; - } - - public SomeStruct setStruct(SomeStruct arg) { - return arg; - } - - public SomeStruct pickStructFromArgs(SomeStruct arg1, SomeStruct arg2, SomeStruct arg3, int structNumber) { - switch (structNumber) { - case 1: - return arg1; - case 2: - return arg2; - case 3: - return arg3; - default: - return arg1; - } - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestDataType.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestDataType.java deleted file mode 100644 index 7ebc3fce85..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestDataType.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.binding.corba.testing.service.mocks; - -import java.lang.reflect.Type; - -import org.apache.tuscany.sca.interfacedef.DataType; - -/** - * Mock DataType implementation. Only few methods needs to be implemented. - */ -public class TestDataType implements DataType { - - public Class typeClass; - public L logical; - - public TestDataType(Class typeClass) { - this.typeClass = typeClass; - } - - public TestDataType(Class typeClass, L logical) { - this.typeClass = typeClass; - this.logical = logical; - } - - public String getDataBinding() { - return null; - } - - public Type getGenericType() { - return null; - } - - public L getLogical() { - return logical; - } - - public T getMetaData(Class arg0) { - return null; - } - - public Class getPhysical() { - return typeClass; - } - - public void setDataBinding(String arg0) { - - } - - public void setGenericType(Type arg0) { - - } - - public void setLogical(L arg0) { - - } - - public void setMetaData(Class arg0, T arg1) { - - } - - public void setPhysical(Class arg0) { - - } - - @Override - public Object clone() { - return null; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestInterface.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestInterface.java deleted file mode 100644 index 2c5a0d8159..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestInterface.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing.service.mocks; - -import java.util.List; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentAttachPointType; -import org.apache.tuscany.sca.policy.PolicySet; - -/** - * Mock TestInterface implementation. Only few methods needs to be implemented. - */ -public class TestInterface implements JavaInterface { - - private List operations; - private Class javaClass; - - public TestInterface(List opearations, Class javaClass) { - this.operations = opearations; - this.javaClass = javaClass; - } - - public List getOperations() { - return operations; - } - - public boolean isConversational() { - return false; - } - - public boolean isDynamic() { - return false; - } - - public boolean isRemotable() { - return false; - } - - public void resetDataBinding(String dataBinding) { - - } - - public void setConversational(boolean conversational) { - - } - - public void setDefaultDataBinding(String dataBinding) { - - } - - public void setRemotable(boolean remotable) { - - } - - public List getApplicablePolicySets() { - return null; - } - - public List getPolicySets() { - return null; - } - - public List getRequiredIntents() { - return null; - } - - public IntentAttachPointType getType() { - return null; - } - - public void setType(IntentAttachPointType type) { - - } - - @Override - public Object clone() { - return null; - } - - public Class getCallbackClass() { - return null; - } - - public Class getJavaClass() { - return javaClass; - } - - public String getName() { - return null; - } - - public QName getQName() { - return null; - } - - public void setCallbackClass(Class arg0) { - } - - public void setJavaClass(Class javaClass) { - this.javaClass = javaClass; - } - - public void setName(String arg0) { - } - - public void setQName(QName arg0) { - - } - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean arg0) { - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestInterfaceContract.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestInterfaceContract.java deleted file mode 100644 index d691705955..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestInterfaceContract.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing.service.mocks; - -import org.apache.tuscany.sca.interfacedef.Interface; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; - -/** - * Mock InterfaceContract implementation. Only few methods needs to be - * implemented. - */ -public class TestInterfaceContract implements InterfaceContract { - - private Interface iface; - - public Interface getCallbackInterface() { - return null; - } - - public Interface getInterface() { - return iface; - } - - public InterfaceContract makeUnidirectional(boolean isCallback) { - return null; - } - - public void setCallbackInterface(Interface callbackInterface) { - - } - - public void setInterface(Interface callInterface) { - this.iface = callInterface; - } - - @Override - public Object clone() { - return null; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestOperation.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestOperation.java deleted file mode 100644 index 90551ec25d..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestOperation.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.binding.corba.testing.service.mocks; - -import java.util.List; -import java.util.Map; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.interfacedef.ConversationSequence; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Interface; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.util.WrapperInfo; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentAttachPointType; -import org.apache.tuscany.sca.policy.PolicySet; - -/** - * Mock Operation implementation. Only few methods needs to be implemented. - */ -public class TestOperation implements Operation { - - private DataType> inputType; - private DataType outputType; - private String name; - - public ConversationSequence getConversationSequence() { - return null; - } - - public String getDataBinding() { - return null; - } - - public Map>> getFaultBeans() { - return null; - } - - public List getFaultTypes() { - return null; - } - - public DataType> getInputType() { - return inputType; - } - - public Interface getInterface() { - return null; - } - - public String getName() { - return name; - } - - public DataType getOutputType() { - return outputType; - } - - public WrapperInfo getWrapper() { - return null; - } - - public boolean isDynamic() { - return false; - } - - public boolean isNonBlocking() { - return false; - } - - public boolean isUnresolved() { - return false; - } - - public boolean isWrapperStyle() { - return false; - } - - public void setConversationSequence(ConversationSequence sequence) { - - } - - public void setDataBinding(String dataBinding) { - - } - - public void setDynamic(boolean b) { - - } - - public void setFaultBeans(Map>> faultBeans) { - - } - - public void setFaultTypes(List faultTypes) { - - } - - public void setInputType(DataType> inputType) { - this.inputType = inputType; - } - - public void setInterface(Interface interfaze) { - - } - - public void setName(String name) { - this.name = name; - } - - public void setNonBlocking(boolean nonBlocking) { - - } - - public void setOutputType(DataType outputType) { - this.outputType = outputType; - } - - public void setUnresolved(boolean unresolved) { - - } - - public void setWrapper(WrapperInfo wrapperInfo) { - - } - - public void setWrapperStyle(boolean wrapperStyle) { - - } - - public List getApplicablePolicySets() { - return null; - } - - public List getPolicySets() { - return null; - } - - @Override - public Object clone() { - return null; - } - - public List getRequiredIntents() { - return null; - } - - public IntentAttachPointType getType() { - return null; - } - - public void setType(IntentAttachPointType type) { - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestRuntimeComponentService.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestRuntimeComponentService.java deleted file mode 100644 index 6fc5f9398e..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestRuntimeComponentService.java +++ /dev/null @@ -1,234 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing.service.mocks; - -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Callback; -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.assembly.ConfiguredOperation; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.interfacedef.DataType; -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.Invoker; -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.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * Mock RuntimeComponentService implementation. Only few methods needs to be - * implemented. - */ -public class TestRuntimeComponentService implements RuntimeComponentService { - - private InterfaceContract interfaceContract; - private RuntimeWire runtimeWire; - - public TestRuntimeComponentService(Object invocationTarget) { - runtimeWire = new TestRuntimeWire(invocationTarget); - List operations = new ArrayList(); - Method[] methods = invocationTarget.getClass().getMethods(); - for (int i = 0; i < methods.length; i++) { - int mod = methods[i].getModifiers(); - if (methods[i].getDeclaringClass().equals(invocationTarget.getClass()) && Modifier.isPublic(mod) - && !methods[i].getName().startsWith("_")) { - Operation operation = new TestOperation(); - DataType returnType = new TestDataType(methods[i].getReturnType()); - operation.setOutputType(returnType); - Class[] argTypes = methods[i].getParameterTypes(); - List argDataTypes = new ArrayList(); - for (int j = 0; j < argTypes.length; j++) { - argDataTypes.add(new TestDataType(argTypes[j])); - } - TestDataType> inputDataType = new TestDataType>(null, argDataTypes); - operation.setInputType(inputDataType); - operations.add(operation); - operation.setName(methods[i].getName()); - } - } - TestInterface iface = new TestInterface(operations, invocationTarget.getClass()); - interfaceContract = new TestInterfaceContract(); - interfaceContract.setInterface(iface); - } - - public void addPolicyProvider(Binding binding, PolicyProvider policyProvider) { - - } - - public ServiceBindingProvider getBindingProvider(Binding binding) { - return null; - } - - public List getCallbackWires() { - return null; - } - - public InvocationChain getInvocationChain(Binding binding, Operation operation) { - return null; - } - - public InvocationChain getInvocationChain(Binding binding, InterfaceContract interfaceContract, Operation operation) { - return null; - } - - public Invoker getInvoker(Binding binding, Operation operation) { - return null; - } - - public Invoker getInvoker(Binding binding, InterfaceContract interfaceContract, Operation operation) { - return null; - } - - public List getPolicyProviders(Binding binding) { - return null; - } - - public RuntimeWire getRuntimeWire(Binding binding) { - return runtimeWire; - } - - public RuntimeWire getRuntimeWire(Binding binding, InterfaceContract interfaceContract) { - return null; - } - - public List getRuntimeWires() { - return null; - } - - public void setBindingProvider(Binding binding, ServiceBindingProvider bindingProvider) { - - } - - public ComponentReference getCallbackReference() { - return null; - } - - public Service getService() { - return null; - } - - public void setCallbackReference(ComponentReference callbackReference) { - - } - - public void setService(Service service) { - - } - - public InterfaceContract getInterfaceContract() { - return interfaceContract; - } - - public InterfaceContract getInterfaceContract(Binding binding) { - return getInterfaceContract(); - } - - public String getName() { - return null; - } - - public boolean isCallback() { - return false; - } - - public void setInterfaceContract(InterfaceContract interfaceContract) { - this.interfaceContract = interfaceContract; - } - - public void setIsCallback(boolean isCallback) { - - } - - public void setName(String name) { - - } - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - - } - - public List getExtensions() { - return null; - } - - public List getRequiredIntents() { - return null; - } - - public IntentAttachPointType getType() { - return null; - } - - public void setType(IntentAttachPointType type) { - - } - - public List getConfiguredOperations() { - return null; - } - - public B getBinding(Class bindingClass) { - return null; - } - - public List getBindings() { - return null; - } - - public Callback getCallback() { - return null; - } - - public B getCallbackBinding(Class bindingClass) { - return null; - } - - public void setCallback(Callback callback) { - - } - - public List getApplicablePolicySets() { - return null; - } - - public List getPolicySets() { - return null; - } - - @Override - public Object clone() { - return null; - } - -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestRuntimeWire.java b/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestRuntimeWire.java deleted file mode 100644 index 5b7caf1010..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/java/org/apache/tuscany/sca/binding/corba/testing/service/mocks/TestRuntimeWire.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.testing.service.mocks; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.List; - -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.runtime.EndpointReference; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * Mock RuntimeWire implementation. Only few methods needs to be implemented. - */ -public class TestRuntimeWire implements RuntimeWire { - private Object invocationTarget; - - public TestRuntimeWire(Object invocationTarget) { - this.invocationTarget = invocationTarget; - } - - public InvocationChain getInvocationChain(Operation arg0) { - return null; - } - - public List getInvocationChains() { - return null; - } - - public EndpointReference getSource() { - return null; - } - - public EndpointReference getTarget() { - return null; - } - - public Object invoke(Operation operation, Object[] args) throws InvocationTargetException { - Class[] types = new Class[args.length]; - for (int i = 0; i < args.length; i++) { - types[i] = args[i].getClass(); - } - Object result = null; - try { - Method[] methods = invocationTarget.getClass().getMethods(); - for (int i = 0; i < methods.length; i++) { - if (methods[i].getName().equals(operation.getName())) { - result = methods[i].invoke(invocationTarget, args); - break; - } - } - } catch (InvocationTargetException e) { - throw e; - } catch (IllegalAccessException e) { - e.printStackTrace(); - } - - return result; - } - - public Object invoke(Operation operation, Message arg1) throws InvocationTargetException { - - return null; - } - - public Object invoke(Message arg1) throws InvocationTargetException { - - return null; - } - - public void rebuild() { - - } - - public void setTarget(EndpointReference arg0) { - - } - - @Override - public Object clone() { - return null; - } - - public InvocationChain getBindingInvocationChain() { - return null; - } -} diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/resources/arrays_unions.idl b/java/sca/contrib/modules/binding-corba-runtime/src/test/resources/arrays_unions.idl deleted file mode 100644 index 0f4ed03b4e..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/resources/arrays_unions.idl +++ /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. - */ - -/* - * compile by - * idlj -fall -oldImplBase arrays_unions.idl - */ - -module org { - module apache { - module tuscany { - module sca { - module binding { - module corba { - module testing { - module arrays_unions { - - struct TestStruct { - string oneDimArray[2]; - long twoDimArray[2][4]; - float threeDimArray[2][4][2]; - }; - - typedef string StringArray[2][2]; - - union InnerUnion switch (long) { - case 1: long x; - case 2: float y; - }; - - union RichUnion switch (long) { - case 1: long x; - case 2: float y; - case 3: string z; - case 4: InnerUnion iu; - default: boolean a; - }; - - interface ArraysUnionsTests { - TestStruct passTestStruct(in TestStruct arg); - StringArray passStringArray(in StringArray arg); - RichUnion passRichUnion(in RichUnion arg); - }; - - }; - }; - }; - }; - }; - }; - }; -}; - diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/resources/enums.idl b/java/sca/contrib/modules/binding-corba-runtime/src/test/resources/enums.idl deleted file mode 100644 index 2e4e829b0f..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/resources/enums.idl +++ /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. - */ - -/* - * compile by - * idlj -fall -oldImplBase enums.idl - */ - -module org { - module apache { - module tuscany { - module sca { - module binding { - module corba { - module testing { - module enums { - enum Color {red, yellow, green}; - interface EnumManager { - Color getColor(in Color color); - }; - }; - }; - }; - }; - }; - }; - }; -}; diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/resources/exceptions.idl b/java/sca/contrib/modules/binding-corba-runtime/src/test/resources/exceptions.idl deleted file mode 100644 index b34ec46458..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/resources/exceptions.idl +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -/* - * compile by - * idlj -fall -oldImplBase exceptions.idl - */ - -module org { - module apache { - module tuscany { - module sca { - module binding { - module corba { - module testing { - module exceptions { - interface Calc { - struct Arguments { - double arg1; - double arg2; - }; - - exception DivByZero{ - Arguments arguments; - string info; - }; - - exception NotSupported { - string info; - }; - - double div(in double arg1, in double arg2) raises(DivByZero); - double divForSmallArgs(in double arg1, in double arg2) raises(DivByZero, NotSupported); - }; - }; - }; - }; - }; - }; - }; - }; -}; diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/resources/general_tests.idl b/java/sca/contrib/modules/binding-corba-runtime/src/test/resources/general_tests.idl deleted file mode 100644 index db253338c3..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/resources/general_tests.idl +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -/* - * compile by - * idlj -fall -oldImplBase general_tests.idl - */ - -module org { - module apache { - module tuscany { - module sca { - module binding { - module corba { - module testing { - module generated { - - interface RemoteObject { - - }; - - typedef sequence remote_object_list; - typedef sequence boolean_list; - typedef sequence char_list; - typedef sequence wchar_list; - typedef sequence octet_list; - typedef sequence short_list; - typedef sequence unsigned_short_list; - typedef sequence long_list; - typedef sequence unsigned_long_list; - typedef sequence long_long_list; - typedef sequence unsigned_long_long_list; - typedef sequence float_list; - typedef sequence double_list; - typedef sequence string_list; - typedef sequence wstring_list; - - interface PrimitivesSetter { - boolean setBoolean(in boolean arg); - char setChar(in char arg); - wchar setWchar(in wchar arg); - octet setOctet(in octet arg); - short setShort(in short arg); - unsigned short setUnsignedShort(in unsigned short arg); - long setLong(in long arg); - unsigned long setUnsignedLong(in unsigned long arg); - long long setLongLong(in long long arg); - unsigned long long setUnsignedLongLong(in unsigned long long arg); - float setFloat(in float arg); - double setDouble(in double arg); - string setString(in string arg); - wstring setWstring(in wstring arg); - RemoteObject setRemoteObject(in RemoteObject obj); - }; - - interface ArraysSetter { - boolean_list setBoolean(in boolean_list arg); - char_list setChar(in char_list arg); - wchar_list setWchar(in wchar_list arg); - octet_list setOctet(in octet_list arg); - short_list setShort(in short_list arg); - unsigned_short_list setUnsignedShort(in unsigned_short_list arg); - long_list setLong(in long_list arg); - unsigned_long_list setUnsignedLong(in unsigned_long_list arg); - long_long_list setLongLong(in long_long_list arg); - unsigned_long_long_list setUnsignedLongLong(in unsigned_long_long_list arg); - float_list setFloat(in float_list arg); - double_list setDouble(in double_list arg); - string_list setString(in string_list arg); - wstring_list setWstring(in wstring_list arg); - remote_object_list setRemoteObject(in remote_object_list obj); - }; - - typedef sequence long_seq1; - typedef sequence long_seq2; - typedef sequence long_seq3; - - struct SimpleStruct { - string field1; - long field2; - }; - - - struct SomeStruct { - SimpleStruct innerStruct; - string str; - string_list str_list; - long_seq2 twoDimSeq; - long_seq3 threeDimSeq; - }; - - interface TestObject { - SomeStruct pickStructFromArgs(in SomeStruct arg1, in SomeStruct arg2, in SomeStruct arg3, in long structNumber); - SomeStruct setStruct(in SomeStruct arg); - SimpleStruct setSimpleStruct(inout SimpleStruct arg); - long_seq1 setLongSeq1(inout long_seq1 arg); - long_seq2 setLongSeq2(inout long_seq2 arg); - long_seq3 setLongSeq3(inout long_seq3 arg); - }; - - }; - }; - }; - }; - }; - }; - }; -}; diff --git a/java/sca/contrib/modules/binding-corba-runtime/src/test/resources/references.idl b/java/sca/contrib/modules/binding-corba-runtime/src/test/resources/references.idl deleted file mode 100644 index 72b58806e6..0000000000 --- a/java/sca/contrib/modules/binding-corba-runtime/src/test/resources/references.idl +++ /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. - */ - -/* - * compile by - * idlj -fall -oldImplBase remote_objects.idl - */ - -module org { - module apache { - module tuscany { - module sca { - module binding { - module corba { - module testing { - module references { - - interface DummyObject { - long getLong(); - DummyObject cloneObject(); - }; - - interface ObjectManager { - DummyObject getDummyObject(); - DummyObject getObjectByArgument(in DummyObject dummy); - }; - }; - }; - }; - }; - }; - }; - }; -}; diff --git a/java/sca/contrib/modules/binding-corba/LICENSE b/java/sca/contrib/modules/binding-corba/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/java/sca/contrib/modules/binding-corba/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/java/sca/contrib/modules/binding-corba/NOTICE b/java/sca/contrib/modules/binding-corba/NOTICE deleted file mode 100644 index 51042eab05..0000000000 --- a/java/sca/contrib/modules/binding-corba/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-corba/pom.xml b/java/sca/contrib/modules/binding-corba/pom.xml deleted file mode 100644 index 4358fd5d2e..0000000000 --- a/java/sca/contrib/modules/binding-corba/pom.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-binding-corba - Apache Tuscany SCA CORBA Binding Extension - - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-assembly-xml - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-corba - 2.0-SNAPSHOT - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.corba - ${pom.name} - org.apache.tuscany.sca.binding.corba* - - - - - - - diff --git a/java/sca/contrib/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBinding.java b/java/sca/contrib/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBinding.java deleted file mode 100644 index 0b79065cc3..0000000000 --- a/java/sca/contrib/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBinding.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.corba; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.xml.Constants; - -/** - * @version $Rev$ $Date$ - */ -public interface CorbaBinding extends Binding { - QName BINDING_CORBA_QNAME = new QName(Constants.SCA10_TUSCANY_NS, "binding.corba"); - - String getHost(); - - void setHost(String host); - - int getPort(); - - void setPort(int port); - - String getId(); - - void setId(String id); - - String getCorbaname(); -} diff --git a/java/sca/contrib/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBindingFactory.java b/java/sca/contrib/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBindingFactory.java deleted file mode 100644 index 67e3bdcf74..0000000000 --- a/java/sca/contrib/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/CorbaBindingFactory.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.corba; - -/** - * @version $Rev$ $Date$ - */ -public interface CorbaBindingFactory { - /** - * Create a CorbaBinding model - * @return The CorbaBinding model - */ - CorbaBinding createCorbaBinding(); -} diff --git a/java/sca/contrib/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingFactoryImpl.java b/java/sca/contrib/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingFactoryImpl.java deleted file mode 100644 index cecb4fb567..0000000000 --- a/java/sca/contrib/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingFactoryImpl.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.corba.impl; - -import org.apache.tuscany.sca.binding.corba.CorbaBinding; -import org.apache.tuscany.sca.binding.corba.CorbaBindingFactory; - -/** - * @version $Rev$ $Date$ - */ -public class CorbaBindingFactoryImpl implements CorbaBindingFactory { - - /** - * @see org.apache.tuscany.sca.binding.corba.CorbaBindingFactory#createCorbaBinding() - */ - public CorbaBinding createCorbaBinding() { - return new CorbaBindingImpl(); - } - -} diff --git a/java/sca/contrib/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingImpl.java b/java/sca/contrib/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingImpl.java deleted file mode 100644 index 54e98d4117..0000000000 --- a/java/sca/contrib/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingImpl.java +++ /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. - */ - -package org.apache.tuscany.sca.binding.corba.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.binding.corba.CorbaBinding; -import org.apache.tuscany.sca.host.corba.CorbaHostUtils; -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; - -/** - * @version $Rev$ $Date$ - */ -public class CorbaBindingImpl implements CorbaBinding, PolicySetAttachPoint { - private String name; - private String uri; - private String host; - private int port; - private String id; - - private List requiredIntents = new ArrayList(); - private List policySets = new ArrayList(); - private IntentAttachPointType intentAttachPointType; - private List applicablePolicySets = new ArrayList(); - - public String getHost() { - return host; - } - - public void setHost(String host) { - this.host = host; - } - - public int getPort() { - return port; - } - - public void setPort(int port) { - this.port = port; - } - - 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) { - } - - public List getPolicySets() { - return policySets; - } - - public List getRequiredIntents() { - return requiredIntents; - } - - public IntentAttachPointType getType() { - return intentAttachPointType; - } - - public void setType(IntentAttachPointType intentAttachPointType) { - this.intentAttachPointType = intentAttachPointType; - } - - public void setPolicySets(List policySets) { - this.policySets = policySets; - } - - public void setRequiredIntents(List intents) { - this.requiredIntents = intents; - } - - public List getApplicablePolicySets() { - return applicablePolicySets; - } - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getCorbaname() { - return CorbaHostUtils.isValidCorbanameURI(getURI()) ? getURI(): CorbaHostUtils.createCorbanameURI(getHost(), getPort(), getName()); - } - -} diff --git a/java/sca/contrib/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProcessor.java b/java/sca/contrib/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProcessor.java deleted file mode 100644 index 0bb38d3682..0000000000 --- a/java/sca/contrib/modules/binding-corba/src/main/java/org/apache/tuscany/sca/binding/corba/impl/CorbaBindingProcessor.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.binding.corba.impl; - -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.xml.Constants; -import org.apache.tuscany.sca.assembly.xml.PolicyAttachPointProcessor; -import org.apache.tuscany.sca.binding.corba.CorbaBinding; -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.policy.PolicyFactory; - -/** - * @version $Rev$ $Date$ - */ -public class CorbaBindingProcessor implements StAXArtifactProcessor { - private PolicyFactory policyFactory; - private PolicyAttachPointProcessor policyProcessor; - - public CorbaBindingProcessor(ModelFactoryExtensionPoint modelFactories) { - this.policyFactory = modelFactories.getFactory(PolicyFactory.class); - this.policyProcessor = new PolicyAttachPointProcessor(policyFactory); - } - - /** - * @see org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor#getArtifactType() - */ - public QName getArtifactType() { - return CorbaBinding.BINDING_CORBA_QNAME; - } - - /** - * @see org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor#read(javax.xml.stream.XMLStreamReader) - */ - public CorbaBinding read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - CorbaBinding binding = new CorbaBindingImpl(); - - // Read the policies - policyProcessor.readPolicies(binding, reader); - - binding.setHost(reader.getAttributeValue(null, "host")); - String port = reader.getAttributeValue(null, "port"); - if (port != null) { - binding.setPort(Integer.parseInt(port)); - } - - // Read the name - String name = reader.getAttributeValue(null, "name"); - if (name != null) { - binding.setName(name); - } - - // Read binding URI - String uri = reader.getAttributeValue(null, "uri"); - if (uri != null) { - binding.setURI(uri); - } - - // Read CORBA id - String id = reader.getAttributeValue(null, "id"); - if (id != null) { - binding.setId(id); - } - return binding; - } - - /** - * @see org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor#write(java.lang.Object, javax.xml.stream.XMLStreamWriter) - */ - public void write(CorbaBinding model, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - // Write a - writer.writeStartElement(Constants.SCA10_TUSCANY_NS, "binding.corba"); - - if (model.getName() != null) { - writer.writeAttribute("name", model.getName()); - } - - if (model.getURI() != null) { - writer.writeAttribute("uri", model.getURI()); - } - - if (model.getHost() != null) { - writer.writeAttribute("host", model.getHost()); - } - - if (model.getPort() != -1) { - writer.writeAttribute("port", String.valueOf(model.getPort())); - } - - if (model.getId() != null) { - writer.writeAttribute("id", model.getId()); - } - writer.writeEndElement(); - } - - /** - * @see org.apache.tuscany.sca.contribution.processor.ArtifactProcessor#getModelType() - */ - public Class getModelType() { - return CorbaBinding.class; - } - - /** - * @see org.apache.tuscany.sca.contribution.processor.ArtifactProcessor#resolve(java.lang.Object, org.apache.tuscany.sca.contribution.resolver.ModelResolver) - */ - public void resolve(CorbaBinding model, ModelResolver resolver) throws ContributionResolveException { - } - -} diff --git a/java/sca/contrib/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.corba.CorbaBindingFactory b/java/sca/contrib/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.corba.CorbaBindingFactory deleted file mode 100644 index 57959840d4..0000000000 --- a/java/sca/contrib/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.corba.CorbaBindingFactory +++ /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.corba.impl.CorbaBindingFactoryImpl \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/binding-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index 71d14bc077..0000000000 --- a/java/sca/contrib/modules/binding-corba/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.binding.corba.impl.CorbaBindingProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#binding.corba,model=org.apache.tuscany.sca.binding.corba.CorbaBinding,factory=org.apache.tuscany.sca.binding.corba.CorbaBindingFactory diff --git a/java/sca/contrib/modules/binding-dwr/LICENSE b/java/sca/contrib/modules/binding-dwr/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-dwr/NOTICE b/java/sca/contrib/modules/binding-dwr/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/binding-dwr/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-dwr/pom.xml b/java/sca/contrib/modules/binding-dwr/pom.xml deleted file mode 100644 index 19f98a4c23..0000000000 --- a/java/sca/contrib/modules/binding-dwr/pom.xml +++ /dev/null @@ -1,95 +0,0 @@ - - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-dwr - Apache Tuscany SCA AJAX DWR Binding Extension - - - - - org.apache.tuscany.sca - tuscany-extension-helper - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-http - 2.0-SNAPSHOT - - - - org.directwebremoting - dwr - 2.0.1 - - - - javax.servlet - servlet-api - 2.4 - provided - - - - junit - junit - 4.5 - test - - - - org.easymock - easymock - 2.2 - test - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.dwr - ${pom.name} - org.apache.tuscany.sca.binding.dwr* - - - - - - - diff --git a/java/sca/contrib/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBinding.java b/java/sca/contrib/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBinding.java deleted file mode 100644 index ae5cf327ab..0000000000 --- a/java/sca/contrib/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 SCDL - * - * @version $Rev$ $Date$ - */ -public class DWRBinding { - - // Empty as doesn't use any additional attributes or elements (yet). - -} diff --git a/java/sca/contrib/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBindingActivator.java b/java/sca/contrib/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRBindingActivator.java deleted file mode 100644 index d14751f235..0000000000 --- a/java/sca/contrib/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{ - - private ServletHost servletHost; - - public DWRBindingActivator(ServletHost servletHost) { - this.servletHost = servletHost; - } - - public Class 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/java/sca/contrib/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvoker.java b/java/sca/contrib/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvoker.java deleted file mode 100644 index 24e6dbbcd4..0000000000 --- a/java/sca/contrib/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: ".(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/java/sca/contrib/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvokerFactory.java b/java/sca/contrib/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRInvokerFactory.java deleted file mode 100644 index 1d073c9ecf..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRService.java b/java/sca/contrib/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRService.java deleted file mode 100644 index 7d5a7f1677..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRServlet.java b/java/sca/contrib/modules/binding-dwr/src/main/java/org/apache/tuscany/sca/binding/dwr/DWRServlet.java deleted file mode 100644 index 3a2471d8f3..0000000000 --- a/java/sca/contrib/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 , - * 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 services; - private transient List referenceNames; - private transient boolean initialized; - private transient Map initParams; - - private static final String SCADOMAIN_SCRIPT_PATH = "/scaDomain.js"; - - public DWRServlet() { - this.services = new HashMap(); - this.referenceNames = new ArrayList(); - - this.initParams = new HashMap(); - // maybe use 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 . - */ - 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/java/sca/contrib/modules/binding-dwr/src/main/resources/META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator b/java/sca/contrib/modules/binding-dwr/src/main/resources/META-INF/services/org.apache.tuscany.sca.extension.helper.BindingActivator deleted file mode 100644 index 1a9f91fab2..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-ejb-runtime/LICENSE b/java/sca/contrib/modules/binding-ejb-runtime/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/binding-ejb-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/java/sca/contrib/modules/binding-ejb-runtime/NOTICE b/java/sca/contrib/modules/binding-ejb-runtime/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-ejb-runtime/pom.xml b/java/sca/contrib/modules/binding-ejb-runtime/pom.xml deleted file mode 100644 index 8c01c4d079..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/pom.xml +++ /dev/null @@ -1,189 +0,0 @@ - - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-ejb-runtime - Apache Tuscany SCA EJB Binding Runtime - - - - org.apache.tuscany.sca - tuscany-binding-ejb - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - cglib - cglib-nodep - 2.1_3 - compile - - - - org.apache.geronimo.specs - geronimo-ejb_3.0_spec - 1.0 - compile - - - - junit - junit - 4.5 - test - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - test - - - - org.apache.geronimo.modules - geronimo-openejb - 2.0.2 - test - - - org.apache.geronimo.modules - geronimo-connector - - - org.apache.geronimo.modules - geronimo-persistence-jpa10 - - - org.apache.openejb - openejb-ejbd - - - org.apache.openejb - openejb-server - - - org.apache.openejb - openejb-loader - - - org.apache.openejb - openejb-jee - - - org.apache.openejb - openejb-ejbd - - - org.apache.openejb - openejb-javaagent - - - com.sun.xml.bind - jaxb-impl - - - asm - asm - - - asm - asm-commons - - - - - - asm - asm-all - 3.1 - test - - - - org.apache.geronimo.specs - geronimo-jms_1.1_spec - 1.1 - - - org.apache.geronimo.specs - geronimo-jms_1.1_spec - - - - - - - - - geronimo-repository - Geronimo Repository - http://svn.apache.org/repos/asf/geronimo/server/tags/2.0.2/repository - default - - false - - - true - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.ejb.runtime - ${pom.name} - org.apache.tuscany.sca.binding.ejb* - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/ClassLoadingUtil.java b/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/ClassLoadingUtil.java deleted file mode 100644 index c65868c23b..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/ClassLoadingUtil.java +++ /dev/null @@ -1,365 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ejb.corba; - -import java.lang.reflect.Array; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.LinkedHashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; - -/** - * Utility class for loading classes by a variety of name variations. - *

- * Supported names types are: - *

- * 1) Fully qualified class name (e.g., "java.lang.String", "org.apache.geronimo.kernel.ClassLoading" - * 2) Method signature encoding ("Ljava.lang.String;", "J", "I", etc.) - * 3) Primitive type names ("int", "boolean", etc.) - * 4) Method array signature strings ("[I", "[Ljava.lang.String") - * 5) Arrays using Java code format ("int[]", "java.lang.String[][]") - *

- * The classes are loaded using the provided class loader. For the basic types, the primitive - * reflection types are returned. - * - * @version $Rev$ $Date$ - */ -public class ClassLoadingUtil { - - /** - * Table for mapping primitive class names/signatures to the implementing - * class object - */ - private static final HashMap PRIMITIVE_CLASS_MAP = new HashMap(); - - /** - * Table for mapping primitive classes back to their name signature type, which - * allows a reverse mapping to be performed from a class object into a resolvable - * signature. - */ - private static final HashMap CLASS_TO_SIGNATURE_MAP = new HashMap(); - - - /** - * Setup the primitives map. We make any entry for each primitive class using both the - * human readable name and the method signature shorthand type. - */ - static { - PRIMITIVE_CLASS_MAP.put("boolean", boolean.class); - PRIMITIVE_CLASS_MAP.put("Z", boolean.class); - PRIMITIVE_CLASS_MAP.put("byte", byte.class); - PRIMITIVE_CLASS_MAP.put("B", byte.class); - PRIMITIVE_CLASS_MAP.put("char", char.class); - PRIMITIVE_CLASS_MAP.put("C", char.class); - PRIMITIVE_CLASS_MAP.put("short", short.class); - PRIMITIVE_CLASS_MAP.put("S", short.class); - PRIMITIVE_CLASS_MAP.put("int", int.class); - PRIMITIVE_CLASS_MAP.put("I", int.class); - PRIMITIVE_CLASS_MAP.put("long", long.class); - PRIMITIVE_CLASS_MAP.put("J", long.class); - PRIMITIVE_CLASS_MAP.put("float", float.class); - PRIMITIVE_CLASS_MAP.put("F", float.class); - PRIMITIVE_CLASS_MAP.put("double", double.class); - PRIMITIVE_CLASS_MAP.put("D", double.class); - PRIMITIVE_CLASS_MAP.put("void", void.class); - PRIMITIVE_CLASS_MAP.put("V", void.class); - - // Now build a reverse mapping table. The table above has a many-to-one mapping for - // class names. To do the reverse, we need to pick just one. As long as the - // returned name supports "round tripping" of the requests, this will work fine. - - CLASS_TO_SIGNATURE_MAP.put(boolean.class, "Z"); - CLASS_TO_SIGNATURE_MAP.put(byte.class, "B"); - CLASS_TO_SIGNATURE_MAP.put(char.class, "C"); - CLASS_TO_SIGNATURE_MAP.put(short.class, "S"); - CLASS_TO_SIGNATURE_MAP.put(int.class, "I"); - CLASS_TO_SIGNATURE_MAP.put(long.class, "J"); - CLASS_TO_SIGNATURE_MAP.put(float.class, "F"); - CLASS_TO_SIGNATURE_MAP.put(double.class, "D"); - CLASS_TO_SIGNATURE_MAP.put(void.class, "V"); - } - - - /** - * Load a class that matches the requested name, using the provided class loader context. - *

- * The class name may be a standard class name, the name of a primitive type Java - * reflection class (e.g., "boolean" or "int"), or a type in method type signature - * encoding. Array classes in either encoding form are also processed. - * - * @param className The name of the required class. - * @param classLoader The class loader used to resolve the class object. - * @return The Class object resolved from "className". - * @throws ClassNotFoundException When unable to resolve the class object. - * @throws IllegalArgumentException If either argument is null. - */ - public static Class loadClass(String className, ClassLoader classLoader) throws ClassNotFoundException { - - // the tests require IllegalArgumentExceptions for null values on either of these. - if (className == null) { - throw new IllegalArgumentException("className is null"); - } - - if (classLoader == null) { - throw new IllegalArgumentException("classLoader is null"); - } - // The easiest case is a proper class name. We just have the class loader resolve this. - // If the class loader throws a ClassNotFoundException, then we need to check each of the - // special name encodings we support. - try { - return classLoader.loadClass(className); - } catch (ClassNotFoundException ignore) { - // if not found, continue on to the other name forms. - } - - - // The second easiest version to resolve is a direct map to a primitive type name - // or method signature. Check our name-to-class map for one of those. - Class resolvedClass = (Class) PRIMITIVE_CLASS_MAP.get(className); - if (resolvedClass != null) { - return resolvedClass; - } - - // Class names in method signature have the format "Lfully.resolved.name;", - // so if it ends in a semicolon and begins with an "L", this must be in - // this format. Have the class loader try to load this. There are no other - // options if this fails, so just allow the class loader to throw the - // ClassNotFoundException. - if (className.endsWith(";") && className.startsWith("L")) { - // pick out the name portion - String typeName = className.substring(1, className.length() - 1); - // and delegate the loading to the class loader. - return classLoader.loadClass(typeName); - } - - // All we have left now are the array types. Method signature array types - // have a series of leading "[" characters to specify the number of dimensions. - // The other array type we handle uses trailing "[]" for the dimensions, just - // like the Java language syntax. - - // first check for the signature form ([[[[type). - if (className.charAt(0) == '[') { - // we have at least one array marker, now count how many leading '['s we have - // to get the dimension count. - int count = 0; - int nameLen = className.length(); - - while (count < nameLen && className.charAt(count) == '[') { - count++; - } - - // pull of the name subtype, which is everything after the last '[' - String arrayTypeName = className.substring(count, className.length()); - // resolve the type using a recursive call, which will load any of the primitive signature - // types as well as class names. - Class arrayType = loadClass(arrayTypeName, classLoader); - - // Resolving array types require a little more work. The array classes are - // created dynamically when the first instance of a given dimension and type is - // created. We need to create one using reflection to do this. - return getArrayClass(arrayType, count); - } - - - // ok, last chance. Now check for an array specification in Java language - // syntax. This will be a type name followed by pairs of "[]" to indicate - // the number of dimensions. - if (className.endsWith("[]")) { - // get the base component class name and the arrayDimensions - int count = 0; - int position = className.length(); - - while (position > 1 && className.substring(position - 2, position).equals("[]")) { - // count this dimension - count++; - // and step back the probe position. - position -= 2; - } - - // position now points at the location of the last successful test. This makes it - // easy to pick off the class name. - - String typeName = className.substring(0, position); - - // load the base type, again, doing this recursively - Class arrayType = loadClass(typeName, classLoader); - // and turn this into the class object - return getArrayClass(arrayType, count); - } - - throw new ClassNotFoundException("Could not load class " + className + " from unknown classloader; " + classLoader); - } - - - /** - * Map a class object back to a class name. The returned class object - * must be "round trippable", which means - *

- * type == ClassLoading.loadClass(ClassLoading.getClassName(type), classLoader) - *

- * must be true. To ensure this, the class name is always returned in - * method signature format. - * - * @param type The class object we convert into name form. - * @return A string representation of the class name, in method signature - * format. - */ - public static String getClassName(Class type) { - StringBuffer name = new StringBuffer(); - - // we test these in reverse order from the resolution steps, - // first handling arrays, then primitive types, and finally - // "normal" class objects. - - // First handle arrays. If a class is an array, the type is - // element stored at that level. So, for a 2-dimensional array - // of ints, the top-level type will be "[I". We need to loop - // down the hierarchy until we hit a non-array type. - while (type.isArray()) { - // add another array indicator at the front of the name, - // and continue with the next type. - name.append('['); - type = type.getComponentType(); - } - - // we're down to the base type. If this is a primitive, then - // we poke in the single-character type specifier. - if (type.isPrimitive()) { - name.append((String) CLASS_TO_SIGNATURE_MAP.get(type)); - } - // a "normal" class. This gets expressing using the "Lmy.class.name;" syntax. - else { - name.append('L'); - name.append(type.getName()); - name.append(';'); - } - return name.toString(); - } - - private static Class getArrayClass(Class type, int dimension) { - // Array.newInstance() requires an array of the requested number of dimensions - // that gives the size for each dimension. We just request 0 in each of the - // dimensions, which is not unlike a black hole singularity. - int[] dimensions = new int[dimension]; - // create an instance and return the associated class object. - return Array.newInstance(type, dimensions).getClass(); - } - - public static Set getAllTypes(Class type) { - Set allTypes = new LinkedHashSet(); - allTypes.add(type); - allTypes.addAll(getAllSuperClasses(type)); - allTypes.addAll(getAllInterfaces(type)); - return allTypes; - } - - private static Set getAllSuperClasses(Class clazz) { - Set allSuperClasses = new LinkedHashSet(); - for (Class superClass = clazz.getSuperclass(); superClass != null; superClass = superClass.getSuperclass()) { - allSuperClasses.add(superClass); - } - return allSuperClasses; - } - - private static Set getAllInterfaces(Class clazz) { - Set allInterfaces = new LinkedHashSet(); - LinkedList stack = new LinkedList(); - stack.addAll(Arrays.asList(clazz.getInterfaces())); - while (!stack.isEmpty()) { - Class intf = (Class) stack.removeFirst(); - if (!allInterfaces.contains(intf)) { - allInterfaces.add(intf); - stack.addAll(Arrays.asList(intf.getInterfaces())); - } - } - return allInterfaces; - } - - public static Set reduceInterfaces(Set source) { - Class[] classes = (Class[]) source.toArray(new Class[source.size()]); - classes = reduceInterfaces(classes); - return new LinkedHashSet(Arrays.asList(classes)); - } - - /** - * If there are multiple interfaces, and some of them extend each other, - * eliminate the superclass in favor of the subclasses that extend them. - * - * If one of the entries is a class (not an interface), make sure it's - * the first one in the array. If more than one of the entries is a - * class, throws an IllegalArgumentException - * - * @param source the original list of interfaces - * @return the equal or smaller list of interfaces - */ - public static Class[] reduceInterfaces(Class[] source) { - // use a copy of the source array - source = (Class[]) source.clone(); - - for (int leftIndex = 0; leftIndex < source.length-1; leftIndex++) { - Class left = source[leftIndex]; - if(left == null) { - continue; - } - - for (int rightIndex = leftIndex +1; rightIndex < source.length; rightIndex++) { - Class right = source[rightIndex]; - if(right == null) { - continue; - } - - if(left == right || right.isAssignableFrom(left)) { - // right is the same as class or a sub class of left - source[rightIndex] = null; - } else if(left.isAssignableFrom(right)) { - // left is the same as class or a sub class of right - source[leftIndex] = null; - - // the left has been eliminated; move on to the next left - break; - } - } - } - - Class clazz = null; - for (int i = 0; i < source.length; i++) { - if (source[i] != null && !source[i].isInterface()) { - if (clazz != null) { - throw new IllegalArgumentException("Source contains two classes which are not subclasses of each other: " + clazz.getName() + ", " + source[i].getName()); - } - clazz = source[i]; - source[i] = null; - } - } - - List list = new ArrayList(source.length); - if (clazz != null) list.add(clazz); - for (int i = 0; i < source.length; i++) { - if(source[i] != null) { - list.add(source[i]); - } - } - return (Class[]) list.toArray(new Class[list.size()]); - } -} - diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/DynamicStubClassLoader.java b/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/DynamicStubClassLoader.java deleted file mode 100644 index 82554a1c8f..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/DynamicStubClassLoader.java +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ejb.corba; - -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; - -import javax.rmi.CORBA.Stub; - -import net.sf.cglib.core.NamingPolicy; -import net.sf.cglib.core.Predicate; -import net.sf.cglib.proxy.Callback; -import net.sf.cglib.proxy.CallbackFilter; -import net.sf.cglib.proxy.Enhancer; -import net.sf.cglib.proxy.FixedValue; -import net.sf.cglib.proxy.MethodInterceptor; -import net.sf.cglib.proxy.NoOp; - -/** - * @version $Revision$ $Date$ - */ -public class DynamicStubClassLoader extends ClassLoader { - private static final String PACKAGE_PREFIX = "org.omg.stub."; - - @Override - public synchronized Class loadClass(final String name) throws ClassNotFoundException { - ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); - - // check if the stub already exists first - try { - return classLoader.loadClass(name); - } catch (ClassNotFoundException e) { - } - - // if this is not a class from the org.omg.stub name space don't attempt to generate - if (!name.startsWith(PACKAGE_PREFIX)) { - throw new ClassNotFoundException("Could not load class: " + name); - } - - // load the interfaces class we are attempting to create a stub for - Class iface = loadStubInterfaceClass(name, classLoader); - - // create the stub builder - try { - Enhancer enhancer = new Enhancer(); - enhancer.setSuperclass(Stub.class); - enhancer.setInterfaces(new Class[] {iface}); - enhancer.setCallbackFilter(FILTER); - enhancer.setCallbackTypes(new Class[] {NoOp.class, MethodInterceptor.class, FixedValue.class}); - enhancer.setUseFactory(false); - enhancer.setClassLoader(classLoader); - enhancer.setNamingPolicy(new NamingPolicy() { - public String getClassName(String s, String s1, Object o, Predicate predicate) { - return name; - } - }); - - // generate the class - Class result = enhancer.createClass(); - assert result != null; - - StubMethodInterceptor interceptor = new StubMethodInterceptor(iface); - Ids ids = new Ids(iface); - Enhancer.registerStaticCallbacks(result, new Callback[] {NoOp.INSTANCE, interceptor, ids}); - - return result; - } catch (RuntimeException e) { - throw e; - } catch (Error e) { - throw e; - } - } - - private Class loadStubInterfaceClass(String name, ClassLoader classLoader) throws ClassNotFoundException { - try { - int begin = name.lastIndexOf('.') + 1; - String iPackage = name.substring(13, begin); - String iName = iPackage + name.substring(begin + 1, name.length() - 5); - - return classLoader.loadClass(iName); - } catch (ClassNotFoundException e) { - // don't log exceptions from CosNaming because it attempts to load every - // class bound into the name server - - //FIXME this variable is never read, can we remove the - // whole block of code?? - //boolean shouldLog = true; - StackTraceElement[] stackTrace = e.getStackTrace(); - for (int i = 0; i < stackTrace.length; i++) { - StackTraceElement stackTraceElement = stackTrace[i]; - if (stackTraceElement.getClassName().equals("org.omg.CosNaming.NamingContextExtPOA") && stackTraceElement - .getMethodName().equals("_invoke")) { - //shouldLog = false; - break; - } - } - - throw new ClassNotFoundException("Unable to generate stub", e); - } - } - - private static final CallbackFilter FILTER = new CallbackFilter() { - public int accept(Method method) { - // we don't intercept non-public methods like finalize - if (!Modifier.isPublic(method.getModifiers())) { - return 0; - } - - if (method.getReturnType().equals(String[].class) && method.getParameterTypes().length == 0 - && method.getName().equals("_ids")) { - return 2; - } - - if (Modifier.isAbstract(method.getModifiers())) { - return 1; - } - - return 0; - } - }; - - private static final class Ids implements FixedValue { - private final String[] typeIds; - - public Ids(Class type) { - typeIds = Java2IDLUtil.createCorbaIds(type); - } - - public Object loadObject() throws Exception { - return typeIds; - } - } - -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/Java2IDLUtil.java b/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/Java2IDLUtil.java deleted file mode 100644 index de8090c45b..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/Java2IDLUtil.java +++ /dev/null @@ -1,811 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ejb.corba; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.ObjectOutputStream; -import java.io.Serializable; -import java.io.UnsupportedEncodingException; -import java.lang.reflect.Method; -import java.rmi.Remote; -import java.rmi.RemoteException; -import java.rmi.UnexpectedException; -import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import javax.ejb.spi.HandleDelegate; -import javax.naming.InitialContext; -import javax.naming.NamingException; -import javax.rmi.PortableRemoteObject; - -import org.omg.CORBA.ORB; -import org.omg.CORBA.UserException; -import org.omg.CORBA.portable.IDLEntity; -import org.omg.CORBA.portable.ResponseHandler; -import org.omg.CORBA.portable.UnknownException; -import org.omg.CORBA_2_3.portable.InputStream; -import org.omg.CORBA_2_3.portable.OutputStream; -import org.omg.IOP.Codec; -import org.omg.IOP.CodecFactory; -import org.omg.IOP.ENCODING_CDR_ENCAPS; -import org.omg.IOP.Encoding; - -/** - * Various utility functions. - *

- * Note: #getORB() and #getCodec() rely on UtilInitializer to initialize the ORB and codec. - * - * @version $Rev$ $Date$ - * @see UtilInitializer - */ -public final class Java2IDLUtil { - private static ORB orb; - private static Codec codec; - private static HandleDelegate handleDelegate; - - public static ORB getORB() { - assert orb != null; - return orb; - } - - - - public static void setORB(ORB orb) throws UserException { - if (Java2IDLUtil.orb == null) { - Java2IDLUtil.orb = orb; - CodecFactory factory = (CodecFactory) Java2IDLUtil.orb.resolve_initial_references("CodecFactory"); - codec = factory.create_codec(new Encoding(ENCODING_CDR_ENCAPS.value, (byte) 1, (byte) 2)); - } - } - - public static Codec getCodec() { - assert codec != null; - return codec; - } - - public static HandleDelegate getHandleDelegate() throws NamingException { - if (handleDelegate == null) { - InitialContext ic = new InitialContext(); - handleDelegate = (HandleDelegate) ic.lookup("java:comp/HandleDelegate"); - } - return handleDelegate; - } - - private static final Pattern SCOPED_NAME_EXTRACTION_PATTERN = Pattern.compile("(\\\\\\\\)|(\\\\@)|(@)|(\\z)"); - - /** - * See csiv2 Specification 16.2.5 par. 63-64. We extract the username if any and un-escape any - * escaped \ and @ characters. - * - * @param scopedNameBytes - * @return - * @throws UnsupportedEncodingException - */ - public static String extractUserNameFromScopedName(byte[] scopedNameBytes) throws UnsupportedEncodingException { - String scopedUserName = new String(scopedNameBytes, "UTF8"); - return extractUserNameFromScopedName(scopedUserName); - } - - public static String extractUserNameFromScopedName(String scopedUserName) { - Matcher m = SCOPED_NAME_EXTRACTION_PATTERN.matcher(scopedUserName); - StringBuffer buf = new StringBuffer(); - while (m.find()) { - m.appendReplacement(buf, ""); - if (m.group(1) != null) { - buf.append('\\'); - } else if (m.group(2) != null) { - buf.append("@"); - } else if (m.group(3) != null) { - break; - } - } - return buf.toString(); - } - - private static final Pattern SCOPED_NAME_ESCAPE_PATTERN = Pattern.compile("(\\\\)|(@)"); - - public static String buildScopedUserName(String user, String domain) { - StringBuffer buf = new StringBuffer(); - if (user != null) { - escape(user, buf); - } - if (domain != null) { - buf.append('@'); - escape(domain, buf); - } - return buf.toString(); - } - - private static void escape(String s, StringBuffer buf) { - Matcher m = SCOPED_NAME_ESCAPE_PATTERN.matcher(s); - while (m.find()) { - m.appendReplacement(buf, ""); - if (m.group(1) != null) { - buf.append("\\\\"); - } else if (m.group(2) != null) { - buf.append("\\@"); - } - } - m.appendTail(buf); - } - - - public static String byteToString(byte[] data) { - StringBuffer buffer = new StringBuffer(); - for (int i = 0; i < data.length; i++) { - buffer.append(HEXCHAR[(data[i] >>> 4) & 0x0F]); - buffer.append(HEXCHAR[(data[i]) & 0x0F]); - } - return buffer.toString(); - - } - - private static final char[] HEXCHAR = { - '0', '1', '2', '3', '4', '5', '6', '7', - '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' - }; - - public static void writeObject(Class type, Object object, OutputStream out) { - if (type == Void.TYPE) { - // do nothing for a void - } else if (type == Boolean.TYPE) { - out.write_boolean(((Boolean) object).booleanValue()); - } else if (type == Byte.TYPE) { - out.write_octet(((Byte) object).byteValue()); - } else if (type == Character.TYPE) { - out.write_wchar(((Character) object).charValue()); - } else if (type == Double.TYPE) { - out.write_double(((Double) object).doubleValue()); - } else if (type == Float.TYPE) { - out.write_float(((Float) object).floatValue()); - } else if (type == Integer.TYPE) { - out.write_long(((Integer) object).intValue()); - } else if (type == Long.TYPE) { - out.write_longlong(((Long) object).longValue()); - } else if (type == Short.TYPE) { - out.write_short(((Short) object).shortValue()); - } else { - // object types must be written in the context of the CORBA application server - // which properly write replaces our objects for CORBA - // ApplicationServer oldApplicationServer = ServerFederation.getApplicationServer(); - try { - // ServerFederation.setApplicationServer(corbaApplicationServer); - - // todo check if - // copy the result to force replacement - // CORBA does not call writeReplace on remote proxies - // - // HOWEVER, if this is an array, then we don't want to do the replacement - // because we can end up with a replacement element that's not compatible with the - // original array type, which results in an ArrayStoreException. Fortunately, - // the Yoko RMI support appears to be able to sort this out for us correctly. - if (object instanceof Serializable && !object.getClass().isArray()) { - try { - object = copyObj(Thread.currentThread().getContextClassLoader(), object); - } catch (Exception e) { - throw new UnknownException(e); - } - } - - if (type == Object.class || type == Serializable.class) { - javax.rmi.CORBA.Util.writeAny(out, object); - } else if (org.omg.CORBA.Object.class.isAssignableFrom(type)) { - out.write_Object((org.omg.CORBA.Object) object); - } else if (Remote.class.isAssignableFrom(type)) { - javax.rmi.CORBA.Util.writeRemoteObject(out, object); - } else if (type.isInterface() && Serializable.class.isAssignableFrom(type)) { - javax.rmi.CORBA.Util.writeAbstractObject(out, object); - } else { - out.write_value((Serializable) object, type); - } - } finally { - // ServerFederation.setApplicationServer(oldApplicationServer); - } - } - } - - private static Object copyObj(ClassLoader classLoader, Object object) throws IOException, ClassNotFoundException { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - ObjectOutputStream oos = new ObjectOutputStream(baos); - oos.writeObject(object); - oos.flush(); - oos.close(); - ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); - ObjectInputStreamExt ois = new ObjectInputStreamExt(bais, classLoader); - return ois.readObject(); - } - - public static Object readObject(Class type, InputStream in) { - if (type == Void.TYPE) { - return null; - } else if (type == Boolean.TYPE) { - return new Boolean(in.read_boolean()); - } else if (type == Byte.TYPE) { - return new Byte(in.read_octet()); - } else if (type == Character.TYPE) { - return new Character(in.read_wchar()); - } else if (type == Double.TYPE) { - return new Double(in.read_double()); - } else if (type == Float.TYPE) { - return new Float(in.read_float()); - } else if (type == Integer.TYPE) { - return new Integer(in.read_long()); - } else if (type == Long.TYPE) { - return new Long(in.read_longlong()); - } else if (type == Short.TYPE) { - return new Short(in.read_short()); - } else if (type == Object.class || type == Serializable.class) { - return javax.rmi.CORBA.Util.readAny(in); - } else if (org.omg.CORBA.Object.class.isAssignableFrom(type)) { - return in.read_Object(type); - } else if (Remote.class.isAssignableFrom(type)) { - return PortableRemoteObject.narrow(in.read_Object(), type); - } else if (type.isInterface() && Serializable.class.isAssignableFrom(type)) { - return in.read_abstract_interface(); - } else { - return in.read_value(type); - } - } - - public static void throwException(Method method, InputStream in) throws Throwable { - // read the exception id - final String id = in.read_string(); - - // get the class name from the id - if (!id.startsWith("IDL:")) { - return; - } - - Class[] exceptionTypes = method.getExceptionTypes(); - for (int i = 0; i < exceptionTypes.length; i++) { - Class exceptionType = exceptionTypes[i]; - - String exceptionId = getExceptionId(exceptionType); - if (id.equals(exceptionId)) { - throw (Throwable) in.read_value(exceptionType); - } - } - throw new UnexpectedException(id); - } - - public static OutputStream writeUserException(Method method, ResponseHandler reply, Exception exception) throws Exception { - if (exception instanceof RuntimeException || exception instanceof RemoteException) { - throw exception; - } - - Class[] exceptionTypes = method.getExceptionTypes(); - for (int i = 0; i < exceptionTypes.length; i++) { - Class exceptionType = exceptionTypes[i]; - if (!exceptionType.isInstance(exception)) { - continue; - } - - OutputStream out = (OutputStream) reply.createExceptionReply(); - String exceptionId = getExceptionId(exceptionType); - out.write_string(exceptionId); - out.write_value(exception); - return out; - } - throw exception; - } - - public static String getExceptionId(Class exceptionType) { - String exceptionName = exceptionType.getName().replace('.', '/'); - if (exceptionName.endsWith("Exception")) { - exceptionName = exceptionName.substring(0, exceptionName.length() - "Exception".length()); - } - exceptionName += "Ex"; - String exceptionId = "IDL:" + exceptionName + ":1.0"; - return exceptionId; - } - - public static String[] createCorbaIds(Class type) { - List ids = new LinkedList(); - for (Iterator iterator = getAllInterfaces(type).iterator(); iterator.hasNext();) { - Class superInterface = (Class) iterator.next(); - if (Remote.class.isAssignableFrom(superInterface) && superInterface != Remote.class) { - ids.add("RMI:" + superInterface.getName() + ":0000000000000000"); - } - } - return (String[]) ids.toArray(new String[ids.size()]); - } - - private static Set getAllInterfaces(Class intfClass) { - Set allInterfaces = new LinkedHashSet(); - - LinkedList stack = new LinkedList(); - stack.addFirst(intfClass); - - while (!stack.isEmpty()) { - Class intf = (Class) stack.removeFirst(); - allInterfaces.add(intf); - stack.addAll(0, Arrays.asList(intf.getInterfaces())); - } - - return allInterfaces; - } - - public static Map mapMethodToOperation(Class intfClass) { - return iiopMap(intfClass, false); - } - - public static Map mapOperationToMethod(Class intfClass) { - return iiopMap(intfClass, true); - } - - private static Map iiopMap(Class intfClass, boolean operationToMethod) { - Method[] methods = getAllMethods(intfClass); - - // find every valid getter - HashMap getterByMethod = new HashMap(methods.length); - HashMap getterByName = new HashMap(methods.length); - for (int i = 0; i < methods.length; i++) { - Method method = methods[i]; - String methodName = method.getName(); - - // no arguments allowed - if (method.getParameterTypes().length != 0) { - continue; - } - - // must start with get or is - String verb; - if (methodName.startsWith("get") && methodName.length() > 3 && method.getReturnType() != void.class) { - verb = "get"; - } else if (methodName.startsWith("is") && methodName.length() > 2 && method.getReturnType() == boolean.class) { - verb = "is"; - } else { - continue; - } - - // must only throw Remote or Runtime Exceptions - boolean exceptionsValid = true; - Class[] exceptionTypes = method.getExceptionTypes(); - for (int j = 0; j < exceptionTypes.length; j++) { - Class exceptionType = exceptionTypes[j]; - if (!RemoteException.class.isAssignableFrom(exceptionType) && - !RuntimeException.class.isAssignableFrom(exceptionType) && - !Error.class.isAssignableFrom(exceptionType)) { - exceptionsValid = false; - break; - } - } - if (!exceptionsValid) { - continue; - } - - String propertyName; - if (methodName.length() > verb.length() + 1 && Character.isUpperCase(methodName.charAt(verb.length() + 1))) { - propertyName = methodName.substring(verb.length()); - } else { - propertyName = Character.toLowerCase(methodName.charAt(verb.length())) + methodName.substring(verb.length() + 1); - } - getterByMethod.put(method, propertyName); - getterByName.put(propertyName, method); - } - - HashMap setterByMethod = new HashMap(methods.length); - for (int i = 0; i < methods.length; i++) { - Method method = methods[i]; - String methodName = method.getName(); - - // must have exactally one arg - if (method.getParameterTypes().length != 1) { - continue; - } - - // must return non void - if (method.getReturnType() != void.class) { - continue; - } - - // must start with set - if (!methodName.startsWith("set") || methodName.length() <= 3) { - continue; - } - - // must only throw Remote or Runtime Exceptions - boolean exceptionsValid = true; - Class[] exceptionTypes = method.getExceptionTypes(); - for (int j = 0; j < exceptionTypes.length; j++) { - Class exceptionType = exceptionTypes[j]; - if (!RemoteException.class.isAssignableFrom(exceptionType) && - !RuntimeException.class.isAssignableFrom(exceptionType) && - !Error.class.isAssignableFrom(exceptionType)) { - exceptionsValid = false; - break; - } - } - if (!exceptionsValid) { - continue; - } - - String propertyName; - if (methodName.length() > 4 && Character.isUpperCase(methodName.charAt(4))) { - propertyName = methodName.substring(3); - } else { - propertyName = Character.toLowerCase(methodName.charAt(3)) + methodName.substring(4); - } - - // must have a matching getter - Method getter = (Method) getterByName.get(propertyName); - if (getter == null) { - continue; - } - - // setter property must match getter return value - if (!method.getParameterTypes()[0].equals(getter.getReturnType())) { - continue; - } - setterByMethod.put(method, propertyName); - } - - // index the methods by name... used to determine which methods are overloaded - HashMap overloadedMethods = new HashMap(methods.length); - for (int i = 0; i < methods.length; i++) { - Method method = methods[i]; - if (getterByMethod.containsKey(method) || setterByMethod.containsKey(method)) { - continue; - } - String methodName = method.getName(); - List methodList = (List) overloadedMethods.get(methodName); - if (methodList == null) { - methodList = new LinkedList(); - overloadedMethods.put(methodName, methodList); - } - methodList.add(method); - } - - // index the methods by lower case name... used to determine which methods differ only by case - HashMap caseCollisionMethods = new HashMap(methods.length); - for (int i = 0; i < methods.length; i++) { - Method method = methods[i]; - if (getterByMethod.containsKey(method) || setterByMethod.containsKey(method)) { - continue; - } - String lowerCaseMethodName = method.getName().toLowerCase(); - Set methodSet = (Set) caseCollisionMethods.get(lowerCaseMethodName); - if (methodSet == null) { - methodSet = new HashSet(); - caseCollisionMethods.put(lowerCaseMethodName, methodSet); - } - methodSet.add(method.getName()); - } - - String className = getClassName(intfClass); - Map iiopMap = new HashMap(methods.length); - for (int i = 0; i < methods.length; i++) { - Method method = methods[i]; - - String iiopName = (String) getterByMethod.get(method); - if (iiopName != null) { - // if we have a leading underscore prepend with J - if (iiopName.charAt(0) == '_') { - iiopName = "J_get_" + iiopName.substring(1); - } else { - iiopName = "_get_" + iiopName; - } - } else { - iiopName = (String) setterByMethod.get(method); - if (iiopName != null) { - // if we have a leading underscore prepend with J - if (iiopName.charAt(0) == '_') { - iiopName = "J_set_" + iiopName.substring(1); - } else { - iiopName = "_set_" + iiopName; - } - } else { - iiopName = method.getName(); - - // if we have a leading underscore prepend with J - if (iiopName.charAt(0) == '_') { - iiopName = "J" + iiopName; - } - } - } - - // if this name only differs by case add the case index to the end - Set caseCollisions = (Set) caseCollisionMethods.get(method.getName().toLowerCase()); - if (caseCollisions != null && caseCollisions.size() > 1) { - iiopName += upperCaseIndexString(iiopName); - } - - // if this is an overloaded method append the parameter string - List overloads = (List) overloadedMethods.get(method.getName()); - if (overloads != null && overloads.size() > 1) { - iiopName += buildOverloadParameterString(method.getParameterTypes()); - } - - // if we have a leading underscore prepend with J - iiopName = replace(iiopName, '$', "U0024"); - - // if we have matched a keyword prepend with an underscore - if (keywords.contains(iiopName.toLowerCase())) { - iiopName = "_" + iiopName; - } - - // if the name is the same as the class name, append an underscore - if (iiopName.equalsIgnoreCase(className)) { - iiopName += "_"; - } - - if (operationToMethod) { - iiopMap.put(iiopName, method); - } else { - iiopMap.put(method, iiopName); - } - } - - return iiopMap; - } - - private static Method[] getAllMethods(Class intfClass) { - LinkedList methods = new LinkedList(); - for (Iterator iterator = getAllInterfaces(intfClass).iterator(); iterator.hasNext();) { - Class intf = (Class) iterator.next(); - methods.addAll(Arrays.asList(intf.getDeclaredMethods())); - } - - return (Method[]) methods.toArray(new Method[methods.size()]); - } - - /** - * Return the a string containing an underscore '_' index of each uppercase character in the IIOP name. - * - * This is used for distinction of names that only differ by case, since CORBA does not support case sensitive names. - */ - private static String upperCaseIndexString(String iiopName) { - StringBuffer stringBuffer = new StringBuffer(); - for (int i = 0; i < iiopName.length(); i++) { - char c = iiopName.charAt(i); - if (Character.isUpperCase(c)) { - stringBuffer.append('_').append(i); - } - } - return stringBuffer.toString(); - } - - /** - * Replaces any occurances of the specified "oldChar" with the new string. - * - * This is used to replace occurances if '$' in CORBA names since '$' is a special character - */ - private static String replace(String source, char oldChar, String newString) { - StringBuffer stringBuffer = new StringBuffer(source.length()); - for (int i = 0; i < source.length(); i++) { - char c = source.charAt(i); - if (c == oldChar) { - stringBuffer.append(newString); - } else { - stringBuffer.append(c); - } - } - return stringBuffer.toString(); - } - - /** - * Return the a string containing a double underscore '__' list of parameter types encoded using the Java to IDL rules. - * - * This is used for distinction of methods that only differ by parameter lists. - */ - private static String buildOverloadParameterString(Class[] parameterTypes) { - String name = ""; - if (parameterTypes.length ==0) { - name += "__"; - } else { - for (int i = 0; i < parameterTypes.length; i++) { - Class parameterType = parameterTypes[i]; - name += buildOverloadParameterString(parameterType); - } - } - return name.replace('.', '_'); - } - - /** - * Returns a single parameter type encoded using the Java to IDL rules. - */ - private static String buildOverloadParameterString(Class parameterType) { - String name = "_"; - - int arrayDimensions = 0; - while (parameterType.isArray()) { - arrayDimensions++; - parameterType = parameterType.getComponentType(); - } - - // arrays start with org_omg_boxedRMI_ - if (arrayDimensions > 0) { - name += "_org_omg_boxedRMI"; - } - - // IDLEntity types must be prefixed with org_omg_boxedIDL_ - if (IDLEntity.class.isAssignableFrom(parameterType)) { - name += "_org_omg_boxedIDL"; - } - - // add package... some types have special mappings in corba - String packageName = (String) specialTypePackages.get(parameterType.getName()); - if (packageName == null) { - packageName = getPackageName(parameterType.getName()); - } - if (packageName.length() > 0) { - name += "_" + packageName; - } - - // arrays now contain a dimension indicator - if (arrayDimensions > 0) { - name += "_" + "seq" + arrayDimensions; - } - - // add the class name - String className = (String) specialTypeNames.get(parameterType.getName()); - if (className == null) { - className = buildClassName(parameterType); - } - name += "_" + className; - - return name; - } - - /** - * Returns a string containing an encoded class name. - */ - private static String buildClassName(Class type) { - if (type.isArray()) { - throw new IllegalArgumentException("type is an array: " + type); - } - - // get the classname - String typeName = type.getName(); - int endIndex = typeName.lastIndexOf('.'); - if (endIndex < 0) { - return typeName; - } - StringBuffer className = new StringBuffer(typeName.substring(endIndex + 1)); - - // for innerclasses replace the $ separator with two underscores - // we can't just blindly replace all $ characters since class names can contain the $ character - if (type.getDeclaringClass() != null) { - String declaringClassName = getClassName(type.getDeclaringClass()); - assert className.toString().startsWith(declaringClassName + "$"); - className.replace(declaringClassName.length(), declaringClassName.length() + 1, "__"); - } - - // if we have a leading underscore prepend with J - if (className.charAt(0) == '_') { - className.insert(0, "J"); - } - return className.toString(); - } - - private static String getClassName(Class type) { - if (type.isArray()) { - throw new IllegalArgumentException("type is an array: " + type); - } - - // get the classname - String typeName = type.getName(); - int endIndex = typeName.lastIndexOf('.'); - if (endIndex < 0) { - return typeName; - } - return typeName.substring(endIndex + 1); - } - - private static String getPackageName(String interfaceName) { - int endIndex = interfaceName.lastIndexOf('.'); - if (endIndex < 0) { - return ""; - } - return interfaceName.substring(0, endIndex); - } - - private static final Map specialTypeNames; - private static final Map specialTypePackages; - private static final Set keywords; - - static { - specialTypeNames = new HashMap(); - specialTypeNames.put("boolean", "boolean"); - specialTypeNames.put("char", "wchar"); - specialTypeNames.put("byte", "octet"); - specialTypeNames.put("short", "short"); - specialTypeNames.put("int", "long"); - specialTypeNames.put("long", "long_long"); - specialTypeNames.put("float", "float"); - specialTypeNames.put("double", "double"); - specialTypeNames.put("java.lang.Class", "ClassDesc"); - specialTypeNames.put("java.lang.String", "WStringValue"); - specialTypeNames.put("org.omg.CORBA.Object", "Object"); - - specialTypePackages = new HashMap(); - specialTypePackages.put("boolean", ""); - specialTypePackages.put("char", ""); - specialTypePackages.put("byte", ""); - specialTypePackages.put("short", ""); - specialTypePackages.put("int", ""); - specialTypePackages.put("long", ""); - specialTypePackages.put("float", ""); - specialTypePackages.put("double", ""); - specialTypePackages.put("java.lang.Class", "javax.rmi.CORBA"); - specialTypePackages.put("java.lang.String", "CORBA"); - specialTypePackages.put("org.omg.CORBA.Object", ""); - - keywords = new HashSet(); - keywords.add("abstract"); - keywords.add("any"); - keywords.add("attribute"); - keywords.add("boolean"); - keywords.add("case"); - keywords.add("char"); - keywords.add("const"); - keywords.add("context"); - keywords.add("custom"); - keywords.add("default"); - keywords.add("double"); - keywords.add("enum"); - keywords.add("exception"); - keywords.add("factory"); - keywords.add("false"); - keywords.add("fixed"); - keywords.add("float"); - keywords.add("in"); - keywords.add("inout"); - keywords.add("interface"); - keywords.add("long"); - keywords.add("module"); - keywords.add("native"); - keywords.add("object"); - keywords.add("octet"); - keywords.add("oneway"); - keywords.add("out"); - keywords.add("private"); - keywords.add("public"); - keywords.add("raises"); - keywords.add("readonly"); - keywords.add("sequence"); - keywords.add("short"); - keywords.add("string"); - keywords.add("struct"); - keywords.add("supports"); - keywords.add("switch"); - keywords.add("true"); - keywords.add("truncatable"); - keywords.add("typedef"); - keywords.add("union"); - keywords.add("unsigned"); - keywords.add("valuebase"); - keywords.add("valuetype"); - keywords.add("void"); - keywords.add("wchar"); - keywords.add("wstring"); - } - -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/ObjectInputStreamExt.java b/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/ObjectInputStreamExt.java deleted file mode 100644 index 1be4a98a48..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/ObjectInputStreamExt.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.ejb.corba; - -import java.io.IOException; -import java.io.InputStream; -import java.io.ObjectInputStream; -import java.io.ObjectStreamClass; -import java.lang.reflect.Proxy; - -/** - * @version $Rev$ $Date$ - */ -public class ObjectInputStreamExt extends ObjectInputStream { - - private ClassLoader classloader; - - public ObjectInputStreamExt(InputStream in, ClassLoader loader) throws IOException { - super(in); - this.classloader = loader; - } - - @Override - protected Class resolveClass(ObjectStreamClass classDesc) throws IOException, ClassNotFoundException { - return ClassLoadingUtil.loadClass(classDesc.getName(), classloader); - } - - @Override - protected Class resolveProxyClass(String[] interfaces) throws IOException, ClassNotFoundException { - Class[] cinterfaces = new Class[interfaces.length]; - for (int i = 0; i < interfaces.length; i++) - cinterfaces[i] = classloader.loadClass(interfaces[i]); - - try { - return Proxy.getProxyClass(classloader, cinterfaces); - } catch (IllegalArgumentException e) { - throw new ClassNotFoundException(null, e); - } - } - - ClassLoader getClassloader() { - return classloader; - } - -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/StubMethodInterceptor.java b/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/StubMethodInterceptor.java deleted file mode 100644 index 3ff0ed552a..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/StubMethodInterceptor.java +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ejb.corba; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.Collections; -import java.util.Map; - -import javax.ejb.EJBObject; -import javax.rmi.CORBA.Stub; -import javax.rmi.CORBA.Util; - -import net.sf.cglib.proxy.MethodInterceptor; -import net.sf.cglib.proxy.MethodProxy; - -import org.omg.CORBA.SystemException; -import org.omg.CORBA.portable.ApplicationException; -import org.omg.CORBA.portable.RemarshalException; -import org.omg.CORBA.portable.ServantObject; -import org.omg.CORBA_2_3.portable.InputStream; -import org.omg.CORBA_2_3.portable.OutputStream; - -/** - * @version $Revision$ $Date$ - */ -public class StubMethodInterceptor implements MethodInterceptor { - private static final Method ISIDENTICAL; - - static { - try { - ISIDENTICAL = EJBObject.class.getMethod("isIdentical", new Class[]{EJBObject.class}); - } catch (NoSuchMethodException e) { - throw new ExceptionInInitializerError(e); - } - } - - private final Class type; - private final Map operations; - - public StubMethodInterceptor(Class type) { - this.type = type; - this.operations = Collections.unmodifiableMap(org.apache.tuscany.sca.binding.ejb.corba.Java2IDLUtil.mapMethodToOperation(type)); - } - - public Object intercept(Object proxy, Method method, Object[] args, MethodProxy methodProxy) throws Throwable { - Stub stub = (Stub) proxy; - - // handle is identical in stub to avoid unnecessary round trip - if (method.equals(ISIDENTICAL)) { - org.omg.CORBA.Object otherObject = (org.omg.CORBA.Object) args[0]; - return new Boolean(stub._is_equivalent(otherObject)); - } - - // get the operation name object - String operationName = (String) operations.get(method); - if (operationName == null) { - throw new IllegalStateException("Unknown method: " + method); - } - - while (true) { - // if this is a stub to a remote object we invoke over the wire - if (!Util.isLocal(stub)) { - - InputStream in = null; - try { - // create the request output stream - OutputStream out = (OutputStream) stub._request(operationName, true); - - // write the arguments - Class[] parameterTypes = method.getParameterTypes(); - for (int i = 0; i < parameterTypes.length; i++) { - Class parameterType = parameterTypes[i]; - org.apache.tuscany.sca.binding.ejb.corba.Java2IDLUtil.writeObject(parameterType, args[i], out); - } - - // send the invocation - in = (InputStream) stub._invoke(out); - - // read the result - Object result = org.apache.tuscany.sca.binding.ejb.corba.Java2IDLUtil.readObject(method.getReturnType(), in); - return result; - } catch (RemarshalException exception) { - continue; - } catch (ApplicationException exception) { - org.apache.tuscany.sca.binding.ejb.corba.Java2IDLUtil.throwException(method, (InputStream) exception.getInputStream()); - } catch (SystemException e) { - throw Util.mapSystemException(e); - } finally { - stub._releaseReply(in); - } - } else { - // get the servant - ServantObject servantObject = stub._servant_preinvoke(operationName, type); - if (servantObject == null) { - continue; - } - - try { - // copy the arguments - Object[] argsCopy = Util.copyObjects(args, stub._orb()); - - // invoke the servant - Object result = null; - try { - result = method.invoke(servantObject.servant, argsCopy); - } catch (InvocationTargetException e) { - if (e.getCause() != null) { - throw e.getCause(); - } - throw e; - } - - // copy the result - result = Util.copyObject(result, stub._orb()); - - return result; - } catch (Throwable throwable) { - // copy the exception - Throwable throwableCopy = (Throwable) Util.copyObject(throwable, stub._orb()); - - // if it is one of my exception rethrow it - Class[] exceptionTypes = method.getExceptionTypes(); - for (int i = 0; i < exceptionTypes.length; i++) { - Class exceptionType = exceptionTypes[i]; - if (exceptionType.isInstance(throwableCopy)) { - throw throwableCopy; - } - } - - throw Util.wrapException(throwableCopy); - } finally { - stub._servant_postinvoke(servantObject); - } - } - } - } -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/UtilInitializer.java b/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/UtilInitializer.java deleted file mode 100644 index f9aa9ffa22..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/corba/UtilInitializer.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.binding.ejb.corba; - -import org.omg.CORBA.LocalObject; -import org.omg.PortableInterceptor.ORBInitInfo; -import org.omg.PortableInterceptor.ORBInitializer; - -/** - * The sole purpose of this initializer is to register a non-singleton ORB - * with the class Util. - * - * @version $Revision$ $Date$ - * @see Java2IDLUtil - */ -public class UtilInitializer extends LocalObject implements ORBInitializer { - - private static final long serialVersionUID = 4901857563505370955L; - - /** - * Called during ORB initialization. If it is expected that initial - * services registered by an interceptor will be used by other - * interceptors, then those initial services shall be registered at - * this point via calls to - * ORBInitInfo.register_initial_reference. - * - * @param info provides initialization attributes and operations by - * which Interceptors can be registered. - */ - public void pre_init(ORBInitInfo info) { - } - - /** - * Called during ORB initialization. If a service must resolve initial - * references as part of its initialization, it can assume that all - * initial references will be available at this point. - *

- * Calling the post_init operations is not the final - * task of ORB initialization. The final task, following the - * post_init calls, is attaching the lists of registered - * interceptors to the ORB. Therefore, the ORB does not contain the - * interceptors during calls to post_init. If an - * ORB-mediated call is made from within post_init, no - * request interceptors will be invoked on that call. - * Likewise, if an operation is performed which causes an IOR to be - * created, no IOR interceptors will be invoked. - * - * @param info provides initialization attributes and - * operations by which Interceptors can be registered. - */ - public void post_init(ORBInitInfo info) { - } -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/provider/EJBBindingInvoker.java b/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/provider/EJBBindingInvoker.java deleted file mode 100644 index 9247c1d3db..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/provider/EJBBindingInvoker.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ejb.provider; - -import org.apache.tuscany.sca.binding.ejb.EJBBinding; -import org.apache.tuscany.sca.binding.ejb.util.EJBHandler; -import org.apache.tuscany.sca.binding.ejb.util.NamingEndpoint; -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; - -/** - * EJBTargetInvoker - * - * @version $Rev$ $Date$ - */ -public class EJBBindingInvoker implements Invoker, DataExchangeSemantics { - - private Operation operation; - private String location; - private Class serviceInterface; - - public EJBBindingInvoker(EJBBinding ejbBinding, Class serviceInterface, Operation operation) { - this.serviceInterface = serviceInterface; - this.location = ejbBinding.getURI(); - this.operation = operation; - } - - public Message invoke(Message msg) { - ClassLoader tccl = Thread.currentThread().getContextClassLoader(); - try { - Thread.currentThread().setContextClassLoader(serviceInterface.getClassLoader()); - Object resp = doInvoke(msg.getBody()); - msg.setBody(resp); - } catch (Throwable e) { - e.printStackTrace(); - msg.setFaultBody(e); - } finally { - Thread.currentThread().setContextClassLoader(tccl); - } - return msg; - } - - /** - * Invoke a EJB operation - * - * @param payload - * @return - */ - public Object doInvoke(final Object payload) { - - // construct NamingendPoint - NamingEndpoint endpoint = getNamingEndpoint(); - - // lookup home and ejb stub - EJBHandler ejbHandler = new EJBHandler(endpoint, serviceInterface); - - String methodName = operation.getName(); - - // invoke business method on ejb - Object response = ejbHandler.invoke(methodName, (Object[])payload); - - return response; - } - - protected NamingEndpoint getNamingEndpoint() { - return new NamingEndpoint(location); - } - - public boolean allowsPassByReference() { - // EJB RMI/IIOP always pass by value - return true; - } - -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/provider/EJBBindingProviderFactory.java b/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/provider/EJBBindingProviderFactory.java deleted file mode 100644 index a6ea583d0b..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/provider/EJBBindingProviderFactory.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.ejb.provider; - -import org.apache.tuscany.sca.binding.ejb.EJBBinding; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -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; - -/** - * A factory from creating the EJB binding provider. - * - * @version $Rev$ $Date$ - */ -public class EJBBindingProviderFactory implements BindingProviderFactory { - - public EJBBindingProviderFactory(ExtensionPointRegistry extensionPoints) { - } - - public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - EJBBinding binding) { - return new EJBBindingReferenceBindingProvider(component, reference, binding); - } - - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - EJBBinding binding) { - return null; - //throw new EJBBindingException("Service Binding not supported for EJB Binding"); - } - - public Class getModelType() { - return EJBBinding.class; - } -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/provider/EJBBindingReferenceBindingProvider.java b/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/provider/EJBBindingReferenceBindingProvider.java deleted file mode 100644 index 2a02bf0d08..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/provider/EJBBindingReferenceBindingProvider.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.ejb.provider; - -import org.apache.tuscany.sca.binding.ejb.EJBBinding; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -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 ReferenceBindingProvider for the EJBBinding. - * - * @version $Rev$ $Date$ - */ -public class EJBBindingReferenceBindingProvider implements ReferenceBindingProvider { - private EJBBinding ejbBinding; - private RuntimeComponentReference reference; - - /** - * Constructor - * - * @param component - * @param reference - * @param binding - */ - public EJBBindingReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - EJBBinding binding) { - this.reference = reference; - this.ejbBinding = binding; - } - - /** - * {@inheritDoc} - */ - public Invoker createInvoker(Operation operation) { - return new EJBBindingInvoker(ejbBinding, ((JavaInterface)reference.getInterfaceContract().getInterface()) - .getJavaClass(), operation); - } - - /** - * {@inheritDoc} - */ - public InterfaceContract getBindingInterfaceContract() { - return reference.getInterfaceContract(); - } - - /** - * {@inheritDoc} - */ - public void start() { - } - - /** - * {@inheritDoc} - */ - public void stop() { - } - - /** - * {@inheritDoc} - */ - public boolean supportsOneWayInvocation() { - return true; - } -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/EJBHandler.java b/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/EJBHandler.java deleted file mode 100644 index c7c0f90710..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/EJBHandler.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.ejb.util; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.rmi.RemoteException; -import java.util.HashMap; -import java.util.Map; - -import javax.ejb.EJBObject; -import javax.rmi.CORBA.Util; - -import org.apache.tuscany.sca.binding.ejb.corba.ClassLoadingUtil; -import org.omg.CORBA.ORB; -import org.omg.CORBA.SystemException; -import org.omg.CORBA.portable.ApplicationException; -import org.omg.CORBA.portable.ObjectImpl; -import org.omg.CORBA.portable.RemarshalException; -import org.omg.CORBA.portable.ServantObject; -import org.omg.CORBA_2_3.portable.InputStream; -import org.omg.CORBA_2_3.portable.OutputStream; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * EJBMessageHandler - * - * @version $Rev$ $Date$ - */ -public class EJBHandler { - private static final Map PRIMITIVE_TYPES = new HashMap(); - static { - PRIMITIVE_TYPES.put("boolean", boolean.class); - PRIMITIVE_TYPES.put("byte", byte.class); - PRIMITIVE_TYPES.put("char", char.class); - PRIMITIVE_TYPES.put("short", short.class); - PRIMITIVE_TYPES.put("int", int.class); - PRIMITIVE_TYPES.put("long", long.class); - PRIMITIVE_TYPES.put("float", float.class); - PRIMITIVE_TYPES.put("double", double.class); - PRIMITIVE_TYPES.put("void", void.class); - } - - private Object ejbStub; - - private InterfaceInfo interfaceInfo; - private Class ejbInterface; - - public EJBHandler(NamingEndpoint namingEndpoint, Class ejbInterface) { - this(namingEndpoint, InterfaceInfo.getInstance(ejbInterface)); - this.ejbInterface = ejbInterface; - } - - // locates the stub - private EJBHandler(NamingEndpoint namingEndpoint, InterfaceInfo ejbInterface) { - try { - this.ejbStub = EJBStubHelper.lookup(namingEndpoint, ejbInterface); - this.interfaceInfo = ejbInterface; - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - } - - private static Class loadClass(final String name) { - try { - return ClassLoadingUtil.loadClass(name, Thread.currentThread().getContextClassLoader()); - } catch (ClassNotFoundException e) { - throw new ServiceRuntimeException(e); - } - } - - // invokes EJB method - public Object invoke(String methodName, Object[] args) { - Object response = null; - try { - if (ejbStub instanceof ObjectImpl) { - ObjectImpl objectImpl = (ObjectImpl)ejbStub; - // TODO: If the Java 2 security is turned on, then - // the ORB will try to create proxy - // from the interfaces defined on the stub - if (System.getSecurityManager() == null && objectImpl._is_local()) { - /* - * CORBA.Stub is what the object from JNDI will be for a - * remote EJB in the same JVM as the client, but with no - * stub classes available on the client - */ - response = invokeLocalCORBACall(objectImpl, methodName, args); - } else { - /* - * _EJBObject_Stub is what the object from JNDI will be for - * a remote EJB with no stub classes available on the client - */ - response = invokeRemoteCORBACall(objectImpl, methodName, args); - } - } else { - /* - * A generated ejb stub or it must be an EJB in the same ear as - * the client or an AppServer with a single ClassLoader, so - * reflection can be used directly on the JNDI - */ - JavaReflectionAdapter reflectionAdapter = - JavaReflectionAdapter.createJavaReflectionAdapter(ejbStub.getClass()); - try { - Method method = reflectionAdapter.getMethod(methodName); - response = method.invoke(ejbStub, args); - } catch (InvocationTargetException e) { - Throwable t = e.getTargetException(); - // FIXME need to throw really a business exception. - // ServiceBusinessException? - // Tuscany core doesn't have ServiceBusinessException - throw new ServiceRuntimeException(t); - } - } - - return response; - } catch (Exception e) { - // FIXME this be business exception? Tuscany core doesn't have - // ServiceBusinessException - throw new ServiceRuntimeException(e); - - } catch (Throwable e) { - throw new ServiceRuntimeException(e); - } - } - - /** - * Get the IDL operation name for a java method - * - * @param methodName java method name - * @return The IDL operation name - */ - private String getOperation(String methodName) { - if (interfaceInfo == null) { - return methodName; - } - MethodInfo methodInfo = interfaceInfo.getMethod(methodName); - if (methodInfo != null) { - return methodInfo.getIDLName(); - } else { - return null; - } - } - - /* - * Derive the EJB interface name from the Stub When loading a stub class - * corresponding to an interface or class ., the - * class .__Stub shall be used if it exists; - * otherwise, the class org.omg.stub..__Stub shall - * be used. - */ - private static String getInterface(String stubName) { - int index = stubName.lastIndexOf('.'); - String packageName = null; - String typeName = stubName; - if (index != -1) { - packageName = stubName.substring(0, index); - if (packageName.startsWith("org.omg.stub.")) { - packageName = packageName.substring("org.omg.stub.".length()); - } - typeName = stubName.substring(index + 1); - } - if (typeName.startsWith("_") && typeName.endsWith("_Stub")) { - typeName = typeName.substring(1, typeName.length() - "_Stub".length()); - } - if (packageName != null) - return packageName + "." + typeName; - else - return typeName; - } - - /** - * Invoke a method on the local CORBA object - * - * @param stub - * @param methodName - * @param args - * @return - * @throws RemoteException - * @throws ServiceBusinessException - */ - private Object invokeLocalCORBACall(final ObjectImpl stub, String methodName, Object[] args) - throws RemoteException { - - final String operation = getOperation(methodName); - - Class type = loadClass(getInterface(stub.getClass().getName())); - if (type == null) - type = (ejbInterface != null) ? ejbInterface : EJBObject.class; - - ServantObject so = stub._servant_preinvoke(operation, type); - if (so == null) { - // The Servant is not local any more - return invokeRemoteCORBACall(stub, methodName, args); - } - Object[] newArgs = null; - ORB orb = stub._orb(); - try { - if (args != null) - newArgs = Util.copyObjects(args, orb); - JavaReflectionAdapter reflectionAdapter = - JavaReflectionAdapter.createJavaReflectionAdapter(so.servant.getClass()); - Method method = reflectionAdapter.getMethod(methodName); - Object obj = reflectionAdapter.invoke(method, so.servant, newArgs); - Object result = Util.copyObject(obj, orb); - return result; - - } catch (InvocationTargetException e) { - Throwable exCopy = (Throwable)Util.copyObject(e.getTargetException(), orb); - MethodInfo methodInfo = interfaceInfo.getMethod(methodName); - String[] exceptionTypes = methodInfo.getExceptionTypes(); - for (int i = 0; i < exceptionTypes.length; i++) { - Class exceptionType = - methodInfo.getMethod() != null ? methodInfo.getMethod().getExceptionTypes()[i] - : loadClass(exceptionTypes[i]); - if (exceptionType.isAssignableFrom(exCopy.getClass())) - throw new ServiceRuntimeException(exCopy); // FIXME should - // be business - // exception? - } - throw Util.wrapException(exCopy); - } catch (Throwable e) { - // Other exceptions thrown from "invoke" - throw new ServiceRuntimeException(e); - } finally { - stub._servant_postinvoke(so); - } - } - - /** - * Invoke a method on a remote CORBA object - * - * @param stub The remote stub - * @param methodName The name of the method - * @param args Argument list - * @return - * @throws RemoteException - * @throws ServiceBusinessException - */ - private Object invokeRemoteCORBACall(ObjectImpl stub, String methodName, Object[] args) throws RemoteException { - - try { - String operation = getOperation(methodName); - - MethodInfo methodInfo = interfaceInfo.getMethod(methodName); - if (methodInfo == null) { - throw new ServiceRuntimeException("Invalid Method " + methodName); - } - Class[] parameterTypes = null; - Class returnType = null; - if (methodInfo.getMethod() != null) { - parameterTypes = methodInfo.getMethod().getParameterTypes(); - returnType = methodInfo.getMethod().getReturnType(); - } else { - String[] types = methodInfo.getParameterTypes(); - if (args != null) { - if (types.length != args.length) - throw new ServiceRuntimeException( - "The argument list doesn't match the method signature of " + methodName); - } - - parameterTypes = new Class[types.length]; - for (int i = 0; i < types.length; i++) { - parameterTypes[i] = loadClass(types[i]); - } - returnType = loadClass(methodInfo.getReturnType()); - } - - InputStream in = null; - try { - OutputStream out = (OutputStream)stub._request(operation, true); - - for (int i = 0; i < parameterTypes.length; i++) { - // Object arg = (args.length < i) ? null : args[i]; - writeValue(out, args[i], parameterTypes[i]); - } - if (returnType == void.class) { - // void return - stub._invoke(out); - return null; - } else { - // read the return value - in = (InputStream)stub._invoke(out); - Object response = readValue(in, returnType); - return response; - } - - } catch (ApplicationException ex) { - in = (InputStream)ex.getInputStream(); - try { - org.apache.tuscany.sca.binding.ejb.corba.Java2IDLUtil.throwException(methodInfo.getMethod(), in); - return null; - } catch (Throwable e) { - throw new RemoteException(e.getMessage(), e); - } - } catch (RemarshalException ex) { - return invokeRemoteCORBACall(stub, methodName, args); - } finally { - stub._releaseReply(in); - } - } catch (SystemException ex) { - throw Util.mapSystemException(ex); - } - } - - /** - * @param out - * @param value - * @param type - */ - private void writeValue(OutputStream out, Object value, Class type) { - org.apache.tuscany.sca.binding.ejb.corba.Java2IDLUtil.writeObject(type, value, out); - } - - /** - * @param in - * @param type - * @return - */ - private Object readValue(InputStream in, Class type) { - return org.apache.tuscany.sca.binding.ejb.corba.Java2IDLUtil.readObject(type, in); - } -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/EJBLocator.java b/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/EJBLocator.java deleted file mode 100644 index 0b97f42746..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/EJBLocator.java +++ /dev/null @@ -1,483 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ejb.util; - -import java.net.URL; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Properties; -import java.util.Set; - -import javax.naming.Context; -import javax.naming.InitialContext; -import javax.naming.NamingException; - -import org.omg.CORBA.ORB; -import org.omg.CosNaming.NamingContextExt; - -/** - * CosNaming utility - * - * @version $Rev$ $Date$ - */ -class EJBLocator { - - /* - * Root Context Initial Reference Key ------------ - * ----------------------------------- Server Root NameServiceServerRoot - * Cell Persistent Root NameServiceCellPersistentRoot Cell Root - * NameServiceCellRoot, NameService Node Root NameServiceNodeRoot - */ - public static final String SERVER_ROOT = "NameServiceServerRoot"; - public static final String CELL_PERSISTENT_ROOT = "NameServiceCellPersistentRoot"; - public static final String CELL_ROOT = "NameServiceCellRoot"; - public static final String NODE_ROOT = "NameServiceNodeRoot"; - public static final String DEFAULT_ROOT = "NameService"; // Same as - // CELL_ROOT - - public static final String DEFAULT_HOST = "127.0.0.1"; // Default host name - // or IP address for - // WebSphere - public static final int DEFAULT_NAMING_PORT = 2809; // Default port - public static final String NAMING_SERVICE = "NameService"; // The name of - // the naming - // service - private static final Set ROOTS = - new HashSet(Arrays.asList(new String[] {SERVER_ROOT, CELL_PERSISTENT_ROOT, CELL_ROOT, DEFAULT_ROOT, - NODE_ROOT})); - - // private static final String CHARS_TO_ESCAPE = "\\/."; - private static final String RFC2396 = - "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789;/:?@&=+$,-_.!~*'()"; - private static final String HEX = "0123456789ABCDEF"; - - private String hostName = DEFAULT_HOST; - private int port = DEFAULT_NAMING_PORT; - private String root = SERVER_ROOT; - - private ORB orb = null; - private ObjectLocator locator = null; - private boolean managed = true; - - EJBLocator(boolean managed) { - this.managed = managed; - if (!managed) { - String url = AccessController.doPrivileged(new PrivilegedAction() { - public String run() { - return System.getProperty(Context.PROVIDER_URL); - } - }); - processCorbaURL(url); - } - } - - EJBLocator(String hostName, int port) { - this.hostName = (hostName == null) ? DEFAULT_HOST : hostName; - this.port = port > 0 ? port : DEFAULT_NAMING_PORT; - this.root = SERVER_ROOT; - } - - EJBLocator(String hostName, int port, String root) { - this(hostName, port); - if (ROOTS.contains(root)) { - this.root = root; - } else { - throw new IllegalArgumentException(root + " is not a legal root"); - } - } - - EJBLocator(String corbaName, boolean managed) { - this.managed = managed; - if (corbaName.startsWith("corbaname:iiop:")) { - processCorbaURL(corbaName); - } else { - throw new IllegalArgumentException(corbaName + " is not a legal corbaname"); - } - } - - private void processCorbaURL(String url) { - if (url != null && (url.startsWith("corbaname:iiop:") || url.startsWith("corbaloc:iiop:"))) { - /** - * corbaname:iiop::/#name corbaloc:iiop::/ - * For example, - * "corbaname:iiop:localhost:2809/NameServiceServerRoot#ejb/MyEJBHome"; - * or "corbaloc:iiop:myhost:2809/NameServiceServerRoot" - */ - String[] parts = url.split("(:|/|#)"); - if (parts.length > 2 && parts[2].length() > 0) { - hostName = parts[2]; // The host name - int index = hostName.lastIndexOf('@'); // version@hostname - if (index != -1) { - hostName = hostName.substring(index + 1); - } - } - if (parts.length > 3 && parts[3].length() > 0) { - port = Integer.parseInt(parts[3]); // The port number - } - if (parts.length > 4 && parts[4].length() > 0) { - root = parts[4]; // The root of naming - } - } - } - - /** - * The corbaloc and corbaname formats enable you to provide a URL to access - * CORBA objects. Use the corbaloc format for resolving to a particular - * CORBAservice without going through a naming service. Use the corbaname - * format to resolve a stringified name from a specific naming context. - */ - - /** - * corbaname Syntax The full corbaname BNF is: <corbaname> = - * "corbaname:"<corbaloc_obj>["#"<string_name>] - * <corbaloc_obj> = <obj_addr_list> ["/"<key_string>] - * <obj_addr_list> = as defined in a corbaloc URL <key_string> = - * as defined in a corbaloc URL <string_name>= stringified Name - * empty_string Where: - *

    - *
  • corbaloc_obj: portion of a corbaname URL that identifies the naming - * context. The syntax is identical to its use in a corbaloc URL. - *
  • obj_addr_list: as defined in a corbaloc URL - *
  • key_string: as defined in a corbaloc URL. - *
  • string_name: a stringified Name with URL escapes as defined below. - *
- * - * @param hostName The host name or IP address of the naming server - * @param port The port number of the naming service - * @param root The root of the namespace - * @param name The JNDI name - */ - private static String getCorbaname(String hostName, int port, String root, String name) { - if (name == null) { - return "corbaname:iiop:" + hostName + ":" + port + "/" + root; - } else { - return "corbaname:iiop:" + hostName + ":" + port + "/" + root + "#" + toCorbaname(name); - } - } - - String getCorbaname(String name) { - return getCorbaname(hostName, port, root, name); - } - - /** - * Connect to the ORB. - */ - - // FIXME. May need to change the IBM classes if this binding is contributed - // to Tuscany - public ORB connect() { - if (orb == null) { - Properties props = new Properties(); - /* - * This code is for IBM JVM props.put("org.omg.CORBA.ORBClass", - * "com.ibm.CORBA.iiop.ORB"); - * props.put("com.ibm.CORBA.ORBInitRef.NameService", - * getCorbaloc(NAMING_SERVICE)); - * props.put("com.ibm.CORBA.ORBInitRef.NameServiceServerRoot", - * getCorbaloc("NameServiceServerRoot")); - */ - orb = ORB.init((String[])null, props); - } - return orb; - } - - /** - * Replace substrings - * - * @param source The source string. - * @param match The string to search for within the source string. - * @param replace The replacement for any matching components. - * @return - */ - private static String replace(String source, String match, String replace) { - int index = source.indexOf(match, 0); - if (index >= 0) { - - // We have at least one match, so got to do the - // work... - - StringBuffer result = new StringBuffer(source.length() + 16); - int matchLength = match.length(); - int startIndex = 0; - - while (index >= 0) { - result.append(source.substring(startIndex, index)); - result.append(replace); - startIndex = index + matchLength; - index = source.indexOf(match, startIndex); - } - - // Grab the last piece, if any... - if (startIndex < source.length()) { - result.append(source.substring(startIndex)); - } - - return result.toString(); - - } else { - // No matches, just return the source... - return source; - } - } - - /** - * Resolved the JNDI name from the initial CosNaming context - * - * @param jndiName - * @return resolved CORBA object - * @throws NamingException - */ - private static org.omg.CORBA.Object resovleString(NamingContextExt initCtx, String jndiName) throws NamingException { - try { - String name = stringify(jndiName); - return initCtx.resolve_str(name); - } catch (Exception e) { - NamingException ne = new NamingException(e.getMessage()); - ne.setRootCause(e); - throw ne; - } - } - - /** - * Look up a CORBA object by its JNDI name - * - * @param jndiName - * @return - * @throws NamingException - */ - org.omg.CORBA.Object stringToObject(String jndiName) throws NamingException { - /* - * Using an existing ORB and invoking string_to_object with a CORBA - * object URL with multiple name server addresses to get an initial - * context CORBA object URLs can contain more than one bootstrap server - * address. Use this feature when attempting to obtain an initial - * context from a server cluster. You can specify the bootstrap server - * addresses for all servers in the cluster in the URL. The operation - * will succeed if at least one of the servers is running, eliminating a - * single point of failure. There is no guarantee of any particular - * order in which the address list will be processed. For example, the - * second bootstrap server address may be used to obtain the initial - * context even though the first bootstrap server in the list is - * available. An example of a corbaloc URL with multiple addresses - * follows. obj = - * orb.string_to_object("corbaloc::myhost1:9810,:myhost1:9811,:myhost2:9810/NameService"); - */ - String corbaName = null; - if (jndiName.startsWith("corbaloc:") || jndiName.startsWith("corbaname:")) { - // Keep the qualified URL - corbaName = jndiName; - } else { - // Create a corbaname URL - corbaName = getCorbaname(jndiName); - } - - connect(); - org.omg.CORBA.Object obj = orb.string_to_object(corbaName); - return obj; - } - - private boolean isJndiConfigured() { - if (managed) - return true; - Boolean provided = AccessController.doPrivileged(new PrivilegedAction() { - public Boolean run() { - String initCtxFactory = System.getProperty(Context.INITIAL_CONTEXT_FACTORY); - if (initCtxFactory == null) { - URL file = Thread.currentThread().getContextClassLoader().getResource("jndi.properties"); - if (file != null) { - return Boolean.TRUE; - } else { - return Boolean.FALSE; - } - } else { - return Boolean.TRUE; - } - } - }); - return provided.booleanValue(); - } - - /** - * The character escape rules for the stringified name portion of an - * corbaname are: US-ASCII alphanumeric characters are not escaped. - * Characters outside this range are escaped, except for the following: ; / : ? @ & = + $ , - _ . ! ~ * ' ( ) - * corbaname Escape Mechanism The percent '%' character is used as an - * escape. If a character that requires escaping is present in a name - * component it is encoded as two hexadecimal digits following a "%" - * character to represent the octet. (The first hexadecimal character - * represent the highorder nibble of the octet, the second hexadecimal - * character represents the low-order nibble.) If a '%' is not followed by - * two hex digits, the stringified name is syntactically invalid. - * @param s - * @return RFC2396-encoded stringified name - */ - static String encode2396(String s) { - if (s == null) { - return null; - } - StringBuffer encoded = new StringBuffer(s); - for (int i = 0; i < encoded.length(); i++) { - char c = encoded.charAt(i); - if (RFC2396.indexOf(c) == -1) { - encoded.setCharAt(i, '%'); - char[] ac = Integer.toHexString(c).toCharArray(); - if (ac.length == 2) { - encoded.insert(i + 1, ac); - } else if (ac.length == 1) { - encoded.insert(i + 1, '0'); - encoded.insert(i + 2, ac[0]); - } else { - throw new IllegalArgumentException("Invalid character '" + c + "' in \"" + s + "\""); - } - i += 2; // NOPMD - } - } - return encoded.toString(); - } - - /** - * Decode an RFC2396-encoded string - * - * @param s - * @return Plain string - */ - static String decode2396(String s) { - if (s == null) { - return null; - } - StringBuffer decoded = new StringBuffer(s); - for (int i = 0; i < decoded.length(); i++) { - char c = decoded.charAt(i); - if (c == '%') { - if (i + 2 >= decoded.length()) { - throw new IllegalArgumentException("Incomplete key_string escape sequence"); - } - int j; - j = HEX.indexOf(decoded.charAt(i + 1)) * 16 + HEX.indexOf(decoded.charAt(i + 2)); - decoded.setCharAt(i, (char)j); - decoded.delete(i + 1, i + 3); - } else if (RFC2396.indexOf(c) == -1) { - throw new IllegalArgumentException("Invalid key_string character '" + c + "'"); - } - } - return decoded.toString(); - } - - /** - * The backslash '\' character escapes the reserved meaning of '/', '.', and - * '\' in a stringified name. - * - * @param jndiName - * @return Escaped stringified name for CosNaming - */ - private static String stringify(String jndiName) { - // Escape . into \. since it's an INS naming delimiter - return replace(encode2396(jndiName), ".", "\\."); - } - - /** - * Escape the "." into "%5C%2E" - * - * @param jndiName - * @return corbaname treating "." as a literal - */ - private static String toCorbaname(String jndiName) { - // Escape . into %5C%2E (\.) since it's an INS naming delimiter - // For example, sca.sample.StockQuote ---> - // sca%5C%2Esample%5C%2EStockQuote/StockQuote - return replace(encode2396(jndiName), ".", "%5C%2E"); - } - - private ObjectLocator getObjectLocator() throws NamingException { - if (locator != null) { - return locator; - } - /* - * For managed env, JNDI is assumed to be configured by default For - * unmanaged environment, JNDI could have configured through - * jndi.properties file - */ - if (isJndiConfigured()) { - locator = new JndiLocator(); - } else { // this is definitely JSE env without JNDI configured. Use - // CORBA. - locator = new CosNamingLocator(); - } - return locator; - } - - public Object locate(String jndiName) throws NamingException { - - Object result = getObjectLocator().locate(jndiName); - return result; - } - - private static interface ObjectLocator { - Object locate(String name) throws NamingException; - } - - private final class JndiLocator implements ObjectLocator { - private Context context; - - private JndiLocator() throws NamingException { - /* - final Properties props = AccessController.doPrivileged(new PrivilegedAction() { - public Properties run() { - return System.getProperties(); - } - }); - Properties properties = new Properties(); - for (Map.Entry e : props.entrySet()) { - String name = (String)e.getKey(); - if (name.startsWith("java.naming.")) { - properties.setProperty(name, (String)e.getValue()); - } - } - // System.out.println(properties); - this.context = new InitialContext(properties); - */ - this.context = new InitialContext(); - } - - public Object locate(String name) throws NamingException { - return context.lookup(name); - } - } - - private final class CosNamingLocator implements ObjectLocator { - private NamingContextExt context; - - private CosNamingLocator() { - } - - public Object locate(String name) throws NamingException { - if (context != null) { - return resovleString(context, name); - } else { - return stringToObject(name); - } - } - } - - public void setHostEnv(boolean managed) { - this.managed = managed; - } -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/EJBObjectFactory.java b/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/EJBObjectFactory.java deleted file mode 100644 index 119282adb9..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/EJBObjectFactory.java +++ /dev/null @@ -1,209 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ejb.util; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.rmi.RemoteException; -import java.rmi.UnexpectedException; - -import javax.ejb.CreateException; -import javax.ejb.EJBLocalHome; -import javax.naming.NamingException; -import javax.rmi.CORBA.Util; - -import org.omg.CORBA.SystemException; -import org.omg.CORBA.portable.ApplicationException; -import org.omg.CORBA.portable.ObjectImpl; -import org.omg.CORBA.portable.RemarshalException; -import org.omg.stub.java.rmi._Remote_Stub; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * Factor class that is used to create EJB Proxies. - * - * @version $Rev$ $Date$ - */ -final class EJBObjectFactory { - - private EJBObjectFactory() { - } - - /** - * Get either a generated of dynamic EJB stub using the specified JNDI - * properties. - *

- * The returned stub will implement the specified stubInterface Interface. - * If the underlying EJB stub is not assignable from the specified - * stubInterface then a proxy is used to convert between the two. - *

- * The returned EJB stub may be either the pregenerated EJB stub or a - * dynamic stub. This allows a client to invoke an EJB without requiring any - * of the pregenerated EJB stub classes be available in the classpath. - *

- */ - static Object createStub(NamingEndpoint namingEndpoint, InterfaceInfo ejbInterface) throws NamingException, - RemoteException, CreateException { - - EJBLocator locator = namingEndpoint.getLocator(); - Object homeObject = locator.locate(namingEndpoint.getJndiName()); - /* - * The type of the object returned from the lookup is as follows: If the - * generated stub exists on the classpath, it's an instance of that - * type, otherwise, "org.omg.stub.java.rmi._Remote_Stub" or - * "org.omg.stub.javax.ejb._EJBHome_Stub" - */ - Object stub = getEJBStub(homeObject, ejbInterface); - // Cache dynamic stub only - return stub; - } - - /** - * @param homeObject - * @param ejbHomeClass - * @return - * @throws RemoteException - */ - private static Object getEJBStub(Object homeObject, InterfaceInfo ejbInterface) throws RemoteException, - CreateException { - - Object stub = null; - - // Get the business interface of the EJB - Class ejbInterfaceClass = null; - try { - ejbInterfaceClass = Thread.currentThread().getContextClassLoader().loadClass(ejbInterface.getName()); - } catch (ClassNotFoundException e) { - // ignore - } - - if (ejbInterfaceClass != null && ejbInterfaceClass.isInstance(homeObject)) { - // EJB 3 - stub = homeObject; - } else if (homeObject instanceof EJBLocalHome) { - // Local EJB - stub = createEJBLocalObject(homeObject); - } else { - // Handle dynamic stub - if (homeObject instanceof ObjectImpl) { - ObjectImpl objectImpl = (ObjectImpl)homeObject; - stub = createEJBObject(objectImpl); - }/** - * Above checks will be satisfied if Bean is running on servers like WebSphere. With this - * logic, client (SCA composite with EJB ref binding) doesn't need to include home class or - * client stubs. - * - * Below check is needed SCA composite with EJB ref binding is accessing openEJB implementation. - * For e.g if the bean is running on Geronimo. - */ - else if ((javax.rmi.PortableRemoteObject.narrow(homeObject, javax.ejb.EJBHome.class)) instanceof javax.ejb.EJBHome) { - stub = createEJBObjectFromHome(homeObject); - } else - throw new ServiceRuntimeException("Invalid stub type: " + homeObject.getClass()); - } - return stub; - } - - /** - * Create a pre-generated EJB stub - * - * @param homeObject - * @return - * @throws RemoteException - */ - static private Object createEJBLocalObject(Object homeObject) throws RemoteException { - - Object stub = null; - try { - // Find the "create()" method - Method createMethod = homeObject.getClass().getMethod("create", null); - // Create an EJB object - stub = createMethod.invoke(homeObject, null); - } catch (NoSuchMethodException e) { - // "create()" method not found, it's still a dynamic stub - stub = null; - } catch (InvocationTargetException e) { - throw new RemoteException(e.getTargetException().toString()); - } catch (Exception e) { - throw new RemoteException(e.toString()); - } - return stub; - } - - /** - * Here homeObject is instance of EJBHome - * - * @param homeObject - * @return - * @throws RemoteException - */ - private static Object createEJBObjectFromHome(Object homeObject) throws RemoteException { - - Object stub = null; - try { - // Find the "create()" method - Method createMethod = homeObject.getClass().getMethod("create", null); - // Create an EJB object - stub = createMethod.invoke(homeObject, null); - } catch (NoSuchMethodException e) { - // "create()" method not found, it's still a dynamic stub - stub = null; - } catch (InvocationTargetException e) { - throw new RemoteException(e.getTargetException().toString()); - } catch (Exception e) { - throw new RemoteException(e.toString()); - } - return stub; - } - - /** - * Create an EJBObject using RMI/IIOP APIs - * - * @param ejbHomeObject - * @return The EJBObject remote stub - * @throws CreateException - * @throws RemoteException - */ - private static Object createEJBObject(ObjectImpl ejbHomeObject) throws CreateException, RemoteException { - - try { - org.omg.CORBA_2_3.portable.InputStream in = null; - try { - org.omg.CORBA.portable.OutputStream out = ejbHomeObject._request("create", true); - in = (org.omg.CORBA_2_3.portable.InputStream)ejbHomeObject._invoke(out); - // The Remote stub should be available in JDK - // TODO: [rfeng] Work around an issue in Apache Yoko which doesn't understand the org.omg.stub.* - return in.read_Object(_Remote_Stub.class); - } catch (ApplicationException ex) { - in = (org.omg.CORBA_2_3.portable.InputStream)ex.getInputStream(); - String id = in.read_string(); - if (id.equals("IDL:javax/ejb/CreateEx:1.0")) { - throw (CreateException)in.read_value(CreateException.class); - } - throw new UnexpectedException(id); - } catch (RemarshalException ex) { - return createEJBObject(ejbHomeObject); - } finally { - ejbHomeObject._releaseReply(in); - } - } catch (SystemException ex) { - throw Util.mapSystemException(ex); - } - } -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/EJBStubHelper.java b/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/EJBStubHelper.java deleted file mode 100644 index 72f7dc9e43..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/EJBStubHelper.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.binding.ejb.util; - -import java.rmi.RemoteException; - -import javax.ejb.CreateException; -import javax.naming.NamingException; - -import org.oasisopen.sca.ServiceRuntimeException; -import org.oasisopen.sca.ServiceUnavailableException; - -final class EJBStubHelper { - - private static Object stub; - private static ServiceRuntimeException exception; - - private EJBStubHelper() { - } - - /** - * @param owner - * @param jndiName - * @return - */ - - static Object lookup(NamingEndpoint endpoint, InterfaceInfo ejbInterface) { - return getStub(endpoint, ejbInterface); - } - - private static Object getStub(NamingEndpoint namingEndpoint, InterfaceInfo ejbInterface) { - try { - stub = EJBObjectFactory.createStub(namingEndpoint, ejbInterface); - } catch (NamingException e) { - exception = new ServiceUnavailableException(e); - e.printStackTrace(); - throw (ServiceUnavailableException)exception; - } catch (CreateException e) { - exception = new ServiceUnavailableException(e); - throw (ServiceUnavailableException)exception; - } catch (RemoteException e) { - exception = new ServiceRuntimeException(e); - throw (ServiceRuntimeException)exception; - } - - if (exception == null) { - return stub; // Normal result - } else { - throw exception; // Throw the exception - } - } - -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/InterfaceInfo.java b/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/InterfaceInfo.java deleted file mode 100644 index e60e526e01..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/InterfaceInfo.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.ejb.util; - -import java.io.Serializable; -import java.lang.reflect.Method; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; -import java.util.WeakHashMap; - -import org.apache.tuscany.sca.binding.ejb.corba.Java2IDLUtil; - -/** - * The signature for a java interface - * - * @version $Rev$ $Date$ - */ -class InterfaceInfo implements Serializable { - - private static final Map INTERFACES = - Collections.synchronizedMap(new WeakHashMap()); - - private static final long serialVersionUID = 2314533906465094860L; - private String name; - - private Map methods = new HashMap(); - - InterfaceInfo(final Class iface) { - super(); - if (iface == null) { - throw new IllegalArgumentException("The interface cannot be null"); - } - this.name = iface.getName(); - // SECURITY - /* - * Permission: accessDeclaredMembers : Access denied - * (java.lang.RuntimePermission accessDeclaredMembers) - */ - Map idlNames = AccessController.doPrivileged(new PrivilegedAction() { - public Map run() { - return Java2IDLUtil.mapMethodToOperation(iface); - } - }); - Iterator i = idlNames.entrySet().iterator(); - while (i.hasNext()) { - Map.Entry entry = (Map.Entry)i.next(); - Method method = (Method)entry.getKey(); - MethodInfo methodInfo = new MethodInfo(method); - methodInfo.setIDLName((String) entry.getValue()); - methods.put(method.getName(), methodInfo); - methods.put(methodInfo.getIDLName(), methodInfo); - } - } - - static final synchronized InterfaceInfo getInstance(final Class iface) { - InterfaceInfo info = (InterfaceInfo)INTERFACES.get(iface); - if (info == null) { - info = new InterfaceInfo(iface); - INTERFACES.put(iface, info); - } - return info; - } - - /** - * @return - */ - Map getMethods() { - return methods; - } - - /** - * @return - */ - MethodInfo getMethod(String name) { - return (MethodInfo)methods.get(name); - } - - /** - * @return - */ - String getName() { - return name; - } - - @Override - public String toString() { - StringBuffer sb = new StringBuffer(); - sb.append("interface ").append(name).append("{ \n"); - Iterator i = methods.values().iterator(); - while (i.hasNext()) { - MethodInfo methodInfo = (MethodInfo)i.next(); - sb.append("\t").append(methodInfo).append("\n"); - } - sb.append("};\n"); - return sb.toString(); - } -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/JavaReflectionAdapter.java b/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/JavaReflectionAdapter.java deleted file mode 100644 index 651c967aad..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/JavaReflectionAdapter.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ejb.util; - -import java.beans.PropertyDescriptor; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; -import java.util.WeakHashMap; - -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * An adapter for java classes, indexes the methods by name and provides an - * invoke method that takes a method name. - * - * @version $Rev$ $Date$ - */ -final class JavaReflectionAdapter { - - private static Map adapters = - Collections.synchronizedMap(new WeakHashMap()); - - private static final Map DEFAULT_VALUES = new HashMap(); - static { - DEFAULT_VALUES.put(boolean.class, Boolean.FALSE); - DEFAULT_VALUES.put(byte.class, new Byte((byte)0)); - DEFAULT_VALUES.put(char.class, new Character((char)0)); - DEFAULT_VALUES.put(short.class, new Short((short)0)); - DEFAULT_VALUES.put(int.class, Integer.valueOf(0)); - DEFAULT_VALUES.put(long.class, new Long(0)); - DEFAULT_VALUES.put(float.class, new Float(0.0)); - DEFAULT_VALUES.put(double.class, new Double(0.0)); - } - - private Map methodMap = new HashMap(); - - /** - * Constructor - * - * @param clazz - */ - private JavaReflectionAdapter(final Class clazz) { - // Index the methods on the implementation class - // FIXME J2 Security - promote this to callers of this method - Method[] methods = AccessController.doPrivileged(new PrivilegedAction() { - public Method[] run() { - return clazz.getMethods(); - } - }); - for (int i = 0; i < methods.length; i++) { - methodMap.put(methods[i].getName(), methods[i]); - } - } - - /** - * Create a java reflection adapter - * - * @param clazz - */ - static synchronized JavaReflectionAdapter createJavaReflectionAdapter(Class clazz) { - JavaReflectionAdapter adapter = (JavaReflectionAdapter)adapters.get(clazz); - if (adapter == null) { - adapter = new JavaReflectionAdapter(clazz); - adapters.put(clazz, adapter); - } - return adapter; - } - - /** - * Return the specified method - * - * @param methodName - * @return - * @throws NoSuchMethodException - */ - Method getMethod(String methodName) throws NoSuchMethodException { - - Method method = (Method)methodMap.get(methodName); - if (method == null) { - throw new NoSuchMethodException(methodName); - } - return method; - } - - /** - * Returns a map containing the methods on the class, keyed by name - * - * @return - */ - Map getMethods() { - return methodMap; - } - - /** - * Invoke a method using Java reflection. - * - * @param method - * @param object - * @param args - * @return - * @throws InvocationTargetException - * @throws IllegalAccessException - */ - Object invoke(Method method, Object object, Object[] args) throws InvocationTargetException, - IllegalAccessException { - Class[] parameterTypes = method.getParameterTypes(); - for (int i = 0; i < parameterTypes.length; i++) { - Class parameterType = parameterTypes[i]; - if (args[i] == null && parameterType.isPrimitive()) { - args[i] = DEFAULT_VALUES.get(parameterType); - } - } - return method.invoke(object, args); - } - - /** - * Set the java bean property - * - * @param bean - * @param propertyName - * @param value - * @return - */ - boolean setProperty(Object bean, String propertyName, Object value) { - try { - PropertyDescriptor propertyDescriptor = new PropertyDescriptor(propertyName, bean.getClass()); - Method writeMethod = propertyDescriptor.getWriteMethod(); - writeMethod.invoke(bean, new Object[] {value}); - return true; - } catch (InvocationTargetException e) { - throw new ServiceRuntimeException(e.getTargetException()); - } catch (Exception e) { - return false; - } - } -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/MethodInfo.java b/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/MethodInfo.java deleted file mode 100644 index e7ea7c9077..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/MethodInfo.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ejb.util; - -import java.io.Serializable; -import java.lang.reflect.Method; -import java.util.HashMap; -import java.util.Map; - -/** - * MetaData for a java method - * - * @version $Rev$ $Date$ - */ -class MethodInfo implements Serializable { - - /** Automatically generated javadoc for: serialVersionUID */ - private static final long serialVersionUID = -5557260979514687514L; - private String name; - private String returnType; - private String[] parameterTypes; - private String[] exceptionTypes; - - private String IDLName; - - private transient Method method; - - /** - * Type Signature Java Type -------------- --------- Z boolean B byte C char - * S short I int J long F float D double L fully-qualified-class ; - * fully-qualified-class [ type type[] ( arg-types ) ret-type method type - */ - private static final Map signatures = new HashMap(); - static { - signatures.put("Z", boolean.class); - signatures.put("B", byte.class); - signatures.put("C", char.class); - signatures.put("S", short.class); - signatures.put("I", int.class); - signatures.put("J", long.class); - signatures.put("F", float.class); - signatures.put("D", double.class); - signatures.put("V", void.class); - } - - MethodInfo(Method method) { - this.method = method; - this.name = method.getName(); - // this.declaringClass = method.getDeclaringClass().getName(); - this.returnType = method.getReturnType().getName(); - Class[] types = method.getParameterTypes(); - this.parameterTypes = new String[types.length]; - for (int i = 0; i < types.length; i++) { - this.parameterTypes[i] = types[i].getName(); - } - types = method.getExceptionTypes(); - this.exceptionTypes = new String[types.length]; - for (int i = 0; i < types.length; i++) { - this.exceptionTypes[i] = types[i].getName(); - } - IDLName = this.name; - } - - MethodInfo(String name, String returnType, String[] parameterTypes, String[] exceptionTypes) { - this.name = name; - this.returnType = returnType; - this.parameterTypes = parameterTypes; - this.exceptionTypes = exceptionTypes; - this.IDLName = name; - } - - /** - * Parse the class name from the internal signature Sample signatures: int - * ---> I; int[] ---> [I Object ---> java/lang/Object Object[] ---> - * [Ljava/lang/Object; - * - * @param value - * @return - */ - private static String getName(String signature) { - String name = signature; - // Remove leading ARRAY ([) signatures - int index = name.lastIndexOf('['); - if (index != -1) - name = name.substring(index + 1); - - // Remove L<...>; - if (name.charAt(0) == 'L' && name.charAt(name.length() - 1) == ';') - name = name.substring(1, name.length() - 1); - - // Primitive types - Class primitiveClass = (Class)signatures.get(name); - if (primitiveClass != null) { - name = primitiveClass.getName(); - } - - for (int i = 0; i < index + 1; i++) { - name = name + "[]"; - } - return name; - } - - /** - * @return - */ - String getName() { - return name; - } - - /** - * @return - */ - String[] getParameterTypes() { - return parameterTypes; - } - - /** - * @return - */ - String getReturnType() { - return returnType; - } - - /** - * @return - */ - String[] getExceptionTypes() { - return exceptionTypes; - } - - @Override - public String toString() { - StringBuffer sb = new StringBuffer(); - sb.append(getName(returnType)).append(" ").append(name).append("("); - for (int j = 0; j < parameterTypes.length; j++) { - sb.append(getName(parameterTypes[j])).append(" ").append("arg" + j); - if (j < (parameterTypes.length - 1)) - sb.append(", "); - } - sb.append(")"); - if (exceptionTypes.length > 0) { - sb.append(" throws "); - for (int k = 0; k < exceptionTypes.length; k++) { - sb.append(exceptionTypes[k]); - if (k < (exceptionTypes.length - 1)) - sb.append(", "); - } - } - sb.append(";"); - return sb.toString(); - } - - /** - * @return Returns the iDLName. - */ - String getIDLName() { - return IDLName; - } - - /** - * @param name The iDLName to set. - */ - void setIDLName(String name) { - IDLName = name; - } - - /** - * @return the method - */ - Method getMethod() { - return method; - } -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/NamingEndpoint.java b/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/NamingEndpoint.java deleted file mode 100644 index 346b7c5cf6..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/main/java/org/apache/tuscany/sca/binding/ejb/util/NamingEndpoint.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ejb.util; - -import java.security.AccessController; -import java.security.PrivilegedAction; - -public class NamingEndpoint { - private String jndiName; - private EJBLocator locator; - private boolean managed = true; - - public NamingEndpoint(String hostName, int port, String jndiName) { - this.jndiName = jndiName; - this.locator = new EJBLocator(hostName, port); - } - - public NamingEndpoint(String name) { - - /** - * by default it's a managed environment means SCA composite with ref - * binding is running on an AppServer. If running on J2SE, pass - * -Dmanaged=false for the VM - */ - final String managedEnv = AccessController.doPrivileged(new PrivilegedAction() { - public String run() { - return System.getProperty("managed"); - } - }); - - if (managedEnv != null) { - managed = Boolean.valueOf(managedEnv); - } - - if ((!managed) && name.startsWith("corbaname:iiop:")) { - /** - * if (name.startsWith("corbaname:iiop:")) { corbaname:iiop::/#name - * For example, - * "corbaname:iiop:localhost:2809/NameServiceServerRoot#ejb/MyEJBHome"; - */ - - String[] parts = split(name, '#'); - if (parts.length != 2) { - throw new IllegalArgumentException("Invalid corbaname: " + name); - } - - this.jndiName = name; // The logical JNDI name - this.locator = new EJBLocator(parts[0], managed); - - } else { - this.jndiName = name; - this.locator = new EJBLocator(managed); - } - - } - - private static String[] split(String str, char ch) { - int index = str.lastIndexOf(ch); - if (index == -1) { - return new String[] {str, ""}; - } else { - return new String[] {str.substring(0, index), str.substring(index + 1)}; - } - } - - /** - * @return Returns the jndiName. - */ - public String getJndiName() { - return jndiName; - } - - public EJBLocator getLocator() { - return locator; - } - - public String getCorbaname() { - return locator.getCorbaname(jndiName); - } - - /** - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) { - if (obj instanceof NamingEndpoint) { - NamingEndpoint endpoint = (NamingEndpoint)obj; - return jndiName.equals(endpoint.jndiName); - } - return false; - } - - /** - * @see java.lang.Object#hashCode() - */ - @Override - public int hashCode() { - return jndiName.hashCode(); - } - - /** - * @see java.lang.Object#toString() - */ - @Override - public String toString() { - return jndiName; - } -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/java/sca/contrib/modules/binding-ejb-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory deleted file mode 100644 index a89f711da9..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/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.ejb.provider.EJBBindingProviderFactory;model=org.apache.tuscany.sca.binding.ejb.EJBBinding diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/main/resources/binding-ejb-validation-messages.properties b/java/sca/contrib/modules/binding-ejb-runtime/src/main/resources/binding-ejb-validation-messages.properties deleted file mode 100644 index 28477dd3ac..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/main/resources/binding-ejb-validation-messages.properties +++ /dev/null @@ -1,23 +0,0 @@ -# -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# -# -UnknownEJBSessionType = Unknown EJB Session Type of {0} for {1} -UnknownEJBVersion = Unknown EJB Version of {0} for {1} - diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/account/BankManagerFacade.java b/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/account/BankManagerFacade.java deleted file mode 100644 index 337bb004b5..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/account/BankManagerFacade.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 account; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * - * Compatible EJB interface - * - * @version $Rev$ $Date$ - */ -@Remotable -public interface BankManagerFacade { - Double getAccountBalance( String accountNo ); - void changeAccountBalance( String accountNo, Double balance ); -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/account/Customer.java b/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/account/Customer.java deleted file mode 100644 index 8585301868..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/account/Customer.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 account; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface Customer { - - /** - * This method deposits the amount. method accesses external EJB to get the - * current balance and add the amount to existing balance. - * - * @param accountNo The number of the account into which to deposit the money - * @param amount The amount to be deposited - * @return total amount in customer account after deposit - */ - Double depositAmount(java.lang.String accountNo, Double amount); - -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/account/CustomerImpl.java b/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/account/CustomerImpl.java deleted file mode 100644 index 7406b9bd37..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/account/CustomerImpl.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 account; - -import org.oasisopen.sca.ServiceRuntimeException; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -import calculator.AddService; - -@Service(Customer.class) -public class CustomerImpl implements Customer { - - private AddService extEJBService = null; - - public AddService getExtEJBService() { - return extEJBService; - } - - @Reference - public void setExtEJBService(AddService extEJBService) { - this.extEJBService = extEJBService; - } - - // this method invokes external EJB through EJB reference binding - public Double depositAmount(java.lang.String accountNo, Double amount) { - - Double total = null; - - System.out.println("In component implementation. Invoking external EJB through EJB reference binding "); - - try { - Double balance = extEJBService.add(amount.doubleValue(), 1000); //invoke external ejb through ejb reference binding - total = balance + amount; - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - return total; - } - -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/calculator/AddService.java b/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/calculator/AddService.java deleted file mode 100644 index 7cefba530a..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/calculator/AddService.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 calculator; - -/** - * @version $Rev$ $Date$ - */ -public interface AddService { - double add(double n1, double n2); -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/calculator/AddServiceHome.java b/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/calculator/AddServiceHome.java deleted file mode 100644 index 799bcaa672..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/calculator/AddServiceHome.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 calculator; - -import java.rmi.RemoteException; - -import javax.ejb.CreateException; -import javax.ejb.EJBHome; - -public interface AddServiceHome extends EJBHome { - - AddService create() throws CreateException, RemoteException; - -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/org/apache/geronimo/samples/bank/ejb/BankManagerFacade.java b/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/org/apache/geronimo/samples/bank/ejb/BankManagerFacade.java deleted file mode 100644 index e480e648d9..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/org/apache/geronimo/samples/bank/ejb/BankManagerFacade.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. - */ - -/* - * Generated by XDoclet - Do not edit! - */ -package org.apache.geronimo.samples.bank.ejb; - -// copied from the Geronimo Bank sample: http://cwiki.apache.org/GMOxDOC11/ejb-sample-application.html#EJBsampleapplication-overview - -/** - * Remote interface for BankManagerFacadeBean. - * @xdoclet-generated at ${TODAY} - * @copyright The XDoclet Team - * - * @version $Rev$ $Date$ - */ -public interface BankManagerFacade - extends javax.ejb.EJBObject -{ - - void changeAccountBalance( java.lang.String accountNo,java.lang.Double balance ) - throws java.rmi.RemoteException; - - java.lang.Double getAccountBalance( java.lang.String accountNo ) - throws java.rmi.RemoteException; - -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/org/apache/geronimo/samples/bank/ejb/BankManagerFacadeHome.java b/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/org/apache/geronimo/samples/bank/ejb/BankManagerFacadeHome.java deleted file mode 100644 index 0d02be3b95..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/org/apache/geronimo/samples/bank/ejb/BankManagerFacadeHome.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. - */ - -/* - * Generated by XDoclet - Do not edit! - */ - -// copied from the Geronimo Bank sample: http://cwiki.apache.org/GMOxDOC11/ejb-sample-application.html#EJBsampleapplication-overview - -package org.apache.geronimo.samples.bank.ejb; - -/** - * Home interface for BankManagerFacadeBean. - * @xdoclet-generated at ${TODAY} - * @copyright The XDoclet Team - * - * @version $Rev$ $Date$ - */ -public interface BankManagerFacadeHome - extends javax.ejb.EJBHome -{ - String COMP_NAME="java:comp/env/ejb/BankManagerFacadeBean"; - String JNDI_NAME="org.apache.geronimo.samples.bank.ejb.BankManagerFacadeBean"; - - org.apache.geronimo.samples.bank.ejb.BankManagerFacade create() - throws javax.ejb.CreateException,java.rmi.RemoteException; - -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/org/apache/tuscany/sca/binding/ejb/tests/EJBReferenceTestCase.java b/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/org/apache/tuscany/sca/binding/ejb/tests/EJBReferenceTestCase.java deleted file mode 100644 index 82471acb16..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/org/apache/tuscany/sca/binding/ejb/tests/EJBReferenceTestCase.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.ejb.tests; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.host.embedded.SCADomain; - -import account.Customer; - -/** - * Invokes the component which calls the reference using the EJB binding - * - * @version $Rev$ $Date$ - */ -public class EJBReferenceTestCase extends TestCase { - private static final int MOCK_PORT = 8085; - private SCADomain scaDomain; - - @Override - protected void setUp() throws Exception { - System.setProperty("java.naming.factory.initial", "org.apache.openejb.client.RemoteInitialContextFactory"); - System.setProperty("java.naming.provider.url", "ejbd://localhost:" + MOCK_PORT); - System.setProperty("managed", "false"); - - scaDomain = SCADomain.newInstance("account/account.composite"); - - // To capture the network traffic for the MockServer, uncomment the next line - // new Thread(new SocketTracer(MOCK_PORT, OPENEJB_PORT)).start(); - - // Start the mock server to simulate the remote EJB - new Thread(new MockServer(MOCK_PORT)).start(); - - // Wait enough for the server to be started - Thread.sleep(500); - } - - @Override - protected void tearDown() throws Exception { - scaDomain.close(); - } - - public void testCalculator() throws Exception { - Customer customer = scaDomain.getService(Customer.class, "CustomerComponent"); - // This is one of the customer numbers in bank application running on Geronimo - String accountNo = "1234567890"; - Double balance = customer.depositAmount(accountNo, new Double(100)); - // System.out.println("Balance amount for account " + accountNo + " is $" + balance); - assertEquals(1200.0, balance); - } -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/org/apache/tuscany/sca/binding/ejb/tests/MockServer.java b/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/org/apache/tuscany/sca/binding/ejb/tests/MockServer.java deleted file mode 100644 index 48e87fb6d1..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/org/apache/tuscany/sca/binding/ejb/tests/MockServer.java +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ejb.tests; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.ServerSocket; -import java.net.Socket; - -public class MockServer implements Runnable { - - private int listen; - byte[][] seq = - { - {79, 69, 74, 80, 47, 51, 46, 48, 1, -84, -19, 0, 5, 119, 58, 1, 27, 0, 54, 47, 104, 101, 108, 108, 111, 45, - 97, 100, 100, 115, 101, 114, 118, 105, 99, 101, 47, 65, 100, 100, 83, 101, 114, 118, 105, 99, 101, 66, 101, - 97, 110, 47, 99, 97, 108, 99, 117, 108, 97, 116, 111, 114, 46, 65, 100, 100, 83, 101, 114, 118, 105, 99, 101, - 112}, - - {79, 69, 74, 80, 47, 50, 46, 48, -84, -19, 0, 5, 119, 3, 1, 13, 1, 118, 114, 0, 25, 99, 97, 108, 99, 117, 108, - 97, 116, 111, 114, 46, 65, 100, 100, 83, 101, 114, 118, 105, 99, 101, 72, 111, 109, 101, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 120, 112, 118, 114, 0, 21, 99, 97, 108, 99, 117, 108, 97, 116, 111, 114, 46, 65, 100, 100, 83, - 101, 114, 118, 105, 99, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 112, 112, 112, 119, 38, 7, 0, 31, 104, - 101, 108, 108, 111, 45, 97, 100, 100, 115, 101, 114, 118, 105, 99, 101, 47, 65, 100, 100, 83, 101, 114, 118, - 105, 99, 101, 66, 101, 97, 110, -1, -1, 0, 0}, - - {79, 69, 74, 80, 47, 51, 46, 48, 0, -84, -19, 0, 5, 119, 1, 10, 116, 0, 31, 104, 101, 108, 108, 111, 45, 97, - 100, 100, 115, 101, 114, 118, 105, 99, 101, 47, 65, 100, 100, 83, 101, 114, 118, 105, 99, 101, 66, 101, 97, - 110, 119, 2, -1, -1, 112, 119, 1, 1, 112, 118, 114, 0, 25, 99, 97, 108, 99, 117, 108, 97, 116, 111, 114, 46, - 65, 100, 100, 83, 101, 114, 118, 105, 99, 101, 72, 111, 109, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 112, - 119, 9, 0, 6, 99, 114, 101, 97, 116, 101, 0}, - {79, 69, 74, 80, 47, 50, 46, 48, -84, -19, 0, 5, 119, 2, 1, 4, 112}, - - {79, 69, 74, 80, 47, 51, 46, 48, 0, -84, -19, 0, 5, 119, 1, 23, 116, 0, 31, 104, 101, 108, 108, 111, 45, 97, - 100, 100, 115, 101, 114, 118, 105, 99, 101, 47, 65, 100, 100, 83, 101, 114, 118, 105, 99, 101, 66, 101, 97, - 110, 119, 2, -1, -1, 112, 119, 1, 1, 112, 118, 114, 0, 21, 99, 97, 108, 99, 117, 108, 97, 116, 111, 114, 46, - 65, 100, 100, 83, 101, 114, 118, 105, 99, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 112, 119, 24, 0, 3, 97, - 100, 100, 2, 4, 64, 89, 0, 0, 0, 0, 0, 0, 4, 64, -113, 64, 0, 0, 0, 0, 0}, - {79, 69, 74, 80, 47, 50, 46, 48, -84, -19, 0, 5, 119, 2, 1, 4, 115, 114, 0, 16, 106, 97, 118, 97, 46, 108, 97, - 110, 103, 46, 68, 111, 117, 98, 108, 101, -128, -77, -62, 74, 41, 107, -5, 4, 2, 0, 1, 68, 0, 5, 118, 97, - 108, 117, 101, 120, 114, 0, 16, 106, 97, 118, 97, 46, 108, 97, 110, 103, 46, 78, 117, 109, 98, 101, 114, - -122, -84, -107, 29, 11, -108, -32, -117, 2, 0, 0, 120, 112, 64, -111, 48, 0, 0, 0, 0, 0} - - }; - - public MockServer(int listen) { - this.listen = listen; - } - - public void run() { - try { - ServerSocket ss = new ServerSocket(listen); - for (int i = 0; i < seq.length; i += 2) { - // System.out.println("Processing request[" + i/2 + "]"); - doExchange(ss.accept(), seq[i], seq[i + 1]); - } - - } catch (Exception e) { - e.printStackTrace(); - } - } - - private void doExchange(Socket socket, byte[] read, byte[] write) throws IOException, InterruptedException { - Thread t2 = readBytes(socket, read.length); - Thread t1 = writeBytes(socket, write); - t1.join(); - t2.join(); - socket.close(); - } - - private Thread readBytes(Socket socket, int x) throws IOException, InterruptedException { - byte[] buf = new byte[x]; - Thread t = new Reader(socket, buf); - t.start(); - return t; - } - - private Thread writeBytes(Socket socket, byte[] bs) throws IOException, InterruptedException { - Thread t = new Writer(socket, bs); - t.start(); - return t; - } - - private static class Reader extends Thread { - - private InputStream is; - private byte[] buf; - - Reader(Socket socket, byte[] buf) throws IOException { - this.is = socket.getInputStream(); - this.buf = buf; - } - - @Override - public void run() { - try { - int totalSize = buf.length; - int readSize = 0; - int offset = 0; - while (totalSize > 0 && (readSize = is.read(buf, offset, totalSize)) != -1) { - offset += readSize; - totalSize -= readSize; - } - } catch (Exception e) { - e.printStackTrace(); - } - } - - } - - private static class Writer extends Thread { - - private OutputStream os; - private byte[] buf; - - Writer(Socket socket, byte[] buf) throws IOException { - this.os = socket.getOutputStream(); - this.buf = buf; - } - - @Override - public void run() { - try { - os.write(buf); - os.flush(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - } - -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/org/apache/tuscany/sca/binding/ejb/tests/SocketTracer.java b/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/org/apache/tuscany/sca/binding/ejb/tests/SocketTracer.java deleted file mode 100644 index 66b3feb458..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/test/java/org/apache/tuscany/sca/binding/ejb/tests/SocketTracer.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ejb.tests; - -import java.io.InputStream; -import java.io.OutputStream; -import java.net.ServerSocket; -import java.net.Socket; - -/** - * Displays the bytes flowing across a Socket connection. - * Used to get the read count and reply data for the MockServer - * - * @version $Rev$ $Date$ - */ -public class SocketTracer implements Runnable { - - private int listen; - private int send; - - SocketTracer(int listen, int send) { - this.listen = listen; - this.send = send; - } - - public void run() { - try { - ServerSocket ss = new ServerSocket(listen); - while (true) { - Socket sin = ss.accept(); - - Socket sout = new Socket("localhost", send); - - Thread st = new Thread(new Send(sin, sout)); - st.start(); - } - - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * @param buf - * @param count - */ - static synchronized void dump(String str, byte[] buf, int count) { - // System.out.println(Thread.currentThread()); - System.out.print(str+"{"); - for (int j = 0; j < count; j++) { - if (j == count - 1) { - System.out.println(buf[j] + "}, "); - } else { - System.out.print(buf[j] + ", "); - } - } - } -} - - -class Send implements Runnable { - - Socket sin; - Socket sout; - - Send(Socket sin, Socket sout) { - this.sin = sin; - this.sout = sout; - } - - public void run() { - try { - - Reply rr = new Reply(sout.getInputStream(), sin.getOutputStream()); - Thread rt = new Thread(rr); - rt.start(); - - OutputStream outout = sout.getOutputStream(); - InputStream is = sin.getInputStream(); - byte[] buf = new byte[4096]; - int i = 0; - int count = 0; - while ((i = is.read()) != -1) { - buf[count++] = (byte)i; - outout.write(i); - } - SocketTracer.dump("Req: ", buf, count); - - } catch (Exception e) { - e.printStackTrace(); - } - } - -} - -class Reply implements Runnable { - - InputStream is; - OutputStream outout; - - Reply(InputStream is, OutputStream outout) { - this.is = is; - this.outout = outout; - } - - public void run() { - try { - byte[] buf = new byte[4096]; - int i = 0; - int count = 0; - while ((i = is.read()) != -1) { - buf[count++] = (byte)i; - outout.write(i); - } - SocketTracer.dump("Res: ", buf, count); - } catch (Exception e) { - e.printStackTrace(); - } - } - -} diff --git a/java/sca/contrib/modules/binding-ejb-runtime/src/test/resources/account/account.composite b/java/sca/contrib/modules/binding-ejb-runtime/src/test/resources/account/account.composite deleted file mode 100644 index 14f77eed08..0000000000 --- a/java/sca/contrib/modules/binding-ejb-runtime/src/test/resources/account/account.composite +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ejb/LICENSE b/java/sca/contrib/modules/binding-ejb/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/binding-ejb/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/java/sca/contrib/modules/binding-ejb/NOTICE b/java/sca/contrib/modules/binding-ejb/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/binding-ejb/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-ejb/pom.xml b/java/sca/contrib/modules/binding-ejb/pom.xml deleted file mode 100644 index a697572a39..0000000000 --- a/java/sca/contrib/modules/binding-ejb/pom.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-ejb - Apache Tuscany SCA EJB Binding Model - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-assembly-xml - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-java - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-policy - 2.0-SNAPSHOT - - - - junit - junit - 4.5 - test - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.ejb - ${pom.name} - org.apache.tuscany.sca.binding.ejb* - - - - - - - diff --git a/java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/EJBBinding.java b/java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/EJBBinding.java deleted file mode 100644 index 271a113429..0000000000 --- a/java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/EJBBinding.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ejb; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.Base; -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.xml.Constants; - -/** - * An implementation of EJBBinding. - * - * @version $Rev$ $Date$ - */ -public interface EJBBinding extends Binding, Base { - // Constants used when describing the EJB binding - // model and for setting up defaults - String BINDING_EJB = "binding.ejb"; - QName BINDING_EJB_QNAME = new QName(Constants.SCA10_NS, BINDING_EJB); - - // Constants for the XML describing the EJB Binding - String HOME_INTERFACE = "homeInterface"; - String EJB_LINK_NAME = "ejb-link-name"; - String SESSION_TYPE = "session-type"; - String EJB_VERSION = "ejb-version"; - String NAME = "name"; - String POLICY_SETS = "policySets"; - String REQUIRES = "requires"; - String URI = "uri"; - - // Enums for the EJB Binding - enum EJBVersion { - EJB2, EJB3 - }; - - enum SessionType { - STATEFUL, STATELESS - }; - - /** - * Gets the homeInterface. - * - * @return home interface of the service binding - */ - String getHomeInterface(); - - /** - * Set homeInterface - * - * @param homeInterface - */ - void setHomeInterface(String homeInterface); - - /** - * get ejb-link-name - * - * @return ejb-link-name - */ - String getEjbLinkName(); - - /** - * Set ejb-link-name - * - * @param ejb-link-name - */ - void setEjbLinkName(String ejbLinkName); - - SessionType getSessionType(); - void setSessionType(SessionType sessionType); - - EJBVersion getEjbVersion(); - void setEjbVersion(EJBVersion ejbVersion); - - // FIXME: Should use Intent instead of String - String getRequires(); - void setRequires(String requires); -} diff --git a/java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/EJBBindingException.java b/java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/EJBBindingException.java deleted file mode 100644 index 6e2c8d358f..0000000000 --- a/java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/EJBBindingException.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.ejb; - -/** - * Exception for the EJB Binding - * - * @version $Rev$ $Date$ - */ -public class EJBBindingException extends RuntimeException { - private static final long serialVersionUID = 1L; - - /** - * {@inheritDoc} - */ - public EJBBindingException() { - super(); - } - - /** - * {@inheritDoc} - */ - public EJBBindingException(String message, Throwable cause) { - super(message, cause); - } - - /** - * {@inheritDoc} - */ - public EJBBindingException(String message) { - super(message); - } - - /** - * {@inheritDoc} - */ - public EJBBindingException(Throwable cause) { - super(cause); - } -} diff --git a/java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/EJBBindingFactory.java b/java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/EJBBindingFactory.java deleted file mode 100644 index 13b069a6bb..0000000000 --- a/java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/EJBBindingFactory.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.ejb; - -/** - * Factory for the EJB binding - * - * @version $Rev$ $Date$ - */ -public interface EJBBindingFactory { - - /** - * Creates a new EJB binding. - * @return the new EJB binding - */ - EJBBinding createEJBBinding(); - -} diff --git a/java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/impl/EJBBindingFactoryImpl.java b/java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/impl/EJBBindingFactoryImpl.java deleted file mode 100644 index e84de86eca..0000000000 --- a/java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/impl/EJBBindingFactoryImpl.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.ejb.impl; - -import org.apache.tuscany.sca.binding.ejb.EJBBinding; -import org.apache.tuscany.sca.binding.ejb.EJBBindingFactory; - -/** - * Factory class for building EJBBindings. - * - * @version $Rev$ $Date$ - * - */ -public class EJBBindingFactoryImpl implements EJBBindingFactory { - - public EJBBinding createEJBBinding() { - return new EJBBindingImpl(); - } - -} diff --git a/java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/impl/EJBBindingImpl.java b/java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/impl/EJBBindingImpl.java deleted file mode 100644 index 4abed80aa3..0000000000 --- a/java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/impl/EJBBindingImpl.java +++ /dev/null @@ -1,183 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ejb.impl; - -import org.apache.tuscany.sca.binding.ejb.EJBBinding; - -/** - * An implementation of EJBBinding. - * - * @version $Rev$ $Date$ - */ -public class EJBBindingImpl implements EJBBinding { - - /** - * CORBA location For example, - * "corbaname:iiop:localhost:2809/NameServiceServerRoot#ejb/MyEJBHome" - */ - private String uri; - - /** - * homeInterface. remote or local - */ - private String homeInterface; - - /** - * The ejb-link-name attribute allows a SCA client to bind to an EJB that is - * packaged in the same JEE EAR file as the SCA client. This is functionally - * equivalent to using the subelement of the element - * in s EJB deployment descriptor. Used only for Service binding - */ - private String ejbLinkName; - - /** - * The name of this binding - */ - private String name; - - /** - * Whether the binding is unresolved - */ - private boolean unresolved; - - /** - * Clone the binding - */ - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - - /** - * The type of session for this EJB Binding - */ - private SessionType sessionType; - - /** - * The EJB version for this EJB Binding - */ - private EJBVersion ejbVersion; - - private String requires; - - /** - * Constructor - */ - public EJBBindingImpl() { - super(); - unresolved = true; - } - - /** - * Gets the homeInterface. - * - * @return home interface of the service binding - */ - public String getHomeInterface() { - return homeInterface; - } - - /** - * Set homeInterface - * - * @param homeInterface - */ - public void setHomeInterface(String homeInterface) { - this.homeInterface = homeInterface; - } - - /** - * get ejb-link-name - * - * @return ejb-link-name - */ - public String getEjbLinkName() { - return ejbLinkName; - } - - /** - * Set ejb-link-name - * - * @param ejb-link-name - */ - public void setEjbLinkName(String ejbLinkName) { - this.ejbLinkName = ejbLinkName; - } - - /** - * {@inheritDoc} - */ - public String getName() { - return this.name; - } - - /** - * {@inheritDoc} - */ - public String getURI() { - return uri; - } - - /** - * {@inheritDoc} - */ - public void setName(String name) { - this.name = name; - } - - /** - * {@inheritDoc} - */ - public void setURI(String uri) { - this.uri = uri; - } - - public boolean isUnresolved() { - return this.unresolved; - } - - public void setUnresolved(boolean unresolved) { - this.unresolved = unresolved; - } - - public void setSessionType(SessionType ejb_version_enum) { - this.sessionType = ejb_version_enum; - } - - public void setEjbVersion(EJBVersion ejb_version_enum) { - this.ejbVersion = ejb_version_enum; - } - - public void setRequires(String requires) { - this.requires = requires; - - } - - public SessionType getSessionType() { - return sessionType; - } - - public EJBVersion getEjbVersion() { - return ejbVersion; - } - - public String getRequires() { - return requires; - } -} diff --git a/java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/impl/EJBBindingProcessor.java b/java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/impl/EJBBindingProcessor.java deleted file mode 100644 index 9a487e02d1..0000000000 --- a/java/sca/contrib/modules/binding-ejb/src/main/java/org/apache/tuscany/sca/binding/ejb/impl/EJBBindingProcessor.java +++ /dev/null @@ -1,182 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ejb.impl; - -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.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.assembly.xml.PolicyAttachPointProcessor; -import org.apache.tuscany.sca.binding.ejb.EJBBinding; -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.policy.PolicyFactory; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * A processor to read the XML that describes the EJB binding... - * - * - * - * - * - * - * - * @version $Rev$ $Date$ - */ -public class EJBBindingProcessor implements StAXArtifactProcessor { - private PolicyFactory policyFactory; - private PolicyAttachPointProcessor policyProcessor; - private Monitor monitor; - - public EJBBindingProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - this.policyFactory = modelFactories.getFactory(PolicyFactory.class); - this.policyProcessor = new PolicyAttachPointProcessor(policyFactory); - this.monitor = monitor; - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "binding-ejb-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * {@inheritDoc} - */ - public QName getArtifactType() { - return EJBBinding.BINDING_EJB_QNAME; - } - - /** - * {@inheritDoc} - */ - public EJBBindingImpl read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - EJBBindingImpl ejbBinding = new EJBBindingImpl(); - - // Read the policies - policyProcessor.readPolicies(ejbBinding, reader); - - // Read the name - String name = reader.getAttributeValue(null, EJBBinding.NAME); - if (name != null) { - ejbBinding.setName(name); - } - - // Read binding URI - String uri = reader.getAttributeValue(null, EJBBinding.URI); - if (uri != null) { - ejbBinding.setURI(uri); - } - - String homeInterface = reader.getAttributeValue(null, EJBBinding.HOME_INTERFACE); - if (homeInterface != null) { - ejbBinding.setHomeInterface(homeInterface); - } - - String ejbLinkName = reader.getAttributeValue(null, EJBBinding.EJB_LINK_NAME); - if (ejbLinkName != null) { - ejbBinding.setEjbLinkName(ejbLinkName); - } - - String sessionType = reader.getAttributeValue(null, EJBBinding.SESSION_TYPE); - if (sessionType != null) { - if (sessionType.equals("stateless")) { - ejbBinding.setSessionType(EJBBinding.SessionType.STATELESS); - } else if (sessionType.equals("stateful")) { - ejbBinding.setSessionType(EJBBinding.SessionType.STATEFUL); - } else { - error("UnknownEJBSessionType", reader, sessionType, name); - //throw new ContributionReadException("Unknown EJB Session Type of " + sessionType + " for " + name); - } - } - - String ejbVersion = reader.getAttributeValue(null, EJBBinding.EJB_VERSION); - if (ejbVersion != null) { - if (ejbVersion.equals("EJB2")) { - ejbBinding.setEjbVersion(EJBBinding.EJBVersion.EJB2); - } else if (ejbVersion.equals("EJB3")) { - ejbBinding.setEjbVersion(EJBBinding.EJBVersion.EJB3); - } else { - error("UnknownEJBVersion", reader, ejbVersion, name); - //throw new ContributionReadException("Unknown EJB Version of " + ejbVersion + " for " + name); - } - } - - // TODO: Read requires - String requires = reader.getAttributeValue(null, EJBBinding.REQUIRES); - if (requires != null) { - ejbBinding.setRequires(requires); - } - - return ejbBinding; - } - - public void write(EJBBindingImpl ejbBinding, XMLStreamWriter writer) throws ContributionWriteException, - XMLStreamException { - // Write a - writer.writeStartElement(Constants.SCA10_NS, EJBBinding.BINDING_EJB); - - if (ejbBinding.getName() != null){ - writer.writeAttribute(EJBBinding.NAME, ejbBinding.getName()); - } - - if (ejbBinding.getURI() != null){ - writer.writeAttribute(EJBBinding.URI, ejbBinding.getURI()); - } - - - // FIXME Implement the rest - - writer.writeEndElement(); - } - - public Class getModelType() { - return EJBBindingImpl.class; - } - - public void resolve(EJBBindingImpl ejbBinding, ModelResolver modelResolver) throws ContributionResolveException { - } -} diff --git a/java/sca/contrib/modules/binding-ejb/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.ejb.EJBBindingFactory b/java/sca/contrib/modules/binding-ejb/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.ejb.EJBBindingFactory deleted file mode 100644 index c445a82ecb..0000000000 --- a/java/sca/contrib/modules/binding-ejb/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.ejb.EJBBindingFactory +++ /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.binding.ejb.impl.EJBBindingFactoryImpl diff --git a/java/sca/contrib/modules/binding-ejb/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/binding-ejb/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index 82e85ef067..0000000000 --- a/java/sca/contrib/modules/binding-ejb/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.binding.ejb.impl.EJBBindingProcessor;qname=http://www.osoa.org/xmlns/sca/1.0#binding.ejb,model=org.apache.tuscany.sca.binding.ejb.EJBBinding diff --git a/java/sca/contrib/modules/binding-ejb/src/main/resources/binding-ejb-validation-messages.properties b/java/sca/contrib/modules/binding-ejb/src/main/resources/binding-ejb-validation-messages.properties deleted file mode 100644 index 28477dd3ac..0000000000 --- a/java/sca/contrib/modules/binding-ejb/src/main/resources/binding-ejb-validation-messages.properties +++ /dev/null @@ -1,23 +0,0 @@ -# -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# -# -UnknownEJBSessionType = Unknown EJB Session Type of {0} for {1} -UnknownEJBVersion = Unknown EJB Version of {0} for {1} - diff --git a/java/sca/contrib/modules/binding-feed/LICENSE b/java/sca/contrib/modules/binding-feed/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-feed/NOTICE b/java/sca/contrib/modules/binding-feed/NOTICE deleted file mode 100644 index 51042eab05..0000000000 --- a/java/sca/contrib/modules/binding-feed/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-feed/pom.xml b/java/sca/contrib/modules/binding-feed/pom.xml deleted file mode 100644 index c0c895a894..0000000000 --- a/java/sca/contrib/modules/binding-feed/pom.xml +++ /dev/null @@ -1,165 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-feed - Apache Tuscany SCA Atom+RSS Feed Binding Extension - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-java - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-data-api - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-databinding - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-http - 2.0-SNAPSHOT - - - - commons-httpclient - commons-httpclient - 3.1 - - - - rome - rome - 0.9 - - - - javax.servlet - servlet-api - 2.4 - provided - - - - org.apache.tuscany.sca - tuscany-host-jetty - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - test - - - - junit - junit - 4.5 - test - - - - commons-codec - commons-codec - 1.3 - - - commons-codec - commons-codec - - - - - - commons-logging - commons-logging - 1.1.1 - - - javax.servlet - servlet-api - - - avalon-framework - avalon-framework - - - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.feed - ${pom.name} - org.apache.tuscany.sca.binding.feed* - - - - - - - diff --git a/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBinding.java b/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBinding.java deleted file mode 100644 index 00aa813af2..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBindingFactory.java b/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/AtomBindingFactory.java deleted file mode 100644 index 050ba9b73c..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBinding.java b/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBinding.java deleted file mode 100644 index 81b9fd95ad..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBindingFactory.java b/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/RSSBindingFactory.java deleted file mode 100644 index c95c8ac012..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/Collection.java b/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/Collection.java deleted file mode 100644 index 61a133859b..0000000000 --- a/java/sca/contrib/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.oasisopen.sca.annotation.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/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/MediaCollection.java b/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/MediaCollection.java deleted file mode 100644 index 72365c8a29..0000000000 --- a/java/sca/contrib/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.oasisopen.sca.annotation.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/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/NotFoundException.java b/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/collection/NotFoundException.java deleted file mode 100644 index 503f30e685..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingFactoryImpl.java b/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingFactoryImpl.java deleted file mode 100644 index a9a1167544..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingImpl.java b/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/AtomBindingImpl.java deleted file mode 100644 index 76551bc412..0000000000 --- a/java/sca/contrib/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 requiredIntents = new ArrayList(); - private List policySets = new ArrayList(); - private IntentAttachPointType intentAttachPointType; - private List applicablePolicySets = new ArrayList(); - - public List 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 getPolicySets() { - return policySets; - } - - public List 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/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingFactoryImpl.java b/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingFactoryImpl.java deleted file mode 100644 index 4d8fb943f0..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingImpl.java b/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/impl/RSSBindingImpl.java deleted file mode 100644 index 9df2ec60da..0000000000 --- a/java/sca/contrib/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 requiredIntents = new ArrayList(); - private List policySets = new ArrayList(); - private IntentAttachPointType intentAttachPointType; - private List applicablePolicySets = new ArrayList(); - - public List 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 getPolicySets() { - return policySets; - } - - public List getRequiredIntents() { - return requiredIntents; - } - - public IntentAttachPointType getType() { - return intentAttachPointType; - } - - public void setType(IntentAttachPointType intentAttachPointType) { - this.intentAttachPointType = intentAttachPointType; - } - - public void setPolicySets(List policySets) { - this.policySets = policySets; - } - - public void setRequiredIntents(List intents) { - this.requiredIntents = intents; - } - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } -} diff --git a/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingInvoker.java b/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingInvoker.java deleted file mode 100644 index 45e332c366..0000000000 --- a/java/sca/contrib/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.oasisopen.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/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingProviderFactory.java b/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingProviderFactory.java deleted file mode 100644 index 9a858f899f..0000000000 --- a/java/sca/contrib/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 { - - 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 getModelType() { - return AtomBinding.class; - } -} diff --git a/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomFeedEntryUtil.java b/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomFeedEntryUtil.java deleted file mode 100644 index 7adbfca6e8..0000000000 --- a/java/sca/contrib/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 feedEntries = new ArrayList(); - 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/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomReferenceBindingProvider.java b/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomReferenceBindingProvider.java deleted file mode 100644 index d9bda1fb9a..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomServiceBindingProvider.java b/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomServiceBindingProvider.java deleted file mode 100644 index 23c36f51e3..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java b/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java deleted file mode 100644 index 89366456f5..0000000000 --- a/java/sca/contrib/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>(String.class.getName(), String.class, String.class); - Class itemClass = getOperation.getOutputType().getPhysical(); - if (itemClass == Entry.class) { - supportsFeedEntries = true; - } - DataType outputType = getOperation.getOutputType(); - QName qname = outputType.getLogical().getElementName(); - qname = new QName(qname.getNamespaceURI(), itemClass.getSimpleName()); - itemClassType = new DataTypeImpl("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[] collection = - (org.apache.tuscany.sca.data.collection.Entry[])responseMessage.getBody(); - if (collection != null) { - // Create the feed - feed = new Feed(); - feed.setTitle("Feed"); - for (org.apache.tuscany.sca.data.collection.Entry 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(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[] collection = - (org.apache.tuscany.sca.data.collection.Entry[])responseMessage.getBody(); - if (collection != null) { - // Create the feed - feed = new Feed(); - feed.setTitle("Feed"); - for (org.apache.tuscany.sca.data.collection.Entry 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 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 contents = new ArrayList(); - 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 contents = new ArrayList(); - 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 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(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(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 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 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/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingInvoker.java b/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingInvoker.java deleted file mode 100644 index c5bd3ec009..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingProviderFactory.java b/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingProviderFactory.java deleted file mode 100644 index f4c336e12b..0000000000 --- a/java/sca/contrib/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 { - - 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 getModelType() { - return RSSBinding.class; - } -} diff --git a/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSReferenceBindingProvider.java b/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSReferenceBindingProvider.java deleted file mode 100644 index 278ed9cb7e..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSServiceBindingProvider.java b/java/sca/contrib/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSServiceBindingProvider.java deleted file mode 100644 index 779b28cef6..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.AtomBindingFactory b/java/sca/contrib/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.AtomBindingFactory deleted file mode 100644 index 49478e3db0..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.RSSBindingFactory b/java/sca/contrib/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.feed.RSSBindingFactory deleted file mode 100644 index f69b024da9..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index 3f073b28b9..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/java/sca/contrib/modules/binding-feed/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory deleted file mode 100644 index f81a0d33ae..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Consumer.java b/java/sca/contrib/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Consumer.java deleted file mode 100644 index 4a33637121..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClient.java b/java/sca/contrib/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClient.java deleted file mode 100644 index b7416011ba..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClientImpl.java b/java/sca/contrib/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerClientImpl.java deleted file mode 100644 index ff15ea7c2a..0000000000 --- a/java/sca/contrib/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.oasisopen.sca.annotation.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 list = new ArrayList(); - 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 list = new ArrayList(); - list.add(content); - entry.setContents(list); - - return entry; - } -} diff --git a/java/sca/contrib/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerCollectionImpl.java b/java/sca/contrib/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/CustomerCollectionImpl.java deleted file mode 100644 index 7f65ca3c92..0000000000 --- a/java/sca/contrib/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.oasisopen.sca.annotation.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 entries = new HashMap(); - - 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 links = new ArrayList(); - Link link = new Link(); - link.setRel("edit"); - link.setHref("" + id); - links.add(link); - entry.setOtherLinks(links); - - links = new ArrayList(); - 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 links = new ArrayList(); - Link link = new Link(); - link.setRel("edit"); - link.setHref("" + id); - links.add(link); - entry.setOtherLinks(links); - - links = new ArrayList(); - 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/java/sca/contrib/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Provider.java b/java/sca/contrib/modules/binding-feed/src/test/java/org/apache/tuscany/sca/binding/feed/Provider.java deleted file mode 100644 index a9ddc1a2c8..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Consumer.composite b/java/sca/contrib/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Consumer.composite deleted file mode 100644 index 1987c042e6..0000000000 --- a/java/sca/contrib/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Consumer.composite +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Provider.composite b/java/sca/contrib/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Provider.composite deleted file mode 100644 index 9268fbe211..0000000000 --- a/java/sca/contrib/modules/binding-feed/src/test/resources/org/apache/tuscany/sca/binding/feed/Provider.composite +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-gdata-runtime/LICENSE b/java/sca/contrib/modules/binding-gdata-runtime/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/binding-gdata-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/java/sca/contrib/modules/binding-gdata-runtime/NOTICE b/java/sca/contrib/modules/binding-gdata-runtime/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-gdata-runtime/pom.xml b/java/sca/contrib/modules/binding-gdata-runtime/pom.xml deleted file mode 100644 index 9bf0bdec09..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/pom.xml +++ /dev/null @@ -1,210 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-gdata-runtime - Apache Tuscany SCA Gdata Binding Extension Runtime GSOC - - - - com.google.gdata - http://people.apache.org/~lresende/google-gdata/maven/ - - - - - - org.apache.tuscany.sca - tuscany-binding-gdata - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-java - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-data-api - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-databinding - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-http - 2.0-SNAPSHOT - - - - org.apache.abdera - abdera-core - 0.4.0-incubating - - - - commons-httpclient - commons-httpclient - 3.1 - - - - com.google.gdata - gdata-client - 1.0 - - - - com.google.gdata - gdata-client-meta - 1.0 - - - - com.google.gdata - gdata-core - 1.0 - - - - com.google.gdata - gdata-media - 1.0 - - - - javax.servlet - servlet-api - 2.4 - provided - - - - org.apache.tuscany.sca - tuscany-host-jetty - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - test - - - - junit - junit - 4.5 - test - - - - commons-codec - commons-codec - 1.3 - - - commons-codec - commons-codec - - - - - - commons-logging - commons-logging - 1.1.1 - - - javax.servlet - servlet-api - - - avalon-framework - avalon-framework - - - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - - ${tuscany.version} - - - org.apache.tuscany.sca.binding.gdata.extension - - - ${pom.name} - - - org.apache.tuscany.sca.binding.gdata* - - - - - - - - diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/Collection.java b/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/Collection.java deleted file mode 100644 index b2a76196b4..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/Collection.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.gdata.collection; - -import com.google.gdata.client.Query; -import com.google.gdata.data.Entry; -import com.google.gdata.data.Feed; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Provides access to a collection of resources using Gdata. - * - * @version $Rev$ $Date$ - */ -@Remotable -public interface Collection { - - /** - * Get a GData feed for a collection of resources. - * - * @return the GData feed - */ - Feed getFeed(); - - /** - * Get a GData feed for a collection of resources resulting from a query. - * - * @param queryString a query string - * @return the GData feed - */ - Feed query(Query query); - - /** - * 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/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/MediaCollection.java b/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/MediaCollection.java deleted file mode 100644 index 86851ef6d8..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/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.gdata.collection; - -import java.io.InputStream; - -import org.oasisopen.sca.annotation.Remotable; - -import com.google.gdata.data.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/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/NotFoundException.java b/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/NotFoundException.java deleted file mode 100644 index 4fc32d4d37..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/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.gdata.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/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingInvoker.java b/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingInvoker.java deleted file mode 100644 index 27e290b97b..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingInvoker.java +++ /dev/null @@ -1,421 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.gdata.provider; - -import static org.apache.tuscany.sca.binding.gdata.provider.GdataBindingUtil.feedEntry; - -import java.io.IOException; -import java.net.URL; - -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.PutMethod; -import org.apache.tuscany.sca.data.collection.Entry; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.DataExchangeSemantics; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.oasisopen.sca.ServiceRuntimeException; - -import com.google.gdata.client.GoogleService; -import com.google.gdata.client.Query; -import com.google.gdata.data.Feed; -import com.google.gdata.util.ResourceNotFoundException; -import com.google.gdata.util.ServiceException; - -/** - * Invoker for the GData binding. - * - * @version $Rev$ $Date$ - */ -class GdataBindingInvoker implements Invoker, DataExchangeSemantics { - - Operation operation; - String uri; - HttpClient httpClient; - String authorizationHeader; - GdataReferenceBindingProvider provider; - GoogleService googleService; - - GdataBindingInvoker(Operation operation, - String uri, - GoogleService googleService, - HttpClient httpClient, - String authorizationHeader, - GdataReferenceBindingProvider bindingProvider) { - this.operation = operation; - this.uri = uri; - this.googleService = googleService; - this.httpClient = httpClient; - this.authorizationHeader = authorizationHeader; - this.provider = bindingProvider; - - } - - - public boolean allowsPassByReference() { - return true; - } - - 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()); - } - - - /** - * Get operation invoker - */ - public static class GetInvoker extends GdataBindingInvoker { - - public GetInvoker(Operation operation, - String uri, - GoogleService googleService, - HttpClient httpClient, - String authorizationHeader, - GdataReferenceBindingProvider bindingProvider) { - super(operation, uri, googleService, httpClient, authorizationHeader, bindingProvider); - } - - @SuppressWarnings("finally") - @Override - public Message invoke(Message msg) { - - // Get the entry id from the message body - String id = (String)((Object[])msg.getBody())[0]; - - // Send an HTTP GET - GetMethod getMethod = new GetMethod(uri + "/" + id); - getMethod.setRequestHeader("Authorization", authorizationHeader); - - try { - URL entryURL = new URL(uri + "/" + id); - com.google.gdata.data.Entry feedEntry = googleService.getEntry(entryURL, com.google.gdata.data.Entry.class); - msg.setBody(feedEntry); - } catch (IOException ex) { - msg.setFaultBody(new ServiceRuntimeException(ex)); - } catch (ServiceException ex) { - msg.setFaultBody(new ServiceRuntimeException(ex)); - } finally { - return msg; - } - - } - } - - /** - * Post operation invoker - */ - public static class PostInvoker extends GdataBindingInvoker { - - public PostInvoker(Operation operation, - String uri, - GoogleService googleService, - HttpClient httpClient, - String authorizationHeader, - GdataReferenceBindingProvider bindingProvider) { - super(operation, uri, googleService, httpClient, authorizationHeader, bindingProvider); - } - - @SuppressWarnings("finally") - @Override - public Message invoke(Message msg) { - - System.out.println("[Debug Info]GdataBindingInvoker.PostInvoker --- invoke method reached"); - // Post an entry - Object[] args = (Object[])msg.getBody(); - com.google.gdata.data.Entry feedEntry = null; - - if (provider.supportsFeedEntries()) { - - // Expect an GData entry - - System.out.println("[Debug Info]GdataBindingInvoker.PostInvoker --- supportsFeedEntries: " + provider.supportsFeedEntries()); - feedEntry = (com.google.gdata.data.Entry)args[0]; - - System.out.println("[Debug Info]GdataBindingInvoker.PostInvoker --- feedEntry title: " + feedEntry.getTitle().getPlainText()); - - } else { - // Expect a key and data item - Entry entry = new Entry(args[0], args[1]); - - // FIXME: this needs to be examinated more.... - feedEntry = feedEntry(entry, provider.getItemClassType(), provider.getItemXMLType(), provider.getMediator()); - } - - try { - - com.google.gdata.data.Entry createdEntry = googleService.insert(new URL(uri), feedEntry); - - msg.setBody(createdEntry); - - } catch (IOException ex) { - msg.setFaultBody(new ServiceRuntimeException(ex)); - } catch (ServiceException ex) { - msg.setFaultBody(new ServiceRuntimeException(ex)); - } finally { - return msg; - } - } - } - - - - /** - * Put operation invoker - */ - public static class PutInvoker extends GdataBindingInvoker { - - public PutInvoker(Operation operation, - String uri, - GoogleService googleService, - HttpClient httpClient, - String authorizationHeader, - GdataReferenceBindingProvider bindingProvider) { - super(operation, uri, googleService, httpClient, authorizationHeader, bindingProvider); - } - - @SuppressWarnings("finally") - @Override - public Message invoke(Message msg) { - - // Put an entry - Object[] args = (Object[])msg.getBody(); - String id; - com.google.gdata.data.Entry feedEntry = null; - if (provider.supportsFeedEntries()) { - // Expect a key and GData entry - id = (String)args[0]; - feedEntry = (com.google.gdata.data.Entry)args[1]; - } else { - - // Expect a key and data item - id = (String)args[0]; - Entry entry = new Entry(id, args[1]); - - } - - // Send an HTTP PUT - PutMethod putMethod = new PutMethod(uri + "/" + id); - putMethod.setRequestHeader("Authorization", authorizationHeader); - try { - URL entryURL = new URL(uri + "/" + id); - - com.google.gdata.data.Entry toUpdateEntry = googleService.getEntry(entryURL, com.google.gdata.data.Entry.class); - - System.out.println("EditHtml:" + toUpdateEntry.getEditLink().getHref()); - - URL editURL = new URL(toUpdateEntry.getEditLink().getHref()); - - com.google.gdata.data.Entry updatedEntry = googleService.update(editURL, feedEntry); - - msg.setBody(updatedEntry); - - } catch (IOException ex) { - msg.setFaultBody(new ServiceRuntimeException(ex)); - } catch (ServiceException ex) { - msg.setFaultBody(new ServiceRuntimeException(ex)); - } finally { - return msg; - } } - } - - /** - * Delete operation invoker - */ - public static class DeleteInvoker extends GdataBindingInvoker { - - public DeleteInvoker(Operation operation, - String uri, - GoogleService googleService, - HttpClient httpClient, - String authorizationHeader, - GdataReferenceBindingProvider bindingProvider) { - super(operation, uri, googleService, httpClient, authorizationHeader, bindingProvider); - } - - @SuppressWarnings("finally") - @Override - public Message invoke(Message msg) { - - // Delete an entry - String id = (String)((Object[])msg.getBody())[0]; - - // Send an HTTP DELETE(Localhost) - DeleteMethod deleteMethod = new DeleteMethod(uri + "/" + id); - deleteMethod.setRequestHeader("Authorization", authorizationHeader); - - try { - URL entryURL = new URL(uri + "/" + id); - - com.google.gdata.data.Entry toUpdateEntry = googleService.getEntry(entryURL, com.google.gdata.data.Entry.class); - - System.out.println("EditHtml:" + toUpdateEntry.getEditLink().getHref()); - - URL editURL = new URL(toUpdateEntry.getEditLink().getHref()); - - googleService.delete(editURL); - - } catch (IOException ex) { - msg.setFaultBody(new ServiceRuntimeException(ex)); - } catch (ServiceException ex) { - msg.setFaultBody(new ServiceRuntimeException(ex)); - } finally { - return msg; - } - } - - } - - - /** - * GetAll operation invoker - */ - public static class GetAllInvoker extends GdataBindingInvoker { - - public GetAllInvoker(Operation operation, - String uri, - GoogleService googleService, - HttpClient httpClient, - String authorizationHeader, - GdataReferenceBindingProvider bindingProvider) { - super(operation, uri, googleService, httpClient, authorizationHeader, bindingProvider); - } - - @SuppressWarnings("finally") - @Override - public Message invoke(Message msg) { - - // Send an HTTP GET - GetMethod getMethod = new GetMethod(uri); - getMethod.setRequestHeader("Authorization", authorizationHeader); - - System.out.println("[Debug Info] GdataBindingInvoker.GetAllInvoker.invoke---feedURL: " + uri); - - try { - - Feed feed = googleService.getFeed(new URL(uri), Feed.class); - msg.setBody(feed); - - } catch (ResourceNotFoundException ex) { - msg.setFaultBody(new ResourceNotFoundException("Invalid Resource at " + uri)); - } catch (ServiceException ex) { - msg.setFaultBody(new ServiceRuntimeException(ex)); - } catch (Exception ex) { - msg.setFaultBody(new ServiceRuntimeException(ex)); - } finally { - return msg; - } - - } - } - - /** - * Query operation invoker - */ - public static class QueryInvoker extends GdataBindingInvoker { - - public QueryInvoker(Operation operation, - String uri, - GoogleService googleService, - HttpClient httpClient, - String authorizationHeader, - GdataReferenceBindingProvider bindingProvider) { - super(operation, uri, googleService, httpClient, authorizationHeader, bindingProvider); - } - - @SuppressWarnings("finally") - @Override - public Message invoke(Message msg) { - - // Send an HTTP GET - GetMethod getMethod = new GetMethod(uri); - getMethod.setRequestHeader("Authorization", authorizationHeader); - - Object[] args = (Object[])msg.getBody(); - Query myQuery = (Query)args[0]; - - System.out.println("[Debug Info] GdataBindingInvoker.QueryInvoker.invoke---feedURL: " + uri); - - try { - - Feed resultFeed = googleService.query(myQuery, Feed.class); - msg.setBody(resultFeed); - - } catch (ResourceNotFoundException ex) { - msg.setFaultBody(new ResourceNotFoundException("Invalid Resource at " + uri)); - } catch (ServiceException ex) { - msg.setFaultBody(new ServiceRuntimeException(ex)); - } catch (Exception ex) { - msg.setFaultBody(new ServiceRuntimeException(ex)); - } finally { - return msg; - } - - - } - } - - - - /** - * PostMedia operation invoker - */ - public static class PostMediaInvoker extends GdataBindingInvoker { - - public PostMediaInvoker(Operation operation, - String uri, - GoogleService googleService, - HttpClient httpClient, - String authorizationHeader, - GdataReferenceBindingProvider bindingProvider) { - super(operation, uri, googleService, httpClient, authorizationHeader, bindingProvider); - } - - @Override - public Message invoke(Message msg) { - // TODO implement - return super.invoke(msg); - } - } - - /** - * PutMedia operation invoker - */ - public static class PutMediaInvoker extends GdataBindingInvoker { - - public PutMediaInvoker(Operation operation, - String uri, - GoogleService googleService, - HttpClient httpClient, - String authorizationHeader, - GdataReferenceBindingProvider bindingProvider) { - super(operation, uri, googleService, httpClient, authorizationHeader, bindingProvider); - } - - @Override - public Message invoke(Message msg) { - // TODO implement - return super.invoke(msg); - } - } -} diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingListenerServlet.java b/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingListenerServlet.java deleted file mode 100644 index a615b2067e..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingListenerServlet.java +++ /dev/null @@ -1,748 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.gdata.provider; - -import static org.apache.tuscany.sca.binding.gdata.provider.GdataBindingUtil.entry; -import static org.apache.tuscany.sca.binding.gdata.provider.GdataBindingUtil.feedEntry; - -import java.io.IOException; -import java.io.OutputStreamWriter; -import java.io.PrintWriter; -import java.io.StringWriter; -import java.io.UnsupportedEncodingException; -import java.io.Writer; -import java.net.URLDecoder; -import java.util.ArrayList; -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.abdera.parser.ParseException; - -import org.apache.commons.codec.binary.Base64; -import org.apache.tuscany.sca.data.collection.Entry; -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 com.google.gdata.data.ExtensionProfile; -import com.google.gdata.data.ParseSource; -import com.google.gdata.data.PlainTextConstruct; -import com.google.gdata.util.ServiceException; - -/** - * 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 GdataBindingListenerServlet extends HttpServlet { - private static final Logger logger = Logger.getLogger(GdataBindingListenerServlet.class.getName()); - private static final long serialVersionUID = 1L; - - 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 title; - private Mediator mediator; - private DataType itemClassType; - private DataType itemXMLType; - private boolean supportsFeedEntries; - - /** - * Constructs a new binding listener. - * - * @param wire - * @param messageFactory - * @param feedType - */ - GdataBindingListenerServlet(RuntimeWire wire, MessageFactory messageFactory, Mediator mediator, String title) { - this.wire = wire; - this.messageFactory = messageFactory; - this.mediator = mediator; - this.title = title; - - // 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")) { - - //System.out.println("[Debug Info]GdataBindingListenerServlet constructor --- operation: 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")) { - - //System.out.println("[Debug Info]GdataBindingListenerServlet Constructor --- opeartion: 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")) { - - //System.out.println("[Debug Info]GdataBindingListenerServlet Constructor --- opeartion: post"); - postInvoker = invocationChain.getHeadInvoker(); - - } else if (operationName.equals("postMedia")) { - postMediaInvoker = invocationChain.getHeadInvoker(); - } else if (operationName.equals("delete")) { - deleteInvoker = invocationChain.getHeadInvoker(); - } - } - - //System.out.println("[Debug Info]GdataBindingListenerServlet constructor --- I am good here 00"); - - // Determine the collection item type - itemXMLType = new DataTypeImpl>(String.class.getName(), String.class, String.class); - Class itemClass = getOperation.getOutputType().getPhysical(); - - if (itemClass == com.google.gdata.data.Entry.class) { - supportsFeedEntries = true; - } - DataType outputType = getOperation.getOutputType(); - QName qname = outputType.getLogical().getElementName(); - qname = new QName(qname.getNamespaceURI(), itemClass.getSimpleName()); - itemClassType = new DataTypeImpl("java:complexType", itemClass, new XMLType(qname, null)); - - System.out.println("[Debug Info]GdataBindingListenerServlet --- initilized!"); - } - - - @Override - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - // No authentication required for a get request - System.out.println("[Debug Info]GdataBindingListenerServlet doGet() --- I am good here 00"); - - // Get the request path - String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8"); - - System.out.println("[Debug Info]GdataBindingListenerServlet doGet() --- request.getRequestURI(): " + request - .getRequestURI()); - System.out.println("[Debug Info]GdataBindingListenerServlet doGet()--- path: " + path); - - // FIXME: Log this get http request, commented out for testing - logger.fine("get " + request.getRequestURI()); - - // Handle an Atom request - if (path != null && path.equals("/atomsvc")) { - - //FIXME: This needs to be fixed, for /atomsvc - - /* - System.out.println("GdataBindingListenerServlet doGet(): I am good here brach 01"); - // Return the Atom service document - response.setContentType("application/atomsvc+xml; charset=utf-8"); - Service service = abderaFactory.newService(); - // service.setText("service"); - - Workspace workspace = abderaFactory.newWorkspace(); - workspace.setTitle("resource"); - - String href = request.getRequestURL().toString(); - href = href.substring(0, href.length() - "/atomsvc".length()); - - Collection collection = workspace.addCollection("collection", "atom/feed"); - collection.setTitle("entries"); - collection.setAttributeValue("href", href); - collection.setAccept("entry"); - collection.addCategories().setFixed(false); - - workspace.addCollection(collection); - - service.addWorkspace(workspace); - - // FIXME add prettyPrint support - try { - service.getDocument().writeTo(response.getOutputStream()); - } catch (IOException ioe) { - throw new ServletException(ioe); - } - */ - - } else if (path == null || path.length() == 0 || path.equals("/")) { - - // get HTTP request asking for a feed - - System.out.println("[Debug Info]GdataBindingListenerServlet doGet() --- I am good here brach 02"); - - // Return a feed containing the entries in the collection - com.google.gdata.data.Feed feed = null; - - if (supportsFeedEntries) { - - System.out.println("[Debug Info]GdataBindingListenerServlet doGet() --- supportsFeedEntries: " + supportsFeedEntries); - - // The service implementation supports feed entries, invoke its - // getFeed operation - Message requestMessage = messageFactory.createMessage(); - Message responseMessage; - if (request.getQueryString() != null) { - System.out.println("getQueryString != null"); - requestMessage.setBody(new Object[] {request.getQueryString()}); - responseMessage = queryInvoker.invoke(requestMessage); - } else { - System.out.println("getQueryString == null"); - responseMessage = getFeedInvoker.invoke(requestMessage); - } - if (responseMessage.isFault()) { - throw new ServletException((Throwable)responseMessage.getBody()); - } - - //System.out.println("response msg class:" + responseMessage.getBody().getClass()); - - feed = (com.google.gdata.data.Feed)responseMessage.getBody(); - - System.out.println("feed title: " + feed.getTitle().getPlainText()); - - } else { - - System.out.println("GdataBindingListenerServlet doGet(): do not supportsFeedEntries"); - - // 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); - - //System.out - // .println("GdataBindingListner.doGet(): get msg from getAllInvoker.invoke()" + responseMessage - // .getBody().toString()); - - } - if (responseMessage.isFault()) { - throw new ServletException((Throwable)responseMessage.getBody()); - } - Entry[] collection = (Entry[])responseMessage.getBody(); - if (collection != null) { - - // Create the feed - feed = new com.google.gdata.data.Feed(); - - // Set the feed title - if (title != null) { - feed.setTitle(new PlainTextConstruct(title)); - } else { - feed.setTitle(new PlainTextConstruct("Feed title")); - } - - // Add entries to the feed - ArrayList entries = new ArrayList(); - for (Entry entry : collection) { - com.google.gdata.data.Entry feedEntry = feedEntry(entry, itemClassType, itemXMLType, mediator); - entries.add(feedEntry); - } - feed.setEntries(entries); - - } - } - if (feed != null) { - - // //System.out.println("feed(from the http response)is not - // null"); - - // Write a GData feed using Atom representation - response.setContentType("application/atom+xml; charset=utf-8"); - - // Generate the corresponding Atom representation of the feed - StringWriter stringWriter = new StringWriter(); - com.google.gdata.util.common.xml.XmlWriter w = - new com.google.gdata.util.common.xml.XmlWriter(stringWriter); - feed.generateAtom(w, new ExtensionProfile()); - w.flush(); - - // Write the Atom representation(XML) into Http response content - OutputStreamWriter osw = new OutputStreamWriter(response.getOutputStream()); - PrintWriter out = new PrintWriter(response.getOutputStream()); - out.println(stringWriter.toString()); - out.close(); - - System.out.println("Feed content in plain text:" + stringWriter.toString()); - } else { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - - } else if (path.startsWith("/")) { - - // get HTTP request asking for an entry - - // Return a specific entry in the collection - com.google.gdata.data.Entry feedEntry = null; - - // 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 = (com.google.gdata.data.Entry)responseMessage.getBody(); - - System.out.println("entry title: " + feedEntry.getTitle().getPlainText()); - - } else { - // The service implementation only returns a data item, create - // an entry - // from it - Entry entry = new Entry(id, responseMessage.getBody()); - // FIXME The line below needs to be fixed - // feedEntry = feedEntry(entry, itemClassType, itemXMLType, - // mediator, abderaFactory); - } - - // Write the Gdata entry - if (feedEntry != null) { - - // Write a GData entry using Atom representation - response.setContentType("application/atom+xml; charset=utf-8"); - - // Generate the corresponding Atom representation of the feed - StringWriter stringWriter = new StringWriter(); - com.google.gdata.util.common.xml.XmlWriter w = - new com.google.gdata.util.common.xml.XmlWriter(stringWriter); - feedEntry.generateAtom(w, new ExtensionProfile()); - w.flush(); - - // Write the Atom representation(XML) into Http response content - OutputStreamWriter osw = new OutputStreamWriter(response.getOutputStream()); - PrintWriter out = new PrintWriter(response.getOutputStream()); - out.println(stringWriter.toString()); - out.close(); - - } else { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - } else { - // Path doesn't match any known pattern - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - - } - - @Override - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, - IOException { - - System.out.println("[Debug Info]GdataBindingListenerServlet doPost() --- reached"); - - // 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"); - - System.out.println("[Debug Info]GdataBindingListenerServlet path --- " + path); - - if (path == null || path.length() == 0 || path.equals("/")) { - // Create a new Gdata entry - com.google.gdata.data.Entry createdFeedEntry = null; - String contentType = request.getContentType(); - - if (contentType != null && contentType.startsWith("application/atom+xml")) { - - // Read the entry from the request - com.google.gdata.data.Entry feedEntry = null; - try { - ParseSource source = new ParseSource(request.getReader()); - feedEntry = com.google.gdata.data.Entry.readEntry(source, com.google.gdata.data.Entry.class, null); - } catch (ParseException pe) { - throw new ServletException(pe); - } catch (com.google.gdata.util.ParseException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (ServiceException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - // 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(); - Entry entry = entry(feedEntry, itemClassType, itemXMLType, mediator); - 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 = feedEntry(entry, itemClassType, itemXMLType, mediator); - } - - } 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 - // Link link = createdFeedEntry.getSelfLink(); - // if (link != null) { - // response.addHeader("Location", link.getHref().toString()); - // } - - // Write the created Atom entry - response.setStatus(HttpServletResponse.SC_CREATED); - response.setContentType("application/atom+xml; charset=utf-8"); - try { - - // Generate the corresponding Atom representation of the - // feed - StringWriter stringWriter = new StringWriter(); - com.google.gdata.util.common.xml.XmlWriter w = - new com.google.gdata.util.common.xml.XmlWriter(stringWriter); - createdFeedEntry.generateAtom(w, new ExtensionProfile()); - w.flush(); - - // Write the Atom representation(XML) into Http response - // content - OutputStreamWriter osw = new OutputStreamWriter(response.getOutputStream()); - PrintWriter out = new PrintWriter(response.getOutputStream()); - out.println(stringWriter.toString()); - out.close(); - - } catch (ParseException pe) { - throw new ServletException(pe); - } - - } 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 = request.getRequestURI().substring(request.getServletPath().length()); - - System.out.println("[Debug Info] localServlet doPut --- path: " + path); - - 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 - com.google.gdata.data.Entry feedEntry = null; - try { - ParseSource source = new ParseSource(request.getReader()); - feedEntry = com.google.gdata.data.Entry.readEntry(source, com.google.gdata.data.Entry.class, null); - - System.out.println("[Debug Info] localServlet doPut --- feedEntry title: " + feedEntry.getTitle().getPlainText()); - } catch (ParseException pe) { - throw new ServletException(pe); - } catch (com.google.gdata.util.ParseException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (ServiceException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - - - // Let the component implementation create it - if (supportsFeedEntries) { - - System.out.println("[Debug Info] localServlet doPut --- supportsFeedEntries: " + 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(); - Entry entry = entry(feedEntry, itemClassType, itemXMLType, mediator); - 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()); - } - } - } - - // Write the Gdata entry - if (feedEntry != null) { - - // Write a GData entry using Atom representation - response.setContentType("application/atom+xml; charset=utf-8"); - - // Generate the corresponding Atom representation of the feed - StringWriter stringWriter = new StringWriter(); - com.google.gdata.util.common.xml.XmlWriter w = - new com.google.gdata.util.common.xml.XmlWriter(stringWriter); - feedEntry.generateAtom(w, new ExtensionProfile()); - w.flush(); - - // Write the Atom representation(XML) into Http response content - OutputStreamWriter osw = new OutputStreamWriter(response.getOutputStream()); - PrintWriter out = new PrintWriter(response.getOutputStream()); - out.println(stringWriter.toString()); - out.close(); - - } - - } 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 { - - // FIXME temporarily disabling this as it doesn't work with all browsers - if (true) - return "admin"; - - 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 - return ("admin".equals(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/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingProviderFactory.java b/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingProviderFactory.java deleted file mode 100644 index 9be7ba6392..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingProviderFactory.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.gdata.provider; - -import org.apache.tuscany.sca.binding.gdata.GdataBinding; -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; - -import com.google.gdata.util.AuthenticationException; - -/** - * Implementation of a Binding provider factory for the Atom binding. - * - * @version $Rev$ $Date$ - */ -public class GdataBindingProviderFactory implements BindingProviderFactory { - - private MessageFactory messageFactory; - private Mediator mediator; - private ServletHost servletHost; - - public GdataBindingProviderFactory(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, - GdataBinding binding) { - try { - return new GdataReferenceBindingProvider(component, reference, binding, mediator); - } catch (AuthenticationException e) { - e.printStackTrace(); - return null; //Google authentication error! : This exception needs to be handled into a better way - } - - } - - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - GdataBinding binding) { - return new GdataServiceBindingProvider(component, service, binding, servletHost, messageFactory, mediator); - } - - public Class getModelType() { - return GdataBinding.class; - } -} diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingUtil.java b/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingUtil.java deleted file mode 100644 index 3d476df764..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataBindingUtil.java +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.gdata.provider; - -import java.util.Date; - -import org.apache.tuscany.sca.data.collection.Entry; -import org.apache.tuscany.sca.data.collection.Item; -import org.apache.tuscany.sca.databinding.Mediator; -import org.apache.tuscany.sca.interfacedef.DataType; - -import com.google.gdata.data.DateTime; -import com.google.gdata.data.PlainTextConstruct; -import com.google.gdata.data.TextContent; - -/** - * Utility methods used in this package. - * - * @version $Rev$ $Date$ - */ -class GdataBindingUtil { - - /** - * Create a data item from an GData entry. - * - * @param feedEntry - * @param itemClassType - * @param itemXMLType - * @param mediator - * @return - */ - static Entry entry(com.google.gdata.data.Entry feedEntry, - DataType itemClassType, - DataType itemXMLType, - Mediator mediator) { - if (feedEntry != null) { - if (itemClassType.getPhysical() == Item.class) { - String key = feedEntry.getId().toString(); - - Item item = new Item(); - item.setTitle(feedEntry.getTitle().toString()); - TextContent content = (TextContent)feedEntry.getContent(); - item.setContents(content.getContent().getPlainText()); - - for (com.google.gdata.data.Link link : feedEntry.getLinks()) { - if (link.getRel() == null || "self".equals(link.getRel())) { - if (item.getLink() == null) { - item.setLink(link.getHref().toString()); - } - } else if ("related".equals(link.getRel())) { - item.setRelated(link.getHref().toString()); - } else if ("alternate".equals(link.getRel())) { - item.setAlternate(link.getHref().toString()); - } - } - - Date date = new Date(feedEntry.getUpdated().getValue()); - item.setDate(date); - return new Entry(key, item); - - } else { - String key = null; - if (feedEntry.getId() != null) { - key = feedEntry.getId(); - } - - // Create the item from XML - if (feedEntry.getContent() == null) { - return null; - } - - TextContent content = (TextContent)feedEntry.getContent(); - String value = content.getContent().getPlainText(); - Object data = mediator.mediate(value, itemXMLType, itemClassType, null); - return new Entry(key, data); - } - } else { - return null; - } - } - - /** - * Create an Gdata entry for a key and item from a collection. - * - * @param entry - * @param itemClassType - * @param itemXMLType - * @param mediator - * @param factory - * @return - */ - static com.google.gdata.data.Entry feedEntry(Entry entry, - DataType itemClassType, - DataType itemXMLType, - Mediator mediator) { - - Object key = entry.getKey(); - Object data = entry.getData(); - if (data instanceof Item) { - Item item = (Item)data; - - com.google.gdata.data.Entry feedEntry = new com.google.gdata.data.Entry(); - if (key != null) { - feedEntry.setId(key.toString()); - } - feedEntry.setTitle(new PlainTextConstruct(item.getTitle())); - feedEntry.setContent(new PlainTextConstruct(item.getContents())); - - String href = item.getLink(); - if (href == null && key != null) { - href = key.toString(); - } - - if (href != null) { - feedEntry.addHtmlLink(href, "", ""); - } - String related = item.getRelated(); - if (related != null) { - feedEntry.addHtmlLink(related, "", "related"); - } - String alternate = item.getAlternate(); - if (alternate != null) { - feedEntry.addHtmlLink(alternate, "", "alternate"); - } - - Date date = item.getDate(); - if (date != null) { - DateTime datetime = new DateTime(date); - feedEntry.setUpdated(datetime); - } - return feedEntry; - - } else if (data != null) { - - com.google.gdata.data.Entry feedEntry = new com.google.gdata.data.Entry(); - feedEntry.setId(key.toString()); - feedEntry.setTitle(new PlainTextConstruct("item")); - - // Convert the item to XML - String value = mediator.mediate(data, itemClassType, itemXMLType, null).toString(); - - // Might be wrong because the example uses XML datatype, I am using - // plainText here - feedEntry.setContent(new PlainTextConstruct(value)); - - feedEntry.addHtmlLink(key.toString(), "", ""); - return feedEntry; - - } else { - return null; - } - } - -} diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataReferenceBindingProvider.java b/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataReferenceBindingProvider.java deleted file mode 100644 index 7656754bca..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataReferenceBindingProvider.java +++ /dev/null @@ -1,229 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.gdata.provider; - -import java.net.URI; - -import javax.xml.namespace.QName; - -import org.apache.commons.codec.binary.Base64; -import org.apache.commons.httpclient.Credentials; -import org.apache.commons.httpclient.HttpClient; -import org.apache.commons.httpclient.HttpConnectionManager; -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.gdata.GdataBinding; -import org.apache.tuscany.sca.databinding.Mediator; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -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.Invoker; -import org.apache.tuscany.sca.provider.ReferenceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; - -import com.google.gdata.client.GoogleService; -import com.google.gdata.util.AuthenticationException; - -/** - * Implementation of the Atom binding provider. - * - * @version $Rev$ $Date$ - */ -class GdataReferenceBindingProvider implements ReferenceBindingProvider { - - private RuntimeComponentReference reference; - private GdataBinding binding; - private String authorizationHeader; - private GoogleService googleService; - private HttpClient httpClient; - private Mediator mediator; - private DataType itemClassType; - private DataType itemXMLType; - private boolean supportsFeedEntries; - - /** - * Constructs a new AtomReferenceBindingProvider - * - * @param component - * @param reference - * @param binding - * @param mediator - * @throws AuthenticationException - */ - GdataReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - GdataBinding binding, - Mediator mediator) throws AuthenticationException { - this.reference = reference; - this.binding = binding; - this.mediator = mediator; - - // Prepare authorization header - String authorization = "admin" + ":" + "admin"; - authorizationHeader = "Basic " + new String(Base64.encodeBase64(authorization.getBytes())); - - // Prepare gdata header - String serviceType = binding.getServiceType(); - String usernane = binding.getUsername(); - String password = binding.getPassword(); - - System.out.println("[Debug Info] binding.getServiceType()" + serviceType); - System.out.println("[Debug Info] binding.getName()" +usernane); - System.out.println("[Debug Info] binding.getPassword()" + password); - - googleService = new GoogleService(serviceType, ""); - if(binding.getUsername().equals("admin") == false && binding.getPassword().equals("admin")==false){ - googleService.setUserCredentials(binding.getUsername(),binding.getPassword()); - } - - // Create an HTTP client - HttpConnectionManager connectionManager = new MultiThreadedHttpConnectionManager(); - connectionManager.getParams().setDefaultMaxConnectionsPerHost(10); - connectionManager.getParams().setConnectionTimeout(60000); - httpClient = new HttpClient(connectionManager); - } - - public Invoker createInvoker(Operation operation) { - - String operationName = operation.getName(); - - if (operationName.equals("get")) { - - // Determine the collection item type - itemXMLType = new DataTypeImpl>(String.class.getName(), String.class, String.class); - Class itemClass = operation.getOutputType().getPhysical(); - DataType outputType = operation.getOutputType(); - QName qname = outputType.getLogical().getElementName(); - qname = new QName(qname.getNamespaceURI(), itemClass.getSimpleName()); - itemClassType = new DataTypeImpl("java:complexType", itemClass, new XMLType(qname, null)); - - if (itemClassType.getPhysical() == com.google.gdata.data.Entry.class) { - supportsFeedEntries = true; - } - - String entryURI = this.binding.getURI(); - if(entryURI.contains("picasaweb.google.com/data/feed/api/")){ - entryURI = entryURI.replace("picasaweb.google.com/data/feed/api/", "picasaweb.google.com/data/entry/api/"); - } - - return new GdataBindingInvoker.GetInvoker(operation, entryURI, googleService, httpClient, authorizationHeader, this); - - } else if (operationName.equals("post")) { - - return new GdataBindingInvoker.PostInvoker(operation, binding.getURI(), googleService, httpClient, authorizationHeader, this); - - } else if (operationName.equals("put")) { - - String entryURI = this.binding.getURI(); - if(entryURI.contains("picasaweb.google.com/data/feed/api/")){ - entryURI = entryURI.replace("picasaweb.google.com/data/feed/api/", "picasaweb.google.com/data/entry/api/"); - } - - return new GdataBindingInvoker.PutInvoker(operation, entryURI, googleService, httpClient, authorizationHeader, this); - - } else if (operationName.equals("delete")) { - - String entryURI = this.binding.getURI(); - if(entryURI.contains("picasaweb.google.com/data/feed/api/")){ - entryURI = entryURI.replace("picasaweb.google.com/data/feed/api/", "picasaweb.google.com/data/entry/api/"); - } - return new GdataBindingInvoker.DeleteInvoker(operation, entryURI, googleService, httpClient, authorizationHeader, this); - - } else if (operationName.equals("getFeed") || operationName.equals("getAll")) { - - return new GdataBindingInvoker.GetAllInvoker(operation, binding.getURI(), googleService, httpClient, authorizationHeader, this); - - } else if (operationName.equals("postMedia")) { - - return new GdataBindingInvoker.PostMediaInvoker(operation, binding.getURI(), googleService, httpClient, authorizationHeader, this); - - } else if (operationName.equals("putMedia")) { - - return new GdataBindingInvoker.PutMediaInvoker(operation, binding.getURI(), googleService, httpClient, authorizationHeader, this); - - } else if (operationName.equals("query")) { - - return new GdataBindingInvoker.QueryInvoker(operation, binding.getURI(), googleService, httpClient, authorizationHeader, this); - } - - return new GdataBindingInvoker(operation, binding.getURI(), googleService, httpClient, authorizationHeader, this); - } - - 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; - } - - /** - * Returns the mediator. - * - * @return - */ - Mediator getMediator() { - return mediator; - } - - /** - * Returns the item class type. - * - * @return - */ - DataType getItemClassType() { - return itemClassType; - } - - /** - * Returns the item XML type. - * - * @return - */ - DataType getItemXMLType() { - return itemXMLType; - } - - /** - * Returns true if the invoker should work with Atom feed entries. - * - * @return - */ - boolean supportsFeedEntries() { - return supportsFeedEntries; - } - -} diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataServiceBindingProvider.java b/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataServiceBindingProvider.java deleted file mode 100644 index 10faf74371..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GdataServiceBindingProvider.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.gdata.provider; - -import org.apache.tuscany.sca.binding.gdata.GdataBinding; -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 GdataServiceBindingProvider implements ServiceBindingProvider { - - private RuntimeComponentService service; - private GdataBinding binding; - private ServletHost servletHost; - private MessageFactory messageFactory; - private String servletMapping; - private Mediator mediator; - - GdataServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - GdataBinding 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); - - GdataBindingListenerServlet servlet = - new GdataBindingListenerServlet(wire, messageFactory, mediator, binding.getTitle()); - - servletMapping = binding.getURI(); - if (!servletMapping.endsWith("/")) { - servletMapping += "/"; - } - if (!servletMapping.endsWith("*")) { - servletMapping += "*"; - } - 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/java/sca/contrib/modules/binding-gdata-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/java/sca/contrib/modules/binding-gdata-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory deleted file mode 100644 index 5e380eb4e0..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/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.gdata.provider.GdataBindingProviderFactory;model=org.apache.tuscany.sca.binding.gdata.GdataBinding diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/main/resources/tuscany-binding-gdata.xsd b/java/sca/contrib/modules/binding-gdata-runtime/src/main/resources/tuscany-binding-gdata.xsd deleted file mode 100644 index 5148e2ef2d..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/main/resources/tuscany-binding-gdata.xsd +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/Consumer.java b/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/Consumer.java deleted file mode 100644 index 2517c7233a..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/Consumer.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.gdata; - -import org.apache.tuscany.sca.host.embedded.SCADomain; - -import com.google.gdata.data.Entry; -import com.google.gdata.data.Feed; -import com.google.gdata.data.PlainTextConstruct; - -public class Consumer { - - public static void main(String[] args) throws Exception { - - //Initialize the GData client service (Reference Binding test) - SCADomain scaDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/ConsumerGoogleBlogger.composite"); - CustomerClient testService = scaDomain.getService(CustomerClient.class, "CustomerClient"); - - - Feed feed = testService.clientGetFeed(); - - System.out.println("#Entries(Before post): "+ testService.clientGetFeed().getEntries().size()); - - /* - String entryID = "tag:blogger.com,1999:blog-4520949313432095990.post-973462497533349425"; - Entry entry = testService.clientGetEntry(entryID); - System.out.println("Entry id: " + entry.getId()); - */ - - Entry myEntry = new Entry(); - myEntry.setTitle(new PlainTextConstruct("titleByConsumer2")); - myEntry.setContent(new PlainTextConstruct("contentByConsmer2")); - testService.clientPost(myEntry); - - System.out.println("#Entries(After post): "+ testService.clientGetFeed().getEntries().size()); - - String entryID = "tag:blogger.com,1999:blog-4520949313432095990.post-973462497533349425"; - Entry entry = testService.clientGetEntry(entryID); - System.out.println("Entry id: " + entry.getId()); - - - } -} diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/ConsumerProviderTestCase.java b/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/ConsumerProviderTestCase.java deleted file mode 100644 index 3ac79e5f0a..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/ConsumerProviderTestCase.java +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.gdata; - -import junit.framework.TestCase; -import org.apache.tuscany.sca.host.embedded.SCADomain; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import com.google.gdata.data.Entry; -import com.google.gdata.data.Feed; -import com.google.gdata.data.PlainTextConstruct; - -public class ConsumerProviderTestCase extends TestCase { - - private SCADomain scaDomainProvider = null; - private SCADomain scaDomainConsumer = null; - private CustomerClient testService = null; - - @Before - @Override - public void setUp() throws Exception { - System.out.println("Method Test Start-----------------------------------------------------------------------"); - - // Setup the local GData servlet (Service Binding test) - scaDomainProvider = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/Provider.composite"); - System.out.println("[Debug Info] Provider.composite ready..."); - - // Initialize the GData client service (Reference Binding test) - scaDomainConsumer = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/Consumer.composite"); - testService = scaDomainConsumer.getService(CustomerClient.class, "CustomerClient"); - } - - @After - @Override - public void tearDown() { - scaDomainProvider.close(); - System.out.println("Method Test End------------------------------------------------------------------------"); - System.out.println("\n\n"); - } - - - @Test - public void testClientGetFeed() throws Exception { - Feed feed = testService.clientGetFeed(); - System.out.println(feed.getTitle().getPlainText()); - assertNotNull(feed); - // Given we are testing on the localhost providing feed, we know the - // feed title is "Feedtitle(LocalHostServlet)" - assertEquals("Feedtitle(LocalHostServlet)", feed.getTitle().getPlainText()); - } - - @Test - public void testClientGetEntry() throws Exception { - String entryID = "urn:uuid:customer-0"; - Entry entry = testService.clientGetEntry(entryID); - System.out.println("entryID in testcase: " + entry.getId()); - assertEquals(entryID, entry.getId()); - } - - @Test - public void testClientPost() throws Exception { - Entry newEntry = new Entry(); - newEntry.setTitle(new PlainTextConstruct("NewEntry title by Post")); - newEntry.setContent(new PlainTextConstruct("NewEntry Content by Post")); - Entry postedEntry = testService.clientPost(newEntry); - assertEquals("NewEntry title by Post", postedEntry.getTitle().getPlainText()); - } - - - - @Test - public void testClientPut() throws Exception { - String newTitleValue = "newTitleValueByPut"; - String entryID = "urn:uuid:customer-0"; - System.out.println("Before clientPut"); - testService.clientPut(entryID, newTitleValue); - System.out.println("After clientPut"); - Entry updatedEntry = testService.clientGetEntry(entryID); - System.out.println("title: "+ updatedEntry.getTitle().getPlainText()); - assertEquals(newTitleValue, updatedEntry.getTitle().getPlainText()); - } - - - - @Test - public void testClientDelete() throws Exception { - - // We first create a new entry, then delete it - - // Post a new entry - Entry newEntry = new Entry(); - newEntry.setTitle(new PlainTextConstruct("NewEntry title to be deleted")); - newEntry.setContent(new PlainTextConstruct("NewEntry Content to be delted")); - Entry confirmedNewEntry = testService.clientPost(newEntry); - - Thread.sleep(300); - - Feed feed00 = testService.clientGetFeed(); - int entryNum00 = feed00.getEntries().size(); // The number of entries - // before deleting - System.out.println("entryNum00:" + entryNum00); - - // Delete this newly created entry - String entryID = confirmedNewEntry.getId(); - Thread.sleep(300); - - System.out.println("confirmed entry ID: " + confirmedNewEntry.getId()); - System.out.println("confirmed entry title: " + confirmedNewEntry.getTitle().getPlainText()); - - System.out.println("Before test clientDelete"); - testService.clientDelete(entryID); - System.out.println("After test clientDelete"); - - Feed feed01 = testService.clientGetFeed(); - int entryNum01 = feed01.getEntries().size(); - System.out.println("entryNum01:" + entryNum01); // The number of entries after deleting - - //assertEquals(1, entryNum00 - entryNum01); - } - - -} diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerClient.java b/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerClient.java deleted file mode 100644 index 7aa0a8961c..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerClient.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.gdata; - -import com.google.gdata.client.Query; -import com.google.gdata.data.Entry; -import com.google.gdata.data.Feed; - -public interface CustomerClient { - - Feed clientGetFeed() throws Exception; - - Entry clientGetEntry(String entryID) throws Exception; - - Entry clientPost(Entry entry) throws Exception; - - void clientDelete(String entryID) throws Exception; - - void clientPut(String entryID, String newTitle) throws Exception; - - Feed clientQuery(Query query) throws Exception; - -} diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerClientImpl.java b/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerClientImpl.java deleted file mode 100644 index 488bfa0f71..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerClientImpl.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.binding.gdata; - -import com.google.gdata.client.Query; -import com.google.gdata.data.Feed; -import com.google.gdata.data.Entry; -import com.google.gdata.data.PlainTextConstruct; - -import org.apache.tuscany.sca.binding.gdata.collection.Collection; -import org.apache.tuscany.sca.binding.gdata.collection.NotFoundException; -import org.oasisopen.sca.annotation.Reference; - -public class CustomerClientImpl implements CustomerClient { - - @Reference - public Collection resourceCollection; - - // Call Collection.getFeed() - public Feed clientGetFeed() throws Exception { - // Get all the entries from the provider, return in a single feed - System.out.println(">>> get the feed from the provider service"); - Feed feed = resourceCollection.getFeed(); - System.out.println("\n\n!!! Fetched feed title: " + feed.getTitle().getPlainText()); - int i = 0; - for (Object o : feed.getEntries()) { - com.google.gdata.data.Entry e = (com.google.gdata.data.Entry)o; - System.out.print("Entry" + i + "\t"); - System.out.println(" id = " + e.getId() + "\t title = " + e.getTitle().getPlainText()); - i++; - } - return feed; - } - - - // Call Collection.get(entryID) - public Entry clientGetEntry(String entryID) throws Exception { - // Get an existing entry based on its id - System.out.println(">>> get an existing entry from the provider service"); - Entry entry = resourceCollection.get(entryID); - System.out.println("\n\n!!! Entry retrieved with id=" + entry.getId() - + " title=" - + entry.getTitle().getPlainText()); - return entry; - } - - - // Call Collection.post(newEntry) - public Entry clientPost(Entry newEntry) throws Exception { - // Put a new entry to the provider - System.out.println(">>> post a new entry to the provider service"); - Entry confirmedNewEntry = resourceCollection.post(newEntry); - System.out.println("!!! New entry posted with id=" + confirmedNewEntry.getId() - + " title=" - + confirmedNewEntry.getTitle().getPlainText()); - System.out.println("\n"); - return confirmedNewEntry; - } - - - // Call Collection.delete(newEntry) - public void clientDelete(String entryID) throws Exception { - // Put a new entry to the provider - System.out.println(">>> delete an existing entry from the provider service"); - System.out.println(">>> delete id=" + "urn:uuid:customer-1"); - resourceCollection.delete(entryID); - System.out.println("!!! entry with id" + entryID); - System.out.println("\n"); - } - - - - // Call Collection.put(entry, updatedTitle) - public void clientPut(String entryID, String newTitle) throws Exception { - - System.out.println("clientPut"); - // Put a new entry to the provider - System.out.println(">>> put id=" + entryID + " title=" + newTitle); - Entry entry = resourceCollection.get(entryID); - - //change the title of this entry - entry.setTitle(new PlainTextConstruct(newTitle)); - resourceCollection.put(entryID, entry); - System.out.println("!!! Updated entry with id=" + entry.getId() + " title=" + entry.getTitle()); - System.out.println("\n"); - } - - - - // Call Collection.getFeed() - public Feed clientQuery(Query query) throws Exception { - // Get all the entries from the provider, return in a single feed - System.out.println(">>> query the service"); - Feed feed = resourceCollection.query(query); - System.out.println("\n\n!!! Query result feed title: " + feed.getTitle().getPlainText()); - int i = 0; - for (Object o : feed.getEntries()) { - com.google.gdata.data.Entry e = (com.google.gdata.data.Entry)o; - System.out.print("Entry" + i + "\t"); - System.out.println(" id = " + e.getId() + "\t title = " + e.getTitle().getPlainText()); - i++; - } - return feed; - } - -} diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerCollectionImpl.java b/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerCollectionImpl.java deleted file mode 100644 index e283b6e023..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/CustomerCollectionImpl.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.gdata; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -import com.google.gdata.client.Query; -import com.google.gdata.data.DateTime; -import com.google.gdata.data.Entry; -import com.google.gdata.data.Feed; -import com.google.gdata.data.Link; -import com.google.gdata.data.PlainTextConstruct; - -import org.apache.tuscany.sca.binding.gdata.collection.Collection; -import org.oasisopen.sca.annotation.Scope; - -@Scope("COMPOSITE") -public class CustomerCollectionImpl implements Collection { - - - private Map entries = new HashMap(); - - /** - * Default constructor that initializes collection with couple customer - * entries - */ - public CustomerCollectionImpl() { - - for (int i = 0; i < 4; i++) { - // id is supposed to be generated in a random way, but for the - // purpose of testing, we just make them as static ids - - // String id = "urn:uuid:customer-" + UUID.randomUUID().toString(); - - String id = "urn:uuid:customer-" + String.valueOf(i); - Entry entry = new Entry(); - entry.setId(id); - entry.setTitle(new PlainTextConstruct("EntryTitle_" + i)); - entry.setContent(new PlainTextConstruct("content_" + i)); - entry.setUpdated(DateTime.now()); - // FIXME: The following three lines of code need to be fixed to add - // HTML links. - Link link = new Link(); - link.setType(Link.Type.ATOM); - link.setRel(Link.Rel.ENTRY_EDIT); - link.setHref("http://localhost:8084/customer" + "/" + id); - entry.getLinks().add(link); - - // entry.addHtmlLink(""+id, "", "edit"); - // entry.addHtmlLink(""+id, "", "alternate"); - 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); - - Link link = new Link(); - link.setType(Link.Type.ATOM); - link.setRel(Link.Rel.ENTRY_EDIT); - link.setHref("http://localhost:8084/customer" + "/" + id); - entry.getLinks().add(link); - - //entry.addLink("" + id, "edit"); entry.addLink("" + id, "alternate"); - entry.setUpdated(DateTime.now()); - - // entry.addHtmlLink("http://www.google.com", "languageType", "edit"); - // entry.addHtmlLink("http://www.google.com", "languageType", - // "alternate"); - - 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().getPlainText()); - entry.setUpdated(DateTime.now()); - entries.put(id, entry); - } - - - public void delete(String id) { - System.out.println(">>> ResourceCollectionImpl.delete id=" + id); - entries.remove(id); - } - - - public Feed getFeed() { - System.out.println(">>> ResourceCollectionImpl.get collection"); - - Feed feed = new Feed(); - feed.setTitle(new PlainTextConstruct("Feedtitle(LocalHostServlet)")); - feed.setSubtitle(new PlainTextConstruct("Subtitle: This is a sample feed")); - feed.setUpdated(DateTime.now()); - // FIXME: The following two lines of code need to be fixed - // feed.addHtmlLink("", "", ""); - // feed.addHtmlLink("", "languageType", "self"); - ArrayList entryList = new ArrayList(); - for (Entry entry : entries.values()) { - entryList.add(entry); - } - feed.setEntries(entryList); - - return feed; - } - - //FIXME: need to be modified - public Feed query(Query query) { - System.out.println(">>> ResourceCollectionImpl.query collection "); - return getFeed(); - } - -} diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleBloggerServiceTestCase.java b/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleBloggerServiceTestCase.java deleted file mode 100644 index b4f6ec7b36..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleBloggerServiceTestCase.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.binding.gdata; - -import java.net.URL; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.host.embedded.SCADomain; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import com.google.gdata.client.Query; -import com.google.gdata.data.DateTime; -import com.google.gdata.data.Entry; -import com.google.gdata.data.Feed; -import com.google.gdata.data.PlainTextConstruct; - -public class GoogleBloggerServiceTestCase extends TestCase{ - - private SCADomain scaDomainConsumer = null; - private CustomerClient testService = null; - - public GoogleBloggerServiceTestCase(){ - - } - - @Before - @Override - public void setUp() throws Exception { - System.out.println("Method Test Start-----------------------------------------------------------------------"); - - //Initialize the GData client service (Reference Binding test) - scaDomainConsumer = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/ConsumerGoogleBlogger.composite"); - testService = scaDomainConsumer.getService(CustomerClient.class, "CustomerClient"); - } - - @After - @Override - public void tearDown(){ - System.out.println("Method Test End------------------------------------------------------------------------"); - System.out.println("\n\n"); - } - - @Test - public void testClientGetFeed() throws Exception { - Feed feed = testService.clientGetFeed(); - System.out.println("feed title: " + feed.getTitle().getPlainText()); - assertEquals("gdata binding tuscany test", feed.getTitle().getPlainText()); - } - - - @Test - public void testClientGetEntry() throws Exception { - String entryID = "8308734583601887890"; - Entry blogEntry = testService.clientGetEntry(entryID); - System.out.println("Entry ID: " + blogEntry.getId()); - assertTrue(blogEntry.getId().endsWith(entryID)); - System.out.println("------------------------------------------------------------\n\n"); - } - - - @Test - public void testClientPut() throws Exception { - String entryID = "2889832689497686762"; - String newBlogEntryTitle = "updatedTitleByTestCase2"; - testService.clientPut(entryID, newBlogEntryTitle); //update the title - Thread.sleep(300); - Entry updatedEntry = testService.clientGetEntry(entryID); - assertEquals(newBlogEntryTitle, updatedEntry.getTitle().getPlainText()); - } - - - - @Test - public void testClientPost() throws Exception { - String blogEntryTitle = "titleByBloogerTestcase000"; - Entry newEntry = new Entry(); - newEntry.setTitle(new PlainTextConstruct(blogEntryTitle)); - newEntry.setContent(new PlainTextConstruct("contentByBloggerTestCase000")); - Entry postedEntry = testService.clientPost(newEntry); - assertEquals(blogEntryTitle, postedEntry.getTitle().getPlainText()); - } - - - @Test - public void testClientDelete() throws Exception { - - //This test case might fail - //because Google blogger service has limitation on new posts allowed everyday/every hour? - - System.out.println("testClientDelete"); - //We create a new post, and then delete it - Entry newEntry = new Entry(); - newEntry.setTitle(new PlainTextConstruct("blogEntryShouldNotApear")); - newEntry.setContent(new PlainTextConstruct("contentByBloggerShouldNotAppear")); - Entry postedEntry = testService.clientPost(newEntry); - Thread.sleep(300); - int idStartPosition = postedEntry.getId().lastIndexOf("-"); - String postedEntryID = postedEntry.getId().substring(idStartPosition+1); - System.out.println("postedEntryID: " + postedEntryID ); - - //Before deletion - Entry entry00 = testService.clientGetEntry(postedEntryID); - System.out.println("Before Deleteion: " + entry00.getId()); - - //Delete this entry - testService.clientDelete(postedEntryID); - - //Worked: this newly posted entry did not appear in the blogspot website, - //But we need a Junit assertion here - //Link: http://haibotuscany.blogspot.com/feeds/posts/default/ - //FIXME: Need an assertion here - //Assert(....); - } - - - @Test - public void testClientQuery() throws Exception { - Query myQuery = new Query(new URL("http://haibotuscany.blogspot.com/feeds/posts/default")); - myQuery.setMaxResults(100); - //myQuery.setUpdatedMin(startTime); - myQuery.setUpdatedMax(DateTime.now()); - Feed resultFeed = testService.clientQuery(myQuery); - System.out.println("Query result feed title: " + resultFeed.getTitle().getPlainText()); - System.out.println("Query result entry number: "+ resultFeed.getEntries().size()); - //assertEquals("gdata binding tuscany test", resultFeed.getTitle().getPlainText()); - } - - -} diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleCalendarServiceTestCase.java b/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleCalendarServiceTestCase.java deleted file mode 100644 index 882716575b..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleCalendarServiceTestCase.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.gdata; - -import java.net.URL; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.host.embedded.SCADomain; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import com.google.gdata.client.Query; -import com.google.gdata.data.DateTime; -import com.google.gdata.data.Entry; -import com.google.gdata.data.Feed; -import com.google.gdata.data.PlainTextConstruct; - -public class GoogleCalendarServiceTestCase extends TestCase{ - - private SCADomain scaDomainConsumer = null; - private CustomerClient testService = null; - - public GoogleCalendarServiceTestCase(){ - - } - - @Before - @Override - public void setUp() throws Exception { - System.out.println("Method Test Start-----------------------------------------------------------------------"); - - //Initialize the GData client service (Reference Binding test) - scaDomainConsumer = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/ConsumerGoogleCalendar.composite"); - testService = scaDomainConsumer.getService(CustomerClient.class, "CustomerClient"); - } - - @After - @Override - public void tearDown(){ - System.out.println("Method Test End------------------------------------------------------------------------"); - System.out.println("\n\n"); - } - - @Test - public void testClientGetFeed() throws Exception { - Feed feed = testService.clientGetFeed(); - System.out.println("feed title: " + feed.getTitle().getPlainText()); - assertEquals("gsoc gosc", feed.getTitle().getPlainText()); - } - - - @Test - public void testClientGetEntry() throws Exception { - String entryID = "1c76lcl70jg9r0fm18rcbneea8"; - Entry blogEntry = testService.clientGetEntry(entryID); - System.out.println("Entry ID: " + blogEntry.getId()); - assertTrue(blogEntry.getId().endsWith(entryID)); - System.out.println("------------------------------------------------------------\n\n"); - } - - - @Test - public void testClientPut() throws Exception { - String entryID = "1c76lcl70jg9r0fm18rcbneea8"; - String newBlogEntryTitle = "updatedTitleByGoogleContactsConsumerTestCase"; - testService.clientPut(entryID, newBlogEntryTitle); //update the title - Thread.sleep(300); - Entry updatedEntry = testService.clientGetEntry(entryID); - assertEquals(newBlogEntryTitle, updatedEntry.getTitle().getPlainText()); - } - - - - @Test - public void testClientPost() throws Exception { - String blogEntryTitle = "titleByGoogleCalendarTestcase"; - Entry newEntry = new Entry(); - newEntry.setTitle(new PlainTextConstruct(blogEntryTitle)); - newEntry.setContent(new PlainTextConstruct("contentByGoogleCalendarTestCase")); - Entry postedEntry = testService.clientPost(newEntry); - assertEquals(blogEntryTitle, postedEntry.getTitle().getPlainText()); - } - - - @Test - public void testClientDelete() throws Exception { - - //This test case might fail - //because Google blogger service has limitation on new posts allowed everyday/every hour? - - System.out.println("testClientDelete"); - //We create a new post, and then delete it - Entry newEntry = new Entry(); - newEntry.setTitle(new PlainTextConstruct("calendarEntryShouldNotApear")); - newEntry.setContent(new PlainTextConstruct("calendarByBloggerShouldNotAppear")); - Entry postedEntry = testService.clientPost(newEntry); - Thread.sleep(300); - - System.out.println("ID: " + postedEntry.getId()); - - int idStartPosition = postedEntry.getId().lastIndexOf("/"); - String postedEntryID = postedEntry.getId().substring(idStartPosition+1); - System.out.println("postedEntryID: " + postedEntryID ); - - //Before deletion - Entry entry00 = testService.clientGetEntry(postedEntryID); - System.out.println("Before Deleteion: " + entry00.getId()); - - //Delete this entry - testService.clientDelete(postedEntryID); - - //Worked: this newly posted entry did not appear in the contact list - //But we need a Junit assertion here - //Link: http://haibotuscany.blogspot.com/feeds/posts/default/ - //FIXME: Need an assertion here - //Assert(....); - } - - - @Test - public void testClientQuery() throws Exception { - Query myQuery = new Query(new URL("http://www.google.com/calendar/feeds/haibotuscany@gmail.com/private/full")); - myQuery.setMaxResults(100); - //myQuery.setUpdatedMin(startTime); - myQuery.setUpdatedMax(DateTime.now()); - - //Google Calendar service supports full-text search - String queryString = "event0"; - myQuery.setFullTextQuery(queryString); - - Feed resultFeed = testService.clientQuery(myQuery); - System.out.println("Query result feed title: " + resultFeed.getTitle().getPlainText()); - System.out.println("Query result entry number: "+ resultFeed.getEntries().size()); - //assertEquals("gdata binding tuscany test", resultFeed.getTitle().getPlainText()); - } - - -} diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleContactsServiceTestCase.java b/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleContactsServiceTestCase.java deleted file mode 100644 index 959c153074..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleContactsServiceTestCase.java +++ /dev/null @@ -1,152 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.gdata; - -import java.net.URL; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.host.embedded.SCADomain; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import com.google.gdata.client.Query; -import com.google.gdata.data.DateTime; -import com.google.gdata.data.Entry; -import com.google.gdata.data.Feed; -import com.google.gdata.data.PlainTextConstruct; - -public class GoogleContactsServiceTestCase extends TestCase{ - - private SCADomain scaDomainConsumer = null; - private CustomerClient testService = null; - - public GoogleContactsServiceTestCase(){ - - } - - @Before - @Override - public void setUp() throws Exception { - System.out.println("Method Test Start-----------------------------------------------------------------------"); - - //Initialize the GData client service (Reference Binding test) - scaDomainConsumer = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/ConsumerGoogleContacts.composite"); - testService = scaDomainConsumer.getService(CustomerClient.class, "CustomerClient"); - } - - @After - @Override - public void tearDown(){ - System.out.println("Method Test End------------------------------------------------------------------------"); - System.out.println("\n\n"); - } - - @Test - public void testClientGetFeed() throws Exception { - Feed feed = testService.clientGetFeed(); - System.out.println("feed title: " + feed.getTitle().getPlainText()); - assertEquals("Haibo Zhao's Contacts", feed.getTitle().getPlainText()); - } - - - @Test - public void testClientGetEntry() throws Exception { - String entryID = "12feeeb38ab87365"; - Entry contactEntry = testService.clientGetEntry(entryID); - System.out.println("Entry ID: " + contactEntry.getId()); - assertTrue(contactEntry.getId().endsWith(entryID)); - System.out.println("------------------------------------------------------------\n\n"); - } - - - @Test - public void testClientPut() throws Exception { - String entryID = "12feeeb38ab87365"; - String newBlogEntryTitle = "updatedTitleByGoogleContactsConsumerTestCase"; - testService.clientPut(entryID, newBlogEntryTitle); //update the title - Thread.sleep(300); - Entry updatedEntry = testService.clientGetEntry(entryID); - assertEquals(newBlogEntryTitle, updatedEntry.getTitle().getPlainText()); - } - - - - @Test - public void testClientPost() throws Exception { - String blogEntryTitle = "titleByGoogleContactsTestcase"; - Entry newEntry = new Entry(); - newEntry.setTitle(new PlainTextConstruct(blogEntryTitle)); - newEntry.setContent(new PlainTextConstruct("contentByGoogleContactsTestCase")); - Entry postedEntry = testService.clientPost(newEntry); - assertEquals(blogEntryTitle, postedEntry.getTitle().getPlainText()); - } - - - @Test - public void testClientDelete() throws Exception { - - //This test case might fail - //because Google blogger service has limitation on new posts allowed everyday/every hour? - - System.out.println("testClientDelete"); - //We create a new post, and then delete it - Entry newEntry = new Entry(); - newEntry.setTitle(new PlainTextConstruct("contactEntryShouldNotApear")); - newEntry.setContent(new PlainTextConstruct("contactByBloggerShouldNotAppear")); - Entry postedEntry = testService.clientPost(newEntry); - Thread.sleep(300); - - System.out.println("ID: " + postedEntry.getId()); - - int idStartPosition = postedEntry.getId().lastIndexOf("/"); - String postedEntryID = postedEntry.getId().substring(idStartPosition+1); - System.out.println("postedEntryID: " + postedEntryID ); - - //Before deletion - Entry entry00 = testService.clientGetEntry(postedEntryID); - System.out.println("Before Deleteion: " + entry00.getId()); - - //Delete this entry - testService.clientDelete(postedEntryID); - - //Worked: this newly posted entry did not appear in the contact list - //But we need a Junit assertion here - //Link: http://haibotuscany.blogspot.com/feeds/posts/default/ - //FIXME: Need an assertion here - //Assert(....); - } - - - @Test - public void testClientQuery() throws Exception { - Query myQuery = new Query(new URL("http://www.google.com/m8/feeds/contacts/default/base")); - myQuery.setMaxResults(100); - //myQuery.setUpdatedMin(startTime); - myQuery.setUpdatedMax(DateTime.now()); - Feed resultFeed = testService.clientQuery(myQuery); - System.out.println("Query result feed title: " + resultFeed.getTitle().getPlainText()); - System.out.println("Query result entry number: "+ resultFeed.getEntries().size()); - //assertEquals("gdata binding tuscany test", resultFeed.getTitle().getPlainText()); - } - - -} diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleWebAlbumServiceTestCase.java b/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleWebAlbumServiceTestCase.java deleted file mode 100644 index 96484cdf29..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/GoogleWebAlbumServiceTestCase.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.binding.gdata; - -import java.net.URL; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.host.embedded.SCADomain; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import com.google.gdata.client.Query; -import com.google.gdata.data.DateTime; -import com.google.gdata.data.Entry; -import com.google.gdata.data.Feed; -import com.google.gdata.data.PlainTextConstruct; - -public class GoogleWebAlbumServiceTestCase extends TestCase{ - - private SCADomain scaDomainConsumer = null; - private CustomerClient testService = null; - - public GoogleWebAlbumServiceTestCase(){ - - } - - @Before - @Override - public void setUp() throws Exception { - System.out.println("Method Test Start-----------------------------------------------------------------------"); - - //Initialize the GData client service (Reference Binding test) - scaDomainConsumer = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/ConsumerGoogleWebAlbum.composite"); - testService = scaDomainConsumer.getService(CustomerClient.class, "CustomerClient"); - } - - @After - @Override - public void tearDown(){ - System.out.println("Method Test End------------------------------------------------------------------------"); - System.out.println("\n\n"); - } - - @Test - public void testClientGetFeed() throws Exception { - Feed feed = testService.clientGetFeed(); - System.out.println("feed title: " + feed.getTitle().getPlainText()); - assertEquals("flowers", feed.getTitle().getPlainText()); - } - - - - - @Test - public void testClientGetEntry() throws Exception { - String entryID = "photoid/5233468700029715874"; - Entry contactEntry = testService.clientGetEntry(entryID); - System.out.println("Entry ID: " + contactEntry.getId()); - assertTrue(contactEntry.getId().endsWith(entryID)); - System.out.println("------------------------------------------------------------\n\n"); - } - - - @Test - public void testClientQuery() throws Exception { - String feedUrlString = "http://picasaweb.google.com/data/feed/api/user/haibotuscany/album/flowers"; - URL feedURL = new URL(feedUrlString); - Query myQuery = new Query(feedURL); - myQuery.setMaxResults(100); - myQuery.setFullTextQuery("photo"); - Feed resultFeed = testService.clientQuery(myQuery); - System.out.println("Query result feed title: " + resultFeed.getTitle().getPlainText()); - System.out.println("Query result entry number: "+ resultFeed.getEntries().size()); - //assertEquals("gdata binding tuscany test", resultFeed.getTitle().getPlainText()); - } - - - - @Test - public void testClientPut() throws Exception { - String entryID = "photoid/5233468700029715874"; - String newBlogEntryTitle = "updatedTitle:dog"; - testService.clientPut(entryID, newBlogEntryTitle); //update the title - Thread.sleep(300); - Entry updatedEntry = testService.clientGetEntry(entryID); - assertEquals(newBlogEntryTitle, updatedEntry.getTitle().getPlainText()); - } - - - @Test - public void testClientDelete() throws Exception { - - //Tested and it worked, but only once because we can not delete the same entry twice - String entryID = "photoid/5233468698153151618"; - - //Delete this entry - //To test, change the entryID - //testService.clientDelete(entryID); - } - -} diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/Provider.java b/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/Provider.java deleted file mode 100644 index 21bff30256..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/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.gdata; - -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/gdata/Provider.composite"); - System.out.println("Provider.composite ready..."); - - try { - System.in.read(); - } catch (IOException e) { - e.printStackTrace(); - } - - scaDomain.close(); - } -} diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/StartLocalhostServlet.java b/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/StartLocalhostServlet.java deleted file mode 100644 index 2773398426..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/StartLocalhostServlet.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.gdata; - -import java.io.IOException; - -import org.apache.tuscany.sca.host.embedded.SCADomain; - -public class StartLocalhostServlet { - - public static void main(String[] args) { - - SCADomain scaDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/Provider.composite"); - System.out.println("Provider.composite ready..."); - - try { - System.in.read(); - } catch (IOException e) { - e.printStackTrace(); - } - - scaDomain.close(); - } -} diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/log4j.properties b/java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/log4j.properties deleted file mode 100644 index 33eaf11c1f..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/log4j.properties +++ /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. -# - -# Set root logger level to WARN and its only appender to CONSOLE -log4j.rootLogger=INFO, CONSOLE - - -# Console appender -log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender -log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout -log4j.appender.CONSOLE.layout.ConversionPattern=%d{ABSOLUTE} %-5p %x - %m\n diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Consumer.composite b/java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Consumer.composite deleted file mode 100644 index a7941a2056..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Consumer.composite +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleBlogger.composite b/java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleBlogger.composite deleted file mode 100644 index 078873c44f..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleBlogger.composite +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleCalendar.composite b/java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleCalendar.composite deleted file mode 100644 index 7e0c925482..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleCalendar.composite +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleContacts.composite b/java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleContacts.composite deleted file mode 100644 index bc1ea7a8a9..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleContacts.composite +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleWebAlbum.composite b/java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleWebAlbum.composite deleted file mode 100644 index 99db48cc4e..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/ConsumerGoogleWebAlbum.composite +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Provider.composite b/java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Provider.composite deleted file mode 100644 index a4cf00dc84..0000000000 --- a/java/sca/contrib/modules/binding-gdata-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Provider.composite +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-gdata/LICENSE b/java/sca/contrib/modules/binding-gdata/LICENSE deleted file mode 100644 index d645695673..0000000000 --- a/java/sca/contrib/modules/binding-gdata/LICENSE +++ /dev/null @@ -1,202 +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/java/sca/contrib/modules/binding-gdata/NOTICE b/java/sca/contrib/modules/binding-gdata/NOTICE deleted file mode 100644 index 841fb69681..0000000000 --- a/java/sca/contrib/modules/binding-gdata/NOTICE +++ /dev/null @@ -1,8 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - - - diff --git a/java/sca/contrib/modules/binding-gdata/pom.xml b/java/sca/contrib/modules/binding-gdata/pom.xml deleted file mode 100644 index 5b68d4936c..0000000000 --- a/java/sca/contrib/modules/binding-gdata/pom.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-gdata - Apache Tuscany SCA Gdata Binding Extension - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-assembly-xml - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - junit - junit - 4.5 - test - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.gdata - ${pom.name} - org.apache.tuscany.sca.binding.gdata* - - - - - - - diff --git a/java/sca/contrib/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/GdataBinding.java b/java/sca/contrib/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/GdataBinding.java deleted file mode 100644 index a3a0b834cd..0000000000 --- a/java/sca/contrib/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/GdataBinding.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.gdata; - -import org.apache.tuscany.sca.assembly.Binding; - -/** - * Gdata binding model. - * - * @version $Rev$ $Date$ - */ -public interface GdataBinding extends Binding { - - /** - * Returns the title of the GData collection. - * @return - */ - String getTitle(); - - /** - * Sets the title of the GData collection. - * @param title - */ - void setTitle(String title); - - /** - * Returns the username to be used when authenticating with GData Services - * @return - */ - String getUsername(); - - /** - * Sets the username to be used when authenticating with GData Services - * @param username - */ - void setUsername(String username); - - /** - * Returns the password to be used when authenticating with GData Services - * @return - */ - String getPassword(); - - /** - * Sets the password to be used when authenticating with GData Services - * @param password - */ - void setPassword(String password); - - /** - * Returns the type os service being used - * @return - */ - String getServiceType(); - - /** - * Sets the type of service being used - * @param serviceType - */ - void setServiceType(String serviceType); -} diff --git a/java/sca/contrib/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/GdataBindingFactory.java b/java/sca/contrib/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/GdataBindingFactory.java deleted file mode 100644 index 5cfc688dcb..0000000000 --- a/java/sca/contrib/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/GdataBindingFactory.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.gdata; - -/** - * Factory for the GData binding - * - * @version $Rev$ $Date$ - */ -public interface GdataBindingFactory { - - /** - * Creates a new GData binding. - * @return the new GData binding - */ - GdataBinding createGdataBinding(); - -} diff --git a/java/sca/contrib/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingFactoryImpl.java b/java/sca/contrib/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingFactoryImpl.java deleted file mode 100644 index 87f3597248..0000000000 --- a/java/sca/contrib/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingFactoryImpl.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.gdata.impl; - -import org.apache.tuscany.sca.binding.gdata.GdataBinding; -import org.apache.tuscany.sca.binding.gdata.GdataBindingFactory; - -/** - * Factory for the GData binding model. - * - * @version $Rev$ $Date$ - */ -public class GdataBindingFactoryImpl implements GdataBindingFactory { - - public GdataBinding createGdataBinding() { - return new GdataBindingImpl(); - } - -} diff --git a/java/sca/contrib/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingImpl.java b/java/sca/contrib/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingImpl.java deleted file mode 100644 index b4b0a5f449..0000000000 --- a/java/sca/contrib/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingImpl.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.gdata.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.binding.gdata.GdataBinding; -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 GData binding model. - * - * @version $Rev$ $Date$ - */ -class GdataBindingImpl implements GdataBinding, PolicySetAttachPoint { - - private String name; - private String uri; - private String title; - private String username; - private String password; - private String serviceType; - - private List requiredIntents = new ArrayList(); - private List policySets = new ArrayList(); - private IntentAttachPointType intentAttachPointType; - private List applicablePolicySets = new ArrayList(); - - public String getName() { - return name; - } - - public String getURI() { - return uri; - } - - public String getTitle() { - return title; - } - - public String getUsername(){ - return username; - } - - public String getPassword(){ - return password; - } - - public String getServiceType(){ - return serviceType; - } - - public void setName(String name) { - this.name = name; - } - - public void setURI(String uri) { - this.uri = uri; - } - - public void setTitle(String title) { - this.title = title; - } - - public void setUsername(String username) { - this.username = username; - } - - public void setPassword(String password) { - this.password = password; - } - - public void setServiceType(String serviceType) { - this.serviceType = serviceType; - } - - public boolean isUnresolved() { - // The binding is always resolved - return false; - } - - public void setUnresolved(boolean unresolved) { - // The binding is always resolved - } - - //Policy related getters/setters - - public List getApplicablePolicySets() { - return applicablePolicySets; - } - - public List getPolicySets() { - return policySets; - } - - public List getRequiredIntents() { - return requiredIntents; - } - - public IntentAttachPointType getType() { - return intentAttachPointType; - } - - public void setType(IntentAttachPointType intentAttachPointType) { - this.intentAttachPointType = intentAttachPointType; - } - - public void setPolicySets(List policySets) { - this.policySets = policySets; - } - - public void setRequiredIntents(List intents) { - this.requiredIntents = intents; - } - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } -} diff --git a/java/sca/contrib/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingProcessor.java b/java/sca/contrib/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingProcessor.java deleted file mode 100644 index 01551e3e82..0000000000 --- a/java/sca/contrib/modules/binding-gdata/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GdataBindingProcessor.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.binding.gdata.impl; - -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.binding.gdata.GdataBinding; -import org.apache.tuscany.sca.binding.gdata.GdataBindingFactory; -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; - -/** - * A processor for elements. - * - * @version $Rev$ $Date$ - */ -public class GdataBindingProcessor implements StAXArtifactProcessor { - - private QName BINDING_GDATA = new QName("http://tuscany.apache.org/xmlns/sca/1.0", "binding.gdata"); - - private final GdataBindingFactory factory; - - public GdataBindingProcessor(ModelFactoryExtensionPoint modelFactories) { - this.factory = modelFactories.getFactory(GdataBindingFactory.class); - System.out.println("[Debug Info]GdataBindingProcessor reached"); - } - - public QName getArtifactType() { - return BINDING_GDATA; - } - - public Class getModelType() { - return GdataBinding.class; - } - - public GdataBinding read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - GdataBinding gdataBinding = factory.createGdataBinding(); - - String name = reader.getAttributeValue(null, "name"); - if (name != null) { - gdataBinding.setName(name); - } - - String uri = reader.getAttributeValue(null, "uri"); - if (uri != null) { - gdataBinding.setURI(uri); - } - - String serviceType = reader.getAttributeValue(null, "serviceType"); - if (serviceType != null) { - gdataBinding.setServiceType(serviceType); - } - - String username = reader.getAttributeValue(null, "username"); - if (username != null) { - gdataBinding.setUsername(username); - } - - String password = reader.getAttributeValue(null, "password"); - if (password != null) { - gdataBinding.setPassword(password); - } - - - return gdataBinding; - } - - public void write(GdataBinding gdataBinding, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - writer.writeStartElement(BINDING_GDATA.getNamespaceURI(), BINDING_GDATA.getLocalPart()); - - if (gdataBinding.getName() != null) { - writer.writeAttribute("name", gdataBinding.getName()); - } - - if (gdataBinding.getURI() != null) { - writer.writeAttribute("uri", gdataBinding.getURI()); - } - - if (gdataBinding.getServiceType() != null) { - writer.writeAttribute("serviceType", gdataBinding.getServiceType()); - } - - if (gdataBinding.getUsername() != null) { - writer.writeAttribute("username", gdataBinding.getUsername()); - } - - if (gdataBinding.getPassword() != null) { - writer.writeAttribute("password", gdataBinding.getPassword()); - } - - writer.writeEndElement(); - } - - - public void resolve(GdataBinding gdataBinding, ModelResolver resolver) throws ContributionResolveException { - - } -} diff --git a/java/sca/contrib/modules/binding-gdata/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.gdata.GdataBindingFactory b/java/sca/contrib/modules/binding-gdata/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.gdata.GdataBindingFactory deleted file mode 100644 index 21688a62a6..0000000000 --- a/java/sca/contrib/modules/binding-gdata/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.gdata.GdataBindingFactory +++ /dev/null @@ -1,18 +0,0 @@ -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT 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.gdata.impl.GdataBindingFactoryImpl \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-gdata/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/binding-gdata/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index 4e71818f7b..0000000000 --- a/java/sca/contrib/modules/binding-gdata/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.binding.gdata.impl.GdataBindingProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#binding.gdata,model=org.apache.tuscany.sca.binding.gdata.GdataBinding,factory=org.apache.tuscany.sca.binding.gdata.GdataBindingFactory \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-gdata2-runtime/LICENSE b/java/sca/contrib/modules/binding-gdata2-runtime/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-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/java/sca/contrib/modules/binding-gdata2-runtime/NOTICE b/java/sca/contrib/modules/binding-gdata2-runtime/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-gdata2-runtime/deployGdataToMaven.sh b/java/sca/contrib/modules/binding-gdata2-runtime/deployGdataToMaven.sh deleted file mode 100755 index 306ad19f66..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/deployGdataToMaven.sh +++ /dev/null @@ -1,7 +0,0 @@ -mvn gpg:sign-and-deploy-file -DgroupId=com.google.gdata -DartifactId=gdata-core -Dversion=1.0 -Dpackaging=jar -Dfile=gdata-core-1.0.jar -DrepositoryId=apache.people -Durl=scp://people.apache.org/home/lresende/public_html/google-gdata/maven -Dkeyname=lresende - -mvn gpg:sign-and-deploy-file -DgroupId=com.google.gdata -DartifactId=gdata-client -Dversion=1.0 -Dpackaging=jar -Dfile=gdata-client-1.0.jar -DrepositoryId=apache.people -Durl=scp://people.apache.org/home/lresende/public_html/google-gdata/maven -Dkeyname=lresende - -mvn gpg:sign-and-deploy-file -DgroupId=com.google.gdata -DartifactId=gdata-client-meta -Dversion=1.0 -Dpackaging=jar -Dfile=gdata-client-meta-1.0.jar -DrepositoryId=apache.people -Durl=scp://people.apache.org/home/lresende/public_html/google-gdata/maven -Dkeyname=lresende - -mvn gpg:sign-and-deploy-file -DgroupId=com.google.gdata -DartifactId=gdata-media -Dversion=1.0 -Dpackaging=jar -Dfile=gdata-media-1.0.jar -DrepositoryId=apache.people -Durl=scp://people.apache.org/home/lresende/public_html/google-gdata/maven -Dkeyname=lresende diff --git a/java/sca/contrib/modules/binding-gdata2-runtime/pom.xml b/java/sca/contrib/modules/binding-gdata2-runtime/pom.xml deleted file mode 100644 index 0768864c1c..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/pom.xml +++ /dev/null @@ -1,183 +0,0 @@ - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-gdata2-runtime - Apache Tuscany SCA GData Binding Extension Runtime - - - - com.google.gdata - http://people.apache.org/~lresende/google-gdata/maven/ - - - - - - org.apache.tuscany.sca - tuscany-binding-gdata2 - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-java - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-data-api - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-databinding - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-http - 2.0-SNAPSHOT - - - - commons-httpclient - commons-httpclient - 3.1 - - - - javax.servlet - servlet-api - 2.4 - provided - - - - org.apache.tuscany.sca - tuscany-host-jetty - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - test - - - - com.google.gdata - gdata-core - 1.0 - - - - com.google.gdata - gdata-client - 1.0 - - - - commons-codec - commons-codec - 1.3 - - - commons-codec - commons-codec - - - - - - commons-logging - commons-logging - 1.1.1 - - - servlet-api - javax.servlet - - - avalon-framework - avalon-framework - - - - - - junit - junit - 4.5 - test - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.atom.abdera - ${pom.name} - org.apache.tuscany.sca.binding.atom* - - - - - - - diff --git a/java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/Collection.java b/java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/Collection.java deleted file mode 100644 index e7db6fdab5..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/Collection.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.gdata.collection; - -import com.google.gdata.data.BaseEntry; -import com.google.gdata.data.BaseFeed; - -import org.apache.tuscany.sca.implementation.data.collection.NotFoundException; -import org.oasisopen.sca.annotation.Remotable; - -/** - * Provides access to a collection of resources using Atom. - * - * @version $Rev$ $Date$ - */ -@Remotable -public interface Collection { - - /** - * Get an Atom feed for a collection of resources. - * - * @return the Atom feed - */ - BaseFeed getFeed(); - - /** - * Get an Atom feed for a collection of resources resulting - * from a query. - * - * @param queryString a query string - * @return the Atom feed - */ - BaseFeed query(String queryString); - - /** - * Creates a new entry. - * - * @param entry - * @return - */ - BaseEntry post(BaseEntry entry); - - /** - * Retrieves an entry. - * - * @param id - * @return - */ - BaseEntry get(String id) throws NotFoundException; - - /** - * Update an entry. - * - * @param id - * @param entry - * @return - */ - BaseEntry put(String id, BaseEntry entry) throws NotFoundException; - - /** - * Delete an entry. - * - * @param id - */ - void delete(String id) throws NotFoundException; -} diff --git a/java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/MediaCollection.java b/java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/collection/MediaCollection.java deleted file mode 100644 index 7dacc4c170..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/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.gdata.collection; - -import com.google.gdata.data.BaseEntry; -import java.io.InputStream; - -import org.oasisopen.sca.annotation.Remotable; - -import org.apache.tuscany.sca.implementation.data.collection.NotFoundException; - -/** - * 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 - */ - BaseEntry 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/java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingInvoker.java b/java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingInvoker.java deleted file mode 100644 index 96111013a7..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingInvoker.java +++ /dev/null @@ -1,510 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.gdata.provider; - -import java.util.logging.Level; -import java.util.logging.Logger; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.oasisopen.sca.ServiceRuntimeException; - -import com.google.gdata.client.GoogleService; -import com.google.gdata.client.Query; -import com.google.gdata.data.BaseEntry; -import com.google.gdata.data.BaseFeed; -import com.google.gdata.data.Entry; -import com.google.gdata.data.ExtensionProfile; -import com.google.gdata.data.Feed; -import com.google.gdata.data.ParseSource; -import com.google.gdata.util.AuthenticationException; -import java.net.URL; -import com.google.gdata.util.ResourceNotFoundException; -import com.google.gdata.util.common.xml.XmlWriter; -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.gdata.GDataBinding; -import org.apache.tuscany.sca.data.collection.NotFoundException; -import org.apache.tuscany.sca.invocation.DataExchangeSemantics; - -/** - * Invoker for the Atom binding. - * - * @version $Rev$ $Date$ - */ -class GDataBindingInvoker implements Invoker, DataExchangeSemantics { - - Operation operation; - GDataBinding binding; - HttpClient httpClient; - String authorizationHeader; - GoogleService service; - - GDataBindingInvoker(Operation operation, GDataBinding binding, HttpClient httpClient, String authorizationHeader) { - this.operation = operation; - this.binding = binding; - this.httpClient = httpClient; - this.authorizationHeader = authorizationHeader; - - //Create the GoogleService - if (!binding.getServiceType().equals("sca")) { - this.service = new GoogleService(binding.getServiceType(), ""); - - try { - service.setUserCredentials(binding.getUsername(), binding.getPassword()); - } catch (AuthenticationException ex) { - //FIXME - promote the exception - Logger.getLogger(GDataReferenceBindingProvider.class.getName()).log(Level.SEVERE, null, ex); - } - - this.service.setConnectTimeout(60000); - } - } - - 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()); - } - - /** - * Get operation invoker - */ - public static class GetInvoker extends GDataBindingInvoker { - - public GetInvoker(Operation operation, GDataBinding binding, HttpClient httpClient, String authorizationHeader) { - super(operation, binding, httpClient, authorizationHeader); - } - - @Override - public Message invoke(Message msg) { - - BaseEntry entry; - GetMethod getMethod = null; - boolean parsing = false; - - String id = (String) ((Object[]) msg.getBody())[0]; - - try { - // serviceType == "sca" - Send an HTTP GET - if (service == null) { - getMethod = new GetMethod(binding.getURI() + "/" + id); - getMethod.setRequestHeader("Authorization", authorizationHeader); - - httpClient.executeMethod(getMethod); - int status = getMethod.getStatusCode(); - - // Read the Atom feed - if (status == 200) { - - parsing = true; - - ParseSource parser = new ParseSource(getMethod.getResponseBodyAsStream()); - entry = BaseEntry.readEntry(parser); - - msg.setBody(entry); - - } else if (status == 404) { - msg.setFaultBody(new NotFoundException()); - } else { - msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status)); - } - - } // serviceType != "sca" - Use GoogleService - else { - entry = service.getEntry(new URL(id), Entry.class); - msg.setBody(entry); - } - } catch (ResourceNotFoundException ex) { - msg.setFaultBody(new ResourceNotFoundException("Invalid Resource at " + binding.getURI())); - } catch (Exception ex) { - msg.setFaultBody(new ServiceRuntimeException(ex)); - } finally { - if (service == null && !parsing) { - getMethod.releaseConnection(); - } - return msg; - } - - } - } - - /** - * Post operation invoker - */ - public static class PostInvoker extends GDataBindingInvoker { - - public PostInvoker(Operation operation, GDataBinding binding, HttpClient httpClient, String authorizationHeader) { - super(operation, binding, httpClient, authorizationHeader); - } - - @Override - public Message invoke(Message msg) { - - BaseEntry entry = (BaseEntry) ((Object[]) msg.getBody())[0]; - BaseEntry returnedEntry; - - PostMethod postMethod = null; - boolean parsing = false; - - try { - // serviceType == "sca" - Send an HTTP POST - if (service == null) { - postMethod = new PostMethod(binding.getURI()); - postMethod.setRequestHeader("Authorization", authorizationHeader); - - // Write the Atom entry - StringWriter strWriter = new StringWriter(); - XmlWriter writer = new XmlWriter(strWriter); - entry.generateAtom(writer, new ExtensionProfile()); - writer.flush(); - writer.close(); - - postMethod.setRequestHeader("Content-type", "application/atom+xml; charset=utf-8"); - postMethod.setRequestEntity(new StringRequestEntity(strWriter.toString())); - - httpClient.executeMethod(postMethod); - int status = postMethod.getStatusCode(); - - // Read the Atom feed - if (status == 200 || status == 201) { - - parsing = true; - - ParseSource parser = new ParseSource(postMethod.getResponseBodyAsStream()); - returnedEntry = BaseEntry.readEntry(parser); - - msg.setBody(returnedEntry); - - } else if (status == 404) { - msg.setFaultBody(new NotFoundException()); - } else { - msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status)); - } - - } // serviceType != "sca" - Use GoogleService - else { - returnedEntry = service.insert(new URL(binding.getURI()), entry); - msg.setBody(returnedEntry); - } - } catch (ResourceNotFoundException ex) { - msg.setFaultBody(new ResourceNotFoundException("Invalid Resource at " + binding.getURI())); - } catch (Exception ex) { - msg.setFaultBody(new ServiceRuntimeException(ex)); - } finally { - if (service == null && !parsing) { - postMethod.releaseConnection(); - } - return msg; - } - - } - } - - /** - * Put operation invoker - */ - public static class PutInvoker extends GDataBindingInvoker { - - public PutInvoker(Operation operation, GDataBinding binding, HttpClient httpClient, String authorizationHeader) { - super(operation, binding, httpClient, authorizationHeader); - } - - @Override - public Message invoke(Message msg) { - - BaseEntry updatedEntry; - String id = (String) ((Object[]) msg.getBody())[0]; - BaseEntry entry = (BaseEntry) ((Object[]) msg.getBody())[1]; - - PutMethod putMethod = null; - boolean parsing = false; - - try { - // serviceType == "sca" - Send an HTTP PUT - if (service == null) { - putMethod = new PutMethod(binding.getURI() + "/" + id); - putMethod.setRequestHeader("Authorization", authorizationHeader); - - // Write the Atom entry - StringWriter strWriter = new StringWriter(); - XmlWriter writer = new XmlWriter(strWriter); - entry.generateAtom(writer, new ExtensionProfile()); - writer.flush(); - writer.close(); - - putMethod.setRequestHeader("Content-type", "application/atom+xml; charset=utf-8"); - putMethod.setRequestEntity(new StringRequestEntity(strWriter.toString())); - - httpClient.executeMethod(putMethod); - int status = putMethod.getStatusCode(); - - // Read the Atom feed - if (status == 200 || status == 201) { - - parsing = true; - - ParseSource parser = new ParseSource(putMethod.getResponseBodyAsStream()); - updatedEntry = BaseEntry.readEntry(parser); - - msg.setBody(updatedEntry); - - } else if (status == 404) { - msg.setFaultBody(new NotFoundException()); - } else { - msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status)); - } - - } // serviceType != "sca" - Use GoogleService - else { - updatedEntry = service.update(new URL(id), entry); - msg.setBody(updatedEntry); - } - } catch (ResourceNotFoundException ex) { - msg.setFaultBody(new ResourceNotFoundException("Invalid Resource at " + binding.getURI())); - } catch (Exception ex) { - msg.setFaultBody(new ServiceRuntimeException(ex)); - } finally { - if (service == null && !parsing) { - putMethod.releaseConnection(); - } - return msg; - } - } - } - - /** - * Delete operation invoker - */ - public static class DeleteInvoker extends GDataBindingInvoker { - - public DeleteInvoker(Operation operation, GDataBinding binding, HttpClient httpClient, String authorizationHeader) { - super(operation, binding, httpClient, authorizationHeader); - } - - @Override - public Message invoke(Message msg) { - - DeleteMethod deleteMethod = null; - - String id = (String) ((Object[]) msg.getBody())[0]; - - try { - // serviceType == "sca" - Send an HTTP DELETE - if (service == null) { - deleteMethod = new DeleteMethod(binding.getURI() + "/" + id); - deleteMethod.setRequestHeader("Authorization", authorizationHeader); - - httpClient.executeMethod(deleteMethod); - int status = deleteMethod.getStatusCode(); - - // Read the Atom feed - if (status == 200) { - msg.setBody(null); - - } else if (status == 404) { - msg.setFaultBody(new NotFoundException()); - } else { - msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status)); - } - - } // serviceType != "sca" - Use GoogleService - else { - service.delete(new URL(id)); - msg.setBody(null); - } - } catch (ResourceNotFoundException ex) { - msg.setFaultBody(new ResourceNotFoundException("Invalid Resource at " + binding.getURI())); - } catch (Exception ex) { - msg.setFaultBody(new ServiceRuntimeException(ex)); - } finally { - if (service == null) { - deleteMethod.releaseConnection(); - } - return msg; - } - - } - } - - /** - * GetAll operation invoker - */ - public static class GetAllInvoker extends GDataBindingInvoker { - - public GetAllInvoker(Operation operation, GDataBinding binding, HttpClient httpClient, String authorizationHeader) { - super(operation, binding, httpClient, authorizationHeader); - } - - @Override - public Message invoke(Message msg) { - - BaseFeed feed; - GetMethod getMethod = null; - boolean parsing = false; - - try { - // serviceType == "sca" - Send an HTTP GET - if (service == null) { - getMethod = new GetMethod(binding.getURI()); - getMethod.setRequestHeader("Authorization", authorizationHeader); - - httpClient.executeMethod(getMethod); - int status = getMethod.getStatusCode(); - - // Read the Atom feed - if (status == 200) { - - parsing = true; - - ParseSource parser = new ParseSource(getMethod.getResponseBodyAsStream()); - feed = BaseFeed.readFeed(parser); - - msg.setBody(feed); - - } else if (status == 404) { - msg.setFaultBody(new NotFoundException()); - } else { - msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status)); - } - - } // serviceType != "sca" - Use GoogleService - else { - feed = service.getFeed(new URL(binding.getURI()), Feed.class); - msg.setBody(feed); - } - } catch (ResourceNotFoundException ex) { - msg.setFaultBody(new ResourceNotFoundException("Invalid Resource at " + binding.getURI())); - } catch (Exception ex) { - msg.setFaultBody(new ServiceRuntimeException(ex)); - } finally { - if (service == null && !parsing) { - getMethod.releaseConnection(); - } - return msg; - } - } - } - - /** - * Query operation invoker - */ - public static class QueryInvoker extends GDataBindingInvoker { - - public QueryInvoker(Operation operation, GDataBinding binding, HttpClient httpClient, String authorizationHeader) { - super(operation, binding, httpClient, authorizationHeader); - } - - @Override - public Message invoke(Message msg) { - - BaseFeed feed; - GetMethod getMethod = null; - boolean parsing = false; - - String queryString = (String) ((Object[]) msg.getBody())[0]; - - try { - // serviceType == "sca" - Send an HTTP GET - if (service == null) { - getMethod = new GetMethod(binding.getURI()); - getMethod.setRequestHeader("Authorization", authorizationHeader); - getMethod.setQueryString(queryString); - - httpClient.executeMethod(getMethod); - int status = getMethod.getStatusCode(); - - // Read the Atom feed - if (status == 200) { - - parsing = true; - - ParseSource parser = new ParseSource(getMethod.getResponseBodyAsStream()); - feed = BaseFeed.readFeed(parser); - - msg.setBody(feed); - - } else if (status == 404) { - msg.setFaultBody(new NotFoundException()); - } else { - msg.setFaultBody(new ServiceRuntimeException("HTTP status code: " + status)); - } - - } // serviceType != "sca" - Use GoogleService - else { - Query query = new Query(new URL(binding.getURI())); - query.setFullTextQuery(queryString); - feed = service.query(query, Feed.class); - msg.setBody(feed); - } - } catch (ResourceNotFoundException ex) { - msg.setFaultBody(new ResourceNotFoundException("Invalid Resource at " + binding.getURI())); - } catch (Exception ex) { - msg.setFaultBody(new ServiceRuntimeException(ex)); - } finally { - if (service == null && !parsing) { - getMethod.releaseConnection(); - } - return msg; - } - } - } - - /** - * PostMedia operation invoker - */ - public static class PostMediaInvoker extends GDataBindingInvoker { - - public PostMediaInvoker(Operation operation, GDataBinding binding, HttpClient httpClient, String authorizationHeader) { - super(operation, binding, httpClient, authorizationHeader); - } - - @Override - public Message invoke(Message msg) { - // TODO implement - return super.invoke(msg); - } - } - - /** - * PutMedia operation invoker - */ - public static class PutMediaInvoker extends GDataBindingInvoker { - - public PutMediaInvoker(Operation operation, GDataBinding binding, HttpClient httpClient, String authorizationHeader) { - super(operation, binding, httpClient, authorizationHeader); - } - - @Override - public Message invoke(Message msg) { - // TODO implement - return super.invoke(msg); - } - } - - public boolean allowsPassByReference() { - return true; - } -} diff --git a/java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingListenerServlet.java b/java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingListenerServlet.java deleted file mode 100644 index 1f9318070d..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingListenerServlet.java +++ /dev/null @@ -1,426 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.gdata.provider; - -import com.google.gdata.data.BaseEntry; -import com.google.gdata.data.BaseFeed; -import com.google.gdata.data.ExtensionProfile; -import com.google.gdata.data.Link; -import com.google.gdata.data.ParseSource; -import com.google.gdata.util.ServiceException; -import com.google.gdata.util.common.xml.XmlWriter; -import java.io.IOException; -import java.net.URLDecoder; -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 org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.apache.tuscany.sca.invocation.MessageFactory; -import org.apache.tuscany.sca.databinding.Mediator; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.InvocationChain; -import org.apache.tuscany.sca.invocation.Message; - -class GDataBindingListenerServlet extends HttpServlet { - - private static final Logger logger = Logger.getLogger(GDataBindingListenerServlet.class.getName()); - private RuntimeWire wire; - private Invoker getFeedInvoker; - 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 title; - private Mediator mediator; -// private DataType itemClassType; -// private DataType itemXMLType; -// private boolean supportsFeedEntries; - - GDataBindingListenerServlet(RuntimeWire wire, MessageFactory messageFactory, Mediator mediator, String title) { - this.wire = wire; - this.messageFactory = messageFactory; - this.mediator = mediator; - this.title = title; - - // 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("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>(String.class.getName(), String.class, String.class); -// Class itemClass = getOperation.getOutputType().getPhysical(); -// if (itemClass == BaseEntry.class) { -// supportsFeedEntries = true; -// } -// DataType outputType = getOperation.getOutputType(); -// QName qname = outputType.getLogical().getElementName(); -// qname = new QName(qname.getNamespaceURI(), itemClass.getSimpleName()); -// itemClassType = new DataTypeImpl("java:complexType", itemClass, new XMLType(qname, null)); - } - - @Override - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - int servletPathLength = request.getContextPath().length() + request.getServletPath().length(); - - String path = URLDecoder.decode(request.getRequestURI().substring(servletPathLength), "UTF-8"); - - logger.fine("get " + request.getRequestURI()); - - if (path != null && path.equals("/atomsvc")) { - //FIX-ME - Doing nothing - } else if (path == null || path.length() == 0 || path.equals("/")) { - - // Return a feed containing the entries in the collection - BaseFeed feed = null; - - Message requestMessage = messageFactory.createMessage(); - Message responseMessage; - if (request.getQueryString() != null) { - requestMessage.setBody(new Object[]{request.getQueryString()}); - responseMessage = queryInvoker.invoke(requestMessage); - } else { - responseMessage = getFeedInvoker.invoke(requestMessage); - } - if (responseMessage.isFault()) { - throw new ServletException((Throwable) responseMessage.getBody()); - } - - // The service implementation supports feed entries, invoke its getFeed operation - feed = (BaseFeed) responseMessage.getBody(); - - if (feed != null) { - - // Write the Atom feed - response.setContentType("application/atom+xml; charset=utf-8"); - try { - - XmlWriter writer = new XmlWriter(response.getWriter()); - feed.generateAtom(writer, new ExtensionProfile()); - writer.flush(); - writer.close(); - - } catch (IOException ioe) { - throw new ServletException(ioe); - } - } else { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - - } else if (path.startsWith("/")) { - // Return a specific entry in the collection - BaseEntry 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()); - } - - // The service implementation returns a feed entry - feedEntry = responseMessage.getBody(); - - // Write the Atom entry - if (feedEntry != null) { - response.setContentType("application/atom+xml; charset=utf-8"); - try { - XmlWriter writer = new XmlWriter(response.getWriter()); - feedEntry.generateAtom(writer, new ExtensionProfile()); - writer.flush(); - writer.close(); - } catch (IOException ioe) { - throw new ServletException(ioe); - } - } else { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - } else { - // Path doesn't match any known pattern - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - } - - @Override - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - // FIX-ME: 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("/")) { - - BaseEntry 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 - BaseEntry feedEntry; - try { - ParseSource parser = new ParseSource(request.getReader()); - feedEntry = BaseEntry.readEntry(parser); - - } catch (ServiceException ex) { - throw new ServletException(ex); - } - - // 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 if (contentType != null) { - - // Create a new media entry - - // Get incoming headers - String reqTitle = request.getHeader("Title"); - String slug = request.getHeader("Slug"); - - // Let the component implementation create the media entry - Message requestMessage = messageFactory.createMessage(); - requestMessage.setBody(new Object[]{reqTitle, 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 - Link link = createdFeedEntry.getSelfLink(); - if (link != null) { - response.addHeader("Location", link.getHref().toString()); - } - - // Write the created Atom entry - response.setStatus(HttpServletResponse.SC_CREATED); - response.setContentType("application/atom+xml; charset=utf-8"); - try { - - XmlWriter writer = new XmlWriter(response.getWriter()); - createdFeedEntry.generateAtom(writer, new ExtensionProfile()); - writer.flush(); - writer.close(); - - } catch (IOException ioe) { - throw new ServletException(ioe); - } - - } else { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - - } else { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - } - - @Override - protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - // FIX-ME: Authenticate the user - -// String user = processAuthorizationHeader(request); -// if (user == null) { -// unauthorized(response); -// return; -// } - - // Get the request path - String path = request.getRequestURI().substring(request.getServletPath().length()); - - BaseEntry createdFeedEntry = null; - - 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 - BaseEntry feedEntry; - try { - ParseSource parser = new ParseSource(request.getReader()); - feedEntry = BaseEntry.readEntry(parser); - - } catch (ServiceException ex) { - throw new ServletException(ex); - } - - // Let the component implementation create it - - // 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()); - } - } - - createdFeedEntry = 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()); - } - } - - 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 - Link link = createdFeedEntry.getSelfLink(); - if (link != null) { - response.addHeader("Location", link.getHref().toString()); - } - - // Write the created Atom entry - response.setStatus(HttpServletResponse.SC_CREATED); - response.setContentType("application/atom+xml; charset=utf-8"); - try { - - XmlWriter writer = new XmlWriter(response.getWriter()); - createdFeedEntry.generateAtom(writer, new ExtensionProfile()); - writer.flush(); - writer.close(); - - } catch (IOException ioe) { - throw new ServletException(ioe); - } - - } else { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - - } else { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - } - } - - @Override - protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - // FIX-ME: 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()); - } - } - } -} diff --git a/java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingProviderFactory.java b/java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingProviderFactory.java deleted file mode 100644 index bace6f68bb..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataBindingProviderFactory.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.gdata.provider; - -import org.apache.tuscany.sca.binding.gdata.GDataBinding; -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 a Binding provider factory for the Atom binding. - * - * @version $Rev$ $Date$ - */ -public class GDataBindingProviderFactory implements BindingProviderFactory { - - private MessageFactory messageFactory; - private Mediator mediator; - private ServletHost servletHost; - - public GDataBindingProviderFactory(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, - GDataBinding binding) { - return new GDataReferenceBindingProvider(component, reference, binding); - } - - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - GDataBinding binding) { - return new GDataServiceBindingProvider(component, service, binding, servletHost, messageFactory, mediator); - } - - public Class getModelType() { - return GDataBinding.class; - } -} diff --git a/java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataReferenceBindingProvider.java b/java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataReferenceBindingProvider.java deleted file mode 100644 index 198edbaa88..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataReferenceBindingProvider.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.gdata.provider; - - -import org.apache.tuscany.sca.binding.gdata.GDataBinding; -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; -import org.apache.commons.httpclient.HttpClient; -import java.net.URI; -import org.apache.commons.codec.binary.Base64; -import org.apache.commons.httpclient.Credentials; -import org.apache.commons.httpclient.HttpConnectionManager; -import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager; -import org.apache.commons.httpclient.UsernamePasswordCredentials; -import org.apache.commons.httpclient.auth.AuthScope; - -/** - * Implementation of the Atom binding provider. - * - * @version $Rev$ $Date$ - */ -class GDataReferenceBindingProvider implements ReferenceBindingProvider { - - private RuntimeComponentReference reference; - private GDataBinding binding; - private HttpClient httpClient; - private String authorizationHeader; - - /** - * Constructs a new AtomReferenceBindingProvider - * @param component - * @param reference - * @param binding - * @param mediator - */ - GDataReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - GDataBinding binding) { - this.reference = reference; - this.binding = binding; - - // Prepare authorization header - //String authorization = "admin" + ":" + "admin"; - String authorization = "gsocstudent2008" + ":" + "gsoc2008"; - authorizationHeader = "Basic " + new String(Base64.encodeBase64(authorization.getBytes())); - - // Create an HTTP client - HttpConnectionManager connectionManager = new MultiThreadedHttpConnectionManager(); - connectionManager.getParams().setDefaultMaxConnectionsPerHost(10); - connectionManager.getParams().setConnectionTimeout(60000); - httpClient = new HttpClient(connectionManager); - } - - - - public Invoker createInvoker(Operation operation) { - - String operationName = operation.getName(); - if (operationName.equals("get")) { - return new GDataBindingInvoker.GetInvoker(operation, binding, httpClient, authorizationHeader); - } else if (operationName.equals("post")) { - return new GDataBindingInvoker.PostInvoker(operation, binding, httpClient, authorizationHeader); - } else if (operationName.equals("put")) { - return new GDataBindingInvoker.PutInvoker(operation, binding, httpClient, authorizationHeader); - } else if (operationName.equals("delete")) { - return new GDataBindingInvoker.DeleteInvoker(operation, binding, httpClient, authorizationHeader); - } else if (operationName.equals("getFeed") || operationName.equals("getAll")) { - return new GDataBindingInvoker.GetAllInvoker(operation, binding, httpClient, authorizationHeader); - } else if (operationName.equals("postMedia")) { - return new GDataBindingInvoker.PostMediaInvoker(operation, binding, httpClient, authorizationHeader); - } else if (operationName.equals("putMedia")) { - return new GDataBindingInvoker.PutMediaInvoker(operation, binding, httpClient, authorizationHeader); - } else if (operationName.equals("query")) { - return new GDataBindingInvoker.QueryInvoker(operation, binding, httpClient, authorizationHeader); - } - - return new GDataBindingInvoker(operation, binding, httpClient, authorizationHeader); - } - - public InterfaceContract getBindingInterfaceContract() { - return reference.getInterfaceContract(); - } - - public void start() { - // Configure the HTTP client credentials - //Credentials credentials = new UsernamePasswordCredentials("admin", "admin"); - Credentials credentials = new UsernamePasswordCredentials("gsocstudent2008", "gsoc2008"); - httpClient.getParams().setAuthenticationPreemptive(true); - URI uri = URI.create(binding.getURI()); - httpClient.getState().setCredentials(new AuthScope(uri.getHost(), uri.getPort()), credentials); - - // Find the get operation on the reference interface - if (true) { - return; - } - } - - public void stop() { - } - - public boolean supportsOneWayInvocation() { - return false; - } -} diff --git a/java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataServiceBindingProvider.java b/java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataServiceBindingProvider.java deleted file mode 100644 index bb5739324c..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/src/main/java/org/apache/tuscany/sca/binding/gdata/provider/GDataServiceBindingProvider.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.gdata.provider; - -import org.apache.tuscany.sca.binding.gdata.GDataBinding; -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; - -class GDataServiceBindingProvider implements ServiceBindingProvider { - - private RuntimeComponentService service; - private GDataBinding binding; - private ServletHost servletHost; - private MessageFactory messageFactory; - private String servletMapping; - private Mediator mediator; - - GDataServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - GDataBinding binding, - ServletHost servletHost, - MessageFactory messageFactory, - Mediator mediator) { - - this.service = service; - this.binding = binding; - this.servletHost = servletHost; - this.messageFactory = messageFactory; - this.mediator = mediator; - } - - public void start() { - RuntimeComponentService componentService = (RuntimeComponentService) service; - RuntimeWire wire = componentService.getRuntimeWire(binding); - - GDataBindingListenerServlet servlet = - new GDataBindingListenerServlet(wire, messageFactory, mediator, binding.getTitle()); - - servletMapping = binding.getURI(); - if (!servletMapping.endsWith("/")) { - servletMapping += "/"; - } - if (!servletMapping.endsWith("*")) { - servletMapping += "*"; - } - 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); - } - - public InterfaceContract getBindingInterfaceContract() { - return service.getInterfaceContract(); - } - - public boolean supportsOneWayInvocation() { - return false; - } -} diff --git a/java/sca/contrib/modules/binding-gdata2-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/java/sca/contrib/modules/binding-gdata2-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory deleted file mode 100644 index 7b655eb6b7..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/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.gdata.provider.GDataBindingProviderFactory;model=org.apache.tuscany.sca.binding.gdata.GDataBinding diff --git a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumer.java b/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumer.java deleted file mode 100644 index 35a692ac67..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumer.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.binding.gdata.calendarconsumer; - -import com.google.gdata.data.BaseEntry; -import com.google.gdata.data.DateTime; -import com.google.gdata.data.Entry; -import com.google.gdata.data.Feed; -import com.google.gdata.data.Person; -import com.google.gdata.data.PlainTextConstruct; -import com.google.gdata.data.extensions.EventEntry; -import com.google.gdata.data.extensions.When; -import org.apache.tuscany.sca.host.embedded.SCADomain; - -public class CalendarConsumer { - - public static void main(String... args) throws Exception { - - SCADomain scaDomain; - CalendarConsumerImpl resourceCollection; - - //init - scaDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/CalendarConsumer.composite"); - resourceCollection = scaDomain.getService(CalendarConsumerImpl.class, "CalendarConsumer"); - - //test methods - System.out.println( - "\n//--------------------------" + - "\n// Get the Feed" + - "\n//--------------------------\n"); - - Feed feed = (Feed) resourceCollection.getFeed(); - - System.out.println("Feed content - " + feed.getUpdated().toString() + ":\n"); - for (Entry e : feed.getEntries()) { - System.out.println("# " + e.getTitle().getPlainText()); - } - - System.out.println( - "\n//--------------------------" + - "\n// Post a new Entry" + - "\n//--------------------------\n"); - - EventEntry entry = new EventEntry(); - - entry.setTitle(new PlainTextConstruct("GSoC extra activity")); - entry.setContent(new PlainTextConstruct("Reading the book Beautiful Code")); - - Person author = new Person("GSoC Student 2008", null, "gsocstudent2008@gmail.com"); - entry.getAuthors().add(author); - - DateTime startTime = DateTime.parseDateTime("2008-07-30T15:00:00-08:00"); - DateTime endTime = DateTime.parseDateTime("2008-07-30T17:00:00-08:00"); - When eventTimes = new When(); - eventTimes.setStartTime(startTime); - eventTimes.setEndTime(endTime); - entry.addTime(eventTimes); - - BaseEntry returnedEntry = resourceCollection.post(entry); - - System.out.println("# " + returnedEntry.getTitle().getPlainText()); - - System.out.println( - "\n//--------------------------" + - "\n// Get an Entry" + - "\n//--------------------------\n"); - - BaseEntry searchedEntry = resourceCollection.get(returnedEntry.getSelfLink().getHref()); - - System.out.println("# " + searchedEntry.getTitle().getPlainText()); - - System.out.println( - "\n//--------------------------" + - "\n// Update an Entry" + - "\n//--------------------------\n"); - - searchedEntry.setTitle(new PlainTextConstruct("GSoC extra activity(opcional)")); - BaseEntry updatedEntry = resourceCollection.put(searchedEntry.getEditLink().getHref(), searchedEntry); - - System.out.println("# " + updatedEntry.getTitle().getPlainText()); - - System.out.println( - "\n//--------------------------" + - "\n// Delete an Entry" + - "\n//--------------------------\n"); - - resourceCollection.delete(updatedEntry.getEditLink().getHref()); - - System.out.println( - "\n//--------------------------" + - "\n// Execute a query" + - "\n//--------------------------\n"); - - feed = (Feed) resourceCollection.query("Students"); - - System.out.println("Feed content - " + feed.getUpdated().toString() + ":\n"); - for (Entry e : feed.getEntries()) { - System.out.println("# " + e.getTitle().getPlainText()); - } - - //close - scaDomain.close(); - - } -} diff --git a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumerImpl.java b/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumerImpl.java deleted file mode 100644 index 5f384290ad..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumerImpl.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.gdata.calendarconsumer; - -import com.google.gdata.data.BaseEntry; -import com.google.gdata.data.BaseFeed; - -import org.apache.tuscany.sca.binding.gdata.collection.Collection; -import org.oasisopen.sca.annotation.Reference; - -public class CalendarConsumerImpl { - - @Reference - public Collection resourceCollection; - - public BaseFeed getFeed() { - return resourceCollection.getFeed(); - } - - public BaseEntry post(BaseEntry entry) { - return resourceCollection.post(entry); - } - - public BaseEntry get(String id) throws org.apache.tuscany.sca.implementation.data.collection.NotFoundException { - return resourceCollection.get(id); - } - - public BaseEntry put(String id, BaseEntry entry) throws org.apache.tuscany.sca.implementation.data.collection.NotFoundException { - return resourceCollection.put(id, entry); - } - - public void delete(String id) throws org.apache.tuscany.sca.implementation.data.collection.NotFoundException { - resourceCollection.delete(id); - } - - public BaseFeed query(String queryString) { - return resourceCollection.query(queryString); - } -} diff --git a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumerTest.java b/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumerTest.java deleted file mode 100644 index 361b9b122d..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/calendarconsumer/CalendarConsumerTest.java +++ /dev/null @@ -1,203 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.gdata.calendarconsumer; - -import com.google.gdata.data.BaseEntry; -import com.google.gdata.data.DateTime; -import com.google.gdata.data.Feed; -import com.google.gdata.data.Person; -import com.google.gdata.data.PlainTextConstruct; -import com.google.gdata.data.extensions.EventEntry; -import com.google.gdata.data.extensions.When; -import java.util.logging.Level; -import java.util.logging.Logger; -import org.apache.tuscany.sca.host.embedded.SCADomain; -import org.apache.tuscany.sca.implementation.data.collection.NotFoundException; - -import org.junit.Test; -import org.junit.BeforeClass; -import org.junit.AfterClass; -import static org.junit.Assert.assertNotNull; - -//FIX-ME: the tests are executed in an incorrect order -public class CalendarConsumerTest { - - private static SCADomain scaDomain; - private Feed feed; - private BaseEntry returnedEntry; - private BaseEntry searchedEntry; - private BaseEntry updatedEntry; - private static CalendarConsumerImpl consumer; - - @BeforeClass - public static void init() { - scaDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/CalendarConsumer.composite"); - consumer = scaDomain.getService(CalendarConsumerImpl.class, "CalendarConsumer"); - } - - @AfterClass - public static void close() { - scaDomain.close(); - } - - @Test - public void getFeed() { - System.out.println("getfeed"); - feed = (Feed) consumer.getFeed(); - assertNotNull(feed); - } - - @Test - public void post() { - System.out.println("post"); - EventEntry entry = new EventEntry(); - - entry.setTitle(new PlainTextConstruct("GSoC extra activity")); - entry.setContent(new PlainTextConstruct("Reading the book Beautiful Code")); - - Person author = new Person("GSoC Student 2008", null, "gsocstudent2008@gmail.com"); - entry.getAuthors().add(author); - - DateTime startTime = DateTime.parseDateTime("2008-07-22T15:00:00-08:00"); - DateTime endTime = DateTime.parseDateTime("2008-07-22T17:00:00-08:00"); - When eventTimes = new When(); - eventTimes.setStartTime(startTime); - eventTimes.setEndTime(endTime); - entry.addTime(eventTimes); - - returnedEntry = consumer.post(entry); - assertNotNull(returnedEntry); - } - - @Test - public void get() { - System.out.println("get"); - try { - searchedEntry = consumer.get(returnedEntry.getSelfLink().getHref()); - assertNotNull(searchedEntry); - } catch (NotFoundException ex) { - Logger.getLogger(CalendarConsumerTest.class.getName()).log(Level.SEVERE, null, ex); - } - } - - @Test - public void put() { - System.out.println("put"); - try { - searchedEntry.setTitle(new PlainTextConstruct("GSoC extra activity(opcional)")); - updatedEntry = consumer.put(searchedEntry.getEditLink().getHref(), searchedEntry); - assertNotNull(updatedEntry); - } catch (NotFoundException ex) { - Logger.getLogger(CalendarConsumerTest.class.getName()).log(Level.SEVERE, null, ex); - } - } - - @Test - public void delete() { - System.out.println("delete"); - try { - consumer.delete(updatedEntry.getEditLink().getHref()); - } catch (NotFoundException ex) { - Logger.getLogger(CalendarConsumerTest.class.getName()).log(Level.SEVERE, null, ex); - } - } - - @Test - public void query() { - System.out.println("query"); - feed = (Feed) consumer.query("Students"); - assertNotNull(feed); - }// public void testCustomerCollection() throws Exception { -// -// System.out.println( -// "\n//--------------------------" + -// "\n// Get the Feed" + -// "\n//--------------------------\n"); -// -// Feed feed = (Feed) resourceCollection.getFeed(); -// -// System.out.println("Feed content - " + feed.getUpdated().toString() + ":\n"); -// for (Entry e : feed.getEntries()) { -// System.out.println("# " + e.getTitle().getPlainText()); -// } -// -// System.out.println( -// "\n//--------------------------" + -// "\n// Post a new Entry" + -// "\n//--------------------------\n"); -// -// EventEntry entry = new EventEntry(); -// -// entry.setTitle(new PlainTextConstruct("GSoC extra activity")); -// entry.setContent(new PlainTextConstruct("Reading the book Beautiful Code")); -// -// Person author = new Person("GSoC Student 2008", null, "gsocstudent2008@gmail.com"); -// entry.getAuthors().add(author); -// -// DateTime startTime = DateTime.parseDateTime("2008-06-19T15:00:00-08:00"); -// DateTime endTime = DateTime.parseDateTime("2008-06-19T17:00:00-08:00"); -// When eventTimes = new When(); -// eventTimes.setStartTime(startTime); -// eventTimes.setEndTime(endTime); -// entry.addTime(eventTimes); -// -// BaseEntry returnedEntry = resourceCollection.post(entry); -// -// System.out.println("# " + returnedEntry.getTitle().getPlainText()); -// -// System.out.println( -// "\n//--------------------------" + -// "\n// Get an Entry" + -// "\n//--------------------------\n"); -// -// BaseEntry searchedEntry = resourceCollection.get(returnedEntry.getSelfLink().getHref()); -// -// System.out.println("# " + searchedEntry.getTitle().getPlainText()); -// -// System.out.println( -// "\n//--------------------------" + -// "\n// Update an Entry" + -// "\n//--------------------------\n"); -// -// searchedEntry.setTitle(new PlainTextConstruct("GSoC extra activity(opcional)")); -// BaseEntry updatedEntry = resourceCollection.put(searchedEntry.getEditLink().getHref(), searchedEntry); -// -// System.out.println("# " + updatedEntry.getTitle().getPlainText()); -// -// System.out.println( -// "\n//--------------------------" + -// "\n// Delete an Entry" + -// "\n//--------------------------\n"); -// -// resourceCollection.delete(updatedEntry.getEditLink().getHref()); -// -// System.out.println( -// "\n//--------------------------" + -// "\n// Execute a query" + -// "\n//--------------------------\n"); -// -// feed = (Feed) resourceCollection.query("Students"); -// -// System.out.println("Feed content - " + feed.getUpdated().toString() + ":\n"); -// for (Entry e : feed.getEntries()) { -// System.out.println("# " + e.getTitle().getPlainText()); -// } -// -// } -} diff --git a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/Consumer.java b/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/Consumer.java deleted file mode 100644 index 00055f28b2..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/Consumer.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.gdata.consumerprovider; - -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/gdata/Consumer.composite"); - - CustomerClient testService = scaDomain.getService(CustomerClient.class, "CustomerClient"); - - testService.testCustomerCollection(); - - scaDomain.close(); - } -} diff --git a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerClient.java b/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerClient.java deleted file mode 100644 index 1d42c9b1a4..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/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.gdata.consumerprovider; - -public interface CustomerClient { - - void testCustomerCollection() throws Exception; -} diff --git a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerClientImpl.java b/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerClientImpl.java deleted file mode 100644 index cbc7ef0657..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerClientImpl.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.gdata.consumerprovider; - -import com.google.gdata.data.BaseEntry; -import com.google.gdata.data.BaseFeed; -import com.google.gdata.data.DateTime; -import com.google.gdata.data.Entry; -import com.google.gdata.data.Feed; -import com.google.gdata.data.Person; -import com.google.gdata.data.PlainTextConstruct; -import com.google.gdata.data.Source; -import com.google.gdata.data.extensions.EventEntry; -import com.google.gdata.data.extensions.When; -import org.apache.tuscany.sca.binding.gdata.collection.Collection; -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Scope; - -@Scope("COMPOSITE") -public class CustomerClientImpl implements CustomerClient { - - @Reference - public Collection resourceCollection; - - public void testCustomerCollection() throws Exception { - - System.out.println( - "\n//--------------------------" + - "\n// Get the Feed" + - "\n//--------------------------\n"); - - BaseFeed feed = resourceCollection.getFeed(); - - System.out.println("Feed content - " + feed.getUpdated().toString() + ":\n"); - for (BaseEntry e : feed.getEntries()) { - System.out.println("# " + e.getTitle().getPlainText()); - } - - System.out.println( - "\n//--------------------------" + - "\n// Post a new Entry" + - "\n//--------------------------\n"); - - EventEntry entry = new EventEntry(); - - entry.setTitle(new PlainTextConstruct("Activity")); - entry.setContent(new PlainTextConstruct("Reading the book Beautiful Code")); - - Person author = new Person("GSoC Student 2008", null, "gsocstudent2008@gmail.com"); - entry.getAuthors().add(author); - - DateTime startTime = DateTime.parseDateTime("2008-06-19T15:00:00-08:00"); - DateTime endTime = DateTime.parseDateTime("2008-06-19T17:00:00-08:00"); - When eventTimes = new When(); - eventTimes.setStartTime(startTime); - eventTimes.setEndTime(endTime); - entry.addTime(eventTimes); - - BaseEntry returnedEntry = resourceCollection.post(entry); - - System.out.println("# " + returnedEntry.getTitle().getPlainText()); - - System.out.println( - "\n//--------------------------" + - "\n// Get an Entry" + - "\n//--------------------------\n"); - - BaseEntry searchedEntry = resourceCollection.get(returnedEntry.getId()); - System.out.println("# " + searchedEntry.getTitle().getPlainText()); - - - System.out.println( - "\n//--------------------------" + - "\n// Update an Entry" + - "\n//--------------------------\n"); - - searchedEntry.setTitle(new PlainTextConstruct("Activity (opcional)")); - BaseEntry updatedEntry = resourceCollection.put(searchedEntry.getId(), searchedEntry); - - System.out.println("# " + updatedEntry.getTitle().getPlainText()); - - System.out.println( - "\n//--------------------------" + - "\n// Delete an Entry" + - "\n//--------------------------\n"); - - resourceCollection.delete(updatedEntry.getId()); - - System.out.println( - "\n//--------------------------" + - "\n// Execute a query" + - "\n//--------------------------\n"); - - feed = (Feed)(Source) resourceCollection.query("GSoC"); - - System.out.println("Feed content - " + feed.getUpdated().toString() + ":\n"); - for (BaseEntry e : feed.getEntries()) { - System.out.println("# " + e.getTitle().getPlainText()); - } - } -} diff --git a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerCollectionImpl.java b/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerCollectionImpl.java deleted file mode 100644 index f57f2e14c9..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/CustomerCollectionImpl.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.gdata.consumerprovider; - -import com.google.gdata.data.BaseEntry; -import com.google.gdata.data.BaseFeed; -import com.google.gdata.data.DateTime; -import com.google.gdata.data.Entry; -import com.google.gdata.data.Feed; -import com.google.gdata.data.PlainTextConstruct; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; -import java.util.TimeZone; -import java.util.UUID; -import org.apache.tuscany.sca.binding.gdata.collection.Collection; -import org.apache.tuscany.sca.implementation.data.collection.NotFoundException; -import org.oasisopen.sca.annotation.Scope; - -@Scope("COMPOSITE") -public class CustomerCollectionImpl implements Collection { - - private Map entries; - - public CustomerCollectionImpl() { - entries = new HashMap(); - - BaseEntry entry = new Entry(); - entry.setId("urn:uuid:customer-0"); - entry.setTitle(new PlainTextConstruct("An exampling entry - GSoC")); - - entries.put(entry.getId(), entry); - } - - public BaseFeed getFeed() { - System.out.println(">>> CustomerCollectionImpl.getFeed"); - - BaseFeed feed = new Feed(); - feed.setTitle(new PlainTextConstruct("Customers Feed")); - feed.setSubtitle(new PlainTextConstruct("This is a sample feed")); - feed.setUpdated(new DateTime()); - - //FIX-ME - //feed.addHtmlLink("", "", ""); //feed.addLink(""); - //feed.addHtmlLink("", "self", ""); //feed.addLink("", "self"); - feed.addHtmlLink("http://localhost:8086/customer", "", ""); - - feed.setEntries(new ArrayList(entries.values())); - - return feed; - } - - public BaseFeed query(String queryString) { - System.out.println(">>> CustomerCollectionImpl.query collection " + queryString); - return getFeed(); - } - - public BaseEntry post(BaseEntry entry) { - System.out.println(">>> CustomerCollectionImpl.post entry=" + entry.getTitle().getPlainText()); - - String id = "urn:uuid:customer-" + UUID.randomUUID().toString(); - entry.setId(id); - - //FIX-ME - entry.addHtmlLink("" + id, "edit", ""); - entry.addHtmlLink("" + id, "alternate", ""); - - DateTime dateTime = new DateTime(new Date(), TimeZone.getTimeZone("America/Los_Angeles")); - entry.setUpdated(dateTime); - - entries.put(id, entry); - - System.out.println(">>> CustomerCollectionImpl.post return id=" + id); - - return entry; - } - - public BaseEntry get(String id) throws NotFoundException { - System.out.println(">>> CustomerCollectionImpl.get id=" + id); - - return entries.get(id); - } - - public BaseEntry put(String id, BaseEntry entry) throws NotFoundException { - System.out.println(">>> CustomerCollectionImpl.put id=" + id + " entry=" + entry.getTitle()); - - DateTime dateTime = new DateTime(new Date(), TimeZone.getTimeZone("America/Los_Angeles")); - entry.setUpdated(dateTime); - - entries.put(id, entry); - - return entries.get(id); - } - - public void delete(String id) throws NotFoundException { - System.out.println(">>> CustomerCollectionImpl.delete id=" + id); - entries.remove(id); - } -} diff --git a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/Provider.java b/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/Provider.java deleted file mode 100644 index 9beca538df..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/java/org/apache/tuscany/sca/binding/gdata/consumerprovider/Provider.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.binding.gdata.consumerprovider; - -import org.apache.tuscany.sca.host.embedded.SCADomain; - -public class Provider { - - public static void main(String[] args) throws Exception { - - SCADomain scaDomain = SCADomain.newInstance("org/apache/tuscany/sca/binding/gdata/Provider.composite"); - - System.out.println("Ready for consultings..."); - System.in.read(); - - scaDomain.close(); - } -} diff --git a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/CalendarConsumer.composite b/java/sca/contrib/modules/binding-gdata2-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/CalendarConsumer.composite deleted file mode 100644 index a208852f16..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/CalendarConsumer.composite +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Consumer.composite b/java/sca/contrib/modules/binding-gdata2-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Consumer.composite deleted file mode 100644 index e381f458b6..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Consumer.composite +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Provider.composite b/java/sca/contrib/modules/binding-gdata2-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Provider.composite deleted file mode 100644 index e7ddb38ff0..0000000000 --- a/java/sca/contrib/modules/binding-gdata2-runtime/src/test/resources/org/apache/tuscany/sca/binding/gdata/Provider.composite +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-gdata2/LICENSE b/java/sca/contrib/modules/binding-gdata2/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/java/sca/contrib/modules/binding-gdata2/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/java/sca/contrib/modules/binding-gdata2/NOTICE b/java/sca/contrib/modules/binding-gdata2/NOTICE deleted file mode 100644 index 51042eab05..0000000000 --- a/java/sca/contrib/modules/binding-gdata2/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-gdata2/pom.xml b/java/sca/contrib/modules/binding-gdata2/pom.xml deleted file mode 100644 index b0747685d3..0000000000 --- a/java/sca/contrib/modules/binding-gdata2/pom.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-gdata2 - Apache Tuscany SCA Gdata Binding Extension GSOC - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-assembly-xml - 2.0-SNAPSHOT - - - - junit - junit - 4.5 - test - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.atom - ${pom.name} - org.apache.tuscany.sca.binding.atom* - - - - - - - diff --git a/java/sca/contrib/modules/binding-gdata2/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataBinding.java b/java/sca/contrib/modules/binding-gdata2/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataBinding.java deleted file mode 100644 index c1868f05dc..0000000000 --- a/java/sca/contrib/modules/binding-gdata2/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataBinding.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.gdata; - -import org.apache.tuscany.sca.assembly.Binding; - -/** - * GData binding model. - * - * @version $Rev$ $Date$ - */ -public interface GDataBinding extends Binding { - - /** - * Returns the title of the Atom collection. - * @return - */ - String getTitle(); - - /** - * Sets the title of the Atom collection. - * @param title - */ - void setTitle(String title); - - /* - * Returns the username of a Google account - * @return - */ - String getUsername(); - - /* - * Sets the username of a Google account - * @param username - */ - void setUsername(String username); - - /* - * Returns the password of a Google account - * @return - */ - String getPassword(); - - /* - * Sets the password of a Google account - * @param password - */ - void setPassword(String password); - - /* - * Retruns the name of the Google service to which we are connecting. Sample names of services might include "cl" (Calendar), "mail" (GMail), or "blogger" (Blogger) - * @return - */ - String getServiceType(); - - /* - * Sets the name of the Google service to which we are connecting. Sample names of services might include "cl" (Calendar), "mail" (GMail), or "blogger" (Blogger) - * @param serviceType - */ - void setServiceType(String serviceType); -} diff --git a/java/sca/contrib/modules/binding-gdata2/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataBindingFactory.java b/java/sca/contrib/modules/binding-gdata2/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataBindingFactory.java deleted file mode 100644 index ec2f179fdb..0000000000 --- a/java/sca/contrib/modules/binding-gdata2/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataBindingFactory.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.gdata; - -/** - * Factory for the GData binding - * - * @version $Rev$ $Date$ - */ -public interface GDataBindingFactory { - - /** - * Creates a new Atom binding. - * @return the new Atom binding - */ - GDataBinding createAtomBinding(); - -} diff --git a/java/sca/contrib/modules/binding-gdata2/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataImplementationProcessor.java b/java/sca/contrib/modules/binding-gdata2/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataImplementationProcessor.java deleted file mode 100644 index 5797629bed..0000000000 --- a/java/sca/contrib/modules/binding-gdata2/src/main/java/org/apache/tuscany/sca/binding/gdata/GDataImplementationProcessor.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.binding.gdata; - -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.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.ContributionResolveException; -import org.apache.tuscany.sca.monitor.Monitor; - -public class GDataImplementationProcessor implements StAXArtifactProcessor { - - private GDataBindingFactory gdataFactory; - protected static final QName BINDING_GDATA = new QName(Constants.SCA10_TUSCANY_NS, "binding.gdata"); - - public GDataImplementationProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - - this.gdataFactory = (GDataBindingFactory) modelFactories.getFactory(GDataBindingFactory.class); - } - - public GDataBinding read(XMLStreamReader reader) { - - assert BINDING_GDATA.equals(reader.getName()); - - GDataBinding gdataBinding = gdataFactory.createAtomBinding(); - - /* - * - */ - - String uri = reader.getAttributeValue(null, "uri"); - String serviceType = reader.getAttributeValue(null, "serviceType"); - String login = reader.getAttributeValue(null, "username"); - String password = reader.getAttributeValue(null, "password"); - - gdataBinding.setURI(uri); - gdataBinding.setServiceType(serviceType); - gdataBinding.setUsername(login); - gdataBinding.setPassword(password); - - return gdataBinding; - } - - public void write(GDataBinding gdataBinding, XMLStreamWriter writer) throws XMLStreamException { - if (gdataBinding != null) { - writer.writeStartElement(BINDING_GDATA.getNamespaceURI(), BINDING_GDATA.getLocalPart()); - - if (gdataBinding.getURI() != null) { - writer.writeAttribute("uri", gdataBinding.getURI()); - } - - if (gdataBinding.getServiceType() != null) { - writer.writeAttribute("serviceType", gdataBinding.getServiceType()); - } - if (gdataBinding.getUsername() != null) { - writer.writeAttribute("username", gdataBinding.getUsername()); - } - if (gdataBinding.getPassword() != null) { - writer.writeAttribute("password", gdataBinding.getPassword()); - } - - writer.writeEndElement(); - } - } - - public QName getArtifactType() { - return BINDING_GDATA; - } - - public void resolve(GDataBinding arg0, ModelResolver arg1) throws ContributionResolveException { - } - - public Class getModelType() { - return GDataBinding.class; - } -} diff --git a/java/sca/contrib/modules/binding-gdata2/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GDataBindingFactoryImpl.java b/java/sca/contrib/modules/binding-gdata2/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GDataBindingFactoryImpl.java deleted file mode 100644 index e0c3bfbe78..0000000000 --- a/java/sca/contrib/modules/binding-gdata2/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GDataBindingFactoryImpl.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.gdata.impl; - -import org.apache.tuscany.sca.binding.gdata.GDataBinding; -import org.apache.tuscany.sca.binding.gdata.GDataBindingFactory; - -/** - * Factory for the GData binding model. - * - * @version $Rev$ $Date$ - */ -public class GDataBindingFactoryImpl implements GDataBindingFactory { - - public GDataBinding createAtomBinding() { - return new GDataBindingImpl(); - } - -} diff --git a/java/sca/contrib/modules/binding-gdata2/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GDataBindingImpl.java b/java/sca/contrib/modules/binding-gdata2/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GDataBindingImpl.java deleted file mode 100644 index baba882c4c..0000000000 --- a/java/sca/contrib/modules/binding-gdata2/src/main/java/org/apache/tuscany/sca/binding/gdata/impl/GDataBindingImpl.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.gdata.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.binding.gdata.GDataBinding; -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 GData binding model. - * - * @version $Rev$ $Date$ - */ -class GDataBindingImpl implements GDataBinding, PolicySetAttachPoint { - - private String password; - private String username; - private String name; - private String serviceType; - private String uri; - private String title; - private List requiredIntents = new ArrayList(); - private List policySets = new ArrayList(); - private IntentAttachPointType intentAttachPointType; - private List applicablePolicySets = new ArrayList(); - - public List 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 String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public boolean isUnresolved() { - // The binding is always resolved - return false; - } - - public void setUnresolved(boolean unresolved) { - // The binding is always resolved - } - - public List getPolicySets() { - return policySets; - } - - public List 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(); - } - - public void setPolicySets(List policySets) { - this.policySets = policySets; - } - - public void setRequiredIntents(List intents) { - this.requiredIntents = intents; - } - - public String getUsername() { - return this.username; - } - - public void setUsername(String username) { - this.username = username; - } - - public String getPassword() { - return this.password; - } - - public void setPassword(String password) { - this.password = password; - } - - public String getServiceType() { - return this.serviceType; - } - - public void setServiceType(String serviceType) { - this.serviceType = serviceType; - } -} diff --git a/java/sca/contrib/modules/binding-gdata2/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.gdata.GDataBindingFactory b/java/sca/contrib/modules/binding-gdata2/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.gdata.GDataBindingFactory deleted file mode 100644 index 48be99b507..0000000000 --- a/java/sca/contrib/modules/binding-gdata2/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.gdata.GDataBindingFactory +++ /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.gdata.impl.GDataBindingFactoryImpl \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-gdata2/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/binding-gdata2/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index 92aad3d44d..0000000000 --- a/java/sca/contrib/modules/binding-gdata2/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. - -# Implementation class for the artifact processor extension - -#org.apache.tuscany.sca.assembly.xml.DefaultBeanModelProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#binding.gdata,model=org.apache.tuscany.sca.binding.gdata.GDataBinding,factory=org.apache.tuscany.sca.binding.gdata.GDataBindingFactory -org.apache.tuscany.sca.binding.gdata.GDataImplementationProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#binding.gdata,model=org.apache.tuscany.sca.binding.gdata.GDataBinding,factory=org.apache.tuscany.sca.binding.gdata.GDataBindingFactory \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-http-runtime/LICENSE b/java/sca/contrib/modules/binding-http-runtime/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/binding-http-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/java/sca/contrib/modules/binding-http-runtime/NOTICE b/java/sca/contrib/modules/binding-http-runtime/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/binding-http-runtime/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-http-runtime/pom.xml b/java/sca/contrib/modules/binding-http-runtime/pom.xml deleted file mode 100644 index 4d27bfc66d..0000000000 --- a/java/sca/contrib/modules/binding-http-runtime/pom.xml +++ /dev/null @@ -1,120 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-http-runtime - Apache Tuscany SCA HTTP Binding Runtime - - - - org.apache.tuscany.sca - tuscany-binding-http - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-policy-security - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-http - 2.0-SNAPSHOT - - - - javax.servlet - servlet-api - 2.5 - provided - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-host-jetty - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-implementation-resource-runtime - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - test - - - - junit - junit - 4.5 - test - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.http.runtime - ${pom.name} - org.apache.tuscany.sca.binding.http* - - - - - - - diff --git a/java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPBindingListenerServlet.java b/java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPBindingListenerServlet.java deleted file mode 100644 index 084f52026f..0000000000 --- a/java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPBindingListenerServlet.java +++ /dev/null @@ -1,516 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.http.provider; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.URLDecoder; -import java.text.ParseException; -import java.util.List; - -import javax.servlet.ServletException; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.binding.http.HTTPCacheContext; -import org.apache.tuscany.sca.binding.http.util.HTTPHeadersParser; -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.policy.Intent; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.authentication.basic.BasicAuthenticationPolicy; - -/** - * Servlet responsible for dispatching HTTP requests to the - * target component implementation. - * - * @version $Rev$ $Date$ - */ -public class HTTPBindingListenerServlet extends HttpServlet { - private static final long serialVersionUID = 2865466417329430610L; - - private static final QName AUTEHTICATION_INTENT = new QName("http://www.osoa.org/xmlns/sca/1.0","authentication"); - - transient private Binding binding; - - transient private boolean requiresAuthentication = false; - transient private BasicAuthenticationPolicy basicAuthenticationPolicy = null; - - private MessageFactory messageFactory; - private Invoker getInvoker; - private Invoker conditionalGetInvoker; - private Invoker putInvoker; - private Invoker conditionalPutInvoker; - private Invoker postInvoker; - private Invoker conditionalPostInvoker; - private Invoker deleteInvoker; - private Invoker conditionalDeleteInvoker; - - /** - * Constructs a new HTTPServiceListenerServlet. - */ - public HTTPBindingListenerServlet(Binding binding, MessageFactory messageFactory) { - this.binding = binding; - this.messageFactory = messageFactory; - - - // find out which policies are active - if (binding instanceof PolicySetAttachPoint) { - List intents = ((PolicySetAttachPoint)binding).getRequiredIntents(); - for(Intent intent : intents) { - if(intent.getName().equals(AUTEHTICATION_INTENT)) { - requiresAuthentication = true; - } - } - - - List policySets = ((PolicySetAttachPoint)binding).getApplicablePolicySets(); - for (PolicySet ps : policySets) { - for (Object p : ps.getPolicies()) { - if (BasicAuthenticationPolicy.class.isInstance(p)) { - basicAuthenticationPolicy = (BasicAuthenticationPolicy)p; - } else { - // etc. check for other types of policy being present - } - } - } - } - } - - - @Override - protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - if(requiresAuthentication) { - if(! hasAuthenticationHeader(request, response)) { - response.setHeader("WWW-Authenticate", "BASIC realm=\"Tuscany\""); - response.sendError(HttpServletResponse.SC_UNAUTHORIZED); - } - } - - super.service(request, response); - } - - @Override - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - // Get the request path - String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8"); - if (path.length() ==0) { - // Redirect to a URL ending with / to make relative hrefs work - // relative to the served resource. - response.sendRedirect(request.getRequestURL().append('/').toString()); - return; - } - - // Invoke the get operation on the service implementation - Message requestMessage = messageFactory.createMessage(); - - //store http headers to message - requestMessage.getHeaders().addAll(HTTPHeadersParser.getHeaders(request)); - - String id = path.substring(1); - - Message responseMessage = null; - HTTPCacheContext cacheContext = null; - try { - cacheContext = HTTPCacheContext.getCacheContextFromRequest(request); - } catch (ParseException e) { - } - - // Route message based on availability of cache info and cache methods - if (( cacheContext != null ) && (cacheContext.isEnabled()) && (conditionalGetInvoker != null )) { - requestMessage.setBody(new Object[] {id, cacheContext}); - responseMessage = conditionalGetInvoker.invoke(requestMessage); - } else { - requestMessage.setBody(new Object[] {id}); - responseMessage = getInvoker.invoke(requestMessage); - } - if (responseMessage.isFault()) { - Object body = responseMessage.getBody(); - - int index = -1; - if ( -1 < (index = body.getClass().getName().indexOf( "NotModifiedException")) ) { - if ( index > -1 ) - response.sendError( HttpServletResponse.SC_NOT_MODIFIED, body.toString().substring( index )); - else - response.sendError( HttpServletResponse.SC_NOT_MODIFIED ); - return; - } else if ( -1 < (index = body.getClass().getName().indexOf( "PreconditionFailedException")) ) { - if ( index > -1 ) - response.sendError( HttpServletResponse.SC_PRECONDITION_FAILED, body.toString().substring( index )); - else - response.sendError( HttpServletResponse.SC_PRECONDITION_FAILED ); - return; - } - - throw new ServletException((Throwable)responseMessage.getBody()); - } - - // Write the response from the service implementation to the response - // output stream - InputStream is = (InputStream)responseMessage.getBody(); - OutputStream os = response.getOutputStream(); - byte[] buffer = new byte[2048]; - for (;;) { - int n = is.read(buffer); - if (n <= 0) - break; - os.write(buffer, 0, n); - } - os.flush(); - os.close(); - } - - @Override - protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - // Get the request path - String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8"); - if (path.length() ==0) { - // Redirect to a URL ending with / to make relative hrefs work - // relative to the served resource. - response.sendRedirect(request.getRequestURL().append('/').toString()); - return; - } - - // Invoke the get operation on the service implementation - Message requestMessage = messageFactory.createMessage(); - String id = path.substring(1); - - Message responseMessage = null; - HTTPCacheContext cacheContext = null; - try { - cacheContext = HTTPCacheContext.getCacheContextFromRequest(request); - } catch (ParseException e) { - } - - // Route message based on availability of cache info and cache methods - if (( cacheContext != null ) && (cacheContext.isEnabled()) && (conditionalDeleteInvoker != null )) { - requestMessage.setBody(new Object[] {id, cacheContext}); - responseMessage = conditionalDeleteInvoker.invoke(requestMessage); - } else { - requestMessage.setBody(new Object[] {id}); - responseMessage = deleteInvoker.invoke(requestMessage); - } - if (responseMessage.isFault()) { - Object body = responseMessage.getBody(); - - int index = -1; - if ( -1 < (index = body.getClass().getName().indexOf( "NotModifiedException")) ) { - if ( index > -1 ) - response.sendError( HttpServletResponse.SC_NOT_MODIFIED, body.toString().substring( index )); - else - response.sendError( HttpServletResponse.SC_NOT_MODIFIED ); - return; - } else if ( -1 < (index = body.getClass().getName().indexOf( "PreconditionFailedException")) ) { - if ( index > -1 ) - response.sendError( HttpServletResponse.SC_PRECONDITION_FAILED, body.toString().substring( index )); - else - response.sendError( HttpServletResponse.SC_PRECONDITION_FAILED ); - return; - } - - throw new ServletException((Throwable)responseMessage.getBody()); - } - - // Write the response from the service implementation to the response - // output stream - InputStream is = (InputStream)responseMessage.getBody(); - OutputStream os = response.getOutputStream(); - byte[] buffer = new byte[2048]; - for (;;) { - int n = is.read(buffer); - if (n <= 0) - break; - os.write(buffer, 0, n); - } - os.flush(); - os.close(); - } - - @Override - protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - // Get the request path - String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8"); - if (path.length() ==0) { - // Redirect to a URL ending with / to make relative hrefs work - // relative to the served resource. - response.sendRedirect(request.getRequestURL().append('/').toString()); - return; - } - - // Invoke the get operation on the service implementation - Message requestMessage = messageFactory.createMessage(); - String id = path.substring(1); - - Message responseMessage = null; - HTTPCacheContext cacheContext = null; - try { - cacheContext = HTTPCacheContext.getCacheContextFromRequest(request); - } catch (ParseException e) { - } - - // Route message based on availability of cache info and cache methods - if (( cacheContext != null ) && (cacheContext.isEnabled()) && (conditionalPutInvoker != null )) { - requestMessage.setBody(new Object[] {id, cacheContext}); - responseMessage = conditionalPutInvoker.invoke(requestMessage); - } else { - requestMessage.setBody(new Object[] {id}); - responseMessage = putInvoker.invoke(requestMessage); - } - if (responseMessage.isFault()) { - Object body = responseMessage.getBody(); - - int index = -1; - if ( -1 < (index = body.getClass().getName().indexOf( "NotModifiedException")) ) { - if ( index > -1 ) - response.sendError( HttpServletResponse.SC_NOT_MODIFIED, body.toString().substring( index )); - else - response.sendError( HttpServletResponse.SC_NOT_MODIFIED ); - return; - } else if ( -1 < (index = body.getClass().getName().indexOf( "PreconditionFailedException")) ) { - if ( index > -1 ) - response.sendError( HttpServletResponse.SC_PRECONDITION_FAILED, body.toString().substring( index )); - else - response.sendError( HttpServletResponse.SC_PRECONDITION_FAILED ); - return; - } - - throw new ServletException((Throwable)responseMessage.getBody()); - } - - // Write the response from the service implementation to the response - // output stream - InputStream is = (InputStream)responseMessage.getBody(); - OutputStream os = response.getOutputStream(); - byte[] buffer = new byte[2048]; - for (;;) { - int n = is.read(buffer); - if (n <= 0) - break; - os.write(buffer, 0, n); - } - os.flush(); - os.close(); - } - - @Override - protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - // Get the request path - String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8"); - if (path.length() ==0) { - // Redirect to a URL ending with / to make relative hrefs work - // relative to the served resource. - response.sendRedirect(request.getRequestURL().append('/').toString()); - return; - } - - // Invoke the get operation on the service implementation - Message requestMessage = messageFactory.createMessage(); - // String id = path.substring(1); - - Message responseMessage = null; - HTTPCacheContext cacheContext = null; - try { - cacheContext = HTTPCacheContext.getCacheContextFromRequest(request); - } catch (ParseException e) { - } - - // Route message based on availability of cache info and cache methods - if (( cacheContext != null ) && (cacheContext.isEnabled()) && (conditionalPostInvoker != null )) { - requestMessage.setBody(new Object[] {cacheContext}); - responseMessage = conditionalPostInvoker.invoke(requestMessage); - } else { - requestMessage.setBody(new Object[] {}); - responseMessage = postInvoker.invoke(requestMessage); - } - if (responseMessage.isFault()) { - Object body = responseMessage.getBody(); - - int index = -1; - if ( -1 < (index = body.getClass().getName().indexOf( "NotModifiedException")) ) { - if ( index > -1 ) - response.sendError( HttpServletResponse.SC_NOT_MODIFIED, body.toString().substring( index )); - else - response.sendError( HttpServletResponse.SC_NOT_MODIFIED ); - return; - } else if ( -1 < (index = body.getClass().getName().indexOf( "PreconditionFailedException")) ) { - if ( index > -1 ) - response.sendError( HttpServletResponse.SC_PRECONDITION_FAILED, body.toString().substring( index )); - else - response.sendError( HttpServletResponse.SC_PRECONDITION_FAILED ); - return; - } - - throw new ServletException((Throwable)responseMessage.getBody()); - } - - - // Test if the ETag and LastModified are returned as a cache context. - Object body = responseMessage.getBody(); - if ( body.getClass() == HTTPCacheContext.class ) { - // Transfer to header if so. - HTTPCacheContext cc = (HTTPCacheContext)responseMessage.getBody(); - if (( cc != null ) && ( cc.isEnabled() )) { - String eTag = cc.getETag(); - if ( eTag != null ) - response.setHeader( "ETag", cc.getETag() ); - String lastModified = cc.getLastModified(); - if ( lastModified != null) - response.setHeader( "LastModified", cc.getLastModified() ); - } - } - } - - /** - * @return the getInvoker - */ - public Invoker getGetInvoker() { - return getInvoker; - } - - /** - * @param getInvoker the getInvoker to set - */ - public void setGetInvoker(Invoker getInvoker) { - this.getInvoker = getInvoker; - } - - /** - * @return the conditionalGetInvoker - */ - public Invoker getConditionalGetInvoker() { - return conditionalGetInvoker; - } - - /** - * @param conditionalGetInvoker the conditionalGetInvoker to set - */ - public void setConditionalGetInvoker(Invoker conditionalGetInvoker) { - this.conditionalGetInvoker = conditionalGetInvoker; - } - - /** - * @return the putInvoker - */ - public Invoker getPutInvoker() { - return putInvoker; - } - - /** - * @param putInvoker the putInvoker to set - */ - public void setPutInvoker(Invoker putInvoker) { - this.putInvoker = putInvoker; - } - - /** - * @return the conditionalPutInvoker - */ - public Invoker getConditionalPutInvoker() { - return conditionalPutInvoker; - } - - /** - * @param conditionalPutInvoker the conditionalPutInvoker to set - */ - public void setConditionalPutInvoker(Invoker conditionalPutInvoker) { - this.conditionalPutInvoker = conditionalPutInvoker; - } - - /** - * @return the postInvoker - */ - public Invoker getPostInvoker() { - return postInvoker; - } - - /** - * @param postInvoker the postInvoker to set - */ - public void setPostInvoker(Invoker postInvoker) { - this.postInvoker = postInvoker; - } - - /** - * @return the conditionalPostInvoker - */ - public Invoker getConditionalPostInvoker() { - return conditionalPostInvoker; - } - - /** - * @param conditionalPostInvoker the conditionalPostInvoker to set - */ - public void setConditionalPostInvoker(Invoker conditionalPostInvoker) { - this.conditionalPostInvoker = conditionalPostInvoker; - } - - /** - * @return the deleteInvoker - */ - public Invoker getDeleteInvoker() { - return deleteInvoker; - } - - /** - * @param deleteInvoker the deleteInvoker to set - */ - public void setDeleteInvoker(Invoker deleteInvoker) { - this.deleteInvoker = deleteInvoker; - } - - /** - * @return the conditionalDeleteInvoker - */ - public Invoker getConditionalDeleteInvoker() { - return conditionalDeleteInvoker; - } - - /** - * @param conditionalDeleteInvoker the conditionalDeleteInvoker to set - */ - public void setConditionalDeleteInvoker(Invoker conditionalDeleteInvoker) { - this.conditionalDeleteInvoker = conditionalDeleteInvoker; - } - - - /** - * Utility Methods related to Policy - */ - - - private boolean hasAuthenticationHeader(HttpServletRequest request, ServletResponse response) { - boolean result = false; - if(request.getHeader("Authorization") != null) { - result = true; - } - - return result; - } - - -} diff --git a/java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPBindingProviderFactory.java b/java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPBindingProviderFactory.java deleted file mode 100644 index fccd10f3cd..0000000000 --- a/java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPBindingProviderFactory.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.http.provider; - -import org.apache.tuscany.sca.binding.http.HTTPBinding; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -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.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; - - -/** - * Factory for HTTP binding providers. - * - * @version $Rev$ $Date$ - */ -public class HTTPBindingProviderFactory implements BindingProviderFactory { - - private MessageFactory messageFactory; - private ServletHost servletHost; - - public HTTPBindingProviderFactory(ExtensionPointRegistry extensionPoints) { - ServletHostExtensionPoint servletHosts = extensionPoints.getExtensionPoint(ServletHostExtensionPoint.class); - this.servletHost = servletHosts.getServletHosts().get(0); - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - messageFactory = modelFactories.getFactory(MessageFactory.class); - } - - public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, RuntimeComponentReference reference, HTTPBinding binding) { - return null; - } - - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, RuntimeComponentService service, HTTPBinding binding) { - return new HTTPServiceBindingProvider(component, service, binding, messageFactory, servletHost); - } - - public Class getModelType() { - return HTTPBinding.class; - } -} diff --git a/java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPGetListenerServlet.java b/java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPGetListenerServlet.java deleted file mode 100644 index e20d420d49..0000000000 --- a/java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPGetListenerServlet.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.http.provider; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.URLDecoder; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.invocation.MessageFactory; - -/** - * Servlet responsible for dispatching HTTP GET requests to the - * target component implementation. - * - * @version $Rev$ $Date$ - */ -public class HTTPGetListenerServlet extends HttpServlet { - private static final long serialVersionUID = 2865466417329430610L; - - private MessageFactory messageFactory; - private Invoker getInvoker; - - /** - * Constructs a new HTTPServiceListenerServlet. - */ - public HTTPGetListenerServlet(Invoker getInvoker, MessageFactory messageFactory) { - this.getInvoker = getInvoker; - this.messageFactory = messageFactory; - } - - @Override - protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - // Get the request path - String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8"); - if (path.length() ==0) { - - // Redirect to a URL ending with / to make relative hrefs work - // relative to the served resource. - response.sendRedirect(request.getRequestURL().append('/').toString()); - return; - } - - // 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()); - } - - // Write the response from the service implementation to the response - // output stream - InputStream is = (InputStream)responseMessage.getBody(); - OutputStream os = response.getOutputStream(); - byte[] buffer = new byte[2048]; - for (;;) { - int n = is.read(buffer); - if (n <= 0) - break; - os.write(buffer, 0, n); - } - os.flush(); - os.close(); - - } - -} diff --git a/java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPServiceBindingProvider.java b/java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPServiceBindingProvider.java deleted file mode 100644 index 8f91ff4343..0000000000 --- a/java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPServiceBindingProvider.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.http.provider; - -import javax.servlet.Servlet; - -import org.apache.tuscany.sca.binding.http.HTTPBinding; -import org.apache.tuscany.sca.host.http.ServletHost; -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.Invoker; -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 an HTTP binding provider. - * - * @version $Rev$ $Date$ - */ -public class HTTPServiceBindingProvider implements ServiceBindingProvider { - private RuntimeComponentService service; - private HTTPBinding binding; - private MessageFactory messageFactory; - - private ServletHost servletHost; - private String servletMapping; - private HTTPBindingListenerServlet bindingListenerServlet; - - public HTTPServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - HTTPBinding binding, - MessageFactory messageFactory, - ServletHost servletHost) { - this.service = service; - this.binding = binding; - this.messageFactory = messageFactory; - this.servletHost = servletHost; - } - - public void start() { - // Get the invokers for the supported operations - RuntimeComponentService componentService = (RuntimeComponentService) service; - RuntimeWire wire = componentService.getRuntimeWire(binding); - Servlet servlet = null; - bindingListenerServlet = new HTTPBindingListenerServlet(binding, messageFactory ); - for (InvocationChain invocationChain : wire.getInvocationChains()) { - Operation operation = invocationChain.getTargetOperation(); - String operationName = operation.getName(); - if (operationName.equals("get")) { - Invoker getInvoker = invocationChain.getHeadInvoker(); - bindingListenerServlet.setGetInvoker(getInvoker); - servlet = bindingListenerServlet; - } else if (operationName.equals("conditionalGet")) { - Invoker conditionalGetInvoker = invocationChain.getHeadInvoker(); - bindingListenerServlet.setConditionalGetInvoker(conditionalGetInvoker); - servlet = bindingListenerServlet; - } else if (operationName.equals("delete")) { - Invoker deleteInvoker = invocationChain.getHeadInvoker(); - bindingListenerServlet.setDeleteInvoker(deleteInvoker); - servlet = bindingListenerServlet; - } else if (operationName.equals("conditionalDelete")) { - Invoker conditionalDeleteInvoker = invocationChain.getHeadInvoker(); - bindingListenerServlet.setConditionalDeleteInvoker(conditionalDeleteInvoker); - servlet = bindingListenerServlet; - } else if (operationName.equals("put")) { - Invoker putInvoker = invocationChain.getHeadInvoker(); - bindingListenerServlet.setPutInvoker(putInvoker); - servlet = bindingListenerServlet; - } else if (operationName.equals("conditionalPut")) { - Invoker conditionalPutInvoker = invocationChain.getHeadInvoker(); - bindingListenerServlet.setConditionalPutInvoker(conditionalPutInvoker); - servlet = bindingListenerServlet; - } else if (operationName.equals("post")) { - Invoker postInvoker = invocationChain.getHeadInvoker(); - bindingListenerServlet.setPostInvoker(postInvoker); - servlet = bindingListenerServlet; - } else if (operationName.equals("conditionalPost")) { - Invoker conditionalPostInvoker = invocationChain.getHeadInvoker(); - bindingListenerServlet.setConditionalPostInvoker(conditionalPostInvoker); - servlet = bindingListenerServlet; - } else if (operationName.equals("service")) { - Invoker serviceInvoker = invocationChain.getHeadInvoker(); - servlet = new HTTPServiceListenerServlet(binding, serviceInvoker, messageFactory); - break; - } - } - if (servlet == null) { - throw new IllegalStateException("No get or service method found on the service"); - } - - // Create our HTTP service listener Servlet and register it with the - // Servlet host - servletMapping = binding.getURI(); - if (!servletMapping.endsWith("/")) { - servletMapping += "/"; - } - if (!servletMapping.endsWith("*")) { - servletMapping += "*"; - } - servletHost.addServletMapping(servletMapping, servlet); - } - - public void stop() { - // Unregister the Servlet from the Servlet host - servletHost.removeServletMapping(servletMapping); - } - - public InterfaceContract getBindingInterfaceContract() { - return null; - } - - public boolean supportsOneWayInvocation() { - return false; - } - -} diff --git a/java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPServiceListenerServlet.java b/java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPServiceListenerServlet.java deleted file mode 100644 index 493255655d..0000000000 --- a/java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/provider/HTTPServiceListenerServlet.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.http.provider; - -import java.io.IOException; -import java.util.List; - -import javax.servlet.Servlet; -import javax.servlet.ServletConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.Binding; -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.policy.Intent; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.authentication.basic.BasicAuthenticationPolicy; - -/** - * Servlet responsible for dispatching HTTP service requests to the - * target component implementation. - * - * @version $Rev$ $Date$ - */ -public class HTTPServiceListenerServlet implements Servlet { - private static final QName AUTEHTICATION_INTENT = new QName("http://www.osoa.org/xmlns/sca/1.0","authentication"); - - transient private Binding binding; - transient private ServletConfig config; - transient private MessageFactory messageFactory; - transient private Invoker serviceInvoker; - - transient private boolean requiresAuthentication = false; - transient private BasicAuthenticationPolicy basicAuthenticationPolicy = null; - - /** - * Constructs a new HTTPServiceListenerServlet. - */ - public HTTPServiceListenerServlet(Binding binding, Invoker serviceInvoker, MessageFactory messageFactory) { - this.binding = binding; - this.serviceInvoker = serviceInvoker; - this.messageFactory = messageFactory; - - // find out which policies are active - if (binding instanceof PolicySetAttachPoint) { - List intents = ((PolicySetAttachPoint)binding).getRequiredIntents(); - for(Intent intent : intents) { - if(intent.getName().equals(AUTEHTICATION_INTENT)) { - requiresAuthentication = true; - } - } - - - List policySets = ((PolicySetAttachPoint)binding).getApplicablePolicySets(); - for (PolicySet ps : policySets) { - for (Object p : ps.getPolicies()) { - if (BasicAuthenticationPolicy.class.isInstance(p)) { - basicAuthenticationPolicy = (BasicAuthenticationPolicy)p; - } else { - // etc. check for other types of policy being present - } - } - } - } - } - - public ServletConfig getServletConfig() { - return config; - } - - public String getServletInfo() { - return ""; - } - - public void init(ServletConfig config) throws ServletException { - this.config = config; - } - - public void destroy() { - - } - - public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { - - if(requiresAuthentication) { - if(! hasAuthenticationHeader((HttpServletRequest)request, (HttpServletResponse)response)) { - ((HttpServletResponse)response).sendError(HttpServletResponse.SC_UNAUTHORIZED); - } - } - - // Dispatch the service interaction to the service invoker - Message requestMessage = messageFactory.createMessage(); - requestMessage.setBody(new Object[]{request, response}); - Message responseMessage = serviceInvoker.invoke(requestMessage); - if (responseMessage.isFault()) { - // Turn a fault into an exception - //throw new ServletException((Throwable)responseMessage.getBody()); - Throwable e = (Throwable)responseMessage.getBody(); - ((HttpServletResponse)response).sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.toString()); - } - } - - - private boolean hasAuthenticationHeader(HttpServletRequest request, ServletResponse response) { - boolean result = false; - if(request.getHeader("Authorization") != null) { - result = true; - } - - return result; - } -} diff --git a/java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/util/HTTPHeadersParser.java b/java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/util/HTTPHeadersParser.java deleted file mode 100644 index 1fe4600e31..0000000000 --- a/java/sca/contrib/modules/binding-http-runtime/src/main/java/org/apache/tuscany/sca/binding/http/util/HTTPHeadersParser.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.http.util; - -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.tuscany.sca.binding.http.HTTPHeader; - -public class HTTPHeadersParser { - - /** - * Parse http request headers to a map - * - * @param request - * @return - */ - public static List getHeaders(HttpServletRequest request) { - List headers = new ArrayList(); - - Enumeration headerNames = request.getHeaderNames(); - while (headerNames.hasMoreElements()) { - String headerName = (String) headerNames.nextElement(); - Object headerValue = request.getHeader(headerName); - HTTPHeader header = new HTTPHeader(headerName, headerValue); - headers.add(header); - } - return headers; - } -} diff --git a/java/sca/contrib/modules/binding-http-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/java/sca/contrib/modules/binding-http-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory deleted file mode 100644 index 0fa8d44c08..0000000000 --- a/java/sca/contrib/modules/binding-http-runtime/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.http.provider.HTTPBindingProviderFactory;model=org.apache.tuscany.sca.binding.http.HTTPBinding diff --git a/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/HTTPBindingCacheTestCase.java b/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/HTTPBindingCacheTestCase.java deleted file mode 100644 index bb5f6d5a8b..0000000000 --- a/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/HTTPBindingCacheTestCase.java +++ /dev/null @@ -1,855 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.http; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.net.Socket; -import java.text.MessageFormat; -import java.text.SimpleDateFormat; -import java.util.Date; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.host.embedded.SCADomain; - -/** - * HTTP binding unit tests. - * - * @version $Rev$ $Date$ - */ -public class HTTPBindingCacheTestCase extends TestCase { - // RFC 822 date time - protected static final SimpleDateFormat dateFormat = new SimpleDateFormat( - "EEE, dd MMM yyyy HH:mm:ss Z"); - - // Request with no predicates in header. - private static final String REQUEST1 = "{0} /httpbinding/{1} HTTP/1.0\n" - + "Host: localhost\n" + "Content-Type: text/xml\n" - + "Connection: close\n" + "Content-Length: {2}" + "\n\n{3}"; - - // Request with predicates in header - private static final String REQUEST2 = "{0} /httpbinding/{1} HTTP/1.0\n" - + "Host: localhost\n" + "Content-Type: text/xml\n" + "{2}: {3}\n" // predicate (If-Match, If-None-Match, If-Modified-Since, If-NotModified-Since): value (date or ETag) - + "Connection: close\n" + "Content-Length: {4}" + "\n\n{5}"; - - private static final int HTTP_PORT = 8085; - - private SCADomain scaDomain; - - @Override - protected void setUp() throws Exception { - scaDomain = SCADomain.newInstance("testCache.composite"); - } - - @Override - protected void tearDown() throws Exception { - scaDomain.close(); - } - - /** - * Test invoking a POJO get method implementation using the HTTP binding. - * @throws Exception - */ - public void testGet() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 0; - String content = ""; - String request = MessageFormat.format(REQUEST1, "GET", index, content - .getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - assertTrue(document.indexOf("

item=" + index) != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalGetIfModifiedNegative() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 0; - String content = ""; - String request = MessageFormat.format(REQUEST2, "GET", index, - "If-Modified-Since", dateFormat.format(new Date(0)), content - .getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - assertTrue(document.indexOf("

item=" + index) != -1); - // Should return code 304 Not Modified. - // assertTrue(document.indexOf("HTTP/1.1 304") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalGetIfModifiedPositive() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 1; - String content = ""; - String request = MessageFormat.format(REQUEST2, "GET", index, - "If-Modified-Since", dateFormat.format(new Date(0)), content - .getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - // assertTrue(document.indexOf("

item=" + index) != -1); - // Should return code 304 Not Modified. - assertTrue(document.indexOf("HTTP/1.1 304") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalGetIfUnmodifiedNegative() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 1; - String content = ""; - String request = MessageFormat.format(REQUEST2, "GET", index, - "If-Unmodified-Since", dateFormat.format(new Date()), content - .getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - assertTrue(document.indexOf("

item=" + index) != -1); - // Should return code 304 Not Modified. - // assertTrue(document.indexOf("HTTP/1.1 304") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalGetIfUnmodifiedPositive() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 0; - String content = ""; - String request = MessageFormat.format(REQUEST2, "GET", index, - "If-Unmodified-Since", dateFormat.format(new Date(0)), content - .getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - // assertTrue(document.indexOf("

item=" + index) != -1); - // Should return code 412 PreconditionFailed. - assertTrue(document.indexOf("HTTP/1.1 412") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalGetIfMatchNegative() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 1; - String content = ""; - String request = MessageFormat.format(REQUEST2, "GET", index, - "If-Match", "eTagXXX", content.getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - // assertTrue(document.indexOf("

item=" + index) != -1); - // Should return code 412 precondition failed. - assertTrue(document.indexOf("HTTP/1.1 412") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalGetIfMatchPositive() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 0; - String content = ""; - String request = MessageFormat.format(REQUEST2, "GET", index, - "If-Match", "eTagXXX", content.getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - assertTrue(document.indexOf("

item=" + index) != -1); - // Should return code 412 PreconditionFailed. - // assertTrue(document.indexOf("HTTP/1.1 412") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalGetIfNoneMatchNegative() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 1; - String content = ""; - String request = MessageFormat.format(REQUEST2, "GET", index, - "If-None-Match", "eTagXXX", content.getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - assertTrue(document.indexOf("

item=" + index) != -1); - // Should return code 412 precondition failed. - // assertTrue(document.indexOf("HTTP/1.1 412") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalGetIfNoneMatchPositive() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 0; - String content = ""; - String request = MessageFormat.format(REQUEST2, "GET", index, - "If-None-Match", "eTagXXX", content.getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - // assertTrue(document.indexOf("

item=" + index) != -1); - // Should return code 412 PreconditionFailed. - assertTrue(document.indexOf("HTTP/1.1 412") != -1); - } - - /** - * Test invoking a POJO get method implementation using the HTTP binding. - * @throws Exception - */ - public void testDelete() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 0; - String content = ""; - String request = MessageFormat.format(REQUEST1, "DELETE", index, - content.getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - assertTrue(document.indexOf("deleted item=" + index) != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalDeleteIfModifiedNegative() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 0; - String content = ""; - String request = MessageFormat.format(REQUEST2, "DELETE", index, - "If-Modified-Since", dateFormat.format(new Date(0)), content - .getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - assertTrue(document.indexOf("deleted item=" + index) != -1); - // Should return code 304 Not Modified. - // assertTrue(document.indexOf("HTTP/1.1 304") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalDeleteIfModifiedPositive() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 1; - String content = ""; - String request = MessageFormat.format(REQUEST2, "DELETE", index, - "If-Modified-Since", dateFormat.format(new Date(0)), content - .getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - // assertTrue(document.indexOf("deleted item=" + index) != -1); - // Should return code 304 Not Modified. - assertTrue(document.indexOf("HTTP/1.1 304") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalDeleteIfUnmodifiedNegative() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 1; - String content = ""; - String request = MessageFormat.format(REQUEST2, "DELETE", index, - "If-Unmodified-Since", dateFormat.format(new Date()), content - .getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - assertTrue(document.indexOf("deleted item=" + index) != -1); - // Should return code 304 Not Modified. - // assertTrue(document.indexOf("HTTP/1.1 304") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalDeleteIfUnmodifiedPositive() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 0; - String content = ""; - String request = MessageFormat.format(REQUEST2, "DELETE", index, - "If-Unmodified-Since", dateFormat.format(new Date(0)), content - .getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - // assertTrue(document.indexOf("deleted item=" + index) != -1); - // Should return code 412 PreconditionFailed. - assertTrue(document.indexOf("HTTP/1.1 412") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalDeleteIfMatchNegative() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 1; - String content = ""; - String request = MessageFormat.format(REQUEST2, "DELETE", index, - "If-Match", "eTagXXX", content.getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - // assertTrue(document.indexOf("deleted item=" + index) != -1); - // Should return code 412 precondition failed. - assertTrue(document.indexOf("HTTP/1.1 412") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalDeleteIfMatchPositive() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 0; - String content = ""; - String request = MessageFormat.format(REQUEST2, "DELETE", index, - "If-Match", "eTagXXX", content.getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - assertTrue(document.indexOf("deleted item=" + index) != -1); - // Should return code 412 PreconditionFailed. - // assertTrue(document.indexOf("HTTP/1.1 412") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalDeleteIfNoneMatchNegative() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 1; - String content = ""; - String request = MessageFormat.format(REQUEST2, "DELETE", index, - "If-None-Match", "eTagXXX", content.getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - assertTrue(document.indexOf("deleted item=" + index) != -1); - // Should return code 412 precondition failed. - // assertTrue(document.indexOf("HTTP/1.1 412") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalDeleteIfNoneMatchPositive() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 0; - String content = ""; - String request = MessageFormat.format(REQUEST2, "DELETE", index, - "If-None-Match", "eTagXXX", content.getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - // assertTrue(document.indexOf("deleted item=" + index) != -1); - // Should return code 412 PreconditionFailed. - assertTrue(document.indexOf("HTTP/1.1 412") != -1); - } - - /** - * Test invoking a POJO get method implementation using the HTTP binding. - * @throws Exception - */ - public void testPost() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 0; - String content = ""; - String request = MessageFormat.format(REQUEST1, "POST", index, content - .getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - assertTrue(document.indexOf("HTTP/1.1 200 OK") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalPostIfModifiedNegative() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 0; - String content = ""; - String request = MessageFormat.format(REQUEST2, "POST", index, - "If-Modified-Since", dateFormat.format(new Date()), content - .getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return code 200 OK - // assertTrue(document.indexOf("posted item=" + index) != -1); - assertTrue(document.indexOf("HTTP/1.1 200 OK") != -1); - // Should return code 304 Not Modified. - // assertTrue(document.indexOf("HTTP/1.1 304") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalPostIfModifiedPositive() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 1; - String content = ""; - String request = MessageFormat.format(REQUEST2, "POST", index, - "If-Modified-Since", dateFormat.format(new Date(0)), content - .getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - // assertTrue(document.indexOf("posted item=" + index) != -1); - // Should return code 304 Not Modified. - assertTrue(document.indexOf("HTTP/1.1 304") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalPostIfUnmodifiedNegative() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 1; - String content = ""; - String request = MessageFormat.format(REQUEST2, "POST", index, - "If-Unmodified-Since", dateFormat.format(new Date()), content - .getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return code 200 OK - assertTrue(document.indexOf("HTTP/1.1 200 OK") != -1); - // Should return code 304 Not Modified. - // assertTrue(document.indexOf("HTTP/1.1 304") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalPostIfUnmodifiedPositive() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 0; - String content = ""; - String request = MessageFormat.format(REQUEST2, "POST", index, - "If-Unmodified-Since", dateFormat.format(new Date(0)), content - .getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - // assertTrue(document.indexOf("posted item=" + index) != -1); - // Should return code 412 PreconditionFailed. - assertTrue(document.indexOf("HTTP/1.1 412") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalPostIfMatchNegative() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 1; - String content = ""; - String request = MessageFormat.format(REQUEST2, "POST", index, - "If-Match", "eTagMatch", content.getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return code 200 OK. - assertTrue(document.indexOf("HTTP/1.1 200 OK") != -1); - // Should return code 412 precondition failed. - // assertTrue(document.indexOf("HTTP/1.1 412") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalPostIfMatchPositive() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 0; - String content = ""; - String request = MessageFormat - .format(REQUEST2, "POST", index, "If-Match", "eTagNoneMatch", - content.getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - // assertTrue(document.indexOf("posted item=" + index) != -1); - // Should return code 412 PreconditionFailed. - assertTrue(document.indexOf("HTTP/1.1 412") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalPostIfNoneMatchNegative() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 1; - String content = ""; - String request = MessageFormat.format(REQUEST2, "POST", index, - "If-None-Match", "eTagNoneMatch", content.getBytes().length, - content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return code 200 OK - assertTrue(document.indexOf("HTTP/1.1 200 OK") != -1); - // Should return code 412 precondition failed. - // assertTrue(document.indexOf("HTTP/1.1 412") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalPostIfNoneMatchPositive() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 0; - String content = ""; - String request = MessageFormat.format(REQUEST2, "POST", index, - "If-None-Match", "eTagMatch", content.getBytes().length, - content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - // assertTrue(document.indexOf("posted item=" + index) != -1); - // Should return code 412 PreconditionFailed. - assertTrue(document.indexOf("HTTP/1.1 412") != -1); - } - - /** - * Test invoking a POJO get method implementation using the HTTP binding. - * @throws Exception - */ - public void testPut() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 0; - String content = ""; - String request = MessageFormat.format(REQUEST1, "PUT", index, content - .getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - assertTrue(document.indexOf("updated item=" + index) != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalPutIfModifiedNegative() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 0; - String content = ""; - String request = MessageFormat.format(REQUEST2, "PUT", index, - "If-Modified-Since", dateFormat.format(new Date(0)), content - .getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - assertTrue(document.indexOf("updated item=" + index) != -1); - // Should return code 304 Not Modified. - // assertTrue(document.indexOf("HTTP/1.1 304") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalPutIfModifiedPositive() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 1; - String content = ""; - String request = MessageFormat.format(REQUEST2, "PUT", index, - "If-Modified-Since", dateFormat.format(new Date(0)), content - .getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - // assertTrue(document.indexOf("updated item=" + index) != -1); - // Should return code 304 Not Modified. - assertTrue(document.indexOf("HTTP/1.1 304") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalPutIfUnmodifiedNegative() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 1; - String content = ""; - String request = MessageFormat.format(REQUEST2, "PUT", index, - "If-Unmodified-Since", dateFormat.format(new Date()), content - .getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - assertTrue(document.indexOf("updated item=" + index) != -1); - // Should return code 304 Not Modified. - // assertTrue(document.indexOf("HTTP/1.1 304") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalPutIfUnmodifiedPositive() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 0; - String content = ""; - String request = MessageFormat.format(REQUEST2, "PUT", index, - "If-Unmodified-Since", dateFormat.format(new Date(0)), content - .getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - // assertTrue(document.indexOf("updated item=" + index) != -1); - // Should return code 412 PreconditionFailed. - assertTrue(document.indexOf("HTTP/1.1 412") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalPutIfMatchNegative() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 1; - String content = ""; - String request = MessageFormat.format(REQUEST2, "PUT", index, - "If-Match", "eTagXXX", content.getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - // assertTrue(document.indexOf("updated item=" + index) != -1); - // Should return code 412 precondition failed. - assertTrue(document.indexOf("HTTP/1.1 412") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalPutIfMatchPositive() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 0; - String content = ""; - String request = MessageFormat.format(REQUEST2, "PUT", index, - "If-Match", "eTagXXX", content.getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - assertTrue(document.indexOf("updated item=" + index) != -1); - // Should return code 412 PreconditionFailed. - // assertTrue(document.indexOf("HTTP/1.1 412") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalPutIfNoneMatchNegative() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 1; - String content = ""; - String request = MessageFormat.format(REQUEST2, "PUT", index, - "If-None-Match", "eTagXXX", content.getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - assertTrue(document.indexOf("updated item=" + index) != -1); - // Should return code 412 precondition failed. - // assertTrue(document.indexOf("HTTP/1.1 412") != -1); - } - - /** - * Test invoking a conditional method implementation using the HTTP binding. - * @throws Exception - */ - public void testConditionalPutIfNoneMatchPositive() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 0; - String content = ""; - String request = MessageFormat.format(REQUEST2, "PUT", index, - "If-None-Match", "eTagXXX", content.getBytes().length, content); - os.write(request.getBytes()); - os.flush(); - - String document = read(client); - // Should return item - // assertTrue(document.indexOf("updated item=" + index) != -1); - // Should return code 412 PreconditionFailed. - assertTrue(document.indexOf("HTTP/1.1 412") != -1); - } - - /** - * Read response stream from the given socket. - * @param socket - * @return - * @throws IOException - */ - private static String read(Socket socket) throws IOException { - BufferedReader reader = null; - try { - reader = new BufferedReader(new InputStreamReader(socket - .getInputStream())); - StringBuffer sb = new StringBuffer(); - String str; - while ((str = reader.readLine()) != null) { - sb.append(str); - } - return sb.toString(); - } finally { - if (reader != null) { - reader.close(); - } - } - } -} diff --git a/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/HTTPBindingTestCase.java b/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/HTTPBindingTestCase.java deleted file mode 100644 index e5cad080a6..0000000000 --- a/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/HTTPBindingTestCase.java +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.http; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.net.Socket; -import java.text.MessageFormat; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.host.embedded.SCADomain; - -/** - * HTTP binding unit tests. - * - * @version $Rev$ $Date$ - */ -public class HTTPBindingTestCase extends TestCase { - - private static final String REQUEST1_HEADER = - "GET /httpservice/test HTTP/1.0\n" + "Host: localhost\n" - + "Content-Type: text/xml\n" - + "Connection: close\n" - + "Content-Length: "; - private static final String REQUEST1_CONTENT = ""; - private static final String REQUEST1 = - REQUEST1_HEADER + REQUEST1_CONTENT.getBytes().length + "\n\n" + REQUEST1_CONTENT; - - private static final String REQUEST2_HEADER = - "GET /webcontent/test.html HTTP/1.0\n" + "Host: localhost\n" - + "Content-Type: text/xml\n" - + "Connection: close\n" - + "Content-Length: "; - private static final String REQUEST2_CONTENT = ""; - private static final String REQUEST2 = - REQUEST2_HEADER + REQUEST2_CONTENT.getBytes().length + "\n\n" + REQUEST2_CONTENT; - - private static final String REQUEST3_HEADER = - "GET /httpget/{0} HTTP/1.0\n" + "Host: localhost\n" - + "Content-Type: text/xml\n" - + "Connection: close\n" - + "Content-Length: "; - private static final String REQUEST3_CONTENT = ""; - private static final String REQUEST3 = - REQUEST3_HEADER + REQUEST3_CONTENT.getBytes().length + "\n\n" + REQUEST3_CONTENT; - - private static final int HTTP_PORT = 8085; - - private SCADomain scaDomain; - - @Override - protected void setUp() throws Exception { - scaDomain = SCADomain.newInstance("test.composite"); - } - - @Override - protected void tearDown() throws Exception { - scaDomain.close(); - } - - /** - * Test invoking a POJO service implementation using the HTTP binding. - * @throws Exception - */ - public void testServiceImplementation() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - os.write(REQUEST1.getBytes()); - os.flush(); - - String document = read(client); - assertTrue(document.indexOf("

hey") != -1); - } - - /** - * Test invoking a POJO get method implementation using the HTTP binding. - * @throws Exception - */ - public void testGetImplementation() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - int index = 0; - String request = MessageFormat.format( REQUEST3, index ); - os.write( request.getBytes()); - os.flush(); - - String document = read(client); - assertTrue(document.indexOf("

item=" + index) != -1); - } - - /** - * Test getting a static resource provided using the HTTP binding. - * @throws Exception - */ - public void testStaticResourceImplementation() throws Exception { - Socket client = new Socket("127.0.0.1", HTTP_PORT); - OutputStream os = client.getOutputStream(); - os.write(REQUEST2.getBytes()); - os.flush(); - - String document = read(client); - assertTrue(document.indexOf("

hello") != -1); - } - - /** - * Read response stream from the given socket. - * @param socket - * @return - * @throws IOException - */ - private static String read(Socket socket) throws IOException { - BufferedReader reader = null; - try { - reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); - StringBuffer sb = new StringBuffer(); - String str; - while ((str = reader.readLine()) != null) { - sb.append(str); - } - return sb.toString(); - } finally { - if (reader != null) { - reader.close(); - } - } - } - -} diff --git a/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/NotModifiedException.java b/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/NotModifiedException.java deleted file mode 100644 index 1d6efea2a1..0000000000 --- a/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/NotModifiedException.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.http; - -/** - * Indicates that a resource was not modified. - * - * @version $Rev$ $Date$ - */ -public class NotModifiedException extends Exception { - private static final long serialVersionUID = -5046027674128627383L; - - public NotModifiedException() { - } - - public NotModifiedException(String message) { - super(message); - } - - public NotModifiedException(Throwable cause) { - super(cause); - } - - public NotModifiedException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/PreconditionFailedException.java b/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/PreconditionFailedException.java deleted file mode 100644 index 5728899ebe..0000000000 --- a/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/PreconditionFailedException.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.http; - -/** - * Indicates that a resource was not modified. - * - * @version $Rev$ $Date$ - */ -public class PreconditionFailedException extends Exception { - private static final long serialVersionUID = -5046027674128627383L; - - public PreconditionFailedException() { - } - - public PreconditionFailedException(String message) { - super(message); - } - - public PreconditionFailedException(Throwable cause) { - super(cause); - } - - public PreconditionFailedException(String message, Throwable cause) { - super(message, cause); - } -} diff --git a/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/TestBindingCacheImpl.java b/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/TestBindingCacheImpl.java deleted file mode 100644 index f2456f3175..0000000000 --- a/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/TestBindingCacheImpl.java +++ /dev/null @@ -1,241 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.http; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.util.Date; - -/** - * Test service implementation that implements a various conditional HTTP - * methods. For testing, the id==0 items are very old (Date(0)), not modified, - * and always match ETags and the id==1 items are always brand new (Date()), - * modified, and never match ETags. Using these ids one can test the - * LastModified and ETag headers of the requests. - * - * @version $Rev$ $Date$ - */ -public class TestBindingCacheImpl { - - /** - * Implements the HTTP get method of the collection implementation. - * @param id - * @return - */ - public InputStream get(String id) { - return new ByteArrayInputStream( - ("

item=" + id + "").getBytes()); - } - - /** - * Implements the HTTP conditional get method of the collection implementation. - * @param id - * @return - */ - public InputStream conditionalGet(String id, HTTPCacheContext cacheContext) - throws NotModifiedException, PreconditionFailedException { - - if (cacheContext != null) { - if (cacheContext.ifModifiedSince) { - if ((id.equals("1")) - && (0 > cacheContext.lastModifiedDate - .compareTo(new Date()))) - throw new NotModifiedException("item 1 was modified on " - + new Date()); - } - if (cacheContext.ifUnmodifiedSince) { - if ((id.equals("0")) - && (0 > cacheContext.lastModifiedDate - .compareTo(new Date()))) - throw new PreconditionFailedException( - "item 0 was modified on " + new Date(0)); - } - if (cacheContext.ifMatch) { - if (id.equals("1")) - throw new PreconditionFailedException( - "item 1 eTag does not match " - + cacheContext.getETag()); - } - if (cacheContext.ifNoneMatch) { - if (id.equals("0")) - throw new PreconditionFailedException( - "item 0 eTag matches " + cacheContext.getETag()); - } - } - return new ByteArrayInputStream( - ("

item=" + id + "").getBytes()); - } - - /** - * Implements the HTTP delete method of the collection implementation. - * @param id - * @return - */ - public InputStream delete(String id) { - return new ByteArrayInputStream( - ("

deleted item=" + id + "") - .getBytes()); - } - - /** - * Implements the HTTP conditional delete method of the collection implementation. - * @param id - * @return - */ - public InputStream conditionalDelete(String id, HTTPCacheContext cacheContext) - throws NotModifiedException, PreconditionFailedException { - - if (cacheContext != null) { - if (cacheContext.ifModifiedSince) { - if ((id.equals("1")) - && (0 > cacheContext.lastModifiedDate - .compareTo(new Date()))) - throw new NotModifiedException("item 1 was modified on " - + new Date()); - } - if (cacheContext.ifUnmodifiedSince) { - if ((id.equals("0")) - && (0 > cacheContext.lastModifiedDate - .compareTo(new Date()))) - throw new PreconditionFailedException( - "item 0 was modified on " + new Date(0)); - } - if (cacheContext.ifMatch) { - if (id.equals("1")) - throw new PreconditionFailedException( - "item 1 eTag does not match " - + cacheContext.getETag()); - } - if (cacheContext.ifNoneMatch) { - if (id.equals("0")) - throw new PreconditionFailedException( - "item 0 eTag matches " + cacheContext.getETag()); - } - } - return new ByteArrayInputStream( - ("

deleted item=" + id + "") - .getBytes()); - } - - /** - * Implements the HTTP post method of the collection implementation. - * @param id - * @return - */ - public InputStream post() { - int id = (new java.util.Random()).nextInt(Integer.MAX_VALUE); - return new ByteArrayInputStream( - ("

posted item=" + id + "") - .getBytes()); - } - - /** - * Implements the HTTP conditional post method of the collection implementation. - * @param id - * @return - */ - public HTTPCacheContext conditionalPost(HTTPCacheContext cacheContext) - throws NotModifiedException, PreconditionFailedException { - String id = "" + (new java.util.Random()).nextInt(Integer.MAX_VALUE); - - if (cacheContext != null) { - if (cacheContext.ifModifiedSince) { - if (0 >= cacheContext.lastModifiedDate.compareTo(new Date(0))) - throw new NotModifiedException("item was modified on " - + new Date()); - } - if (cacheContext.ifUnmodifiedSince) { - if ((0 >= cacheContext.lastModifiedDate.compareTo(new Date(0)))) - throw new PreconditionFailedException( - "item was modified on " + new Date(0)); - } - if (cacheContext.ifMatch) { - if (cacheContext.getETag().equalsIgnoreCase("ETagNoneMatch")) - throw new PreconditionFailedException( - "item eTag does not match " - + cacheContext.getETag()); - } - if (cacheContext.ifNoneMatch) { - if (cacheContext.getETag().equalsIgnoreCase("ETagMatch")) - throw new PreconditionFailedException("item eTag matches " - + cacheContext.getETag()); - } - } - - // Return the ETag and LastModfied fields by serialize to a byte array - HTTPCacheContext returnContext = new HTTPCacheContext(); - returnContext.setETag( "ETag" + (new java.util.Random()).nextInt(Integer.MAX_VALUE) ); - returnContext.setLastModified( new Date() ); - return returnContext; - } - - /** - * Implements the HTTP update/put method of the collection implementation. - * @param id - * @return - */ - public InputStream put(String id) { - return new ByteArrayInputStream( - ("

updated item=" + id + "") - .getBytes()); - } - - /** - * Implements the HTTP conditional update/put method of the collection implementation. - * @param id - * @return - */ - public InputStream conditionalPut(String id, HTTPCacheContext cacheContext) - throws NotModifiedException, PreconditionFailedException { - - if (cacheContext != null) { - if (cacheContext.ifModifiedSince) { - if ((id.equals("1")) - && (0 > cacheContext.lastModifiedDate - .compareTo(new Date()))) - throw new NotModifiedException("item 1 was modified on " - + new Date()); - } - if (cacheContext.ifUnmodifiedSince) { - if ((id.equals("0")) - && (0 > cacheContext.lastModifiedDate - .compareTo(new Date()))) - throw new PreconditionFailedException( - "item 0 was modified on " + new Date(0)); - } - if (cacheContext.ifMatch) { - if (id.equals("1")) - throw new PreconditionFailedException( - "item 1 eTag does not match " - + cacheContext.getETag()); - } - if (cacheContext.ifNoneMatch) { - if (id.equals("0")) - throw new PreconditionFailedException( - "item 0 eTag matches " + cacheContext.getETag()); - } - } - - return new ByteArrayInputStream( - ("

updated item=" + id + "") - .getBytes()); - } - -} diff --git a/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/TestGetImpl.java b/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/TestGetImpl.java deleted file mode 100644 index 333bacbab3..0000000000 --- a/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/TestGetImpl.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.http; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; - -/** - * Test service implementation that implements a get method. - * - * @version $Rev$ $Date$ - */ -public class TestGetImpl { - - public InputStream get(String id) { - return new ByteArrayInputStream(("

item=" + id + "").getBytes()); - - } - -} diff --git a/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/TestServiceCacheImpl.java b/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/TestServiceCacheImpl.java deleted file mode 100644 index 9dbd6724b0..0000000000 --- a/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/TestServiceCacheImpl.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.http; - -import java.io.IOException; - -import javax.servlet.Servlet; -import javax.servlet.ServletConfig; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; - -import org.oasisopen.sca.annotation.Service; - -/** - * Test service implementation. - * - * @version $Rev$ $Date$ - */ - -@Service(Servlet.class) -public class TestServiceCacheImpl implements Servlet { - - public void init(ServletConfig config) throws ServletException { - } - - public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { - //HttpServletResponse httpResponse = (HttpServletResponse)response; - response.getOutputStream().print("

hey"); - } - - public void destroy() { - } - - public ServletConfig getServletConfig() { - return null; - } - - public String getServletInfo() { - return null; - } - -} diff --git a/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/TestServiceImpl.java b/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/TestServiceImpl.java deleted file mode 100644 index 90cca27655..0000000000 --- a/java/sca/contrib/modules/binding-http-runtime/src/test/java/org/apache/tuscany/sca/binding/http/TestServiceImpl.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.http; - -import java.io.IOException; - -import javax.servlet.Servlet; -import javax.servlet.ServletConfig; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; - -import org.oasisopen.sca.annotation.Service; - -/** - * Test service implementation. - * - * @version $Rev$ $Date$ - */ - -@Service(Servlet.class) -public class TestServiceImpl implements Servlet { - - public void init(ServletConfig config) throws ServletException { - } - - public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { - //HttpServletResponse httpResponse = (HttpServletResponse)response; - response.getOutputStream().print("

hey"); - } - - public void destroy() { - } - - public ServletConfig getServletConfig() { - return null; - } - - public String getServletInfo() { - return null; - } - -} diff --git a/java/sca/contrib/modules/binding-http-runtime/src/test/resources/content/test.html b/java/sca/contrib/modules/binding-http-runtime/src/test/resources/content/test.html deleted file mode 100644 index f4b79d7f01..0000000000 --- a/java/sca/contrib/modules/binding-http-runtime/src/test/resources/content/test.html +++ /dev/null @@ -1,21 +0,0 @@ - - -

hello - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-http-runtime/src/test/resources/test.composite b/java/sca/contrib/modules/binding-http-runtime/src/test/resources/test.composite deleted file mode 100644 index 62c4af4e22..0000000000 --- a/java/sca/contrib/modules/binding-http-runtime/src/test/resources/test.composite +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-http-runtime/src/test/resources/testCache.composite b/java/sca/contrib/modules/binding-http-runtime/src/test/resources/testCache.composite deleted file mode 100644 index d805402c4f..0000000000 --- a/java/sca/contrib/modules/binding-http-runtime/src/test/resources/testCache.composite +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-http/LICENSE b/java/sca/contrib/modules/binding-http/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/binding-http/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/java/sca/contrib/modules/binding-http/NOTICE b/java/sca/contrib/modules/binding-http/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/binding-http/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-http/pom.xml b/java/sca/contrib/modules/binding-http/pom.xml deleted file mode 100644 index 79e49e9c5d..0000000000 --- a/java/sca/contrib/modules/binding-http/pom.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-http - Apache Tuscany SCA HTTP Binding Model - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-java-xml - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-data-api - 2.0-SNAPSHOT - - - - javax.servlet - servlet-api - 2.5 - provided - - - - junit - junit - 4.5 - test - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.http - ${pom.name} - org.apache.tuscany.sca.binding.http* - org.apache.tuscany.sca.assembly.xml;version="1.4", * - - - - - - - diff --git a/java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPBinding.java b/java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPBinding.java deleted file mode 100644 index 6192b92dfe..0000000000 --- a/java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPBinding.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.http; - -import org.apache.tuscany.sca.assembly.Binding; - - -/** - * HTTP binding model. - * - * @version $Rev$ $Date$ -*/ -public interface HTTPBinding extends Binding { -} diff --git a/java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPBindingFactory.java b/java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPBindingFactory.java deleted file mode 100644 index 370e4cdb67..0000000000 --- a/java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPBindingFactory.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.http; - -/** - * Factory for the HTTP binding model. - * - * @version $Rev$ $Date$ - */ -public interface HTTPBindingFactory { - - /** - * Creates a new HTTP binding. - * @return a new HTTP binding - */ - HTTPBinding createHTTPResourceBinding(); - -} diff --git a/java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPCacheContext.java b/java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPCacheContext.java deleted file mode 100644 index 023423f0eb..0000000000 --- a/java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPCacheContext.java +++ /dev/null @@ -1,257 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.http; - -import java.text.SimpleDateFormat; -import java.util.Date; - -import javax.servlet.http.HttpServletRequest; - -/** - * A class to store cache settings for Atom and HTTP requests and responses. - * - * Predicates are statements that work in conjunction with - * ETags and LastModified dates to determine if a precondition - * or postcondition is satisfied. - * See HTTP specification for how predicates wrk: - * http://tools.ietf.org/html/rfc2616 - * Example predicates in HTTP include If-Match, If-None-Match, - * If-Modified-Since, If-Unmodified-Since, If-Range. - - */ -public class HTTPCacheContext { - public static final SimpleDateFormat RFC822DateFormat = new SimpleDateFormat( "EEE, dd MMM yyyy HH:mm:ss Z" ); // RFC 822 date time - - public boolean enabled; - public String eTag; - public String lastModified; - public Date lastModifiedDate; - public boolean ifModifiedSince; - public boolean ifUnmodifiedSince; - public boolean ifMatch; - public boolean ifNoneMatch; - public boolean ifRange; - - /** - * An ETag is a unique ID for an item. It changes when - * a field in the item or the update date changes. - * See HTTP specification for how ETags work: - * http://tools.ietf.org/html/rfc2616 - * @return the eTag - */ - public String getETag() { - return eTag; - } - /** - * @param tag the eTag to set - */ - public void setETag(String tag) { - eTag = tag; - enabled = true; - } - /** - * The LastModified date is the time the item was last - * changed. See HTTP specification for how ETags work: - * http://tools.ietf.org/html/rfc2616 - * @return the lastModified - */ - public String getLastModified() { - return lastModified; - } - /** - * The LastModified date is the time the item was last - * changed. See HTTP specification for how ETags work: - * http://tools.ietf.org/html/rfc2616 - * @return the lastModified - */ - public Date getLastModifiedAsDate() { - return lastModifiedDate; - } - /** - * @param lastModified the lastModified to set - */ - public void setLastModified(String lastModified) throws java.text.ParseException { - this.lastModified = lastModified; - // Catch date formatting on input to help debugging. - lastModifiedDate = RFC822DateFormat.parse( lastModified ); - enabled = true; - } - - /** - * @param lastModified the lastModified to set - */ - public void setLastModified(Date updated) { - this.lastModified = RFC822DateFormat.format( updated ); - lastModifiedDate = updated; - enabled = true; - } - - /** - * @return the ifModifedSince - */ - public boolean isIfModifiedSince() { - return ifModifiedSince; - } - /** - * @param ifModifedSince the ifModifedSince to set - */ - public void setIfModifiedSince(boolean ifModifiedSince) { - this.ifModifiedSince = ifModifiedSince; - if ( ifModifiedSince ) - enabled = true; - } - /** - * @return the ifUnModifiedSince - */ - public boolean isIfUnmodifiedSince() { - return ifUnmodifiedSince; - } - /** - * @param ifUnModifiedSince the ifUnModifiedSince to set - */ - public void setIfUnmodifiedSince(boolean ifUnmodifiedSince) { - this.ifUnmodifiedSince = ifUnmodifiedSince; - if ( ifUnmodifiedSince ) - enabled = true; - } - /** - * @return the ifMatch - */ - public boolean isIfMatch() { - return ifMatch; - } - /** - * @param ifMatch the ifMatch to set - */ - public void setIfMatch(boolean ifMatch) { - this.ifMatch = ifMatch; - if ( ifMatch ) - enabled = true; - } - /** - * @return the ifNoneMatch - */ - public boolean isIfNoneMatch() { - return ifNoneMatch; - } - /** - * @param ifNoneMatch the ifNoneMatch to set - */ - public void setIfNoneMatch(boolean ifNoneMatch) { - this.ifNoneMatch = ifNoneMatch; - if ( ifNoneMatch ) - enabled = true; - } - /** - * @return the ifRange - */ - public boolean isIfRange() { - return ifRange; - } - /** - * @param ifRange the ifRange to set - */ - public void setIfRange(boolean ifRange) { - this.ifRange = ifRange; - if ( ifRange ) - enabled = true; - } - - public String toString() { - final String PREDPREFIX = ", predicates="; - StringBuffer sb = new StringBuffer(PREDPREFIX); - if ( ifMatch || ifNoneMatch || ifModifiedSince || ifUnmodifiedSince || ifRange ) { - if ( ifMatch ) { - if ( sb.length() > PREDPREFIX.length() ) sb.append( ", "); - sb.append("If-Match"); - } - if ( ifNoneMatch ) { - if ( sb.length() > PREDPREFIX.length() ) sb.append( ", "); - sb.append("If-None-Match"); - } - if ( ifModifiedSince ) { - if ( sb.length() > PREDPREFIX.length() ) sb.append( ", "); - sb.append("If-Modified-Since"); - } - if ( ifUnmodifiedSince ) { - if ( sb.length() > PREDPREFIX.length() ) sb.append( ", "); - sb.append("If-UnModified-Since"); - } - if ( ifRange ) { - if ( sb.length() > PREDPREFIX.length() ) sb.append( ", "); - sb.append("If-Range"); - } - } else { - sb.append("null"); - } - - return "eTag=" + eTag + ", lastModified=" + lastModified - + sb.toString(); - } - - /** - * Gets the cache context information (ETag, LastModified, predicates) from the Http request. - * @param request - * @return - */ - public static HTTPCacheContext getCacheContextFromRequest( HttpServletRequest request ) throws java.text.ParseException { - HTTPCacheContext context = new HTTPCacheContext(); - - String eTag = request.getHeader( "If-Match" ); - if ( eTag != null ) { - context.setETag( eTag ); - context.setIfMatch( true ); - } - eTag = request.getHeader( "If-None-Match" ); - if ( eTag != null ) { - context.setETag( eTag ); - context.setIfNoneMatch( true ); - } - String lastModifiedString = request.getHeader( "If-Modified-Since" ); - if ( lastModifiedString != null ) { - context.setLastModified( lastModifiedString ); - context.setIfModifiedSince( true ); - } - lastModifiedString = request.getHeader( "If-Unmodified-Since" ); - if ( lastModifiedString != null ) { - context.setLastModified( lastModifiedString ); - context.setIfUnmodifiedSince( true ); - } - lastModifiedString = request.getHeader( "If-Range" ); - if ( lastModifiedString != null ) { - context.setLastModified( lastModifiedString ); - context.setIfRange( true ); - } - return context; - } - /** - * Enabled is true whenever ETag, LastModified, or predicate is set. - * @return the enabled - */ - public boolean isEnabled() { - return enabled; - } - /** - * @param enabled the enabled to set - */ - public void setEnabled(boolean enabled) { - this.enabled = enabled; - } -} diff --git a/java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPHeader.java b/java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPHeader.java deleted file mode 100644 index 69e44cf35c..0000000000 --- a/java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/HTTPHeader.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.binding.http; - -public class HTTPHeader { - private String name; - private Object value; - - public HTTPHeader() { - - } - - public HTTPHeader(String name, Object value) { - this.name = name; - this.value = value; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public Object getValue() { - return value; - } - - public void setValue(Object value) { - this.value = value; - } - -} diff --git a/java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/impl/HTTPBindingFactoryImpl.java b/java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/impl/HTTPBindingFactoryImpl.java deleted file mode 100644 index 7e72b7dd85..0000000000 --- a/java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/impl/HTTPBindingFactoryImpl.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.http.impl; - -import org.apache.tuscany.sca.binding.http.HTTPBinding; -import org.apache.tuscany.sca.binding.http.HTTPBindingFactory; - -/** - * Factory for the HTTP binding model. - * - * @version $Rev$ $Date$ - */ -public class HTTPBindingFactoryImpl implements HTTPBindingFactory { - - public HTTPBinding createHTTPResourceBinding() { - return new HTTPBindingImpl(); - } - -} diff --git a/java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/impl/HTTPBindingImpl.java b/java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/impl/HTTPBindingImpl.java deleted file mode 100644 index 6d4bf92adc..0000000000 --- a/java/sca/contrib/modules/binding-http/src/main/java/org/apache/tuscany/sca/binding/http/impl/HTTPBindingImpl.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.binding.http.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.binding.http.HTTPBinding; -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 HTTP binding model. - * - * @version $Rev$ $Date$ - */ -class HTTPBindingImpl implements HTTPBinding, PolicySetAttachPoint { - - private String name; - private String uri; - - private List requiredIntents = new ArrayList(); - private List policySets = new ArrayList(); - private IntentAttachPointType intentAttachPointType; - private List applicablePolicySets = new ArrayList(); - - - 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 sample binding is always resolved - } - - //Policy related getters/setters - - public List getPolicySets() { - return policySets; - } - - public List getRequiredIntents() { - return requiredIntents; - } - - public IntentAttachPointType getType() { - return intentAttachPointType; - } - - public void setType(IntentAttachPointType intentAttachPointType) { - this.intentAttachPointType = intentAttachPointType; - } - - public void setPolicySets(List policySets) { - this.policySets = policySets; - } - - public void setRequiredIntents(List intents) { - this.requiredIntents = intents; - } - - public List getApplicablePolicySets() { - return applicablePolicySets; - } - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - -} diff --git a/java/sca/contrib/modules/binding-http/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.http.HTTPBindingFactory b/java/sca/contrib/modules/binding-http/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.http.HTTPBindingFactory deleted file mode 100644 index 44da6b166c..0000000000 --- a/java/sca/contrib/modules/binding-http/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.http.HTTPBindingFactory +++ /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.binding.http.impl.HTTPBindingFactoryImpl diff --git a/java/sca/contrib/modules/binding-http/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/binding-http/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index cc07784cb7..0000000000 --- a/java/sca/contrib/modules/binding-http/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.assembly.xml.DefaultBeanModelProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#binding.http,model=org.apache.tuscany.sca.binding.http.HTTPBinding,factory=org.apache.tuscany.sca.binding.http.HTTPBindingFactory diff --git a/java/sca/contrib/modules/binding-jms-policy/LICENSE b/java/sca/contrib/modules/binding-jms-policy/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/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/java/sca/contrib/modules/binding-jms-policy/NOTICE b/java/sca/contrib/modules/binding-jms-policy/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-jms-policy/pom.xml b/java/sca/contrib/modules/binding-jms-policy/pom.xml deleted file mode 100644 index e03e03bf23..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/pom.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-binding-jms-policy - Apache Tuscany Policy Model for JMS binding - - - - org.apache.tuscany.sca - tuscany-contribution - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-assembly-xml - 2.0-SNAPSHOT - - - - org.apache.geronimo.specs - geronimo-jms_1.1_spec - 1.1 - provided - - - org.apache.geronimo.specs - geronimo-jms_1.1_spec - - - - - - org.apache.tuscany.sca - tuscany-binding-jms - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-policy-reliability - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-policy-security - 2.0-SNAPSHOT - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.jms.policy - ${pom.name} - org.apache.tuscany.sca.binding.jms.policy* - - - - - - - diff --git a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/JMSBindingDefinitionsProvider.java b/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/JMSBindingDefinitionsProvider.java deleted file mode 100644 index de54545f7e..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/JMSBindingDefinitionsProvider.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.binding.jms.policy; - -import java.net.URI; -import java.net.URL; -import java.security.AccessController; -import java.security.PrivilegedExceptionAction; - -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.service.ContributionReadException; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.definitions.SCADefinitions; -import org.apache.tuscany.sca.provider.SCADefinitionsProvider; -import org.apache.tuscany.sca.provider.SCADefinitionsProviderException; - -/** - * Provider for Policy Intents and PolicySet definitions for the JMS binding - * - * @version $Rev$ $Date$ - */ -public class JMSBindingDefinitionsProvider implements SCADefinitionsProvider { - private String definitionsFile = "org/apache/tuscany/sca/binding/jms/policy/definitions.xml"; - URLArtifactProcessor urlArtifactProcessor = null; - - public JMSBindingDefinitionsProvider(ExtensionPointRegistry registry) { - URLArtifactProcessorExtensionPoint documentProcessors = registry.getExtensionPoint(URLArtifactProcessorExtensionPoint.class); - urlArtifactProcessor = (URLArtifactProcessor)documentProcessors.getProcessor(SCADefinitions.class); - } - - public SCADefinitions getSCADefinition() throws SCADefinitionsProviderException { - final URL definitionsFileUrl = getClass().getClassLoader().getResource(definitionsFile); - SCADefinitions scaDefn = null; - try { - final URI uri = new URI(definitionsFile); - // Allow bindings to read properties. Requires PropertyPermission read in security policy. - scaDefn = AccessController.doPrivileged(new PrivilegedExceptionAction() { - public SCADefinitions run() throws ContributionReadException { - return (SCADefinitions)urlArtifactProcessor.read(null, uri, definitionsFileUrl); - } - }); - } catch (Exception e) { - throw new SCADefinitionsProviderException(e); - } - return scaDefn; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationPolicy.java b/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationPolicy.java deleted file mode 100644 index 16ed2a53a4..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationPolicy.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.jms.policy.authentication.token; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.policy.Policy; - -/** - * Implementation for policies that could be injected as parameter - * into the axis2config. - * - * @version $Rev$ $Date$ - */ -public class JMSTokenAuthenticationPolicy implements Policy { - public static final QName JMS_TOKEN_AUTHENTICATION_POLICY_QNAME = new QName(Constants.SCA10_TUSCANY_NS, "jmsTokenAuthentication"); - public static final String JMS_TOKEN_AUTHENTICATION_TOKEN_NAME = "tokenName"; - - private QName tokenName; - - public QName getTokenName() { - return tokenName; - } - - public void setTokenName(QName tokenName) { - this.tokenName = tokenName; - } - - public QName getSchemaName() { - return JMS_TOKEN_AUTHENTICATION_POLICY_QNAME; - } - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - } -} diff --git a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationPolicyProcessor.java b/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationPolicyProcessor.java deleted file mode 100644 index 11747914da..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationPolicyProcessor.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.binding.jms.policy.authentication.token; - -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; - -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.binding.jms.policy.header.JMSHeaderPolicy; -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.monitor.Monitor; - -/** - * - * @version $Rev$ $Date$ - */ -public class JMSTokenAuthenticationPolicyProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor { - - public QName getArtifactType() { - return JMSTokenAuthenticationPolicy.JMS_TOKEN_AUTHENTICATION_POLICY_QNAME; - } - - public JMSTokenAuthenticationPolicyProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - } - - - public JMSTokenAuthenticationPolicy read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - JMSTokenAuthenticationPolicy policy = new JMSTokenAuthenticationPolicy(); - int event = reader.getEventType(); - QName name = null; - - while (reader.hasNext()) { - event = reader.getEventType(); - switch (event) { - case START_ELEMENT : { - name = reader.getName(); - if ( name.equals(getArtifactType()) ) { - policy.setTokenName(getQName(reader, JMSTokenAuthenticationPolicy.JMS_TOKEN_AUTHENTICATION_TOKEN_NAME)); - } - break; - } - } - - if ( event == END_ELEMENT ) { - if ( getArtifactType().equals(reader.getName()) ) { - break; - } - } - - //Read the next element - if (reader.hasNext()) { - reader.next(); - } - } - - return policy; - } - - public void write(JMSTokenAuthenticationPolicy policy, XMLStreamWriter writer) - throws ContributionWriteException, XMLStreamException { - String prefix = "tuscany"; - writer.writeStartElement(prefix, - getArtifactType().getLocalPart(), - getArtifactType().getNamespaceURI()); - writer.writeNamespace("tuscany", Constants.SCA10_TUSCANY_NS); - - if ( policy.getTokenName() != null ) { - writer.writeAttribute(prefix, - getArtifactType().getNamespaceURI(), - JMSTokenAuthenticationPolicy.JMS_TOKEN_AUTHENTICATION_TOKEN_NAME, - policy.getTokenName().toString()); - } - - writer.writeEndElement(); - } - - public Class getModelType() { - return JMSTokenAuthenticationPolicy.class; - } - - public void resolve(JMSTokenAuthenticationPolicy arg0, ModelResolver arg1) throws ContributionResolveException { - - } - -} diff --git a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationPolicyProviderFactory.java b/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationPolicyProviderFactory.java deleted file mode 100644 index fd77e57418..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationPolicyProviderFactory.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.jms.policy.authentication.token; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.PolicyProviderFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public class JMSTokenAuthenticationPolicyProviderFactory implements PolicyProviderFactory { - private ExtensionPointRegistry registry; - - public JMSTokenAuthenticationPolicyProviderFactory(ExtensionPointRegistry registry) { - super(); - this.registry = registry; - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createImplementationPolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.assembly.Implementation) - */ - public PolicyProvider createImplementationPolicyProvider(RuntimeComponent component, Implementation implementation) { - return null;//new TokenAuthenticationImplementationPolicyProvider(component, implementation); - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createReferencePolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentReference, org.apache.tuscany.sca.assembly.Binding) - */ - public PolicyProvider createReferencePolicyProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - return new JMSTokenAuthenticationReferencePolicyProvider(component, reference, binding); - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createServicePolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentService, org.apache.tuscany.sca.assembly.Binding) - */ - public PolicyProvider createServicePolicyProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding) { - return new JMSTokenAuthenticationServicePolicyProvider(component, service, binding); - } - - /** - * @see org.apache.tuscany.sca.provider.ProviderFactory#getModelType() - */ - public Class getModelType() { - // TODO Auto-generated method stub - return null; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationReferencePolicyInterceptor.java b/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationReferencePolicyInterceptor.java deleted file mode 100644 index 17b5da42be..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationReferencePolicyInterceptor.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.jms.policy.authentication.token; - - -import javax.security.auth.Subject; - -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.SecurityUtil; -import org.apache.tuscany.sca.policy.authentication.token.TokenPrincipal; - -/** - * Policy handler to handle PolicySet related to Logging with the QName - * {http://tuscany.apache.org/xmlns/sca/1.0/impl/java}LoggingPolicy - * - * @version $Rev$ $Date$ - */ -public class JMSTokenAuthenticationReferencePolicyInterceptor implements Interceptor { - - private Invoker next; - private Operation operation; - private PolicySet policySet = null; - private String context; - private JMSTokenAuthenticationPolicy policy; - - public JMSTokenAuthenticationReferencePolicyInterceptor(String context, Operation operation, PolicySet policySet) { - super(); - this.operation = operation; - this.policySet = policySet; - this.context = context; - init(); - } - - private void init() { - if (policySet != null) { - for (Object policyObject : policySet.getPolicies()){ - if (policyObject instanceof JMSTokenAuthenticationPolicy){ - policy = (JMSTokenAuthenticationPolicy)policyObject; - break; - } - } - } - } - - public Message invoke(Message msg) { - // could call out here to some 3rd party system to get credentials - - if ( policy.getTokenName() != null){ - - Subject subject = SecurityUtil.getSubject(msg); - TokenPrincipal principal = SecurityUtil.getPrincipal(subject, TokenPrincipal.class); - - if (principal == null){ - principal = new TokenPrincipal("SomeJMSAuthorizationToken"); - subject.getPrincipals().add(principal); - } - } - - return getNext().invoke(msg); - } - - public Invoker getNext() { - return next; - } - - public void setNext(Invoker next) { - this.next = next; - } -} diff --git a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationReferencePolicyProvider.java b/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationReferencePolicyProvider.java deleted file mode 100644 index 610bf758d1..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationReferencePolicyProvider.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.jms.policy.authentication.token; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Phase; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.util.PolicyHandler; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; - -/** - * @version $Rev$ $Date$ - */ -public class JMSTokenAuthenticationReferencePolicyProvider implements PolicyProvider { - private RuntimeComponent component; - private RuntimeComponentReference reference; - private Binding binding; - - public JMSTokenAuthenticationReferencePolicyProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - super(); - this.component = component; - this.reference = reference; - this.binding = binding; - } - - private PolicySet findPolicySet() { - if (binding instanceof PolicySetAttachPoint) { - List policySets = ((PolicySetAttachPoint)binding).getApplicablePolicySets(); - for (PolicySet ps : policySets) { - for (Object p : ps.getPolicies()) { - if (JMSTokenAuthenticationPolicy.class.isInstance(p)) { - return ps; - } - } - } - } - return null; - } - - private String getContext() { - return "component.reference: " + component.getURI() - + "#" - + reference.getName() - + "(" - + binding.getClass().getName() - + ")"; - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProvider#createInterceptor(org.apache.tuscany.sca.interfacedef.Operation) - */ - public Interceptor createInterceptor(Operation operation) { - PolicySet ps = findPolicySet(); - return ps == null ? null : new JMSTokenAuthenticationReferencePolicyInterceptor(getContext(), operation, ps); - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProvider#getPhase() - */ - public String getPhase() { - return Phase.REFERENCE_POLICY; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationServicePolicyInterceptor.java b/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationServicePolicyInterceptor.java deleted file mode 100644 index ec3be6e165..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationServicePolicyInterceptor.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.jms.policy.authentication.token; - - -import java.security.Principal; - -import javax.security.auth.Subject; -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.SecurityUtil; -import org.apache.tuscany.sca.policy.authentication.token.TokenPrincipal; - -/** - * Policy handler to handle PolicySet related to Logging with the QName - * {http://tuscany.apache.org/xmlns/sca/1.0/impl/java}LoggingPolicy - * - * @version $Rev$ $Date$ - */ -public class JMSTokenAuthenticationServicePolicyInterceptor implements Interceptor { - private Invoker next; - private Operation operation; - private PolicySet policySet = null; - private String context; - private JMSTokenAuthenticationPolicy policy; - - public JMSTokenAuthenticationServicePolicyInterceptor(String context, Operation operation, PolicySet policySet) { - super(); - this.operation = operation; - this.policySet = policySet; - this.context = context; - init(); - } - - private void init() { - if (policySet != null) { - for (Object policyObject : policySet.getPolicies()){ - if (policyObject instanceof JMSTokenAuthenticationPolicy){ - policy = (JMSTokenAuthenticationPolicy)policyObject; - break; - } - } - } - } - - public Message invoke(Message msg) { - Subject subject = SecurityUtil.getSubject(msg); - TokenPrincipal principal = SecurityUtil.getPrincipal(subject, TokenPrincipal.class); - - if (principal != null) { - System.out.println("Token: " + principal.getName()); - - // call out here to some 3rd party system to do whatever you - // need to authenticate the principal - } - - return getNext().invoke(msg); - } - - public Invoker getNext() { - return next; - } - - public void setNext(Invoker next) { - this.next = next; - } -} diff --git a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationServicePolicyProvider.java b/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationServicePolicyProvider.java deleted file mode 100644 index 4278c1e595..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/authentication/token/JMSTokenAuthenticationServicePolicyProvider.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.binding.jms.policy.authentication.token; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Phase; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.util.PolicyHandler; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public class JMSTokenAuthenticationServicePolicyProvider implements PolicyProvider { - private RuntimeComponent component; - private RuntimeComponentService service; - private Binding binding; - - public JMSTokenAuthenticationServicePolicyProvider(RuntimeComponent component, RuntimeComponentService service, Binding binding) { - super(); - this.component = component; - this.service = service; - this.binding = binding; - } - - private PolicySet findPolicySet() { - if (binding instanceof PolicySetAttachPoint) { - List policySets = ((PolicySetAttachPoint)binding).getApplicablePolicySets(); - for (PolicySet ps : policySets) { - for (Object p : ps.getPolicies()) { - if (JMSTokenAuthenticationPolicy.class.isInstance(p)) { - return ps; - } - } - } - } - return null; - } - - private String getContext() { - return "component.service: " + component.getURI() - + "#" - + service.getName() - + "(" - + binding.getClass().getName() - + ")"; - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProvider#createInterceptor(org.apache.tuscany.sca.interfacedef.Operation) - */ - public Interceptor createInterceptor(Operation operation) { - PolicySet ps = findPolicySet(); - return ps == null ? null : new JMSTokenAuthenticationServicePolicyInterceptor(getContext(), operation, ps); - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProvider#getPhase() - */ - public String getPhase() { - return Phase.SERVICE_POLICY; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderPolicy.java b/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderPolicy.java deleted file mode 100644 index 1c16e3fa1b..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderPolicy.java +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.policy.header; - -import java.util.Hashtable; -import java.util.Map; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.policy.Policy; - -/** - * Implementation for policies that could be injected as parameter - * into the axis2config. - * - * @version $Rev$ $Date$ - */ -public class JMSHeaderPolicy implements Policy { - public static final QName JMS_HEADER_POLICY_QNAME = new QName(Constants.SCA10_TUSCANY_NS, "jmsHeader"); - public static final String JMS_HEADER_JMS_TYPE = "JMSType"; - public static final String JMS_HEADER_JMS_CORRELATION_ID = "JMSCorrelationID"; - public static final String JMS_HEADER_JMS_DELIVERY_MODE = "JMSDeliveryMode"; - public static final String JMS_HEADER_JMS_TIME_TO_LIVE = "JMSTimeToLive"; - public static final String JMS_HEADER_JMS_PRIORITY = "JMSPriority"; - public static final String JMS_HEADER_JMS_PROPERTY = "property"; - public static final String JMS_HEADER_JMS_PROPERTY_NAME = "name"; - - private String jmsType = null; - private String jmsCorrelationId = null; - private Boolean deliveryModePersistent = null; - private Long timeToLive = null; - private Integer jmsPriority = null; - private Map properties = new Hashtable(); - - public String getJmsType() { - return jmsType; - } - - public void setJmsType(String jmsType) { - this.jmsType = jmsType; - } - - public String getJmsCorrelationId() { - return jmsCorrelationId; - } - - public void setJmsCorrelationId(String jmsCorrelationId) { - this.jmsCorrelationId = jmsCorrelationId; - } - - public Boolean getDeliveryModePersistent() { - return deliveryModePersistent; - } - - public void setDeliveryModePersistent(Boolean deliveryModePersistent) { - this.deliveryModePersistent = deliveryModePersistent; - } - - public Long getTimeToLive() { - return timeToLive; - } - - public void setTimeToLive(Long timeToLive) { - this.timeToLive = timeToLive; - } - - public Integer getJmsPriority() { - return jmsPriority; - } - - public void setJmsPriority(Integer jmsPriority) { - this.jmsPriority = jmsPriority; - } - - public Map getProperties() { - return properties; - } - - public QName getSchemaName() { - return JMS_HEADER_POLICY_QNAME; - } - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - } - - @Override - public String toString() { - String result = "jmsHeader"; - - result += " JMSType "; - result += getJmsType(); - result += " JMSDeliveryMode "; - result += getJmsCorrelationId(); - result += " JMSDeliveryMode "; - result += getDeliveryModePersistent(); - result += " JMSTimeToLive "; - result += getTimeToLive(); - result += " JMSPriority "; - result += getJmsPriority(); - - for (String propertyName : properties.keySet()){ - result += " property "; - result += propertyName; - result += " "; - result += properties.get(propertyName); - } - - return result; - } -} diff --git a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderPolicyProcessor.java b/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderPolicyProcessor.java deleted file mode 100644 index d6167b4895..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderPolicyProcessor.java +++ /dev/null @@ -1,210 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.policy.header; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; -import static javax.xml.stream.XMLStreamConstants.START_ELEMENT; - -import java.util.Hashtable; -import java.util.Map; -import java.util.logging.Level; - -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.builder.impl.ProblemImpl; -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.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * - * @version $Rev$ $Date$ - */ -public class JMSHeaderPolicyProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor { - - private Monitor monitor; - - public QName getArtifactType() { - return JMSHeaderPolicy.JMS_HEADER_POLICY_QNAME; - } - - public JMSHeaderPolicyProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - this.monitor = monitor; - } - - /** - * Marshals warnings into the monitor - * - * @param message - * @param model - * @param messageParameters - */ - protected void warning(String message, Object model, String... messageParameters) { - if (monitor != null){ - Problem problem = new ProblemImpl(this.getClass().getName(), "assembly-xml-validation-messages", Severity.WARNING, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Marshals errors into the monitor - * - * @param problems - * @param message - * @param model - */ - protected void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "assembly-xml-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - - public JMSHeaderPolicy read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - JMSHeaderPolicy policy = new JMSHeaderPolicy(); - int event = reader.getEventType(); - QName name = null; - - while (reader.hasNext()) { - event = reader.getEventType(); - switch (event) { - case START_ELEMENT : { - name = reader.getName(); - if ( name.equals(getArtifactType()) ) { - - policy.setJmsType(getString(reader, JMSHeaderPolicy.JMS_HEADER_JMS_TYPE)); - policy.setJmsCorrelationId(getString(reader, JMSHeaderPolicy.JMS_HEADER_JMS_CORRELATION_ID)); - - String deliveryMode = getString(reader, JMSHeaderPolicy.JMS_HEADER_JMS_DELIVERY_MODE); - if (deliveryMode != null){ - if (deliveryMode.equals("PERSISTENT")) { - policy.setDeliveryModePersistent(true); - } else if (deliveryMode.equals("NON_PERSISTENT")){ - policy.setDeliveryModePersistent(false); - } else { - error("InvalidDeliveryMode", policy, deliveryMode); - } - } - - String timeToLive = getString(reader, JMSHeaderPolicy.JMS_HEADER_JMS_TIME_TO_LIVE); - - if ( timeToLive != null){ - try { - policy.setTimeToLive(Long.valueOf(timeToLive)); - } catch (NumberFormatException ex){ - error("InvalidTimeToLive", policy, timeToLive); - } - } - - String priority = getString(reader, JMSHeaderPolicy.JMS_HEADER_JMS_PRIORITY); - - if ( priority != null){ - try { - policy.setJmsPriority(Integer.valueOf(priority)); - } catch (NumberFormatException ex){ - error("InvalidPriority", policy, priority); - } - } - } else if (name.getLocalPart().equals(JMSHeaderPolicy.JMS_HEADER_JMS_PROPERTY)) { - String propertyName = getString(reader, JMSHeaderPolicy.JMS_HEADER_JMS_PROPERTY_NAME); - String propertyValue = reader.getElementText(); - policy.getProperties().put(propertyName, propertyValue); - } - break; - } - } - - if ( event == END_ELEMENT ) { - if ( getArtifactType().equals(reader.getName()) ) { - break; - } - } - - //Read the next element - if (reader.hasNext()) { - reader.next(); - } - } - - return policy; - } - - public void write(JMSHeaderPolicy policy, XMLStreamWriter writer) - throws ContributionWriteException, XMLStreamException { - String prefix = "tuscany"; - writer.writeStartElement(prefix, - getArtifactType().getLocalPart(), - getArtifactType().getNamespaceURI()); - writer.writeNamespace("tuscany", Constants.SCA10_TUSCANY_NS); - - if (policy.getJmsType() != null){ - writer.writeAttribute(JMSHeaderPolicy.JMS_HEADER_JMS_TYPE, policy.getJmsType()); - } - - if (policy.getJmsCorrelationId() != null){ - writer.writeAttribute(JMSHeaderPolicy.JMS_HEADER_JMS_CORRELATION_ID, policy.getJmsCorrelationId()); - } - - if (policy.getDeliveryModePersistent() == true){ - writer.writeAttribute(JMSHeaderPolicy.JMS_HEADER_JMS_DELIVERY_MODE, "PERSISTENT"); - } else { - writer.writeAttribute(JMSHeaderPolicy.JMS_HEADER_JMS_DELIVERY_MODE, "NON_PERSISTENT"); - } - - if (policy.getTimeToLive()!= null){ - writer.writeAttribute(JMSHeaderPolicy.JMS_HEADER_JMS_TIME_TO_LIVE, policy.getTimeToLive().toString()); - } - - if (policy.getJmsPriority()!= null){ - writer.writeAttribute(JMSHeaderPolicy.JMS_HEADER_JMS_PRIORITY, policy.getJmsPriority().toString()); - } - - for (String propertyName : policy.getProperties().keySet()){ - writer.writeStartElement(prefix, - JMSHeaderPolicy.JMS_HEADER_JMS_PROPERTY, - getArtifactType().getNamespaceURI()); - writer.writeAttribute(JMSHeaderPolicy.JMS_HEADER_JMS_PROPERTY_NAME, propertyName); - writer.writeCharacters(policy.getProperties().get(propertyName)); - writer.writeEndElement(); - } - - writer.writeEndElement(); - } - - public Class getModelType() { - return JMSHeaderPolicy.class; - } - - public void resolve(JMSHeaderPolicy arg0, ModelResolver arg1) throws ContributionResolveException { - - } - -} diff --git a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderPolicyProviderFactory.java b/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderPolicyProviderFactory.java deleted file mode 100644 index ded3da05b9..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderPolicyProviderFactory.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.jms.policy.header; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.PolicyProviderFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public class JMSHeaderPolicyProviderFactory implements PolicyProviderFactory { - private ExtensionPointRegistry registry; - - public JMSHeaderPolicyProviderFactory(ExtensionPointRegistry registry) { - super(); - this.registry = registry; - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createImplementationPolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.assembly.Implementation) - */ - public PolicyProvider createImplementationPolicyProvider(RuntimeComponent component, Implementation implementation) { - return null; - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createReferencePolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentReference, org.apache.tuscany.sca.assembly.Binding) - */ - public PolicyProvider createReferencePolicyProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - return new JMSHeaderReferencePolicyProvider(component, reference, binding); - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createServicePolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentService, org.apache.tuscany.sca.assembly.Binding) - */ - public PolicyProvider createServicePolicyProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding) { - return null; - } - - /** - * @see org.apache.tuscany.sca.provider.ProviderFactory#getModelType() - */ - public Class getModelType() { - // TODO Auto-generated method stub - return null; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderReferencePolicyInterceptor.java b/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderReferencePolicyInterceptor.java deleted file mode 100644 index 19069378ef..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderReferencePolicyInterceptor.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.policy.header; - - -import java.util.Map; - -import javax.jms.DeliveryMode; -import javax.jms.JMSException; -import javax.security.auth.Subject; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; -import org.apache.tuscany.sca.binding.jms.impl.JMSBindingException; -import org.apache.tuscany.sca.binding.jms.policy.JMSBindingDefinitionsProvider; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.SecurityUtil; -import org.apache.tuscany.sca.policy.authentication.token.TokenPrincipal; -import org.apache.tuscany.sca.runtime.ReferenceParameters; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; - -/** - * Policy handler to handle PolicySet related to Logging with the QName - * {http://tuscany.apache.org/xmlns/sca/1.0/impl/java}LoggingPolicy - * - * @version $Rev$ $Date$ - */ -public class JMSHeaderReferencePolicyInterceptor implements Interceptor { - - private Invoker next; - private RuntimeComponent component; - private RuntimeComponentReference reference; - private JMSBinding jmsBinding; - private PolicySet policySet = null; - private String context; - private JMSHeaderPolicy jmsHeaderPolicy; - - public JMSHeaderReferencePolicyInterceptor(String context, RuntimeComponent component, RuntimeComponentReference reference, Binding binding, PolicySet policySet) { - super(); - this.component = component; - this.reference = reference; - this.jmsBinding = (JMSBinding)binding; - this.policySet = policySet; - this.context = context; - - init(); - } - - private void init() { - if (policySet != null) { - for (Object policyObject : policySet.getPolicies()){ - if (policyObject instanceof JMSHeaderPolicy){ - jmsHeaderPolicy = (JMSHeaderPolicy)policyObject; - break; - } - } - } - } - - public Message invoke(Message msg) { - try { - javax.jms.Message jmsMsg = msg.getBody(); - String operationName = msg.getOperation().getName(); - - if ((jmsHeaderPolicy != null) && - (jmsHeaderPolicy.getDeliveryModePersistent() != null)) { - if (jmsHeaderPolicy.getDeliveryModePersistent()) { - jmsMsg.setJMSDeliveryMode(DeliveryMode.PERSISTENT); - } else { - jmsMsg.setJMSDeliveryMode(DeliveryMode.NON_PERSISTENT); - } - - } - - if ((jmsHeaderPolicy != null) && - (jmsHeaderPolicy.getJmsCorrelationId() != null)) { - jmsMsg.setJMSCorrelationID(jmsHeaderPolicy.getJmsCorrelationId()); - } - - if ((jmsHeaderPolicy != null) && - (jmsHeaderPolicy.getJmsPriority() != null)) { - jmsMsg.setJMSPriority(jmsHeaderPolicy.getJmsPriority()); - } - - if ((jmsHeaderPolicy != null) && - (jmsHeaderPolicy.getJmsType() != null)) { - jmsMsg.setJMSType(jmsHeaderPolicy.getJmsType()); - } - - if (jmsHeaderPolicy != null){ - for (String propName : jmsHeaderPolicy.getProperties().keySet()) { - jmsMsg.setObjectProperty(propName, jmsHeaderPolicy.getProperties().get(propName)); - } - } - - return getNext().invoke(msg); - } catch (JMSException e) { - throw new JMSBindingException(e); - } - } - - public Invoker getNext() { - return next; - } - - public void setNext(Invoker next) { - this.next = next; - } -} diff --git a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderReferencePolicyProvider.java b/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderReferencePolicyProvider.java deleted file mode 100644 index 7a9318407e..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/src/main/java/org/apache/tuscany/sca/binding/jms/policy/header/JMSHeaderReferencePolicyProvider.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.binding.jms.policy.header; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Phase; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.util.PolicyHandler; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.PolicyProviderRRB; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; - -/** - * @version $Rev$ $Date$ - */ -public class JMSHeaderReferencePolicyProvider implements PolicyProviderRRB { - private RuntimeComponent component; - private RuntimeComponentReference reference; - private Binding binding; - - public JMSHeaderReferencePolicyProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - super(); - this.component = component; - this.reference = reference; - this.binding = binding; - } - - private PolicySet findPolicySet() { - if (binding instanceof PolicySetAttachPoint) { - List policySets = ((PolicySetAttachPoint)binding).getApplicablePolicySets(); - for (PolicySet ps : policySets) { - for (Object p : ps.getPolicies()) { - if (JMSHeaderPolicy.class.isInstance(p)) { - return ps; - } - } - } - } - return null; - } - - private String getContext() { - return "component.reference: " + component.getURI() - + "#" - + reference.getName() - + "(" - + binding.getClass().getName() - + ")"; - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProvider#createInterceptor(org.apache.tuscany.sca.interfacedef.Operation) - */ - public Interceptor createInterceptor(Operation operation) { - return null; - } - - public Interceptor createBindingInterceptor() { - PolicySet ps = findPolicySet(); - return ps == null ? null : new JMSHeaderReferencePolicyInterceptor(getContext(), component, reference, binding, ps); - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProvider#getPhase() - */ - public String getPhase() { - return Phase.REFERENCE_BINDING_POLICY; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/binding-jms-policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index e6f22e327c..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/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.binding.jms.policy.authentication.token.JMSTokenAuthenticationPolicyProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#jmsTokenAuthentication,model=org.apache.tuscany.sca.binding.jms.policy.authentication.token.JMSTokenAuthenticationPolicy -org.apache.tuscany.sca.binding.jms.policy.header.JMSHeaderPolicyProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#jmsHeader,model=org.apache.tuscany.sca.binding.jms.policy.header.JMSHeaderPolicy \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-jms-policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory b/java/sca/contrib/modules/binding-jms-policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory deleted file mode 100644 index b04c71d8e3..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory +++ /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 policy extension -org.apache.tuscany.sca.binding.jms.policy.authentication.token.JMSTokenAuthenticationPolicyProviderFactory;model=org.apache.tuscany.sca.binding.jms.policy.authentication.token.JMSTokenAuthenticationPolicy \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-jms-policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider b/java/sca/contrib/modules/binding-jms-policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider deleted file mode 100644 index 0598cdc368..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider +++ /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 SCA Definitions Providers -org.apache.tuscany.sca.binding.jms.policy.JMSBindingDefinitionsProvider \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-jms-policy/src/main/resources/binding-jms-policy-validation-messages.properties b/java/sca/contrib/modules/binding-jms-policy/src/main/resources/binding-jms-policy-validation-messages.properties deleted file mode 100644 index fd43b2c4e9..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/src/main/resources/binding-jms-policy-validation-messages.properties +++ /dev/null @@ -1,23 +0,0 @@ -# -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# -# -InvalidDeliveryMode = JMSDeliveryMode must be either PERSISTENT or NON_PERSISTENT but found {0} -InvalidTimeToLive = JMSTimeToLive must be a long integer but found {0} -InvalidPriority = JMSPriority must be a integer but found {0} diff --git a/java/sca/contrib/modules/binding-jms-policy/src/main/resources/org/apache/tuscany/sca/binding/jms/policy/definitions.xml b/java/sca/contrib/modules/binding-jms-policy/src/main/resources/org/apache/tuscany/sca/binding/jms/policy/definitions.xml deleted file mode 100644 index 66ec011844..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/src/main/resources/org/apache/tuscany/sca/binding/jms/policy/definitions.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - Communication through this binding requires JMS - - - - - - - This intent is used to indicate the deliver mode - of the sent message - - - - - - Message are sent persistently - - - - - - Message are sent persistently - - - - - - - This intent is used to indicate the priority of the - sent message - - - - - - Messages are high priority - - - - - - Messages are meduim priority - - - - - - Messages are low priority - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-jms-policy/src/test/java/org/apache/tuscany/sca/binding/jms/policy/PolicyProcessorTestCase.java b/java/sca/contrib/modules/binding-jms-policy/src/test/java/org/apache/tuscany/sca/binding/jms/policy/PolicyProcessorTestCase.java deleted file mode 100644 index a9da07ca7d..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/src/test/java/org/apache/tuscany/sca/binding/jms/policy/PolicyProcessorTestCase.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.jms.policy; - -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLOutputFactory; -import javax.xml.stream.XMLStreamConstants; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.binding.jms.policy.authentication.token.JMSTokenAuthenticationPolicy; -import org.apache.tuscany.sca.binding.jms.policy.authentication.token.JMSTokenAuthenticationPolicyProcessor; -import org.apache.tuscany.sca.binding.jms.policy.header.JMSHeaderPolicy; -import org.apache.tuscany.sca.binding.jms.policy.header.JMSHeaderPolicyProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.policy.Policy; -import org.junit.Test; - -/** - * @version $Rev$ $Date$ - */ -public class PolicyProcessorTestCase { - private final static List SEQ = - Arrays.asList("property value", - ""); - - @Test - public void testRead() throws Exception { - List results = new ArrayList(); - Map processors = new HashMap(); - processors.put(JMSHeaderPolicy.JMS_HEADER_POLICY_QNAME, new JMSHeaderPolicyProcessor(null, null)); - processors.put(JMSTokenAuthenticationPolicy.JMS_TOKEN_AUTHENTICATION_POLICY_QNAME, new JMSTokenAuthenticationPolicyProcessor(null, null)); - - InputStream is = getClass().getResourceAsStream("mock_policy_definitions.xml"); - XMLInputFactory inputFactory = XMLInputFactory.newInstance(); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - - XMLOutputFactory outputFactory = XMLOutputFactory.newInstance(); - - while (true) { - int event = reader.getEventType(); - if (event == XMLStreamConstants.START_ELEMENT) { - if ("policySet".equals(reader.getName().getLocalPart())) { - reader.nextTag(); - StAXArtifactProcessor processor = processors.get(reader.getName()); - Policy policy = (Policy)processor.read(reader); - - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - XMLStreamWriter writer = outputFactory.createXMLStreamWriter(outputStream); - processor.write(policy, writer); - writer.flush(); - results.add(outputStream.toString()); - } - } - if (reader.hasNext()) { - reader.next(); - } else { - break; - } - } - Assert.assertEquals(SEQ, results); - } -} diff --git a/java/sca/contrib/modules/binding-jms-policy/src/test/resources/org/apache/tuscany/sca/binding/jms/policy/mock_policy_definitions.xml b/java/sca/contrib/modules/binding-jms-policy/src/test/resources/org/apache/tuscany/sca/binding/jms/policy/mock_policy_definitions.xml deleted file mode 100644 index 3631c682aa..0000000000 --- a/java/sca/contrib/modules/binding-jms-policy/src/test/resources/org/apache/tuscany/sca/binding/jms/policy/mock_policy_definitions.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - property value - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-jms-runtime/LICENSE b/java/sca/contrib/modules/binding-jms-runtime/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/binding-jms-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/java/sca/contrib/modules/binding-jms-runtime/NOTICE b/java/sca/contrib/modules/binding-jms-runtime/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-jms-runtime/pom.xml b/java/sca/contrib/modules/binding-jms-runtime/pom.xml deleted file mode 100644 index c313ec7183..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/pom.xml +++ /dev/null @@ -1,142 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-binding-jms-runtime - Apache Tuscany SCA JMS Binding Runtime - - - - - org.apache.tuscany.sca - tuscany-binding-jms - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-jms-policy - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-sca-api - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-java - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-wsdl - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-databinding-axiom - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-ws-wsdlgen - 2.0-SNAPSHOT - - - - org.apache.geronimo.specs - geronimo-jms_1.1_spec - 1.1 - provided - - - org.apache.geronimo.specs - geronimo-jms_1.1_spec - - - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - test - - - - junit - junit - 4.5 - test - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.jms.runtime - ${pom.name} - org.apache.tuscany.sca.binding.jms.provider* - - - - - - - diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/context/JMSBindingContext.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/context/JMSBindingContext.java deleted file mode 100644 index bc2e783569..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/context/JMSBindingContext.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.context; - -import javax.jms.Destination; -import javax.jms.Message; -import javax.jms.Session; - -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory; - - -/** - * Context that the JMS binding puts on the Tuscany wire - * - * @version $Rev$ $Date$ - */ -public class JMSBindingContext { - - private Message jmsMsg; - private Session jmsSession; - private Destination requestDestination; - private Destination replyToDestination; - private JMSResourceFactory jmsResourceFactory; - - public Message getJmsMsg() { - return jmsMsg; - } - - public void setJmsMsg(Message jmsMsg) { - this.jmsMsg = jmsMsg; - } - - public Session getJmsSession() { - return jmsSession; - } - - public void setJmsSession(Session jmsSession) { - this.jmsSession = jmsSession; - } - - public Destination getRequestDestination() { - return requestDestination; - } - - public void setRequestDestination(Destination requestDestination) { - this.requestDestination = requestDestination; - } - - public Destination getReplyToDestination() { - return replyToDestination; - } - - public void setReplyToDestination(Destination replyToDestination) { - this.replyToDestination = replyToDestination; - } - - // TODO - difficult to get the resource factory into all the JMS providers - // so it's here for the moment - public JMSResourceFactory getJmsResourceFactory() { - return jmsResourceFactory; - } - - public void setJmsResourceFactory(JMSResourceFactory jmsResourceFactory) { - this.jmsResourceFactory = jmsResourceFactory; - } -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/headers/HeaderReferenceInterceptor.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/headers/HeaderReferenceInterceptor.java deleted file mode 100644 index 8a73627ba3..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/headers/HeaderReferenceInterceptor.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.binding.jms.headers; - - - - -import java.util.Map; - -import javax.jms.DeliveryMode; -import javax.jms.JMSException; -import javax.jms.Session; - -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.WireFormat; -import org.apache.tuscany.sca.binding.jms.context.JMSBindingContext; -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.impl.JMSBindingException; -import org.apache.tuscany.sca.binding.jms.provider.JMSBindingServiceBindingProvider; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessor; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessorUtil; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.runtime.ReferenceParameters; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * - * @version $Rev$ $Date$ - */ -public class HeaderReferenceInterceptor implements Interceptor { - - private Invoker next; - private RuntimeWire runtimeWire; - private JMSResourceFactory jmsResourceFactory; - private JMSBinding jmsBinding; - private JMSMessageProcessor requestMessageProcessor; - private JMSMessageProcessor responseMessageProcessor; - private String correlationScheme; - private WireFormat requestWireFormat; - private WireFormat responseWireFormat; - - public HeaderReferenceInterceptor(JMSBinding jmsBinding, JMSResourceFactory jmsResourceFactory, RuntimeWire runtimeWire) { - super(); - this.jmsBinding = jmsBinding; - this.runtimeWire = runtimeWire; - this.jmsResourceFactory = jmsResourceFactory; - this.requestMessageProcessor = JMSMessageProcessorUtil.getRequestMessageProcessor(jmsBinding); - this.responseMessageProcessor = JMSMessageProcessorUtil.getResponseMessageProcessor(jmsBinding); - this.correlationScheme = jmsBinding.getCorrelationScheme(); - - } - - public Message invoke(Message msg) { - - return next.invoke(invokeRequest(msg)); - - } - - public Message invokeRequest(Message tuscanyMsg) { - try { - // get the jms context - JMSBindingContext context = (JMSBindingContext)tuscanyMsg.getHeaders().get(JMSBindingConstants.MSG_CTXT_POSITION); - javax.jms.Message jmsMsg = (javax.jms.Message)tuscanyMsg.getBody(); - - Operation operation = tuscanyMsg.getOperation(); - String operationName = operation.getName(); - RuntimeComponentReference reference = (RuntimeComponentReference)runtimeWire.getSource().getContract(); - - requestMessageProcessor.setOperationName(jmsBinding.getNativeOperationName(operationName), jmsMsg); - - if (jmsBinding.getOperationJMSDeliveryMode(operationName) != null) { - if (jmsBinding.getOperationJMSDeliveryMode(operationName)) { - jmsMsg.setJMSDeliveryMode(DeliveryMode.PERSISTENT); - } else { - jmsMsg.setJMSDeliveryMode(DeliveryMode.NON_PERSISTENT); - } - } - - if (jmsBinding.getOperationJMSCorrelationId(operationName) != null) { - jmsMsg.setJMSCorrelationID(jmsBinding.getOperationJMSCorrelationId(operationName)); - } - - if (jmsBinding.getOperationJMSPriority(operationName) != null) { - jmsMsg.setJMSPriority(jmsBinding.getOperationJMSPriority(operationName)); - } - - if (jmsBinding.getOperationJMSType(operationName) != null) { - jmsMsg.setJMSType(jmsBinding.getOperationJMSType(operationName)); - } - - ReferenceParameters parameters = tuscanyMsg.getFrom().getReferenceParameters(); - - Object conversationID = parameters.getConversationID(); - if (conversationID != null) { - jmsMsg.setStringProperty(JMSBindingConstants.CONVERSATION_ID_PROPERTY, conversationID.toString()); - } - - if (tuscanyMsg.getFrom().getCallbackEndpoint() != null) { - - if (parameters.getCallbackID() != null) { - jmsMsg.setStringProperty(JMSBindingConstants.CALLBACK_ID_PROPERTY, parameters.getCallbackID().toString()); - } - - String callbackDestName = getCallbackDestinationName(reference); - if (callbackDestName != null) { - jmsMsg.setStringProperty(JMSBindingConstants.CALLBACK_Q_PROPERTY, callbackDestName); - } - } - - for (String propName : jmsBinding.getPropertyNames()) { - Object value = jmsBinding.getProperty(propName); - jmsMsg.setObjectProperty(propName, value); - } - - Map operationProperties = jmsBinding.getOperationProperties(operationName); - if (operationProperties != null) { - for (String propName : operationProperties.keySet()) { - Object value = operationProperties.get(propName); - jmsMsg.setObjectProperty(propName, value); - } - } - - return tuscanyMsg; - } catch (JMSException e) { - throw new JMSBindingException(e); - } - } - - - protected String getCallbackDestinationName(RuntimeComponentReference reference) { - RuntimeComponentService s = (RuntimeComponentService)reference.getCallbackService(); - JMSBinding b = s.getBinding(JMSBinding.class); - if (b != null) { - JMSBindingServiceBindingProvider bp = (JMSBindingServiceBindingProvider)s.getBindingProvider(b); - return bp.getDestinationName(); - } - return null; - } - - - public Invoker getNext() { - return next; - } - - public void setNext(Invoker next) { - this.next = next; - } - - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/OperationSelectorJMSDefaultProviderFactory.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/OperationSelectorJMSDefaultProviderFactory.java deleted file mode 100644 index a4d0ccafb3..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/OperationSelectorJMSDefaultProviderFactory.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.jms.operationselector.jmsdefault; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactoryExtensionPoint; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.provider.OperationSelectorProvider; -import org.apache.tuscany.sca.provider.OperationSelectorProviderFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public class OperationSelectorJMSDefaultProviderFactory implements OperationSelectorProviderFactory { - private ExtensionPointRegistry registry; - - public OperationSelectorJMSDefaultProviderFactory(ExtensionPointRegistry registry) { - super(); - this.registry = registry; - } - - /** - */ - public OperationSelectorProvider createReferenceOperationSelectorProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - return null; - } - - /** - */ - public OperationSelectorProvider createServiceOperationSelectorProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding) { - return new OperationSelectorJMSDefaultServiceProvider(component, service, binding); - } - - /** - * @see org.apache.tuscany.sca.provider.ProviderFactory#getModelType() - */ - public Class getModelType() { - // TODO Auto-generated method stub - return null; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/OperationSelectorJMSDefaultServiceInterceptor.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/OperationSelectorJMSDefaultServiceInterceptor.java deleted file mode 100644 index d765e08d79..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/OperationSelectorJMSDefaultServiceInterceptor.java +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.operationselector.jmsdefault; - -import java.util.List; - -import javax.jms.Destination; -import javax.jms.JMSException; -import javax.jms.MessageProducer; -import javax.jms.Queue; -import javax.jms.Session; -import javax.jms.Topic; - -import org.apache.tuscany.sca.binding.jms.context.JMSBindingContext; -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.impl.JMSBindingException; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessor; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessorUtil; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory; -import org.apache.tuscany.sca.core.assembly.EndpointReferenceImpl; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.runtime.ReferenceParameters; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * Policy handler to handle PolicySet related to Logging with the QName - * {http://tuscany.apache.org/xmlns/sca/1.0/impl/java}LoggingPolicy - * - * @version $Rev$ $Date$ - */ -public class OperationSelectorJMSDefaultServiceInterceptor implements Interceptor { - - private static final String ON_MESSAGE_METHOD_NAME = "onMessage"; - - private Invoker next; - private RuntimeWire runtimeWire; - private JMSResourceFactory jmsResourceFactory; - private JMSBinding jmsBinding; - private JMSMessageProcessor requestMessageProcessor; - private JMSMessageProcessor responseMessageProcessor; - private RuntimeComponentService service; - private List serviceOperations; - - - public OperationSelectorJMSDefaultServiceInterceptor(JMSBinding jmsBinding, JMSResourceFactory jmsResourceFactory, RuntimeWire runtimeWire) { - super(); - this.jmsBinding = jmsBinding; - this.runtimeWire = runtimeWire; - this.jmsResourceFactory = jmsResourceFactory; - this.requestMessageProcessor = JMSMessageProcessorUtil.getRequestMessageProcessor(jmsBinding); - this.responseMessageProcessor = JMSMessageProcessorUtil.getResponseMessageProcessor(jmsBinding); - this.service = (RuntimeComponentService)runtimeWire.getTarget().getContract(); - this.serviceOperations = service.getInterfaceContract().getInterface().getOperations(); - } - - public Message invoke(Message msg) { - return next.invoke(invokeRequest(msg)); - } - - public Message invokeRequest(Message msg) { - try { - // get the jms context - JMSBindingContext context = (JMSBindingContext)msg.getHeaders().get(JMSBindingConstants.MSG_CTXT_POSITION); - javax.jms.Message jmsMsg = context.getJmsMsg(); - - String operationName = requestMessageProcessor.getOperationName(jmsMsg); - Operation operation = getTargetOperation(operationName); - msg.setOperation(operation); - - ReferenceParameters parameters = msg.getFrom().getReferenceParameters(); - - if (service.getInterfaceContract().getCallbackInterface() != null) { - - String callbackdestName = jmsMsg.getStringProperty(JMSBindingConstants.CALLBACK_Q_PROPERTY); - if (callbackdestName == null && msg.getOperation().isNonBlocking()) { - // if the request has a replyTo but this service operation is oneway but the service uses callbacks - // then use the replyTo as the callback destination - Destination replyTo = jmsMsg.getJMSReplyTo(); - if (replyTo != null) { - callbackdestName = (replyTo instanceof Queue) ? ((Queue)replyTo).getQueueName() : ((Topic)replyTo).getTopicName(); - } - } - - if (callbackdestName != null) { - // append "jms:" to make it an absolute uri so the invoker can determine it came in on the request - // as otherwise the invoker should use the uri from the service callback binding - parameters.setCallbackReference(new EndpointReferenceImpl("jms:" + callbackdestName)); - } - - String callbackID = jmsMsg.getStringProperty(JMSBindingConstants.CALLBACK_ID_PROPERTY); - if (callbackID != null) { - parameters.setCallbackID(callbackID); - } - } - - return msg; - } catch (JMSException e) { - throw new JMSBindingException(e); - } - } - - protected Operation getTargetOperation(String operationName) { - Operation operation = null; - - if (serviceOperations.size() == 1) { - - // SCA JMS Binding Specification - Rule 1.5.1 line 203 - operation = serviceOperations.get(0); - - } else if (operationName != null) { - - // SCA JMS Binding Specification - Rule 1.5.1 line 205 - for (Operation op : serviceOperations) { - if (op.getName().equals(operationName)) { - operation = op; - break; - } - } - - } else { - - // SCA JMS Binding Specification - Rule 1.5.1 line 207 - for (Operation op : serviceOperations) { - if (op.getName().equals(ON_MESSAGE_METHOD_NAME)) { - operation = op; - break; - } - } - } - - if (operation == null) { - throw new JMSBindingException("Can't find operation " + (operationName != null ? operationName : ON_MESSAGE_METHOD_NAME)); - } - - return operation; - } - - public Invoker getNext() { - return next; - } - - public void setNext(Invoker next) { - this.next = next; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/OperationSelectorJMSDefaultServiceProvider.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/OperationSelectorJMSDefaultServiceProvider.java deleted file mode 100644 index 54c3eb54eb..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/OperationSelectorJMSDefaultServiceProvider.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.binding.jms.operationselector.jmsdefault; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Phase; -import org.apache.tuscany.sca.provider.OperationSelectorProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public class OperationSelectorJMSDefaultServiceProvider implements OperationSelectorProvider { - private RuntimeComponent component; - private RuntimeComponentService service; - private Binding binding; - - public OperationSelectorJMSDefaultServiceProvider(RuntimeComponent component, RuntimeComponentService service, Binding binding) { - super(); - this.component = component; - this.service = service; - this.binding = binding; - } - - /** - */ - public Interceptor createInterceptor() { - return new OperationSelectorJMSDefaultServiceInterceptor((JMSBinding)binding, - null, - service.getRuntimeWire(binding)); - } - - /** - */ - public String getPhase() { - return Phase.SERVICE_BINDING_OPERATION_SELECTOR; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/AbstractMessageProcessor.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/AbstractMessageProcessor.java deleted file mode 100644 index 14236783ca..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/AbstractMessageProcessor.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.jms.provider; - -import javax.jms.JMSException; -import javax.jms.Message; -import javax.jms.ObjectMessage; -import javax.jms.Session; - -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.impl.JMSBindingException; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * Base MessageProcessor for the JMSBinding. - * - * @version $Rev$ $Date$ - */ -public abstract class AbstractMessageProcessor implements JMSMessageProcessor { - - protected String operationPropertyName; - protected boolean xmlFormat = true; - - public AbstractMessageProcessor(JMSBinding jmsBinding) { - this.operationPropertyName = jmsBinding.getOperationSelectorPropertyName(); - } - - /* - * (non-Javadoc) - * - * @see org.apache.tuscany.binding.jms.OperationAndDataBinding#getOperationName(javax.jms.Message) - */ - public String getOperationName(Message message) { - try { - - return message.getStringProperty(operationPropertyName); - - } catch (JMSException e) { - throw new JMSBindingException("Exception retreiving operation name from message", e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.tuscany.binding.jms.OperationAndDataBinding#setOperationName(javax.jms.Message, java.lang.String) - */ - public void setOperationName(String operationName, Message message) { - try { - - message.setStringProperty(operationPropertyName, operationName); - - } catch (JMSException e) { - throw new JMSBindingException("Exception setting the operation name on message", e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.tuscany.binding.jms.OperationAndDataBinding#extractPayload(javax.jms.Session, java.lang.Object) - */ - public Message insertPayloadIntoJMSMessage(Session session, Object o) { - return createJMSMessage(session, o); - } - - /* - * (non-Javadoc) - * - * @see org.apache.tuscany.binding.jms.OperationAndDataBinding#extractPayload(javax.jms.Message) - */ - public Object extractPayloadFromJMSMessage(Message msg) { - try { - if (msg.getBooleanProperty(JMSBindingConstants.FAULT_PROPERTY)) { - throw new ServiceRuntimeException("remote service exception, see nested exception", (Throwable)((ObjectMessage)msg).getObject()); - } - } catch (JMSException e) { - throw new JMSBindingException(e); - } - return extractPayload(msg); - } - - public Message createFaultMessage(Session session, Throwable o) { - try { - - ObjectMessage message = session.createObjectMessage(); - message.setObject(o); - message.setBooleanProperty(JMSBindingConstants.FAULT_PROPERTY, true); - return message; - - } catch (JMSException e) { - throw new JMSBindingException(e); - } - } - - protected abstract Object[] extractPayload(Message msg); - - protected abstract Message createJMSMessage(Session session, Object o); - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/BytesMessageProcessor.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/BytesMessageProcessor.java deleted file mode 100644 index 44b2e3b990..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/BytesMessageProcessor.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.jms.provider; - -import javax.jms.BytesMessage; -import javax.jms.JMSException; -import javax.jms.Message; -import javax.jms.Session; -import javax.jms.TextMessage; - -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; -import org.apache.tuscany.sca.binding.jms.impl.JMSBindingException; - -/** - * MessageProcessor for sending/receiving javax.jms.BytesMessage with the JMSBinding. - * - * @version $Rev$ $Date$ - */ -public class BytesMessageProcessor extends AbstractMessageProcessor { - - public BytesMessageProcessor(JMSBinding jmsBinding) { - super(jmsBinding); - } - - @Override - protected Object[] extractPayload(Message msg) { - try { - - if (!(msg instanceof BytesMessage)) { - throw new IllegalStateException("expecting JMS BytesMessage: " + msg); - } - - long noOfBytes = ((BytesMessage)msg).getBodyLength(); - byte [] bytes = new byte[(int)noOfBytes]; - ((BytesMessage)msg).readBytes(bytes); - return new Object[] {bytes}; - - } catch (JMSException e) { - throw new JMSBindingException(e); - } - } - - @Override - protected Message createJMSMessage(Session session, Object o) { - try { - - // TODO - an experiment. How to enforce a single - // byte array parameter - BytesMessage message = session.createBytesMessage(); - byte [] bytes = (byte[])((Object[])o)[0]; - message.writeBytes(bytes); - return message; - - } catch (JMSException e) { - throw new JMSBindingException(e); - } - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/DefaultJMSBindingListener.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/DefaultJMSBindingListener.java deleted file mode 100644 index 9b8bee92c9..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/DefaultJMSBindingListener.java +++ /dev/null @@ -1,266 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.provider; - -import java.lang.reflect.InvocationTargetException; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.jms.Destination; -import javax.jms.JMSException; -import javax.jms.Message; -import javax.jms.MessageListener; -import javax.jms.MessageProducer; -import javax.jms.Queue; -import javax.jms.Session; -import javax.jms.Topic; -import javax.naming.NamingException; -import javax.security.auth.Subject; - -import org.apache.tuscany.sca.assembly.Binding; -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.impl.JMSBindingException; -import org.apache.tuscany.sca.binding.jms.policy.authentication.token.JMSTokenAuthenticationPolicy; -import org.apache.tuscany.sca.core.assembly.EndpointReferenceImpl; -import org.apache.tuscany.sca.core.invocation.MessageImpl; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.SecurityUtil; -import org.apache.tuscany.sca.policy.authentication.token.TokenPrincipal; -import org.apache.tuscany.sca.runtime.EndpointReference; -import org.apache.tuscany.sca.runtime.ReferenceParameters; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * Listener for the JMSBinding. - * - * @version $Rev$ $Date$ - */ -public class DefaultJMSBindingListener implements MessageListener { - - private static final Logger logger = Logger.getLogger(DefaultJMSBindingListener.class.getName()); - - private static final String ON_MESSAGE_METHOD_NAME = "onMessage"; - private JMSBinding jmsBinding; - private Binding targetBinding; - private JMSResourceFactory jmsResourceFactory; - private RuntimeComponentService service; - private JMSMessageProcessor requestMessageProcessor; - private JMSMessageProcessor responseMessageProcessor; - private String correlationScheme; - private List serviceOperations; - protected JMSTokenAuthenticationPolicy jmsTokenAuthenticationPolicy = null; - - public DefaultJMSBindingListener(JMSBinding jmsBinding, JMSResourceFactory jmsResourceFactory, RuntimeComponentService service, Binding targetBinding) throws NamingException { - this.jmsBinding = jmsBinding; - this.jmsResourceFactory = jmsResourceFactory; - this.service = service; - this.targetBinding = targetBinding; - requestMessageProcessor = JMSMessageProcessorUtil.getRequestMessageProcessor(jmsBinding); - responseMessageProcessor = JMSMessageProcessorUtil.getResponseMessageProcessor(jmsBinding); - correlationScheme = jmsBinding.getCorrelationScheme(); - serviceOperations = service.getInterfaceContract().getInterface().getOperations(); - - // find out which policies are active - if (jmsBinding instanceof PolicySetAttachPoint) { - List policySets = ((PolicySetAttachPoint)jmsBinding).getApplicablePolicySets(); - for (PolicySet ps : policySets) { - for (Object p : ps.getPolicies()) { - if (JMSTokenAuthenticationPolicy.class.isInstance(p)) { - jmsTokenAuthenticationPolicy = (JMSTokenAuthenticationPolicy)p; - }else { - // etc. check for other types of policy being present - } - } - } - } - - } - - public void onMessage(Message requestJMSMsg) { - logger.log(Level.FINE, "JMS service '" + service.getName() + "' received message " + requestJMSMsg); - try { - Object responsePayload = invokeService(requestJMSMsg); - sendReply(requestJMSMsg, responsePayload, false); - } catch (Throwable e) { - logger.log(Level.SEVERE, "Exception invoking service '" + service.getName(), e); - sendReply(requestJMSMsg, e, true); - } - } - - /** - * Turn the JMS message back into a Tuscany message and invoke the target component - * - * @param requestJMSMsg - * @return - * @throws JMSException - * @throws InvocationTargetException - */ - protected Object invokeService(Message requestJMSMsg) throws JMSException, InvocationTargetException { - - String operationName = requestMessageProcessor.getOperationName(requestJMSMsg); - Operation operation = getTargetOperation(operationName); - - MessageImpl tuscanyMsg = new MessageImpl(); - tuscanyMsg.setOperation(operation); - if ("onMessage".equals(operation.getName())) { - tuscanyMsg.setBody(new Object[]{requestJMSMsg}); - } else { - Object requestPayload = requestMessageProcessor.extractPayloadFromJMSMessage(requestJMSMsg); - tuscanyMsg.setBody(requestPayload); - } - - setHeaderProperties(requestJMSMsg, tuscanyMsg, operation); - - return service.getRuntimeWire(targetBinding).invoke(operation, tuscanyMsg); - } - - protected Operation getTargetOperation(String operationName) { - Operation operation = null; - - if (serviceOperations.size() == 1) { - - // SCA JMS Binding Specification - Rule 1.5.1 line 203 - operation = serviceOperations.get(0); - - } else if (operationName != null) { - - // SCA JMS Binding Specification - Rule 1.5.1 line 205 - for (Operation op : serviceOperations) { - if (op.getName().equals(operationName)) { - operation = op; - break; - } - } - - } else { - - // SCA JMS Binding Specification - Rule 1.5.1 line 207 - for (Operation op : serviceOperations) { - if (op.getName().equals(ON_MESSAGE_METHOD_NAME)) { - operation = op; - break; - } - } - } - - if (operation == null) { - throw new JMSBindingException("Can't find operation " + (operationName != null ? operationName : ON_MESSAGE_METHOD_NAME)); - } - - return operation; - } - - protected void setHeaderProperties(Message requestJMSMsg, MessageImpl tuscanyMsg, Operation operation) throws JMSException { - - EndpointReference from = new EndpointReferenceImpl(null); - tuscanyMsg.setFrom(from); - from.setCallbackEndpoint(new EndpointReferenceImpl("/")); // TODO: whats this for? - ReferenceParameters parameters = from.getReferenceParameters(); - - String conversationID = requestJMSMsg.getStringProperty(JMSBindingConstants.CONVERSATION_ID_PROPERTY); - if (conversationID != null) { - parameters.setConversationID(conversationID); - } - - if (service.getInterfaceContract().getCallbackInterface() != null) { - - String callbackdestName = requestJMSMsg.getStringProperty(JMSBindingConstants.CALLBACK_Q_PROPERTY); - if (callbackdestName == null && operation.isNonBlocking()) { - // if the request has a replyTo but this service operation is oneway but the service uses callbacks - // then use the replyTo as the callback destination - Destination replyTo = requestJMSMsg.getJMSReplyTo(); - if (replyTo != null) { - callbackdestName = (replyTo instanceof Queue) ? ((Queue)replyTo).getQueueName() : ((Topic)replyTo).getTopicName(); - } - } - - if (callbackdestName != null) { - // append "jms:" to make it an absolute uri so the invoker can determine it came in on the request - // as otherwise the invoker should use the uri from the service callback binding - parameters.setCallbackReference(new EndpointReferenceImpl("jms:" + callbackdestName)); - } - - String callbackID = requestJMSMsg.getStringProperty(JMSBindingConstants.CALLBACK_ID_PROPERTY); - if (callbackID != null) { - parameters.setCallbackID(callbackID); - } - } - - if (jmsTokenAuthenticationPolicy != null) { - String token = requestJMSMsg.getStringProperty(jmsTokenAuthenticationPolicy.getTokenName().toString()); - - Subject subject = SecurityUtil.getSubject(tuscanyMsg); - TokenPrincipal principal = SecurityUtil.getPrincipal(subject, TokenPrincipal.class); - - if (principal == null){ - principal = new TokenPrincipal(token); - subject.getPrincipals().add(principal); - } - - } - } - - protected void sendReply(Message requestJMSMsg, Object responsePayload, boolean isFault) { - try { - - if (requestJMSMsg.getJMSReplyTo() == null) { - // assume no reply is expected - if (responsePayload != null) { - logger.log(Level.FINE, "JMS service '" + service.getName() + "' dropped response as request has no replyTo"); - } - return; - } - - Session session = jmsResourceFactory.createSession(); - Message replyJMSMsg; - if (isFault) { - replyJMSMsg = responseMessageProcessor.createFaultMessage(session, (Throwable)responsePayload); - } else { - replyJMSMsg = responseMessageProcessor.insertPayloadIntoJMSMessage(session, responsePayload); - } - - replyJMSMsg.setJMSDeliveryMode(requestJMSMsg.getJMSDeliveryMode()); - replyJMSMsg.setJMSPriority(requestJMSMsg.getJMSPriority()); - - if (correlationScheme == null || JMSBindingConstants.CORRELATE_MSG_ID.equalsIgnoreCase(correlationScheme)) { - replyJMSMsg.setJMSCorrelationID(requestJMSMsg.getJMSMessageID()); - } else if (JMSBindingConstants.CORRELATE_CORRELATION_ID.equalsIgnoreCase(correlationScheme)) { - replyJMSMsg.setJMSCorrelationID(requestJMSMsg.getJMSCorrelationID()); - } - - Destination destination = requestJMSMsg.getJMSReplyTo(); - MessageProducer producer = session.createProducer(destination); - - producer.send(replyJMSMsg); - - producer.close(); - session.close(); - - } catch (JMSException e) { - throw new JMSBindingException(e); - } catch (NamingException e) { - throw new JMSBindingException(e); - } - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/DefaultJMSResourceFactoryExtensionPoint.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/DefaultJMSResourceFactoryExtensionPoint.java deleted file mode 100644 index 499f69a24b..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/DefaultJMSResourceFactoryExtensionPoint.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.jms.provider; - -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; - -public class DefaultJMSResourceFactoryExtensionPoint implements JMSResourceFactoryExtensionPoint { - - public JMSResourceFactory createJMSResourceFactory(JMSBinding binding) { - return new JMSResourceFactoryImpl(binding.getConnectionFactoryName(), binding.getInitialContextFactoryName(), binding.getJndiURL()); - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingInvoker.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingInvoker.java deleted file mode 100644 index 4a9d9a6f4b..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingInvoker.java +++ /dev/null @@ -1,467 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.provider; - -import java.lang.reflect.InvocationTargetException; -import java.util.List; -import java.util.Map; - -import javax.jms.DeliveryMode; -import javax.jms.Destination; -import javax.jms.JMSException; -import javax.jms.Message; -import javax.jms.MessageConsumer; -import javax.jms.MessageProducer; -import javax.jms.Session; -import javax.naming.NamingException; -import javax.security.auth.Subject; - -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.impl.JMSBindingException; -import org.apache.tuscany.sca.binding.jms.policy.authentication.token.JMSTokenAuthenticationPolicy; -import org.apache.tuscany.sca.binding.jms.policy.header.JMSHeaderPolicy; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.invocation.DataExchangeSemantics; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.SecurityUtil; -import org.apache.tuscany.sca.policy.authentication.token.TokenPrincipal; -import org.apache.tuscany.sca.runtime.ReferenceParameters; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * Invoker for the JMS binding. - * - * @version $Rev$ $Date$ - */ -public class JMSBindingInvoker implements Invoker, DataExchangeSemantics { - - protected Operation operation; - protected String operationName; - - protected JMSBinding jmsBinding; - protected JMSResourceFactory jmsResourceFactory; - protected JMSMessageProcessor requestMessageProcessor; - protected JMSMessageProcessor responseMessageProcessor; - protected Destination bindingRequestDest; - protected Destination bindingReplyDest; - protected RuntimeComponentReference reference; - protected JMSTokenAuthenticationPolicy jmsTokenAuthenticationPolicy = null; - protected JMSHeaderPolicy jmsHeaderPolicy = null; - - public JMSBindingInvoker(JMSBinding jmsBinding, Operation operation, JMSResourceFactory jmsResourceFactory, RuntimeComponentReference reference) { - - this.operation = operation; - operationName = operation.getName(); - - this.jmsBinding = jmsBinding; - this.jmsResourceFactory = jmsResourceFactory; - this.reference = reference; - this.requestMessageProcessor = JMSMessageProcessorUtil.getRequestMessageProcessor(jmsBinding); - this.responseMessageProcessor = JMSMessageProcessorUtil.getResponseMessageProcessor(jmsBinding); - - // find out which policies are active - if (jmsBinding instanceof PolicySetAttachPoint) { - List policySets = ((PolicySetAttachPoint)jmsBinding).getApplicablePolicySets(); - for (PolicySet ps : policySets) { - for (Object p : ps.getPolicies()) { - if (JMSTokenAuthenticationPolicy.class.isInstance(p)) { - jmsTokenAuthenticationPolicy = (JMSTokenAuthenticationPolicy)p; - }else if (JMSTokenAuthenticationPolicy.class.isInstance(p)) { - jmsHeaderPolicy = (JMSHeaderPolicy)p; - } else { - // etc. check for other types of policy being present - } - } - } - } - - try { - - bindingRequestDest = lookupDestination(); - bindingReplyDest = lookupResponseDestination(); - - } catch (NamingException e) { - throw new JMSBindingException(e); - } - - } - - /** - * Looks up the Destination Queue for the JMS Binding - * - * @return The Destination Queue - * @throws NamingException Failed to lookup Destination Queue - * @throws JMSBindingException Failed to lookup Destination Queue - * @see #lookupDestinationQueue(boolean) - */ - protected Destination lookupDestination() throws NamingException, JMSBindingException { - return lookupDestinationQueue(false); - } - - /** - * Looks up the Destination Response Queue for the JMS Binding - * - * @return The Destination Response Queue - * @throws NamingException Failed to lookup Destination Response Queue - * @throws JMSBindingException Failed to lookup Destination Response Queue - * @see #lookupDestinationQueue(boolean) - */ - protected Destination lookupResponseDestination() throws NamingException, JMSBindingException { - return lookupDestinationQueue(true); - } - - /** - * Looks up the Destination Queue for the JMS Binding. - *

- * What happens in the look up will depend on the create mode specified for the JMS Binding: - *

    - *
  • always - the JMS queue is always created. It is an error if the queue already exists - *
  • ifnotexist - the JMS queue is created if it does not exist. It is not an error if the queue already exists - *
  • never - the JMS queue is never created. It is an error if the queue does not exist - *
- * See the SCA JMS Binding specification for more information. - *

- * - * @param isReponseQueue true if we are creating a response queue. - * false if we are creating a request queue - * @return The Destination queue. - * @throws NamingException Failed to lookup JMS queue - * @throws JMSBindingException Failed to lookup JMS Queue. Probable cause is that - * the JMS queue's current existence/non-existence is not compatible with - * the create mode specified on the binding - */ - protected Destination lookupDestinationQueue(boolean isReponseQueue) throws NamingException, JMSBindingException { - String queueName; - String queueType; - String qCreateMode; - - if (isReponseQueue) { - queueName = jmsBinding.getResponseDestinationName(); - queueType = "JMS Response Destination "; - qCreateMode = jmsBinding.getResponseDestinationCreate(); - if (JMSBindingConstants.DEFAULT_RESPONSE_DESTINATION_NAME.equals(queueName)) { - return null; - } - } else { - queueName = jmsBinding.getDestinationName(); - queueType = "JMS Destination "; - qCreateMode = jmsBinding.getDestinationCreate(); - } - - Destination dest = jmsResourceFactory.lookupDestination(queueName); - - if (qCreateMode.equals(JMSBindingConstants.CREATE_ALWAYS)) { - // In this mode, the queue must not already exist as we are creating it - if (dest != null) { - throw new JMSBindingException(queueType + queueName - + " already exists but has create mode of \"" - + qCreateMode - + "\" while registering binding " - + jmsBinding.getName() - + " invoker"); - } - // Create the queue - dest = jmsResourceFactory.createDestination(queueName); - - } else if (qCreateMode.equals(JMSBindingConstants.CREATE_IF_NOT_EXIST)) { - // In this mode, the queue may nor may not exist. It will be created if it does not exist - if (dest == null) { - dest = jmsResourceFactory.createDestination(queueName); - } - - } else if (qCreateMode.equals(JMSBindingConstants.CREATE_NEVER)) { - // In this mode, the queue must have already been created. - if (dest == null) { - throw new JMSBindingException(queueType + queueName - + " not found but create mode of \"" - + qCreateMode - + "\" while registering binding " - + jmsBinding.getName() - + " invoker"); - } - } - - // Make sure we ended up with a queue - if (dest == null) { - throw new JMSBindingException(queueType + queueName - + " not found with create mode of \"" - + qCreateMode - + "\" while registering binding " - + jmsBinding.getName() - + " invoker"); - } - - return dest; - } - - public org.apache.tuscany.sca.invocation.Message invoke(org.apache.tuscany.sca.invocation.Message tuscanyMsg) { - try { - - Object resp = invokeTarget(tuscanyMsg); - tuscanyMsg.setBody(resp); - - } catch (InvocationTargetException e) { - tuscanyMsg.setFaultBody(e.getCause()); - } catch (ServiceRuntimeException e) { - if (e.getCause() instanceof InvocationTargetException) { - if ((e.getCause().getCause() instanceof RuntimeException)) { - tuscanyMsg.setFaultBody(e.getCause()); - } else { - tuscanyMsg.setFaultBody(e.getCause().getCause()); - } - } else { - tuscanyMsg.setFaultBody(e); - } - } catch (Throwable e) { - tuscanyMsg.setFaultBody(e); - } - return tuscanyMsg; - } - - protected Object invokeTarget(org.apache.tuscany.sca.invocation.Message tuscanyMsg) throws InvocationTargetException { - try { - Session session = jmsResourceFactory.createSession(); - try { - - Destination replyToDest = getReplyToDestination(session); - - Message requestMsg = sendRequest(tuscanyMsg, session, replyToDest); - - if (replyToDest == null) { - return null; - } else { - Message replyMsg = receiveReply(session, replyToDest, requestMsg.getJMSMessageID()); - Object[] response = (Object[])responseMessageProcessor.extractPayloadFromJMSMessage(replyMsg); - return (response != null && response.length > 0) ? response[0] : null; - } - - } finally { - session.close(); - } - } catch (JMSException e) { - throw new InvocationTargetException(e); - } catch (NamingException e) { - throw new InvocationTargetException(e); - } - } - - protected Destination getReplyToDestination(Session session) throws JMSException, JMSBindingException, NamingException { - Destination replyToDest; - if (operation.isNonBlocking()) { - replyToDest = null; - } else { - if (bindingReplyDest != null) { - replyToDest = bindingReplyDest; - } else { - replyToDest = session.createTemporaryQueue(); - } - } - return replyToDest; - } - - protected Message sendRequest(org.apache.tuscany.sca.invocation.Message tuscanyMsg, Session session, Destination replyToDest) throws JMSException, JMSBindingException, - NamingException { - - Message requestMsg = requestMessageProcessor.insertPayloadIntoJMSMessage(session, tuscanyMsg.getBody()); - - setHeaders(tuscanyMsg, requestMsg); - - requestMsg.setJMSReplyTo(replyToDest); - - Destination requestDest = getRequestDestination(tuscanyMsg, session); - - MessageProducer producer = session.createProducer(requestDest); - - if (jmsBinding.getOperationJMSTimeToLive(operationName) != null) { - producer.setTimeToLive(jmsBinding.getOperationJMSTimeToLive(operationName)); - } - - try { - producer.send(requestMsg); - } finally { - producer.close(); - } - return requestMsg; - } - - protected Destination getRequestDestination(org.apache.tuscany.sca.invocation.Message tuscanyMsg, Session session) throws JMSBindingException, NamingException, JMSException { - Destination requestDestination; - if (reference.isCallback()) { - String toURI = tuscanyMsg.getTo().getURI(); - if (toURI != null && toURI.startsWith("jms:")) { - // the msg to uri contains the callback destination name - // this is an jms physical name not a jndi name so need to use session.createQueue - requestDestination = session.createQueue(toURI.substring(4)); - } else { - requestDestination = lookupDestination(); - } - } else { - requestDestination = bindingRequestDest; - } - - return requestDestination; - } - - protected void setHeaders(org.apache.tuscany.sca.invocation.Message tuscanyMsg, Message jmsMsg) throws JMSException { - - requestMessageProcessor.setOperationName(jmsBinding.getNativeOperationName(operationName), jmsMsg); - - if ((jmsHeaderPolicy != null) && - (jmsHeaderPolicy.getDeliveryModePersistent() != null)) { - if (jmsHeaderPolicy.getDeliveryModePersistent()) { - jmsMsg.setJMSDeliveryMode(DeliveryMode.PERSISTENT); - } else { - jmsMsg.setJMSDeliveryMode(DeliveryMode.NON_PERSISTENT); - } - - } else if (jmsBinding.getOperationJMSDeliveryMode(operationName) != null) { - if (jmsBinding.getOperationJMSDeliveryMode(operationName)) { - jmsMsg.setJMSDeliveryMode(DeliveryMode.PERSISTENT); - } else { - jmsMsg.setJMSDeliveryMode(DeliveryMode.NON_PERSISTENT); - } - } - - if ((jmsHeaderPolicy != null) && - (jmsHeaderPolicy.getJmsCorrelationId() != null)) { - jmsMsg.setJMSCorrelationID(jmsHeaderPolicy.getJmsCorrelationId()); - } else if (jmsBinding.getOperationJMSCorrelationId(operationName) != null) { - jmsMsg.setJMSCorrelationID(jmsBinding.getOperationJMSCorrelationId(operationName)); - } - - if ((jmsHeaderPolicy != null) && - (jmsHeaderPolicy.getJmsPriority() != null)) { - jmsMsg.setJMSPriority(jmsHeaderPolicy.getJmsPriority()); - } else if (jmsBinding.getOperationJMSPriority(operationName) != null) { - jmsMsg.setJMSPriority(jmsBinding.getOperationJMSPriority(operationName)); - } - - if ((jmsHeaderPolicy != null) && - (jmsHeaderPolicy.getJmsType() != null)) { - jmsMsg.setJMSType(jmsHeaderPolicy.getJmsType()); - } else if (jmsBinding.getOperationJMSType(operationName) != null) { - jmsMsg.setJMSType(jmsBinding.getOperationJMSType(operationName)); - } - - ReferenceParameters parameters = tuscanyMsg.getFrom().getReferenceParameters(); - - Object conversationID = parameters.getConversationID(); - if (conversationID != null) { - jmsMsg.setStringProperty(JMSBindingConstants.CONVERSATION_ID_PROPERTY, conversationID.toString()); - } - - if (hasCallback()) { - - if (parameters.getCallbackID() != null) { - jmsMsg.setStringProperty(JMSBindingConstants.CALLBACK_ID_PROPERTY, parameters.getCallbackID().toString()); - } - - String callbackDestName = getCallbackDestinationName(reference); - if (callbackDestName != null) { - jmsMsg.setStringProperty(JMSBindingConstants.CALLBACK_Q_PROPERTY, callbackDestName); - } - } - - if (jmsHeaderPolicy != null){ - for (String propName : jmsHeaderPolicy.getProperties().keySet()) { - jmsMsg.setObjectProperty(propName, jmsHeaderPolicy.getProperties().get(propName)); - } - } - - for (String propName : jmsBinding.getPropertyNames()) { - Object value = jmsBinding.getProperty(propName); - jmsMsg.setObjectProperty(propName, value); - } - - Map operationProperties = jmsBinding.getOperationProperties(operationName); - if (operationProperties != null) { - for (String propName : operationProperties.keySet()) { - Object value = operationProperties.get(propName); - jmsMsg.setObjectProperty(propName, value); - } - } - - if (jmsTokenAuthenticationPolicy != null) { - Subject subject = SecurityUtil.getSubject(tuscanyMsg); - TokenPrincipal principal = SecurityUtil.getPrincipal(subject, TokenPrincipal.class); - if (principal != null){ - jmsMsg.setStringProperty(jmsTokenAuthenticationPolicy.getTokenName().toString(), principal.getName()); - } - } - } - - protected boolean hasCallback() { - if (operation.getInterface() instanceof JavaInterface) { - JavaInterface jiface = (JavaInterface)operation.getInterface(); - if (jiface.getCallbackClass() != null) { - return true; - } - } - return false; - } - - protected Message receiveReply(Session session, Destination replyToDest, String requestMsgId) throws JMSException, NamingException { - String msgSelector = "JMSCorrelationID = '" + requestMsgId + "'"; - MessageConsumer consumer = session.createConsumer(replyToDest, msgSelector); - - long receiveWait; - if ((jmsHeaderPolicy != null) && - (jmsHeaderPolicy.getTimeToLive() != null)) { - receiveWait = jmsHeaderPolicy.getTimeToLive(); - } else if (jmsBinding.getOperationJMSTimeToLive(operationName) != null) { - receiveWait = jmsBinding.getOperationJMSTimeToLive(operationName) * 2; - } else { - receiveWait = JMSBindingConstants.DEFAULT_TIME_TO_LIVE; - } - - Message replyMsg; - try { - jmsResourceFactory.startConnection(); - replyMsg = consumer.receive(receiveWait); - } finally { - consumer.close(); - } - if (replyMsg == null) { - throw new JMSBindingException("No reply message received on " + replyToDest + " for message id " + requestMsgId); - } - return replyMsg; - } - - protected String getCallbackDestinationName(RuntimeComponentReference reference) { - RuntimeComponentService s = (RuntimeComponentService)reference.getCallbackService(); - JMSBinding b = s.getBinding(JMSBinding.class); - if (b != null) { - JMSBindingServiceBindingProvider bp = (JMSBindingServiceBindingProvider)s.getBindingProvider(b); - return bp.getDestinationName(); - } - return null; - } - - public boolean allowsPassByReference() { - // JMS always pass by value - return true; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingProviderFactory.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingProviderFactory.java deleted file mode 100644 index a96e53d9e1..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingProviderFactory.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.binding.jms.provider; - -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; -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; - -/** - * A factory from creating the JMS binding provider. - * - * @version $Rev$ $Date$ - */ -public class JMSBindingProviderFactory implements BindingProviderFactory { - - private WorkScheduler workScheduler; - private ExtensionPointRegistry extensionPoints; - private JMSResourceFactoryExtensionPoint jmsRFEP; - - public JMSBindingProviderFactory(ExtensionPointRegistry extensionPoints) { - this.extensionPoints = extensionPoints; - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - workScheduler = utilities.getUtility(WorkScheduler.class); - - jmsRFEP = (JMSResourceFactoryExtensionPoint)extensionPoints.getExtensionPoint(JMSResourceFactoryExtensionPoint.class); - if (jmsRFEP == null) { - jmsRFEP = new DefaultJMSResourceFactoryExtensionPoint(); - extensionPoints.addExtensionPoint(jmsRFEP); - } - } - - public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, RuntimeComponentReference reference, JMSBinding binding) { - JMSResourceFactory jmsRF = jmsRFEP.createJMSResourceFactory(binding); - return new JMSBindingReferenceBindingProvider(component, reference, binding, extensionPoints, jmsRF); - } - - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, RuntimeComponentService service, JMSBinding binding) { - JMSResourceFactory jmsRF = jmsRFEP.createJMSResourceFactory(binding); - return new JMSBindingServiceBindingProvider(component, service, binding, binding, workScheduler, extensionPoints, jmsRF); - } - - public Class getModelType() { - return JMSBinding.class; - } -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingReferenceBindingProvider.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingReferenceBindingProvider.java deleted file mode 100644 index aa66542f38..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingReferenceBindingProvider.java +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.provider; - -import java.util.ArrayList; -import java.util.List; - -import javax.jms.JMSException; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.binding.jms.headers.HeaderReferenceInterceptor; -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.impl.JMSBindingException; -import org.apache.tuscany.sca.binding.jms.operationselector.jmsdefault.OperationSelectorJMSDefault; -import org.apache.tuscany.sca.binding.jms.transport.TransportReferenceInterceptor; -import org.apache.tuscany.sca.binding.jms.wireformat.jmstextxml.WireFormatJMSTextXML; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory; -import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -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.Invoker; -import org.apache.tuscany.sca.invocation.Phase; -import org.apache.tuscany.sca.provider.OperationSelectorProvider; -import org.apache.tuscany.sca.provider.OperationSelectorProviderFactory; -import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint; -import org.apache.tuscany.sca.provider.ReferenceBindingProvider; -import org.apache.tuscany.sca.provider.ReferenceBindingProviderRRB; -import org.apache.tuscany.sca.provider.WireFormatProvider; -import org.apache.tuscany.sca.provider.WireFormatProviderFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * Implementation of the JMS reference binding provider. - * - * @version $Rev$ $Date$ - */ -public class JMSBindingReferenceBindingProvider implements ReferenceBindingProviderRRB { - - private RuntimeComponentReference reference; - private JMSBinding jmsBinding; - private List jmsBindingInvokers = new ArrayList(); - private JMSResourceFactory jmsResourceFactory; - private RuntimeComponent component; - private InterfaceContract interfaceContract; - private ExtensionPointRegistry extensions; - - private ProviderFactoryExtensionPoint providerFactories; - - private WireFormatProviderFactory requestWireFormatProviderFactory; - private WireFormatProvider requestWireFormatProvider; - - private WireFormatProviderFactory responseWireFormatProviderFactory; - private WireFormatProvider responseWireFormatProvider; - - public JMSBindingReferenceBindingProvider(RuntimeComponent component, RuntimeComponentReference reference, JMSBinding binding, ExtensionPointRegistry extensions, JMSResourceFactory jmsResourceFactory) { - this.reference = reference; - this.jmsBinding = binding; - this.extensions = extensions; - this.component = component; - this.jmsResourceFactory = jmsResourceFactory; - - // Get the factories/providers for operation selection - this.providerFactories = extensions.getExtensionPoint(ProviderFactoryExtensionPoint.class); - - // Get the factories/providers for wire format - this.requestWireFormatProviderFactory = - (WireFormatProviderFactory)providerFactories.getProviderFactory(jmsBinding.getRequestWireFormat().getClass()); - if (this.requestWireFormatProviderFactory != null){ - this.requestWireFormatProvider = requestWireFormatProviderFactory.createReferenceWireFormatProvider(component, reference, jmsBinding); - } - - this.responseWireFormatProviderFactory = - (WireFormatProviderFactory)providerFactories.getProviderFactory(jmsBinding.getResponseWireFormat().getClass()); - if (this.responseWireFormatProviderFactory != null){ - this.responseWireFormatProvider = responseWireFormatProviderFactory.createReferenceWireFormatProvider(component, reference, jmsBinding); - } - } - - public Invoker createInvoker(Operation operation) { - - if (jmsBinding.getDestinationName().equals(JMSBindingConstants.DEFAULT_DESTINATION_NAME)) { - if (!reference.isCallback()) { - throw new JMSBindingException("No destination specified for reference " + reference.getName()); - } - } - - Invoker invoker = null; - invoker = new RRBJMSBindingInvoker(jmsBinding, operation, jmsResourceFactory, reference); - - return invoker; - } - - public boolean supportsOneWayInvocation() { - return true; - } - - public InterfaceContract getBindingInterfaceContract() { - if (interfaceContract == null){ - interfaceContract = this.requestWireFormatProvider.getWireFormatInterfaceContract(); - } - return interfaceContract; - } - - public void start() { - - } - - public void stop() { - try { - jmsResourceFactory.closeConnection(); - } catch (JMSException e) { - throw new JMSBindingException(e); - } - } - - /* - * set up the reference binding wire with the right set of jms reference - * interceptors - */ - public void configureBindingChain(RuntimeWire runtimeWire) { - - InvocationChain bindingChain = runtimeWire.getBindingInvocationChain(); - - // add transport interceptor - bindingChain.addInterceptor(Phase.REFERENCE_BINDING_TRANSPORT, - new TransportReferenceInterceptor(jmsBinding, - jmsResourceFactory, - runtimeWire) ); - - // add request wire format - bindingChain.addInterceptor(requestWireFormatProvider.getPhase(), - requestWireFormatProvider.createInterceptor()); - - // add response wire format, but only add it if it's different from the request - if (!jmsBinding.getRequestWireFormat().equals(jmsBinding.getResponseWireFormat())){ - bindingChain.addInterceptor(responseWireFormatProvider.getPhase(), - responseWireFormatProvider.createInterceptor()); - } - - // add the header processor that comes after the wire formatter - bindingChain.addInterceptor(Phase.REFERENCE_BINDING_WIREFORMAT, - new HeaderReferenceInterceptor(jmsBinding, - jmsResourceFactory, - runtimeWire) ); - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingServiceBindingProvider.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingServiceBindingProvider.java deleted file mode 100644 index da6c6d260d..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingServiceBindingProvider.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.binding.jms.provider; - -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.jms.Destination; -import javax.jms.JMSException; -import javax.jms.Message; -import javax.jms.MessageConsumer; -import javax.jms.MessageListener; -import javax.jms.Queue; -import javax.jms.Session; -import javax.jms.Topic; -import javax.naming.NamingException; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.OperationSelector; -import org.apache.tuscany.sca.assembly.WireFormat; -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.impl.JMSBindingException; -import org.apache.tuscany.sca.binding.jms.operationselector.jmsdefault.OperationSelectorJMSDefault; -import org.apache.tuscany.sca.binding.jms.operationselector.jmsdefault.OperationSelectorJMSDefaultServiceInterceptor; -import org.apache.tuscany.sca.binding.jms.transport.TransportReferenceInterceptor; -import org.apache.tuscany.sca.binding.jms.transport.TransportServiceInterceptor; -import org.apache.tuscany.sca.binding.jms.wireformat.jmstextxml.WireFormatJMSTextXML; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory; -import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.invocation.InvocationChain; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.MessageFactory; -import org.apache.tuscany.sca.invocation.Phase; -import org.apache.tuscany.sca.provider.BindingProviderFactory; -import org.apache.tuscany.sca.provider.OperationSelectorProvider; -import org.apache.tuscany.sca.provider.OperationSelectorProviderFactory; -import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; -import org.apache.tuscany.sca.provider.ServiceBindingProviderRRB; -import org.apache.tuscany.sca.provider.WireFormatProvider; -import org.apache.tuscany.sca.provider.WireFormatProviderFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.apache.tuscany.sca.work.WorkScheduler; - -/** - * Implementation of the JMS service binding provider. - * - * @version $Rev$ $Date$ - */ -public class JMSBindingServiceBindingProvider implements ServiceBindingProviderRRB { - private static final Logger logger = Logger.getLogger(JMSBindingServiceBindingProvider.class.getName()); - - private RuntimeComponentService service; - private Binding targetBinding; - private JMSBinding jmsBinding; - private JMSResourceFactory jmsResourceFactory; - private MessageConsumer consumer; - private WorkScheduler workScheduler; - private boolean running; - - private Destination destination; - - private ExtensionPointRegistry extensionPoints; - - private RuntimeComponent component; - private InterfaceContract wsdlInterfaceContract; - - - private ProviderFactoryExtensionPoint providerFactories; - private ModelFactoryExtensionPoint modelFactories; - - private MessageFactory messageFactory; - - private OperationSelectorProviderFactory operationSelectorProviderFactory; - private OperationSelectorProvider operationSelectorProvider; - - private WireFormatProviderFactory requestWireFormatProviderFactory; - private WireFormatProvider requestWireFormatProvider; - - private WireFormatProviderFactory responseWireFormatProviderFactory; - private WireFormatProvider responseWireFormatProvider; - - public JMSBindingServiceBindingProvider(RuntimeComponent component, RuntimeComponentService service, Binding targetBinding, JMSBinding binding, WorkScheduler workScheduler, ExtensionPointRegistry extensionPoints, JMSResourceFactory jmsResourceFactory) { - this.component = component; - this.service = service; - this.jmsBinding = binding; - this.workScheduler = workScheduler; - this.targetBinding = targetBinding; - this.extensionPoints = extensionPoints; - this.jmsResourceFactory = jmsResourceFactory; - - if (jmsBinding.getDestinationName().equals(JMSBindingConstants.DEFAULT_DESTINATION_NAME)) { - if (!service.isCallback()) { - // use the SCA service name as the default destination name - jmsBinding.setDestinationName(service.getName()); - } - } - - // Get Message factory - modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - messageFactory = modelFactories.getFactory(MessageFactory.class); - - // Get the factories/providers for operation selection - this.providerFactories = extensionPoints.getExtensionPoint(ProviderFactoryExtensionPoint.class); - this.operationSelectorProviderFactory = - (OperationSelectorProviderFactory)providerFactories.getProviderFactory(jmsBinding.getOperationSelector().getClass()); - if (this.operationSelectorProviderFactory != null){ - this.operationSelectorProvider = operationSelectorProviderFactory.createServiceOperationSelectorProvider(component, service, jmsBinding); - } - - // Get the factories/providers for wire format - this.requestWireFormatProviderFactory = - (WireFormatProviderFactory)providerFactories.getProviderFactory(jmsBinding.getRequestWireFormat().getClass()); - if (this.requestWireFormatProviderFactory != null){ - this.requestWireFormatProvider = requestWireFormatProviderFactory.createServiceWireFormatProvider(component, service, jmsBinding); - } - - this.responseWireFormatProviderFactory = - (WireFormatProviderFactory)providerFactories.getProviderFactory(jmsBinding.getResponseWireFormat().getClass()); - if (this.responseWireFormatProviderFactory != null){ - this.responseWireFormatProvider = responseWireFormatProviderFactory.createServiceWireFormatProvider(component, service, jmsBinding); - } - } - - public InterfaceContract getBindingInterfaceContract() { - return requestWireFormatProvider.getWireFormatInterfaceContract(); - } - - public boolean supportsOneWayInvocation() { - return true; - } - - public void start() { - this.running = true; - - try { - registerListerner(); - } catch (Exception e) { - throw new JMSBindingException("Error starting JMSServiceBinding", e); - } - } - - public void stop() { - this.running = false; - try { - consumer.close(); - jmsResourceFactory.closeConnection(); - } catch (Exception e) { - // if using an embedded broker then when shutting down Tuscany the broker may get closed - // before this stop method is called. I can't see how to detect that so for now just - // ignore the exception if the message is that the transport is already disposed - if (!"Transport disposed.".equals(e.getMessage())) { - throw new JMSBindingException("Error stopping JMSServiceBinding", e); - } - } - } - - private void registerListerner() throws NamingException, JMSException { - - Session session = jmsResourceFactory.createSession(); - destination = lookupDestinationQueue(); - if (destination == null) { - destination = session.createTemporaryQueue(); - } - - if (jmsBinding.getJMSSelector() != null) { - consumer = session.createConsumer(destination, jmsBinding.getJMSSelector()); - } else { - consumer = session.createConsumer(destination); - } - - MessageListener tmpListener = null; - - /* - * TODO turn on RRB version of JMS binding - */ - tmpListener = new RRBJMSBindingListener(jmsBinding, jmsResourceFactory, service, targetBinding, messageFactory); - //tmpListener = new DefaultJMSBindingListener(jmsBinding, jmsResourceFactory, service, targetBinding); - - final MessageListener listener = tmpListener; - - try { - - consumer.setMessageListener(listener); - jmsResourceFactory.startConnection(); - - } catch (javax.jms.IllegalStateException e) { - - // setMessageListener not allowed in JEE container so use Tuscany threads - - jmsResourceFactory.startConnection(); - workScheduler.scheduleWork(new Runnable() { - public void run() { - try { - while (running) { - final Message msg = consumer.receive(); - workScheduler.scheduleWork(new Runnable() { - public void run() { - try { - listener.onMessage(msg); - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - } - logger.log(Level.INFO, "JMS " + (service.isCallback() ? "callback service" : "service") - + " '" - + service.getName() - + "' listening on destination " - + ((destination instanceof Queue) ? ((Queue)destination).getQueueName() : ((Topic)destination).getTopicName())); - } - - /** - * Looks up the Destination Queue for the JMS Binding. - *

- * What happens in the look up will depend on the create mode specified for the JMS Binding: - *

    - *
  • always - the JMS queue is always created. It is an error if the queue already exists - *
  • ifnotexist - the JMS queue is created if it does not exist. It is not an error if the queue already exists - *
  • never - the JMS queue is never created. It is an error if the queue does not exist - *
- * See the SCA JMS Binding specification for more information. - *

- * - * @return The Destination queue. - * @throws NamingException Failed to lookup JMS queue - * @throws JMSBindingException Failed to lookup JMS Queue. Probable cause is that the JMS queue's current existence/non-existence is not - * compatible with the create mode specified on the binding - */ - private Destination lookupDestinationQueue() throws NamingException, JMSBindingException { - - if (service.isCallback() && JMSBindingConstants.DEFAULT_DESTINATION_NAME.equals(jmsBinding.getDestinationName())) { - // if its a callback service returning null indicates to use a temporary queue - return null; - } - - Destination destination = jmsResourceFactory.lookupDestination(jmsBinding.getDestinationName()); - - String qCreateMode = jmsBinding.getDestinationCreate(); - if (qCreateMode.equals(JMSBindingConstants.CREATE_ALWAYS)) { - // In this mode, the queue must not already exist as we are creating it - if (destination != null) { - throw new JMSBindingException("JMS Destination " + jmsBinding.getDestinationName() - + " already exists but has create mode of \"" - + qCreateMode - + "\" while registering service " - + service.getName() - + " listener"); - } - - // Create the queue - destination = jmsResourceFactory.createDestination(jmsBinding.getDestinationName()); - - } else if (qCreateMode.equals(JMSBindingConstants.CREATE_IF_NOT_EXIST)) { - // In this mode, the queue may nor may not exist. It will be created if it does not exist - if (destination == null) { - destination = jmsResourceFactory.createDestination(jmsBinding.getDestinationName()); - } - - } else if (qCreateMode.equals(JMSBindingConstants.CREATE_NEVER)) { - // In this mode, the queue must have already been created. - if (destination == null) { - throw new JMSBindingException("JMS Destination " + jmsBinding.getDestinationName() - + " not found but create mode of \"" - + qCreateMode - + "\" while registering service " - + service.getName() - + " listener"); - } - } - - // Make sure we ended up with a queue - if (destination == null) { - throw new JMSBindingException("JMS Destination " + jmsBinding.getDestinationName() - + " not found with create mode of \"" - + qCreateMode - + "\" while registering service " - + service.getName() - + " listener"); - } - - return destination; - } - - public String getDestinationName() { - try { - if (destination instanceof Queue) { - return ((Queue)destination).getQueueName(); - } else if (destination instanceof Topic) { - return ((Topic)destination).getTopicName(); - } else { - return null; - } - } catch (JMSException e) { - throw new JMSBindingException(e); - } - } - - /* - * RRB test methods - */ - public void configureBindingChain(RuntimeWire runtimeWire) { - - InvocationChain bindingChain = runtimeWire.getBindingInvocationChain(); - - // add transport interceptor - bindingChain.addInterceptor(Phase.SERVICE_BINDING_TRANSPORT, - new TransportServiceInterceptor(jmsBinding, - jmsResourceFactory, - runtimeWire) ); - - // add operation selector interceptor - bindingChain.addInterceptor(operationSelectorProvider.getPhase(), - operationSelectorProvider.createInterceptor()); - - // add request wire format - bindingChain.addInterceptor(requestWireFormatProvider.getPhase(), - requestWireFormatProvider.createInterceptor()); - - // add response wire format, but only add it if it's different from the request - if (!jmsBinding.getRequestWireFormat().equals(jmsBinding.getResponseWireFormat())){ - bindingChain.addInterceptor(responseWireFormatProvider.getPhase(), - responseWireFormatProvider.createInterceptor()); - } - } -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSMessageProcessor.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSMessageProcessor.java deleted file mode 100644 index 821b9d7873..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSMessageProcessor.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.jms.provider; - -import javax.jms.Message; -import javax.jms.Session; - -/** - * Interface for a component that does operation selection and message payload processing - * - * @version $Rev$ $Date$ - */ -public interface JMSMessageProcessor { - - /** - * Get the operation name from a JMS Message - */ - String getOperationName(Message message); - - /** - * Set the operation name on a JMS Message - */ - void setOperationName(String operationName, Message message); - - /** - * Extracts the payload from a JMS Message - */ - Object extractPayloadFromJMSMessage(Message msg); - - /** - * Create a JMS Message containing the payload - */ - Message insertPayloadIntoJMSMessage(Session session, Object payload); - - /** - * Create a JMS Message for reporting an exception - */ - Message createFaultMessage(Session session, Throwable responsePayload); -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSMessageProcessorUtil.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSMessageProcessorUtil.java deleted file mode 100644 index 699b1cb176..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSMessageProcessorUtil.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.jms.provider; - -import java.lang.reflect.Constructor; - -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; -import org.apache.tuscany.sca.binding.jms.impl.JMSBindingException; - -/** - * Utility methods to load JMS message processors. - * - * @version $Rev: $ $Date: $ - */ -public class JMSMessageProcessorUtil { - - /** - * Used to create instances of the JMSResourceFactory and RequestMessageProcessor and ResponseMessageProcessor from - * string based class name provided in the configuration - * - * @param cl ClassLoader - * @param className the string based class name to load and instantiate - * @return the new object - */ - private static Object instantiate(ClassLoader cl, String className, JMSBinding binding) { - Object instance; - if (cl == null) { - cl = binding.getClass().getClassLoader(); - } - - try { - Class clazz; - - try { - clazz = cl.loadClass(className); - } catch (ClassNotFoundException e) { - clazz = binding.getClass().getClassLoader().loadClass(className); - } - - Constructor constructor = clazz.getDeclaredConstructor(new Class[] {JMSBinding.class}); - instance = constructor.newInstance(binding); - - } catch (Throwable e) { - throw new JMSBindingException("Exception instantiating OperationAndDataBinding class", e); - } - - return instance; - } - - public static JMSMessageProcessor getRequestMessageProcessor(JMSBinding binding) { - return (JMSMessageProcessor)instantiate(null, binding.getRequestMessageProcessorName(), binding); - } - - public static JMSMessageProcessor getResponseMessageProcessor(JMSBinding binding) { - return (JMSMessageProcessor)instantiate(null, binding.getResponseMessageProcessorName(), binding); - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactory.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactory.java deleted file mode 100644 index 773be84c7f..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactory.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.jms.provider; - -import javax.jms.Connection; -import javax.jms.Destination; -import javax.jms.JMSException; -import javax.jms.Session; -import javax.naming.NamingException; - -public interface JMSResourceFactory { - - /* - * This is a simple implementation where a connection is created per binding Ideally the resource factory should be - * able to leverage the host environment to provide connection pooling if it can. E.g. if Tuscany is running inside - * an AppServer Then we could leverage the JMS resources it provides - * - * @see org.apache.tuscany.binding.jms.JMSResourceFactory#getConnection() - */ - public abstract Connection getConnection() throws NamingException, JMSException; - - /* - * (non-Javadoc) - * - * @see org.apache.tuscany.binding.jms.JMSResourceFactory#createSession() - */ - public abstract Session createSession() throws JMSException, NamingException; - - /* - * (non-Javadoc) - * - * @see org.apache.tuscany.binding.jms.JMSResourceFactory#startConnection() - */ - public abstract void startConnection() throws JMSException, NamingException; - - /* - * (non-Javadoc) - * - * @see org.apache.tuscany.binding.jms.JMSResourceFactory#closeConnection() - */ - public abstract void closeConnection() throws JMSException; - - public abstract Destination lookupDestination(String destName) throws NamingException; - - /** - * You can create a destination in ActiveMQ (and have it appear in JNDI) by putting "dynamicQueues/" in front of the queue name being looked up - */ - public abstract Destination createDestination(String jndiName) throws NamingException; - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactoryExtensionPoint.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactoryExtensionPoint.java deleted file mode 100644 index 57fbfb3215..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactoryExtensionPoint.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.binding.jms.provider; - -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; - -public interface JMSResourceFactoryExtensionPoint { - - JMSResourceFactory createJMSResourceFactory(JMSBinding binding); - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactoryImpl.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactoryImpl.java deleted file mode 100644 index d0624fb52e..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactoryImpl.java +++ /dev/null @@ -1,223 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.provider; - -import java.util.Properties; - -import javax.jms.Connection; -import javax.jms.ConnectionFactory; -import javax.jms.Destination; -import javax.jms.JMSException; -import javax.jms.Session; -import javax.naming.Context; -import javax.naming.InitialContext; -import javax.naming.NamingException; - -import org.apache.tuscany.sca.binding.jms.impl.JMSBindingConstants; -import org.apache.tuscany.sca.binding.jms.impl.JMSBindingException; - -/** - * Abstracts away any JMS provide specific feature from the JMS binding - * - * @version $Rev$ $Date$ - */ -public class JMSResourceFactoryImpl implements JMSResourceFactory { - - protected String initialContextFactoryName; - protected String connectionFactoryName = "ConnectionFactory"; - protected String jndiURL; - - protected Connection connection; - protected Context context; - protected boolean isConnectionStarted; - - public JMSResourceFactoryImpl(String connectionFactoryName, String initialContextFactoryName, String jndiURL) { - if (connectionFactoryName != null && connectionFactoryName.trim().length() > 0) { - this.connectionFactoryName = connectionFactoryName.trim(); - } - if (initialContextFactoryName != null && initialContextFactoryName.trim().length() > 0) { - this.initialContextFactoryName = initialContextFactoryName.trim(); - } - if (jndiURL != null) { - this.jndiURL = jndiURL.trim(); - } - } - - /* - * This is a simple implementation where a connection is created per binding Ideally the resource factory should be - * able to leverage the host environment to provide connection pooling if it can. E.g. if Tuscany is running inside - * an AppServer Then we could leverage the JMS resources it provides - * - * @see org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory#getConnection() - */ - public Connection getConnection() throws NamingException, JMSException { - if (connection == null) { - createConnection(); - } - return connection; - } - - /* - * (non-Javadoc) - * - * @see org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory#createSession() - */ - public Session createSession() throws JMSException, NamingException { - return getConnection().createSession(false, Session.AUTO_ACKNOWLEDGE); - } - - /* - * (non-Javadoc) - * - * @see org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory#startConnection() - */ - public void startConnection() throws JMSException, NamingException { - if (!isConnectionStarted) { - getConnection().start(); - isConnectionStarted = true; - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory#closeConnection() - */ - public void closeConnection() throws JMSException { - if (connection != null) { - try { - connection.close(); - } catch (JMSException e) { - // if using an embedded broker then when shutting down Tuscany the broker may get closed - // before this stop method is called. I can't see how to detect that so for now just - // ignore the exception if the message is that the transport is already disposed - if (!e.getMessage().contains("disposed")) { - throw e; - } - } - } - } - - protected void createConnection() throws NamingException, JMSException { - ConnectionFactory connectionFactory = (ConnectionFactory)jndiLookUp(connectionFactoryName); - if (connectionFactory == null) { - throw new JMSBindingException("connection factory not found: " + connectionFactoryName); - } - connection = connectionFactory.createConnection(); - } - - protected synchronized Context getInitialContext() throws NamingException { - if (context == null) { - Properties props = new Properties(); - - if (initialContextFactoryName != null) { - props.setProperty(Context.INITIAL_CONTEXT_FACTORY, initialContextFactoryName); - } - if (jndiURL != null) { - props.setProperty(Context.PROVIDER_URL, jndiURL); - } - - initJREEnvironment(props); - - context = new InitialContext(props); - } - return context; - } - - /** - * If using the WAS JMS Client with a non-IBM JRE then an additional - * environment property needs to be set to initialize the ORB correctly. - * See: http://www-1.ibm.com/support/docview.wss?uid=swg24012804 - */ - protected void initJREEnvironment(Properties props) { - if ("com.ibm.websphere.naming.WsnInitialContextFactory".equals(props.get(Context.INITIAL_CONTEXT_FACTORY))) { - String vendor = System.getProperty("java.vendor"); - if (vendor == null || !vendor.contains("IBM")) { - props.setProperty("com.ibm.CORBA.ORBInit", "com.ibm.ws.sib.client.ORB"); - } - } - } - - /* (non-Javadoc) - * @see org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory#lookupDestination(java.lang.String) - */ - public Destination lookupDestination(String destName) throws NamingException { - if (JMSBindingConstants.DEFAULT_DESTINATION_NAME.equals(destName)) { - return null; - } - - Destination dest = (Destination)jndiLookUp(destName); - if (dest == null) { - dest = lookupPhysical(destName); - } - return dest; - } - - protected Destination lookupPhysical(String jndiName) { - - // TODO: the SCA JMS spec says a destination name may be a non-jndi plain destination name - -// Session session = null; -// try { -// -// Destination dest; -// session = createSession(); -// dest = session.createQueue(jndiName); -// return dest; -// -// } catch (JMSException e) { -// throw new JMSBindingException(e); -// } catch (NamingException e) { -// throw new JMSBindingException(e); -// } finally { -// if (session != null) { -// try { -// session.close(); -// } catch (JMSException e) { -// throw new JMSBindingException(e); -// } -// } -// } - return null; - } - - /* (non-Javadoc) - * @see org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory#createDestination(java.lang.String) - */ - public Destination createDestination(String jndiName) throws NamingException { - return lookupDestination("dynamicQueues/" + jndiName); - } - - protected Object jndiLookUp(String name) { - Object o = null; - try { - o = getInitialContext().lookup("java:comp/env/" + name); - } catch (Exception ex) { - // ignore - } - if (o == null) { - try { - o = getInitialContext().lookup(name); - } catch (NamingException ex) { - // ignore - } - } - return o; - } -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/ObjectMessageProcessor.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/ObjectMessageProcessor.java deleted file mode 100644 index e9ae3cecaa..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/ObjectMessageProcessor.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.jms.provider; - -import java.io.Serializable; - -import javax.jms.JMSException; -import javax.jms.Message; -import javax.jms.ObjectMessage; -import javax.jms.Session; - -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; -import org.apache.tuscany.sca.binding.jms.impl.JMSBindingException; - -/** - * MessageProcessor for sending/receiving Serializable objects with the JMSBinding. - * - * @version $Rev$ $Date$ - */ -public class ObjectMessageProcessor extends AbstractMessageProcessor { - - public ObjectMessageProcessor(JMSBinding jmsBinding) { - super(jmsBinding); - } - - @Override - protected Object[] extractPayload(Message msg) { - try { - - Object o = ((ObjectMessage)msg).getObject(); - if (o != null && o.getClass().isArray()) { - return (Object[])o; - } else { - return new Object[] { o}; - } - - } catch (JMSException e) { - throw new JMSBindingException(e); - } - } - - @Override - protected Message createJMSMessage(Session session, Object o) { - try { - - if (!(o instanceof Serializable)) { - throw new IllegalStateException("JMS ObjectMessage payload not Serializable: " + o); - } - - ObjectMessage message = session.createObjectMessage(); - message.setObject((Serializable)o); - return message; - - } catch (JMSException e) { - throw new JMSBindingException(e); - } - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingInvoker.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingInvoker.java deleted file mode 100644 index 33d4366fe6..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingInvoker.java +++ /dev/null @@ -1,279 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.provider; - -import java.lang.reflect.InvocationTargetException; -import java.util.List; -import java.util.Map; - -import javax.jms.DeliveryMode; -import javax.jms.Destination; -import javax.jms.JMSException; -import javax.jms.Message; -import javax.jms.MessageConsumer; -import javax.jms.MessageProducer; -import javax.jms.Session; -import javax.naming.NamingException; -import javax.security.auth.Subject; - -import org.apache.tuscany.sca.binding.jms.context.JMSBindingContext; -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.impl.JMSBindingException; -import org.apache.tuscany.sca.binding.jms.policy.authentication.token.JMSTokenAuthenticationPolicy; -import org.apache.tuscany.sca.binding.jms.policy.header.JMSHeaderPolicy; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.invocation.DataExchangeSemantics; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.SecurityUtil; -import org.apache.tuscany.sca.policy.authentication.token.TokenPrincipal; -import org.apache.tuscany.sca.runtime.ReferenceParameters; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * Invoker for the JMS binding. - * - * @version $Rev$ $Date$ - */ -public class RRBJMSBindingInvoker implements Invoker, DataExchangeSemantics { - - protected Operation operation; - protected String operationName; - - protected JMSBinding jmsBinding; - protected JMSResourceFactory jmsResourceFactory; - protected JMSMessageProcessor requestMessageProcessor; - protected JMSMessageProcessor responseMessageProcessor; - protected Destination bindingRequestDest; - protected Destination bindingReplyDest; - protected RuntimeComponentReference reference; - protected RuntimeWire runtimeWire; - - public RRBJMSBindingInvoker(JMSBinding jmsBinding, Operation operation, JMSResourceFactory jmsResourceFactory, RuntimeComponentReference reference) { - - this.operation = operation; - operationName = operation.getName(); - - this.jmsBinding = jmsBinding; - this.jmsResourceFactory = jmsResourceFactory; - this.reference = reference; - this.runtimeWire = reference.getRuntimeWire(jmsBinding); - this.requestMessageProcessor = JMSMessageProcessorUtil.getRequestMessageProcessor(jmsBinding); - this.responseMessageProcessor = JMSMessageProcessorUtil.getResponseMessageProcessor(jmsBinding); - - try { - bindingRequestDest = lookupDestination(); - bindingReplyDest = lookupResponseDestination(); - } catch (NamingException e) { - throw new JMSBindingException(e); - } - } - - /** - * Looks up the Destination Queue for the JMS Binding - * - * @return The Destination Queue - * @throws NamingException Failed to lookup Destination Queue - * @throws JMSBindingException Failed to lookup Destination Queue - * @see #lookupDestinationQueue(boolean) - */ - protected Destination lookupDestination() throws NamingException, JMSBindingException { - return lookupDestinationQueue(false); - } - - /** - * Looks up the Destination Response Queue for the JMS Binding - * - * @return The Destination Response Queue - * @throws NamingException Failed to lookup Destination Response Queue - * @throws JMSBindingException Failed to lookup Destination Response Queue - * @see #lookupDestinationQueue(boolean) - */ - protected Destination lookupResponseDestination() throws NamingException, JMSBindingException { - return lookupDestinationQueue(true); - } - - /** - * Looks up the Destination Queue for the JMS Binding. - *

- * What happens in the look up will depend on the create mode specified for the JMS Binding: - *

    - *
  • always - the JMS queue is always created. It is an error if the queue already exists - *
  • ifnotexist - the JMS queue is created if it does not exist. It is not an error if the queue already exists - *
  • never - the JMS queue is never created. It is an error if the queue does not exist - *
- * See the SCA JMS Binding specification for more information. - *

- * - * @param isReponseQueue true if we are creating a response queue. - * false if we are creating a request queue - * @return The Destination queue. - * @throws NamingException Failed to lookup JMS queue - * @throws JMSBindingException Failed to lookup JMS Queue. Probable cause is that - * the JMS queue's current existence/non-existence is not compatible with - * the create mode specified on the binding - */ - protected Destination lookupDestinationQueue(boolean isReponseQueue) throws NamingException, JMSBindingException { - String queueName; - String queueType; - String qCreateMode; - - if (isReponseQueue) { - queueName = jmsBinding.getResponseDestinationName(); - queueType = "JMS Response Destination "; - qCreateMode = jmsBinding.getResponseDestinationCreate(); - if (JMSBindingConstants.DEFAULT_RESPONSE_DESTINATION_NAME.equals(queueName)) { - return null; - } - } else { - queueName = jmsBinding.getDestinationName(); - queueType = "JMS Destination "; - qCreateMode = jmsBinding.getDestinationCreate(); - } - - Destination dest = jmsResourceFactory.lookupDestination(queueName); - - if (qCreateMode.equals(JMSBindingConstants.CREATE_ALWAYS)) { - // In this mode, the queue must not already exist as we are creating it - if (dest != null) { - throw new JMSBindingException(queueType + queueName - + " already exists but has create mode of \"" - + qCreateMode - + "\" while registering binding " - + jmsBinding.getName() - + " invoker"); - } - // Create the queue - dest = jmsResourceFactory.createDestination(queueName); - - } else if (qCreateMode.equals(JMSBindingConstants.CREATE_IF_NOT_EXIST)) { - // In this mode, the queue may nor may not exist. It will be created if it does not exist - if (dest == null) { - dest = jmsResourceFactory.createDestination(queueName); - } - - } else if (qCreateMode.equals(JMSBindingConstants.CREATE_NEVER)) { - // In this mode, the queue must have already been created. - if (dest == null) { - throw new JMSBindingException(queueType + queueName - + " not found but create mode of \"" - + qCreateMode - + "\" while registering binding " - + jmsBinding.getName() - + " invoker"); - } - } - - // Make sure we ended up with a queue - if (dest == null) { - throw new JMSBindingException(queueType + queueName - + " not found with create mode of \"" - + qCreateMode - + "\" while registering binding " - + jmsBinding.getName() - + " invoker"); - } - - return dest; - } - - public org.apache.tuscany.sca.invocation.Message invoke(org.apache.tuscany.sca.invocation.Message tuscanyMsg) { - try { - // create a jms session to cover the creation and sending of the message - Session session = jmsResourceFactory.createSession(); - - // populate the message context with JMS binding information - JMSBindingContext context = new JMSBindingContext(); - tuscanyMsg.getHeaders().add(JMSBindingConstants.MSG_CTXT_POSITION, context); - - context.setJmsSession(session); - context.setRequestDestination(getRequestDestination(tuscanyMsg, session)); - context.setReplyToDestination(getReplyToDestination(session)); - context.setJmsResourceFactory(jmsResourceFactory); - - try { - tuscanyMsg = runtimeWire.getBindingInvocationChain().getHeadInvoker().invoke(tuscanyMsg); - } catch (ServiceRuntimeException e) { - if (e.getCause() instanceof InvocationTargetException) { - if ((e.getCause().getCause() instanceof RuntimeException)) { - tuscanyMsg.setFaultBody(e.getCause()); - } else { - tuscanyMsg.setFaultBody(e.getCause().getCause()); - } - } else { - tuscanyMsg.setFaultBody(e); - } - } catch (IllegalStateException e) { - tuscanyMsg.setFaultBody(e); - } catch (Throwable e) { - tuscanyMsg.setFaultBody(e); - } finally { - session.close(); - } - - return tuscanyMsg; - } catch (Exception e) { - throw new JMSBindingException(e); - } - } - - protected Destination getRequestDestination(org.apache.tuscany.sca.invocation.Message tuscanyMsg, Session session) throws JMSBindingException, NamingException, JMSException { - Destination requestDestination; - if (reference.isCallback()) { - String toURI = tuscanyMsg.getTo().getURI(); - if (toURI != null && toURI.startsWith("jms:")) { - // the msg to uri contains the callback destination name - // this is an jms physical name not a jndi name so need to use session.createQueue - requestDestination = session.createQueue(toURI.substring(4)); - } else { - requestDestination = lookupDestination(); - } - } else { - requestDestination = bindingRequestDest; - } - - return requestDestination; - } - - protected Destination getReplyToDestination(Session session) throws JMSException, JMSBindingException, NamingException { - Destination replyToDest; - if (operation.isNonBlocking()) { - replyToDest = null; - } else { - if (bindingReplyDest != null) { - replyToDest = bindingReplyDest; - } else { - replyToDest = session.createTemporaryQueue(); - } - } - return replyToDest; - } - - public boolean allowsPassByReference() { - // JMS always pass by value - return true; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingListener.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingListener.java deleted file mode 100644 index 5306e050e7..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingListener.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.provider; - -import java.lang.reflect.InvocationTargetException; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.jms.Destination; -import javax.jms.JMSException; -import javax.jms.Message; -import javax.jms.MessageListener; -import javax.jms.MessageProducer; -import javax.jms.Queue; -import javax.jms.Session; -import javax.jms.Topic; -import javax.naming.NamingException; -import javax.security.auth.Subject; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.binding.jms.context.JMSBindingContext; -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.impl.JMSBindingException; -import org.apache.tuscany.sca.binding.jms.policy.authentication.token.JMSTokenAuthenticationPolicy; -import org.apache.tuscany.sca.core.assembly.EndpointReferenceImpl; -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.MessageFactory; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.SecurityUtil; -import org.apache.tuscany.sca.policy.authentication.token.TokenPrincipal; -import org.apache.tuscany.sca.runtime.EndpointReference; -import org.apache.tuscany.sca.runtime.ReferenceParameters; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * TODO RRB experiement - * Listener for the JMSBinding. - * - * @version $Rev$ $Date$ - */ -public class RRBJMSBindingListener implements MessageListener { - - private static final Logger logger = Logger.getLogger(RRBJMSBindingListener.class.getName()); - - private JMSBinding jmsBinding; - private Binding targetBinding; - private JMSResourceFactory jmsResourceFactory; - private RuntimeComponentService service; - private JMSMessageProcessor requestMessageProcessor; - private JMSMessageProcessor responseMessageProcessor; - private String correlationScheme; - private List serviceOperations; - private MessageFactory messageFactory; - - - public RRBJMSBindingListener(JMSBinding jmsBinding, JMSResourceFactory jmsResourceFactory, RuntimeComponentService service, Binding targetBinding, MessageFactory messageFactory) throws NamingException { - this.jmsBinding = jmsBinding; - this.jmsResourceFactory = jmsResourceFactory; - this.service = service; - this.targetBinding = targetBinding; - this.messageFactory = messageFactory; - - requestMessageProcessor = JMSMessageProcessorUtil.getRequestMessageProcessor(jmsBinding); - responseMessageProcessor = JMSMessageProcessorUtil.getResponseMessageProcessor(jmsBinding); - correlationScheme = jmsBinding.getCorrelationScheme(); - serviceOperations = service.getInterfaceContract().getInterface().getOperations(); - - } - - public void onMessage(Message requestJMSMsg) { - logger.log(Level.FINE, "JMS service '" + service.getName() + "' received message " + requestJMSMsg); - try { - invokeService(requestJMSMsg); - } catch (Throwable e) { - logger.log(Level.SEVERE, "Exception send fault response '" + service.getName(), e); - } - } - - protected void invokeService(Message requestJMSMsg) throws JMSException, InvocationTargetException { - - // create the tuscany message - org.apache.tuscany.sca.invocation.Message tuscanyMsg = messageFactory.createMessage(); - - // populate the message context with JMS binding information - JMSBindingContext context = new JMSBindingContext(); - tuscanyMsg.getHeaders().add(context); - - context.setJmsMsg(requestJMSMsg); - context.setJmsResourceFactory(jmsResourceFactory); - context.setReplyToDestination(requestJMSMsg.getJMSReplyTo()); - - // set the message body - tuscanyMsg.setBody(requestJMSMsg); - - // call the runtime wire - the response is handled by the - // transport interceptor - service.getRuntimeWire(targetBinding).invoke(tuscanyMsg); - - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/TextMessageProcessor.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/TextMessageProcessor.java deleted file mode 100644 index d8490c6223..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/TextMessageProcessor.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.jms.provider; - -import javax.jms.JMSException; -import javax.jms.Message; -import javax.jms.Session; -import javax.jms.TextMessage; - -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; -import org.apache.tuscany.sca.binding.jms.impl.JMSBindingException; - -/** - * MessageProcessor for sending/receiving javax.jms.TextMessage with the JMSBinding. - * - * @version $Rev$ $Date$ - */ -public class TextMessageProcessor extends AbstractMessageProcessor { - - public TextMessageProcessor(JMSBinding jmsBinding) { - super(jmsBinding); - } - - @Override - protected Object[] extractPayload(Message msg) { - try { - - if (!(msg instanceof TextMessage)) { - throw new IllegalStateException("expecting JMS TextMessage: " + msg); - } - - return new Object[] {((TextMessage)msg).getText()}; - - } catch (JMSException e) { - throw new JMSBindingException(e); - } - } - - @Override - protected Message createJMSMessage(Session session, Object o) { - try { - - TextMessage message = session.createTextMessage(); - message.setText(String.valueOf(o)); - return message; - - } catch (JMSException e) { - throw new JMSBindingException(e); - } - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/XMLTextMessageProcessor.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/XMLTextMessageProcessor.java deleted file mode 100644 index 88dd41cc57..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/XMLTextMessageProcessor.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.jms.provider; - -import java.io.StringReader; - -import javax.jms.JMSException; -import javax.jms.Message; -import javax.jms.Session; -import javax.jms.TextMessage; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.impl.builder.StAXOMBuilder; -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; -import org.apache.tuscany.sca.binding.jms.impl.JMSBindingException; - -/** - * MessageProcessor for sending/receiving XML javax.jms.TextMessage with the JMSBinding. - * - * @version $Rev$ $Date$ - */ -public class XMLTextMessageProcessor extends AbstractMessageProcessor { - - public XMLTextMessageProcessor(JMSBinding jmsBinding) { - super(jmsBinding); - } - - @Override - protected Object[] extractPayload(Message msg) { - try { - - String xml = ((TextMessage)msg).getText(); - Object[] os; - if (xml != null) { - XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(new StringReader(xml)); - StAXOMBuilder builder = new StAXOMBuilder(reader); - os = new Object[] {builder.getDocumentElement()}; - } else { - os = new Object[] {}; - } - return os; - - } catch (XMLStreamException e) { - throw new JMSBindingException(e); - } catch (JMSException e) { - throw new JMSBindingException(e); - } - } - - @Override - protected Message createJMSMessage(Session session, Object o) { - try { - - TextMessage message = session.createTextMessage(); - - if (o instanceof OMElement) { - message.setText(o.toString()); - } else if ((o instanceof Object[]) && ((Object[])o)[0] instanceof OMElement) { - message.setText(((Object[])o)[0].toString()); - } else if (o != null) { - throw new IllegalStateException("expecting OMElement payload: " + o); - } - - return message; - - } catch (JMSException e) { - throw new JMSBindingException(e); - } - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java deleted file mode 100644 index e84279cae1..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.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.binding.jms.transport; - -import java.util.List; - -import javax.jms.JMSException; -import javax.jms.MessageConsumer; -import javax.jms.MessageProducer; -import javax.jms.Session; -import javax.naming.NamingException; - - -import org.apache.tuscany.sca.binding.jms.context.JMSBindingContext; -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.impl.JMSBindingException; -import org.apache.tuscany.sca.binding.jms.policy.authentication.token.JMSTokenAuthenticationPolicy; -import org.apache.tuscany.sca.binding.jms.policy.header.JMSHeaderPolicy; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessor; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessorUtil; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * Policy handler to handle PolicySet related to Logging with the QName - * {http://tuscany.apache.org/xmlns/sca/1.0/impl/java}LoggingPolicy - * - * @version $Rev$ $Date$ - */ -public class TransportReferenceInterceptor implements Interceptor { - - private static final String ON_MESSAGE_METHOD_NAME = "onMessage"; - - private Invoker next; - private RuntimeWire runtimeWire; - private JMSResourceFactory jmsResourceFactory; - private JMSBinding jmsBinding; - private JMSMessageProcessor requestMessageProcessor; - private JMSMessageProcessor responseMessageProcessor; - private RuntimeComponentReference reference; - protected JMSHeaderPolicy jmsHeaderPolicy = null; - - - public TransportReferenceInterceptor(JMSBinding jmsBinding, JMSResourceFactory jmsResourceFactory, RuntimeWire runtimeWire) { - super(); - this.jmsBinding = jmsBinding; - this.runtimeWire = runtimeWire; - this.jmsResourceFactory = jmsResourceFactory; - this.requestMessageProcessor = JMSMessageProcessorUtil.getRequestMessageProcessor(jmsBinding); - this.responseMessageProcessor = JMSMessageProcessorUtil.getResponseMessageProcessor(jmsBinding); - this.reference = (RuntimeComponentReference)runtimeWire.getSource().getContract(); - - // find out if the header policy is active - if (jmsBinding instanceof PolicySetAttachPoint) { - List policySets = ((PolicySetAttachPoint)jmsBinding).getApplicablePolicySets(); - for (PolicySet ps : policySets) { - for (Object p : ps.getPolicies()) { - if (JMSHeaderPolicy.class.isInstance(p)) { - jmsHeaderPolicy = (JMSHeaderPolicy)p; - } - } - } - } - } - - public Message invoke(Message msg) { - Message responseMsg = invokeRequest(msg); - - // get the jms context - JMSBindingContext context = (JMSBindingContext)msg.getHeaders().get(JMSBindingConstants.MSG_CTXT_POSITION); - - if (context.getReplyToDestination() == null) { - responseMsg.setBody(null); - } else { - responseMsg = invokeResponse(msg); - } - - return responseMsg; - } - - public Message invokeRequest(Message msg) { - try { - // get the jms context - JMSBindingContext context = (JMSBindingContext)msg.getHeaders().get(JMSBindingConstants.MSG_CTXT_POSITION); - Session session = context.getJmsSession(); - - MessageProducer producer = session.createProducer(context.getRequestDestination()); - - if (jmsBinding.getOperationJMSTimeToLive(msg.getOperation().getName()) != null) { - producer.setTimeToLive(jmsBinding.getOperationJMSTimeToLive(msg.getOperation().getName())); - } - - try { - producer.send((javax.jms.Message)msg.getBody()); - } finally { - producer.close(); - } - return msg; - } catch (JMSException e) { - throw new JMSBindingException(e); - } - } - - public Message invokeResponse(Message msg) { - try { - // get the jms context - JMSBindingContext context = (JMSBindingContext)msg.getHeaders().get(JMSBindingConstants.MSG_CTXT_POSITION); - Session session = context.getJmsSession(); - - javax.jms.Message requestMessage = (javax.jms.Message)msg.getBody(); - - String operationName = msg.getOperation().getName(); - - String msgSelector = "JMSCorrelationID = '" + - requestMessage.getJMSMessageID() + - "'"; - MessageConsumer consumer = session.createConsumer(context.getReplyToDestination(), msgSelector); - - long receiveWait; - - if ((jmsHeaderPolicy != null) && - (jmsHeaderPolicy.getTimeToLive() != null)) { - receiveWait = jmsHeaderPolicy.getTimeToLive(); - } else if (jmsBinding.getOperationJMSTimeToLive(operationName) != null) { - receiveWait = jmsBinding.getOperationJMSTimeToLive(operationName) * 2; - } else { - receiveWait = JMSBindingConstants.DEFAULT_TIME_TO_LIVE; - } - - javax.jms.Message replyMsg; - try { - context.getJmsResourceFactory().startConnection(); - //jmsResourceFactory.startConnection(); - replyMsg = consumer.receive(receiveWait); - } finally { - consumer.close(); - } - if (replyMsg == null) { - throw new JMSBindingException("No reply message received on " + - context.getReplyToDestination() + - " for message id " + - requestMessage.getJMSMessageID()); - } - - msg.setBody(replyMsg); - return msg; - } catch (JMSException e) { - throw new JMSBindingException(e); - } catch (NamingException e) { - throw new JMSBindingException(e); - } - } - - public Invoker getNext() { - return next; - } - - public void setNext(Invoker next) { - this.next = next; - } -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportServiceInterceptor.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportServiceInterceptor.java deleted file mode 100644 index ed17140ac3..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportServiceInterceptor.java +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.transport; - -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.jms.Destination; -import javax.jms.JMSException; -import javax.jms.MessageProducer; -import javax.jms.Queue; -import javax.jms.Session; -import javax.jms.Topic; -import javax.naming.NamingException; -import javax.security.auth.Subject; - -import org.apache.tuscany.sca.binding.jms.context.JMSBindingContext; -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.impl.JMSBindingException; -import org.apache.tuscany.sca.binding.jms.provider.DefaultJMSBindingListener; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessor; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessorUtil; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory; -import org.apache.tuscany.sca.core.assembly.EndpointReferenceImpl; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.policy.SecurityUtil; -import org.apache.tuscany.sca.policy.authentication.token.TokenPrincipal; -import org.apache.tuscany.sca.runtime.EndpointReference; -import org.apache.tuscany.sca.runtime.ReferenceParameters; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * Policy handler to handle PolicySet related to Logging with the QName - * {http://tuscany.apache.org/xmlns/sca/1.0/impl/java}LoggingPolicy - * - * @version $Rev$ $Date$ - */ -public class TransportServiceInterceptor implements Interceptor { - private static final Logger logger = Logger.getLogger(TransportServiceInterceptor.class.getName()); - - private Invoker next; - private RuntimeWire runtimeWire; - private JMSResourceFactory jmsResourceFactory; - private JMSBinding jmsBinding; - private JMSMessageProcessor requestMessageProcessor; - private JMSMessageProcessor responseMessageProcessor; - private RuntimeComponentService service; - private String correlationScheme; - - - public TransportServiceInterceptor(JMSBinding jmsBinding, JMSResourceFactory jmsResourceFactory, RuntimeWire runtimeWire) { - super(); - this.jmsBinding = jmsBinding; - this.runtimeWire = runtimeWire; - this.jmsResourceFactory = jmsResourceFactory; - this.requestMessageProcessor = JMSMessageProcessorUtil.getRequestMessageProcessor(jmsBinding); - this.responseMessageProcessor = JMSMessageProcessorUtil.getResponseMessageProcessor(jmsBinding); - this.service = (RuntimeComponentService)runtimeWire.getTarget().getContract(); - this.correlationScheme = jmsBinding.getCorrelationScheme(); - } - - public Message invoke(Message msg) { - try { - return invokeResponse(next.invoke(invokeRequest(msg))); - } catch (Throwable e) { - logger.log(Level.SEVERE, "Exception invoking service '" + service.getName(), e); - JMSBindingContext context = (JMSBindingContext)msg.getHeaders().get(JMSBindingConstants.MSG_CTXT_POSITION); - javax.jms.Message replyJMSMsg = responseMessageProcessor.createFaultMessage(context.getJmsSession(), - (Throwable)e); - msg.setBody(replyJMSMsg); - invokeResponse(msg); - return msg; - } - } - - public Message invokeRequest(Message msg) { - try { - JMSBindingContext context = (JMSBindingContext)msg.getHeaders().get(JMSBindingConstants.MSG_CTXT_POSITION); - javax.jms.Message requestJMSMsg = context.getJmsMsg(); - context.setJmsSession(context.getJmsResourceFactory().createSession()); - - EndpointReference from = new EndpointReferenceImpl(null); - msg.setFrom(from); - from.setCallbackEndpoint(new EndpointReferenceImpl("/")); // TODO: whats this for? - ReferenceParameters parameters = from.getReferenceParameters(); - - String conversationID = requestJMSMsg.getStringProperty(JMSBindingConstants.CONVERSATION_ID_PROPERTY); - if (conversationID != null) { - parameters.setConversationID(conversationID); - } - - return msg; - } catch (JMSException e) { - throw new JMSBindingException(e); - } catch (NamingException e) { - throw new JMSBindingException(e); - } - } - - public Message invokeResponse(Message msg) { - try { - JMSBindingContext context = (JMSBindingContext)msg.getHeaders().get(JMSBindingConstants.MSG_CTXT_POSITION); - Session session = context.getJmsSession(); - javax.jms.Message requestJMSMsg = context.getJmsMsg(); - javax.jms.Message responseJMSMsg = msg.getBody(); - - - if (requestJMSMsg.getJMSReplyTo() == null) { - // assume no reply is expected - if (msg.getBody() != null) { - logger.log(Level.FINE, "JMS service '" + service.getName() + "' dropped response as request has no replyTo"); - } - return msg; - } - - responseJMSMsg.setJMSDeliveryMode(requestJMSMsg.getJMSDeliveryMode()); - responseJMSMsg.setJMSPriority(requestJMSMsg.getJMSPriority()); - - if (correlationScheme == null || - JMSBindingConstants.CORRELATE_MSG_ID.equalsIgnoreCase(correlationScheme)) { - responseJMSMsg.setJMSCorrelationID(requestJMSMsg.getJMSMessageID()); - } else if (JMSBindingConstants.CORRELATE_CORRELATION_ID.equalsIgnoreCase(correlationScheme)) { - responseJMSMsg.setJMSCorrelationID(requestJMSMsg.getJMSCorrelationID()); - } - - MessageProducer producer = session.createProducer(context.getReplyToDestination()); - - producer.send((javax.jms.Message)msg.getBody()); - - producer.close(); - session.close(); - - return msg; - - } catch (JMSException e) { - throw new JMSBindingException(e); - } - } - - public Invoker getNext() { - return next; - } - - public void setNext(Invoker next) { - this.next = next; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesProviderFactory.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesProviderFactory.java deleted file mode 100644 index 9f554b50e9..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesProviderFactory.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.jms.wireformat.jmsbytes; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.provider.WireFormatProvider; -import org.apache.tuscany.sca.provider.WireFormatProviderFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public class WireFormatJMSBytesProviderFactory implements WireFormatProviderFactory { - private ExtensionPointRegistry registry; - - public WireFormatJMSBytesProviderFactory(ExtensionPointRegistry registry) { - super(); - this.registry = registry; - } - - /** - */ - public WireFormatProvider createReferenceWireFormatProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - return new WireFormatJMSBytesReferenceProvider(registry, component, reference, binding); - } - - /** - */ - public WireFormatProvider createServiceWireFormatProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding) { - return new WireFormatJMSBytesServiceProvider(registry, component, service, binding); - } - - /** - * @see org.apache.tuscany.sca.provider.ProviderFactory#getModelType() - */ - public Class getModelType() { - // TODO Auto-generated method stub - return null; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesReferenceInterceptor.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesReferenceInterceptor.java deleted file mode 100644 index f990a9a0ba..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesReferenceInterceptor.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.wireformat.jmsbytes; - - -import javax.jms.JMSException; -import javax.jms.Session; - -import org.apache.tuscany.sca.assembly.WireFormat; -import org.apache.tuscany.sca.binding.jms.context.JMSBindingContext; -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.impl.JMSBindingException; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessor; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessorUtil; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * - * @version $Rev$ $Date$ - */ -public class WireFormatJMSBytesReferenceInterceptor implements Interceptor { - - private Invoker next; - private RuntimeWire runtimeWire; - private JMSResourceFactory jmsResourceFactory; - private JMSBinding jmsBinding; - private JMSMessageProcessor requestMessageProcessor; - private JMSMessageProcessor responseMessageProcessor; - - public WireFormatJMSBytesReferenceInterceptor(JMSBinding jmsBinding, JMSResourceFactory jmsResourceFactory, RuntimeWire runtimeWire) { - super(); - this.jmsBinding = jmsBinding; - this.runtimeWire = runtimeWire; - this.jmsResourceFactory = jmsResourceFactory; - this.requestMessageProcessor = JMSMessageProcessorUtil.getRequestMessageProcessor(jmsBinding); - this.responseMessageProcessor = JMSMessageProcessorUtil.getResponseMessageProcessor(jmsBinding); - } - - public Message invoke(Message msg) { - if (jmsBinding.getRequestWireFormat() instanceof WireFormatJMSBytes){ - msg = invokeRequest(msg); - } - - msg = getNext().invoke(msg); - - if (jmsBinding.getResponseWireFormat() instanceof WireFormatJMSBytes){ - msg = invokeResponse(msg); - } - - return msg; - } - - public Message invokeRequest(Message msg) { - try { - // get the jms context - JMSBindingContext context = (JMSBindingContext)msg.getHeaders().get(JMSBindingConstants.MSG_CTXT_POSITION); - Session session = context.getJmsSession(); - - javax.jms.Message requestMsg = requestMessageProcessor.insertPayloadIntoJMSMessage(session, msg.getBody()); - msg.setBody(requestMsg); - - requestMsg.setJMSReplyTo(context.getReplyToDestination()); - - return msg; - } catch (JMSException e) { - throw new JMSBindingException(e); - } - } - - public Message invokeResponse(Message msg) { - if (msg.getBody() != null){ - Object[] response = (Object[])responseMessageProcessor.extractPayloadFromJMSMessage((javax.jms.Message)msg.getBody()); - if (response != null && response.length > 0){ - msg.setBody(response[0]); - } else { - msg.setBody(null); - } - } - - return msg; - } - - public Invoker getNext() { - return next; - } - - public void setNext(Invoker next) { - this.next = next; - } -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesReferenceProvider.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesReferenceProvider.java deleted file mode 100644 index 65de548e58..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesReferenceProvider.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.wireformat.jmsbytes; - -import java.util.List; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.assembly.Binding; -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.JMSMessageProcessorUtil; -import org.apache.tuscany.sca.binding.jms.provider.XMLTextMessageProcessor; -import org.apache.tuscany.sca.binding.jms.wireformat.jmstextxml.WireFormatJMSTextXML; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory; -import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Phase; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.util.PolicyHandler; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.WireFormatProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; - -/** - * @version $Rev$ $Date$ - */ -public class WireFormatJMSBytesReferenceProvider implements WireFormatProvider { - private ExtensionPointRegistry registry; - private RuntimeComponent component; - private RuntimeComponentReference reference; - private JMSBinding binding; - private InterfaceContract interfaceContract; - - public WireFormatJMSBytesReferenceProvider(ExtensionPointRegistry registry, - RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - super(); - this.registry = registry; - this.component = component; - this.reference = reference; - this.binding = (JMSBinding)binding; - - // configure the reference based on this wire format - - // currently maintaining the message processor structure which - // contains the details of jms message processing however overried - // any message processors specied in the SCDL in this case - this.binding.setRequestMessageProcessorName(JMSBindingConstants.BYTES_MP_CLASSNAME); - this.binding.setResponseMessageProcessorName(JMSBindingConstants.BYTES_MP_CLASSNAME); - - // just point to the reference interface contract so no - // databinding transformation takes place - interfaceContract = reference.getInterfaceContract(); - } - - public InterfaceContract getWireFormatInterfaceContract() { - return interfaceContract; - } - - public Interceptor createInterceptor() { - return new WireFormatJMSBytesReferenceInterceptor(binding, - null, - reference.getRuntimeWire(binding)); - } - - public String getPhase() { - return Phase.REFERENCE_BINDING_WIREFORMAT; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesServiceInterceptor.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesServiceInterceptor.java deleted file mode 100644 index 7c7c622fbc..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesServiceInterceptor.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.wireformat.jmsbytes; - -import javax.jms.JMSException; -import javax.jms.Session; - -import org.apache.tuscany.sca.assembly.WireFormat; -import org.apache.tuscany.sca.binding.jms.context.JMSBindingContext; -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.impl.JMSBindingException; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessor; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessorUtil; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * Policy handler to handle PolicySet related to Logging with the QName - * {http://tuscany.apache.org/xmlns/sca/1.0/impl/java}LoggingPolicy - * - * @version $Rev$ $Date$ - */ -public class WireFormatJMSBytesServiceInterceptor implements Interceptor { - private Invoker next; - private RuntimeWire runtimeWire; - private JMSResourceFactory jmsResourceFactory; - private JMSBinding jmsBinding; - private JMSMessageProcessor requestMessageProcessor; - private JMSMessageProcessor responseMessageProcessor; - - public WireFormatJMSBytesServiceInterceptor(JMSBinding jmsBinding, JMSResourceFactory jmsResourceFactory, RuntimeWire runtimeWire) { - super(); - this.jmsBinding = jmsBinding; - this.runtimeWire = runtimeWire; - this.jmsResourceFactory = jmsResourceFactory; - this.requestMessageProcessor = JMSMessageProcessorUtil.getRequestMessageProcessor(jmsBinding); - this.responseMessageProcessor = JMSMessageProcessorUtil.getResponseMessageProcessor(jmsBinding); - } - - public Message invoke(Message msg) { - if (jmsBinding.getRequestWireFormat() instanceof WireFormatJMSBytes){ - msg = invokeRequest(msg); - } - - msg = getNext().invoke(msg); - - if (jmsBinding.getResponseWireFormat() instanceof WireFormatJMSBytes){ - msg = invokeResponse(msg); - } - - return msg; - } - - public Message invokeRequest(Message msg) { - // get the jms context - JMSBindingContext context = (JMSBindingContext)msg.getHeaders().get(JMSBindingConstants.MSG_CTXT_POSITION); - javax.jms.Message jmsMsg = context.getJmsMsg(); - - Object requestPayload = requestMessageProcessor.extractPayloadFromJMSMessage(jmsMsg); - msg.setBody(requestPayload); - - return msg; - } - - public Message invokeResponse(Message msg) { - // get the jms context - JMSBindingContext context = (JMSBindingContext)msg.getHeaders().get(JMSBindingConstants.MSG_CTXT_POSITION); - javax.jms.Message requestJMSMsg = context.getJmsMsg(); - Session session = context.getJmsSession(); - - javax.jms.Message responseJMSMsg; - if (msg.isFault()) { - responseJMSMsg = responseMessageProcessor.createFaultMessage(session, (Throwable)msg.getBody()); - } else { - Object[] response = {msg.getBody()}; - responseJMSMsg = responseMessageProcessor.insertPayloadIntoJMSMessage(session, response); - } - - msg.setBody(responseJMSMsg); - - return msg; - } - - public Invoker getNext() { - return next; - } - - public void setNext(Invoker next) { - this.next = next; - } -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesServiceProvider.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesServiceProvider.java deleted file mode 100644 index 60ea1c7ff4..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesServiceProvider.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.jms.wireformat.jmsbytes; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; -import org.apache.tuscany.sca.binding.jms.impl.JMSBindingConstants; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Phase; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.util.PolicyHandler; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.WireFormatProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public class WireFormatJMSBytesServiceProvider implements WireFormatProvider { - private ExtensionPointRegistry registry; - private RuntimeComponent component; - private RuntimeComponentService service; - private JMSBinding binding; - private InterfaceContract interfaceContract; - - public WireFormatJMSBytesServiceProvider(ExtensionPointRegistry registry, - RuntimeComponent component, - RuntimeComponentService service, - Binding binding) { - super(); - this.registry = registry; - this.component = component; - this.service = service; - this.binding = (JMSBinding)binding; - - // configure the service based on this wire format - - // currently maintaining the message processor structure which - // contains the details of jms message processing however overried - // any message processors specied in the SCDL in this case - this.binding.setRequestMessageProcessorName(JMSBindingConstants.BYTES_MP_CLASSNAME); - this.binding.setResponseMessageProcessorName(JMSBindingConstants.BYTES_MP_CLASSNAME); - - // just point to the reference interface contract so no - // databinding transformation takes place - interfaceContract = service.getInterfaceContract(); - } - - public InterfaceContract getWireFormatInterfaceContract() { - return interfaceContract; - } - - /** - */ - public Interceptor createInterceptor() { - return new WireFormatJMSBytesServiceInterceptor((JMSBinding)binding, - null, - service.getRuntimeWire(binding)); - } - - /** - */ - public String getPhase() { - return Phase.SERVICE_BINDING_WIREFORMAT; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectProviderFactory.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectProviderFactory.java deleted file mode 100644 index 5811ca53e0..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectProviderFactory.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.jms.wireformat.jmsobject; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.provider.WireFormatProvider; -import org.apache.tuscany.sca.provider.WireFormatProviderFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public class WireFormatJMSObjectProviderFactory implements WireFormatProviderFactory { - private ExtensionPointRegistry registry; - - public WireFormatJMSObjectProviderFactory(ExtensionPointRegistry registry) { - super(); - this.registry = registry; - } - - /** - */ - public WireFormatProvider createReferenceWireFormatProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - return new WireFormatJMSObjectReferenceProvider(registry, component, reference, binding); - } - - /** - */ - public WireFormatProvider createServiceWireFormatProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding) { - return new WireFormatJMSObjectServiceProvider(registry, component, service, binding); - } - - /** - * @see org.apache.tuscany.sca.provider.ProviderFactory#getModelType() - */ - public Class getModelType() { - // TODO Auto-generated method stub - return null; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectReferenceInterceptor.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectReferenceInterceptor.java deleted file mode 100644 index 9653c0d51e..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectReferenceInterceptor.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.wireformat.jmsobject; - - -import javax.jms.JMSException; -import javax.jms.Session; - -import org.apache.tuscany.sca.assembly.WireFormat; -import org.apache.tuscany.sca.binding.jms.context.JMSBindingContext; -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.impl.JMSBindingException; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessor; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessorUtil; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * - * @version $Rev$ $Date$ - */ -public class WireFormatJMSObjectReferenceInterceptor implements Interceptor { - - private Invoker next; - private RuntimeWire runtimeWire; - private JMSResourceFactory jmsResourceFactory; - private JMSBinding jmsBinding; - private JMSMessageProcessor requestMessageProcessor; - private JMSMessageProcessor responseMessageProcessor; - - public WireFormatJMSObjectReferenceInterceptor(JMSBinding jmsBinding, JMSResourceFactory jmsResourceFactory, RuntimeWire runtimeWire) { - super(); - this.jmsBinding = jmsBinding; - this.runtimeWire = runtimeWire; - this.jmsResourceFactory = jmsResourceFactory; - this.requestMessageProcessor = JMSMessageProcessorUtil.getRequestMessageProcessor(jmsBinding); - this.responseMessageProcessor = JMSMessageProcessorUtil.getResponseMessageProcessor(jmsBinding); - } - - public Message invoke(Message msg) { - if (jmsBinding.getRequestWireFormat() instanceof WireFormatJMSObject){ - msg = invokeRequest(msg); - } - - msg = getNext().invoke(msg); - - if (jmsBinding.getResponseWireFormat() instanceof WireFormatJMSObject){ - msg = invokeResponse(msg); - } - - return msg; - } - - public Message invokeRequest(Message msg) { - try { - // get the jms context - JMSBindingContext context = (JMSBindingContext)msg.getHeaders().get(JMSBindingConstants.MSG_CTXT_POSITION); - Session session = context.getJmsSession(); - - javax.jms.Message requestMsg = requestMessageProcessor.insertPayloadIntoJMSMessage(session, msg.getBody()); - msg.setBody(requestMsg); - - requestMsg.setJMSReplyTo(context.getReplyToDestination()); - - return msg; - } catch (JMSException e) { - throw new JMSBindingException(e); - } - } - - public Message invokeResponse(Message msg) { - if (msg.getBody() != null){ - Object[] response = (Object[])responseMessageProcessor.extractPayloadFromJMSMessage((javax.jms.Message)msg.getBody()); - if (response != null && response.length > 0){ - msg.setBody(response[0]); - } else { - msg.setBody(null); - } - } - - return msg; - } - - public Invoker getNext() { - return next; - } - - public void setNext(Invoker next) { - this.next = next; - } -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectReferenceProvider.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectReferenceProvider.java deleted file mode 100644 index b993ae9067..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectReferenceProvider.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.wireformat.jmsobject; - -import java.util.List; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.assembly.Binding; -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.JMSMessageProcessorUtil; -import org.apache.tuscany.sca.binding.jms.provider.XMLTextMessageProcessor; -import org.apache.tuscany.sca.binding.jms.wireformat.jmstextxml.WireFormatJMSTextXML; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory; -import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Phase; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.util.PolicyHandler; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.WireFormatProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; - -/** - * @version $Rev$ $Date$ - */ -public class WireFormatJMSObjectReferenceProvider implements WireFormatProvider { - private ExtensionPointRegistry registry; - private RuntimeComponent component; - private RuntimeComponentReference reference; - private JMSBinding binding; - private InterfaceContract interfaceContract; - - public WireFormatJMSObjectReferenceProvider(ExtensionPointRegistry registry, - RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - super(); - this.registry = registry; - this.component = component; - this.reference = reference; - this.binding = (JMSBinding)binding; - - // configure the reference based on this wire format - - // currently maintaining the message processor structure which - // contains the details of jms message processing however overried - // any message processors specied in the SCDL in this case - this.binding.setRequestMessageProcessorName(JMSBindingConstants.OBJECT_MP_CLASSNAME); - this.binding.setResponseMessageProcessorName(JMSBindingConstants.OBJECT_MP_CLASSNAME); - - // just point to the reference interface contract so no - // databinding transformation takes place - interfaceContract = reference.getInterfaceContract(); - } - - public InterfaceContract getWireFormatInterfaceContract() { - return interfaceContract; - } - - public Interceptor createInterceptor() { - return new WireFormatJMSObjectReferenceInterceptor(binding, - null, - reference.getRuntimeWire(binding)); - } - - public String getPhase() { - return Phase.REFERENCE_BINDING_WIREFORMAT; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectServiceInterceptor.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectServiceInterceptor.java deleted file mode 100644 index 4bfbd2be0e..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectServiceInterceptor.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.wireformat.jmsobject; - -import javax.jms.JMSException; -import javax.jms.Session; - -import org.apache.tuscany.sca.assembly.WireFormat; -import org.apache.tuscany.sca.binding.jms.context.JMSBindingContext; -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.impl.JMSBindingException; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessor; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessorUtil; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * Policy handler to handle PolicySet related to Logging with the QName - * {http://tuscany.apache.org/xmlns/sca/1.0/impl/java}LoggingPolicy - * - * @version $Rev$ $Date$ - */ -public class WireFormatJMSObjectServiceInterceptor implements Interceptor { - private Invoker next; - private RuntimeWire runtimeWire; - private JMSResourceFactory jmsResourceFactory; - private JMSBinding jmsBinding; - private JMSMessageProcessor requestMessageProcessor; - private JMSMessageProcessor responseMessageProcessor; - - public WireFormatJMSObjectServiceInterceptor(JMSBinding jmsBinding, JMSResourceFactory jmsResourceFactory, RuntimeWire runtimeWire) { - super(); - this.jmsBinding = jmsBinding; - this.runtimeWire = runtimeWire; - this.jmsResourceFactory = jmsResourceFactory; - this.requestMessageProcessor = JMSMessageProcessorUtil.getRequestMessageProcessor(jmsBinding); - this.responseMessageProcessor = JMSMessageProcessorUtil.getResponseMessageProcessor(jmsBinding); - } - - public Message invoke(Message msg) { - if (jmsBinding.getRequestWireFormat() instanceof WireFormatJMSObject){ - msg = invokeRequest(msg); - } - - msg = getNext().invoke(msg); - - if (jmsBinding.getResponseWireFormat() instanceof WireFormatJMSObject){ - msg = invokeResponse(msg); - } - - return msg; - } - - public Message invokeRequest(Message msg) { - // get the jms context - JMSBindingContext context = (JMSBindingContext)msg.getHeaders().get(JMSBindingConstants.MSG_CTXT_POSITION); - javax.jms.Message jmsMsg = context.getJmsMsg(); - - Object requestPayload = requestMessageProcessor.extractPayloadFromJMSMessage(jmsMsg); - msg.setBody(requestPayload); - - return msg; - } - - public Message invokeResponse(Message msg) { - // get the jms context - JMSBindingContext context = (JMSBindingContext)msg.getHeaders().get(JMSBindingConstants.MSG_CTXT_POSITION); - javax.jms.Message requestJMSMsg = context.getJmsMsg(); - Session session = context.getJmsSession(); - - javax.jms.Message responseJMSMsg; - if (msg.isFault()) { - responseJMSMsg = responseMessageProcessor.createFaultMessage(session, (Throwable)msg.getBody()); - } else { - Object[] response = {msg.getBody()}; - responseJMSMsg = responseMessageProcessor.insertPayloadIntoJMSMessage(session, response); - } - - msg.setBody(responseJMSMsg); - - return msg; - } - - public Invoker getNext() { - return next; - } - - public void setNext(Invoker next) { - this.next = next; - } -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectServiceProvider.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectServiceProvider.java deleted file mode 100644 index 9def71a6e0..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectServiceProvider.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.jms.wireformat.jmsobject; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; -import org.apache.tuscany.sca.binding.jms.impl.JMSBindingConstants; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Phase; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.util.PolicyHandler; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.WireFormatProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public class WireFormatJMSObjectServiceProvider implements WireFormatProvider { - private ExtensionPointRegistry registry; - private RuntimeComponent component; - private RuntimeComponentService service; - private JMSBinding binding; - private InterfaceContract interfaceContract; - - public WireFormatJMSObjectServiceProvider(ExtensionPointRegistry registry, - RuntimeComponent component, - RuntimeComponentService service, - Binding binding) { - super(); - this.registry = registry; - this.component = component; - this.service = service; - this.binding = (JMSBinding)binding; - - // configure the service based on this wire format - - // currently maintaining the message processor structure which - // contains the details of jms message processing however overried - // any message processors specied in the SCDL in this case - this.binding.setRequestMessageProcessorName(JMSBindingConstants.OBJECT_MP_CLASSNAME); - this.binding.setResponseMessageProcessorName(JMSBindingConstants.OBJECT_MP_CLASSNAME); - - // just point to the reference interface contract so no - // databinding transformation takes place - interfaceContract = service.getInterfaceContract(); - } - - public InterfaceContract getWireFormatInterfaceContract() { - return interfaceContract; - } - - /** - */ - public Interceptor createInterceptor() { - return new WireFormatJMSObjectServiceInterceptor((JMSBinding)binding, - null, - service.getRuntimeWire(binding)); - } - - /** - */ - public String getPhase() { - return Phase.SERVICE_BINDING_WIREFORMAT; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextProviderFactory.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextProviderFactory.java deleted file mode 100644 index 5480cc8165..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextProviderFactory.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.jms.wireformat.jmstext; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.provider.WireFormatProvider; -import org.apache.tuscany.sca.provider.WireFormatProviderFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public class WireFormatJMSTextProviderFactory implements WireFormatProviderFactory { - private ExtensionPointRegistry registry; - - public WireFormatJMSTextProviderFactory(ExtensionPointRegistry registry) { - super(); - this.registry = registry; - } - - /** - */ - public WireFormatProvider createReferenceWireFormatProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - return new WireFormatJMSTextReferenceProvider(registry, component, reference, binding); - } - - /** - */ - public WireFormatProvider createServiceWireFormatProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding) { - return new WireFormatJMSTextServiceProvider(registry, component, service, binding); - } - - /** - * @see org.apache.tuscany.sca.provider.ProviderFactory#getModelType() - */ - public Class getModelType() { - // TODO Auto-generated method stub - return null; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextReferenceInterceptor.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextReferenceInterceptor.java deleted file mode 100644 index e317f42266..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextReferenceInterceptor.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.binding.jms.wireformat.jmstext; - - -import javax.jms.JMSException; -import javax.jms.Session; - -import org.apache.tuscany.sca.assembly.WireFormat; -import org.apache.tuscany.sca.binding.jms.context.JMSBindingContext; -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.impl.JMSBindingException; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessor; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessorUtil; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory; -import org.apache.tuscany.sca.binding.jms.wireformat.jmstextxml.WireFormatJMSTextXML; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * - * @version $Rev$ $Date$ - */ -public class WireFormatJMSTextReferenceInterceptor implements Interceptor { - - private Invoker next; - private RuntimeWire runtimeWire; - private JMSResourceFactory jmsResourceFactory; - private JMSBinding jmsBinding; - private JMSMessageProcessor requestMessageProcessor; - private JMSMessageProcessor responseMessageProcessor; - - public WireFormatJMSTextReferenceInterceptor(JMSBinding jmsBinding, JMSResourceFactory jmsResourceFactory, RuntimeWire runtimeWire) { - super(); - this.jmsBinding = jmsBinding; - this.runtimeWire = runtimeWire; - this.jmsResourceFactory = jmsResourceFactory; - this.requestMessageProcessor = JMSMessageProcessorUtil.getRequestMessageProcessor(jmsBinding); - this.responseMessageProcessor = JMSMessageProcessorUtil.getResponseMessageProcessor(jmsBinding); - } - - public Message invoke(Message msg) { - if (jmsBinding.getRequestWireFormat() instanceof WireFormatJMSText){ - msg = invokeRequest(msg); - } - - msg = getNext().invoke(msg); - - if (jmsBinding.getResponseWireFormat() instanceof WireFormatJMSText){ - msg = invokeResponse(msg); - } - - return msg; - } - - public Message invokeRequest(Message msg) { - try { - // get the jms context - JMSBindingContext context = (JMSBindingContext)msg.getHeaders().get(JMSBindingConstants.MSG_CTXT_POSITION); - Session session = context.getJmsSession(); - - javax.jms.Message requestMsg = requestMessageProcessor.insertPayloadIntoJMSMessage(session, msg.getBody()); - msg.setBody(requestMsg); - - requestMsg.setJMSReplyTo(context.getReplyToDestination()); - - return msg; - } catch (JMSException e) { - throw new JMSBindingException(e); - } - } - - public Message invokeResponse(Message msg) { - if (msg.getBody() != null){ - Object[] response = (Object[])responseMessageProcessor.extractPayloadFromJMSMessage((javax.jms.Message)msg.getBody()); - if (response != null && response.length > 0){ - msg.setBody(response[0]); - } else { - msg.setBody(null); - } - } - - return msg; - } - - public Invoker getNext() { - return next; - } - - public void setNext(Invoker next) { - this.next = next; - } -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextReferenceProvider.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextReferenceProvider.java deleted file mode 100644 index 7e749a96d6..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextReferenceProvider.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.binding.jms.wireformat.jmstext; - -import java.util.List; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.assembly.Binding; -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.JMSMessageProcessorUtil; -import org.apache.tuscany.sca.binding.jms.provider.XMLTextMessageProcessor; -import org.apache.tuscany.sca.binding.jms.wireformat.jmstextxml.WireFormatJMSTextXML; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory; -import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Phase; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.util.PolicyHandler; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.WireFormatProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; - -/** - * @version $Rev$ $Date$ - */ -public class WireFormatJMSTextReferenceProvider implements WireFormatProvider { - private ExtensionPointRegistry registry; - private RuntimeComponent component; - private RuntimeComponentReference reference; - private JMSBinding binding; - private InterfaceContract interfaceContract; - - public WireFormatJMSTextReferenceProvider(ExtensionPointRegistry registry, - RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - super(); - this.registry = registry; - this.component = component; - this.reference = reference; - this.binding = (JMSBinding)binding; - - // configure the reference based on this wire format - - // currently maintaining the message processor structure which - // contains the details of jms message processing however overried - // any message processors specied in the SCDL in this case - this.binding.setRequestMessageProcessorName(JMSBindingConstants.TEXT_MP_CLASSNAME); - this.binding.setResponseMessageProcessorName(JMSBindingConstants.TEXT_MP_CLASSNAME); - - - // just point to the reference interface contract so no - // databinding transformation takes place - interfaceContract = reference.getInterfaceContract(); - } - - public InterfaceContract getWireFormatInterfaceContract() { - return interfaceContract; - } - - public Interceptor createInterceptor() { - return new WireFormatJMSTextReferenceInterceptor(binding, - null, - reference.getRuntimeWire(binding)); - } - - public String getPhase() { - return Phase.REFERENCE_BINDING_WIREFORMAT; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextServiceInterceptor.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextServiceInterceptor.java deleted file mode 100644 index 3dc2d0199d..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextServiceInterceptor.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.wireformat.jmstext; - -import javax.jms.JMSException; -import javax.jms.Session; - -import org.apache.tuscany.sca.assembly.WireFormat; -import org.apache.tuscany.sca.binding.jms.context.JMSBindingContext; -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.impl.JMSBindingException; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessor; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessorUtil; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * Policy handler to handle PolicySet related to Logging with the QName - * {http://tuscany.apache.org/xmlns/sca/1.0/impl/java}LoggingPolicy - * - * @version $Rev$ $Date$ - */ -public class WireFormatJMSTextServiceInterceptor implements Interceptor { - private Invoker next; - private RuntimeWire runtimeWire; - private JMSResourceFactory jmsResourceFactory; - private JMSBinding jmsBinding; - private JMSMessageProcessor requestMessageProcessor; - private JMSMessageProcessor responseMessageProcessor; - - public WireFormatJMSTextServiceInterceptor(JMSBinding jmsBinding, JMSResourceFactory jmsResourceFactory, RuntimeWire runtimeWire) { - super(); - this.jmsBinding = jmsBinding; - this.runtimeWire = runtimeWire; - this.jmsResourceFactory = jmsResourceFactory; - this.requestMessageProcessor = JMSMessageProcessorUtil.getRequestMessageProcessor(jmsBinding); - this.responseMessageProcessor = JMSMessageProcessorUtil.getResponseMessageProcessor(jmsBinding); - } - - public Message invoke(Message msg) { - if (jmsBinding.getRequestWireFormat() instanceof WireFormatJMSText){ - msg = invokeRequest(msg); - } - - msg = getNext().invoke(msg); - - if (jmsBinding.getResponseWireFormat() instanceof WireFormatJMSText){ - msg = invokeResponse(msg); - } - - return msg; - } - - public Message invokeRequest(Message msg) { - // get the jms context - JMSBindingContext context = (JMSBindingContext)msg.getHeaders().get(JMSBindingConstants.MSG_CTXT_POSITION); - javax.jms.Message jmsMsg = context.getJmsMsg(); - - Object requestPayload = requestMessageProcessor.extractPayloadFromJMSMessage(jmsMsg); - msg.setBody(requestPayload); - - return msg; - } - - public Message invokeResponse(Message msg) { - // get the jms context - JMSBindingContext context = (JMSBindingContext)msg.getHeaders().get(JMSBindingConstants.MSG_CTXT_POSITION); - javax.jms.Message requestJMSMsg = context.getJmsMsg(); - Session session = context.getJmsSession(); - - javax.jms.Message responseJMSMsg; - if (msg.isFault()) { - responseJMSMsg = responseMessageProcessor.createFaultMessage(session, (Throwable)msg.getBody()); - } else { - Object[] response = {msg.getBody()}; - responseJMSMsg = responseMessageProcessor.insertPayloadIntoJMSMessage(session, response); - } - - msg.setBody(responseJMSMsg); - - return msg; - } - - public Invoker getNext() { - return next; - } - - public void setNext(Invoker next) { - this.next = next; - } -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextServiceProvider.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextServiceProvider.java deleted file mode 100644 index 6f9f0c9da9..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextServiceProvider.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.jms.wireformat.jmstext; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; -import org.apache.tuscany.sca.binding.jms.impl.JMSBindingConstants; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Phase; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.util.PolicyHandler; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.WireFormatProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public class WireFormatJMSTextServiceProvider implements WireFormatProvider { - private ExtensionPointRegistry registry; - private RuntimeComponent component; - private RuntimeComponentService service; - private JMSBinding binding; - private InterfaceContract interfaceContract; - - public WireFormatJMSTextServiceProvider(ExtensionPointRegistry registry, - RuntimeComponent component, - RuntimeComponentService service, - Binding binding) { - super(); - this.registry = registry; - this.component = component; - this.service = service; - this.binding = (JMSBinding)binding; - - // configure the service based on this wire format - - // currently maintaining the message processor structure which - // contains the details of jms message processing however overried - // any message processors specied in the SCDL in this case - this.binding.setRequestMessageProcessorName(JMSBindingConstants.TEXT_MP_CLASSNAME); - this.binding.setResponseMessageProcessorName(JMSBindingConstants.TEXT_MP_CLASSNAME); - - // just point to the reference interface contract so no - // databinding transformation takes place - interfaceContract = service.getInterfaceContract(); - } - - public InterfaceContract getWireFormatInterfaceContract() { - return interfaceContract; - } - - /** - */ - public Interceptor createInterceptor() { - return new WireFormatJMSTextServiceInterceptor((JMSBinding)binding, - null, - service.getRuntimeWire(binding)); - } - - /** - */ - public String getPhase() { - return Phase.SERVICE_BINDING_WIREFORMAT; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLProviderFactory.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLProviderFactory.java deleted file mode 100644 index 6bef4e8160..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLProviderFactory.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.jms.wireformat.jmstextxml; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactoryExtensionPoint; -import org.apache.tuscany.sca.binding.jms.wireformat.jmstextxml.WireFormatJMSTextXML; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.provider.WireFormatProvider; -import org.apache.tuscany.sca.provider.WireFormatProviderFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public class WireFormatJMSTextXMLProviderFactory implements WireFormatProviderFactory { - private ExtensionPointRegistry registry; - private JMSResourceFactoryExtensionPoint jmsRFEP; - - public WireFormatJMSTextXMLProviderFactory(ExtensionPointRegistry registry) { - super(); - this.registry = registry; - jmsRFEP = (JMSResourceFactoryExtensionPoint)registry.getExtensionPoint(JMSResourceFactoryExtensionPoint.class); - } - - /** - */ - public WireFormatProvider createReferenceWireFormatProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - return new WireFormatJMSTextXMLReferenceProvider(registry, component, reference, binding); - } - - /** - */ - public WireFormatProvider createServiceWireFormatProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding) { - JMSResourceFactory jmsRF = jmsRFEP.createJMSResourceFactory((JMSBinding)binding); - return new WireFormatJMSTextXMLServiceProvider(registry, component, service, binding, jmsRF); - } - - /** - * @see org.apache.tuscany.sca.provider.ProviderFactory#getModelType() - */ - public Class getModelType() { - // TODO Auto-generated method stub - return null; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLReferenceInterceptor.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLReferenceInterceptor.java deleted file mode 100644 index 86a5bbb4b2..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLReferenceInterceptor.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.wireformat.jmstextxml; - - - - -import java.util.Map; - -import javax.jms.DeliveryMode; -import javax.jms.JMSException; -import javax.jms.Session; - -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.WireFormat; -import org.apache.tuscany.sca.binding.jms.context.JMSBindingContext; -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.impl.JMSBindingException; -import org.apache.tuscany.sca.binding.jms.provider.JMSBindingServiceBindingProvider; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessor; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessorUtil; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory; -import org.apache.tuscany.sca.binding.jms.wireformat.jmstextxml.WireFormatJMSTextXML; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.runtime.ReferenceParameters; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * - * @version $Rev$ $Date$ - */ -public class WireFormatJMSTextXMLReferenceInterceptor implements Interceptor { - - private Invoker next; - private RuntimeWire runtimeWire; - private JMSResourceFactory jmsResourceFactory; - private JMSBinding jmsBinding; - private JMSMessageProcessor requestMessageProcessor; - private JMSMessageProcessor responseMessageProcessor; - - - public WireFormatJMSTextXMLReferenceInterceptor(JMSBinding jmsBinding, JMSResourceFactory jmsResourceFactory, RuntimeWire runtimeWire) { - super(); - this.jmsBinding = jmsBinding; - this.runtimeWire = runtimeWire; - this.jmsResourceFactory = jmsResourceFactory; - this.requestMessageProcessor = JMSMessageProcessorUtil.getRequestMessageProcessor(jmsBinding); - this.responseMessageProcessor = JMSMessageProcessorUtil.getResponseMessageProcessor(jmsBinding); - } - - public Message invoke(Message msg) { - if (jmsBinding.getRequestWireFormat() instanceof WireFormatJMSTextXML){ - msg = invokeRequest(msg); - } - - msg = getNext().invoke(msg); - - if (jmsBinding.getResponseWireFormat() instanceof WireFormatJMSTextXML){ - msg = invokeResponse(msg); - } - - return msg; - } - - public Message invokeRequest(Message msg) { - try { - // get the jms context - JMSBindingContext context = (JMSBindingContext)msg.getHeaders().get(JMSBindingConstants.MSG_CTXT_POSITION); - Session session = context.getJmsSession(); - - javax.jms.Message requestMsg = requestMessageProcessor.insertPayloadIntoJMSMessage(session, msg.getBody()); - msg.setBody(requestMsg); - - requestMsg.setJMSReplyTo(context.getReplyToDestination()); - - return msg; - } catch (JMSException e) { - throw new JMSBindingException(e); - } - } - - public Message invokeResponse(Message msg) { - if (msg.getBody() != null){ - Object[] response = (Object[])responseMessageProcessor.extractPayloadFromJMSMessage((javax.jms.Message)msg.getBody()); - if (response != null && response.length > 0){ - msg.setBody(response[0]); - } else { - msg.setBody(null); - } - } - - return msg; - } - - public Invoker getNext() { - return next; - } - - public void setNext(Invoker next) { - this.next = next; - } -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLReferenceProvider.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLReferenceProvider.java deleted file mode 100644 index b97084b5ad..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLReferenceProvider.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.binding.jms.wireformat.jmstextxml; - -import java.util.List; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; -import org.apache.tuscany.sca.binding.jms.impl.JMSBindingConstants; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory; -import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Phase; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.util.PolicyHandler; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.WireFormatProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; - -/** - * @version $Rev$ $Date$ - */ -public class WireFormatJMSTextXMLReferenceProvider implements WireFormatProvider { - private ExtensionPointRegistry registry; - private RuntimeComponent component; - private RuntimeComponentReference reference; - private JMSBinding binding; - private InterfaceContract interfaceContract; - - public WireFormatJMSTextXMLReferenceProvider(ExtensionPointRegistry registry, - RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - super(); - this.registry = registry; - this.component = component; - this.reference = reference; - this.binding = (JMSBinding)binding; - - // configure the reference based on this wire format - - // currently maintaining the message processor structure which - // contains the details of jms message processing so set the message - // type here if not set explicitly in SCDL - if (this.binding.getRequestMessageProcessorName().equals(JMSBindingConstants.XML_MP_CLASSNAME) ){ - this.binding.setRequestMessageProcessorName(JMSBindingConstants.XML_MP_CLASSNAME); - this.binding.setResponseMessageProcessorName(JMSBindingConstants.XML_MP_CLASSNAME); - } - - // set the binding interface contract to represent the WSDL for the - // xml messages that will be sent - if (reference.getInterfaceContract() != null && - !isOnMessage()) { - WebServiceBindingFactory wsFactory = registry.getExtensionPoint(WebServiceBindingFactory.class); - WebServiceBinding wsBinding = wsFactory.createWebServiceBinding(); - BindingWSDLGenerator.generateWSDL(component, reference, wsBinding, registry, null); - interfaceContract = wsBinding.getBindingInterfaceContract(); - interfaceContract.getInterface().resetDataBinding(OMElement.class.getName()); - } else { - interfaceContract = reference.getInterfaceContract(); - } - } - - protected boolean isOnMessage() { - InterfaceContract ic = reference.getInterfaceContract(); - if (ic.getInterface().getOperations().size() != 1) { - return false; - } - return "onMessage".equals(ic.getInterface().getOperations().get(0).getName()); - } - - public InterfaceContract getWireFormatInterfaceContract() { - return interfaceContract; - } - - public Interceptor createInterceptor() { - return new WireFormatJMSTextXMLReferenceInterceptor((JMSBinding)binding, - null, - reference.getRuntimeWire(binding)); - } - - public String getPhase() { - return Phase.REFERENCE_BINDING_WIREFORMAT; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLServiceInterceptor.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLServiceInterceptor.java deleted file mode 100644 index ffec9d67f8..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLServiceInterceptor.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.wireformat.jmstextxml; - -import javax.jms.JMSException; -import javax.jms.Session; -import javax.naming.NamingException; - -import org.apache.tuscany.sca.assembly.WireFormat; -import org.apache.tuscany.sca.binding.jms.context.JMSBindingContext; -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.impl.JMSBindingException; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessor; -import org.apache.tuscany.sca.binding.jms.provider.JMSMessageProcessorUtil; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory; -import org.apache.tuscany.sca.binding.jms.wireformat.jmstextxml.WireFormatJMSTextXML; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * Policy handler to handle PolicySet related to Logging with the QName - * {http://tuscany.apache.org/xmlns/sca/1.0/impl/java}LoggingPolicy - * - * @version $Rev$ $Date$ - */ -public class WireFormatJMSTextXMLServiceInterceptor implements Interceptor { - private Invoker next; - private RuntimeWire runtimeWire; - private JMSResourceFactory jmsResourceFactory; - private JMSBinding jmsBinding; - private JMSMessageProcessor requestMessageProcessor; - private JMSMessageProcessor responseMessageProcessor; - - public WireFormatJMSTextXMLServiceInterceptor(JMSBinding jmsBinding, JMSResourceFactory jmsResourceFactory, RuntimeWire runtimeWire) { - super(); - this.jmsBinding = jmsBinding; - this.runtimeWire = runtimeWire; - this.jmsResourceFactory = jmsResourceFactory; - this.requestMessageProcessor = JMSMessageProcessorUtil.getRequestMessageProcessor(jmsBinding); - this.responseMessageProcessor = JMSMessageProcessorUtil.getResponseMessageProcessor(jmsBinding); - } - - public Message invoke(Message msg) { - - if (jmsBinding.getRequestWireFormat() instanceof WireFormatJMSTextXML){ - msg = invokeRequest(msg); - } - - msg = getNext().invoke(msg); - - if (jmsBinding.getResponseWireFormat() instanceof WireFormatJMSTextXML){ - msg = invokeResponse(msg); - } - - return msg; - } - - public Message invokeRequest(Message msg) { - // get the jms context - JMSBindingContext context = (JMSBindingContext)msg.getHeaders().get(JMSBindingConstants.MSG_CTXT_POSITION); - javax.jms.Message jmsMsg = context.getJmsMsg(); - - if ("onMessage".equals(msg.getOperation().getName())) { - msg.setBody(new Object[]{jmsMsg}); - } else { - Object requestPayload = requestMessageProcessor.extractPayloadFromJMSMessage(jmsMsg); - msg.setBody(requestPayload); - } - - return msg; - } - - public Message invokeResponse(Message msg) { - - // get the jms context - JMSBindingContext context = (JMSBindingContext)msg.getHeaders().get(JMSBindingConstants.MSG_CTXT_POSITION); - javax.jms.Message requestJMSMsg = context.getJmsMsg(); - Session session = context.getJmsSession(); - - javax.jms.Message responseJMSMsg; - if (msg.isFault()) { - responseJMSMsg = responseMessageProcessor.createFaultMessage(session, (Throwable)msg.getBody()); - } else { - responseJMSMsg = responseMessageProcessor.insertPayloadIntoJMSMessage(session, msg.getBody()); - } - - msg.setBody(responseJMSMsg); - - return msg; - } - - public Invoker getNext() { - return next; - } - - public void setNext(Invoker next) { - this.next = next; - } -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLServiceProvider.java b/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLServiceProvider.java deleted file mode 100644 index 651a96f596..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLServiceProvider.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.wireformat.jmstextxml; - -import java.util.List; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.assembly.Binding; -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.JMSResourceFactory; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory; -import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Phase; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.util.PolicyHandler; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.WireFormatProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public class WireFormatJMSTextXMLServiceProvider implements WireFormatProvider { - private ExtensionPointRegistry registry; - private RuntimeComponent component; - private RuntimeComponentService service; - private JMSBinding binding; - private JMSResourceFactory jmsResourceFactory; - private InterfaceContract interfaceContract; - - public WireFormatJMSTextXMLServiceProvider(ExtensionPointRegistry registry, - RuntimeComponent component, - RuntimeComponentService service, - Binding binding, - JMSResourceFactory jmsResourceFactory) { - super(); - this.component = component; - this.service = service; - this.binding = (JMSBinding)binding; - this.jmsResourceFactory = jmsResourceFactory; - - // configure the service based on this wire format - - // currently maintaining the message processor structure which - // contains the details of jms message processing so set the message - // type here if not set explicitly in SCDL - if (this.binding.getRequestMessageProcessorName().equals(JMSBindingConstants.XML_MP_CLASSNAME) ){ - this.binding.setRequestMessageProcessorName(JMSBindingConstants.XML_MP_CLASSNAME); - this.binding.setResponseMessageProcessorName(JMSBindingConstants.XML_MP_CLASSNAME); - } - - // set the binding interface contract to represent the WSDL for the - // xml messages that will be sent - if (service.getInterfaceContract() != null && - !isOnMessage()) { - WebServiceBindingFactory wsFactory = registry.getExtensionPoint(WebServiceBindingFactory.class); - WebServiceBinding wsBinding = wsFactory.createWebServiceBinding(); - BindingWSDLGenerator.generateWSDL(component, service, wsBinding, registry, null); - interfaceContract = wsBinding.getBindingInterfaceContract(); - interfaceContract.getInterface().resetDataBinding(OMElement.class.getName()); - } else { - interfaceContract = service.getInterfaceContract(); - } - } - - protected boolean isOnMessage() { - InterfaceContract ic = service.getInterfaceContract(); - if (ic.getInterface().getOperations().size() != 1) { - return false; - } - return "onMessage".equals(ic.getInterface().getOperations().get(0).getName()); - } - - public InterfaceContract getWireFormatInterfaceContract() { - return interfaceContract; - } - - public Interceptor createInterceptor() { - return new WireFormatJMSTextXMLServiceInterceptor((JMSBinding)binding, - jmsResourceFactory, - service.getRuntimeWire(binding)); - } - - public String getPhase() { - return Phase.SERVICE_BINDING_WIREFORMAT; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/java/sca/contrib/modules/binding-jms-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory deleted file mode 100644 index dec0991984..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/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.jms.provider.JMSBindingProviderFactory;model=org.apache.tuscany.sca.binding.jms.impl.JMSBinding diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.OperationSelectorProviderFactory b/java/sca/contrib/modules/binding-jms-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.OperationSelectorProviderFactory deleted file mode 100644 index 50dfcdf9a0..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.OperationSelectorProviderFactory +++ /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.jms.operationselector.jmsdefault.OperationSelectorJMSDefaultProviderFactory;model=org.apache.tuscany.sca.binding.jms.operationselector.jmsdefault.OperationSelectorJMSDefault diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.WireFormatProviderFactory b/java/sca/contrib/modules/binding-jms-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.WireFormatProviderFactory deleted file mode 100644 index c82d4e7cab..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.WireFormatProviderFactory +++ /dev/null @@ -1,22 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT 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.jms.wireformat.jmstextxml.WireFormatJMSTextXMLProviderFactory;model=org.apache.tuscany.sca.binding.jms.wireformat.jmstextxml.WireFormatJMSTextXML -org.apache.tuscany.sca.binding.jms.wireformat.jmsbytes.WireFormatJMSBytesProviderFactory;model=org.apache.tuscany.sca.binding.jms.wireformat.jmsbytes.WireFormatJMSBytes -org.apache.tuscany.sca.binding.jms.wireformat.jmstext.WireFormatJMSTextProviderFactory;model=org.apache.tuscany.sca.binding.jms.wireformat.jmstext.WireFormatJMSText -org.apache.tuscany.sca.binding.jms.wireformat.jmsobject.WireFormatJMSObjectProviderFactory;model=org.apache.tuscany.sca.binding.jms.wireformat.jmsobject.WireFormatJMSObject diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldClientImpl.java b/java/sca/contrib/modules/binding-jms-runtime/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldClientImpl.java deleted file mode 100644 index a3a2f0bf1e..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldClientImpl.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.jms; - -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements the HelloWorld service. - * - * @version $Rev$ $Date$ - */ -@Service(HelloWorldService.class) -public class HelloWorldClientImpl implements HelloWorldService { - - private HelloWorldService serviceA; - - @Reference - public void setServiceA(HelloWorldService service) { - this.serviceA = service; - } - - public String sayHello(String name) { - return serviceA.sayHello(name); - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldService.java b/java/sca/contrib/modules/binding-jms-runtime/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldService.java deleted file mode 100644 index d68270f7df..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldService.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.jms; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Interface for the HelloWorld Service. - * - * @version $Rev$ $Date$ - */ -@Remotable -public interface HelloWorldService { - String sayHello(String name); -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldServiceImpl.java b/java/sca/contrib/modules/binding-jms-runtime/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldServiceImpl.java deleted file mode 100644 index a8808c1bd1..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/test/java/org/apache/tuscany/sca/binding/jms/HelloWorldServiceImpl.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.binding.jms; - -/** - * Implementation of the HelloWorldService. - * - * @version $Rev$ $Date$ - */ -public class HelloWorldServiceImpl implements HelloWorldService { - - public String sayHello(String name) { - return "jmsHello " + name; - } - -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/test/java/org/apache/tuscany/sca/binding/jms/OperationSelectionTestCaseFIXME.java b/java/sca/contrib/modules/binding-jms-runtime/src/test/java/org/apache/tuscany/sca/binding/jms/OperationSelectionTestCaseFIXME.java deleted file mode 100644 index 1cf8edb6a6..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/test/java/org/apache/tuscany/sca/binding/jms/OperationSelectionTestCaseFIXME.java +++ /dev/null @@ -1,238 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms; - -import java.util.ArrayList; -import java.util.List; - -import javax.jms.TextMessage; - -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; -import org.apache.tuscany.sca.binding.jms.provider.DefaultJMSBindingListener; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory; -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.interfacedef.impl.OperationImpl; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.easymock.EasyMock; -import org.junit.Test; - -/** - * This unit test is used to ensure that a JMS Message delivered to a Component will select the correct operation based - * on the details in section 1.5 of the JMS Binding specification. - * - * @version $Rev$ $Date$ - */ -public class OperationSelectionTestCaseFIXME { - /** - * This test attempts to invoke a Service with a Single method where scaOperationName is not specified in the JMS - * Message - *

- * Expected behaviour is that the single method will be invoked as scaOperationName is ignored - * - * @throws Exception Failed - */ - @Test - public void testServiceWithOnlyOneOperationScaOperationNameNotSpecified() throws Exception { - // Create the operation we should match - final Operation expectedOperation = newOperation("myOperation"); - - // Create the list of operations for the Service - final List operations = new ArrayList(); - operations.add(expectedOperation); - - // The name of the Operation in the JMS Message - not specified - final String scaOperationName = null; - - // Do the test - doTestJMSBinding(expectedOperation, operations, scaOperationName); - } - - /** - * This test attempts to invoke a Service with a Single method where scaOperationName in the JMS Message matches the - * method name on the Service - *

- * Expected behaviour is that the single method will be invoked as scaOperationName is ignored - * - * @throws Exception Failed - */ - @Test - public void testServiceWithOnlyOneOperationScaOperationNameMatches() throws Exception { - // Create the operation we should match - final Operation expectedOperation = newOperation("myOperation"); - - // Create the list of operations for the Service - final List operations = new ArrayList(); - operations.add(expectedOperation); - - // The name of the Operation in the JMS Message - matches operation name - final String scaOperationName = expectedOperation.getName(); - - // Do the test - doTestJMSBinding(expectedOperation, operations, scaOperationName); - } - - /** - * This test attempts to invoke a Service with a Single method where scaOperationName in the JMS Message is - * different the method name on the Service - *

- * Expected behaviour is that the single method will be invoked as scaOperationName is ignored - * - * @throws Exception Failed - */ - @Test - public void testServiceWithOnlyOneOperationScaOperationNameDifferent() throws Exception { - // Create the operation we should match - final Operation expectedOperation = newOperation("myOperation"); - - // Create the list of operations for the Service - final List operations = new ArrayList(); - operations.add(expectedOperation); - - // The name of the Operation in the JMS Message - different to operation name - final String scaOperationName = "Does Not Match Opeation Name"; - - // Do the test - doTestJMSBinding(expectedOperation, operations, scaOperationName); - } - - /** - * This test attempts to invoke a Service with a multiple operations where scaOperationName specified in the JMS - * Message matches an operation name - *

- * Expected behaviour is that the named method will be invoked. - * - * @throws Exception Failed - */ - @Test - public void testServiceWithMultipleOperationsScaOperationNameSpecified() throws Exception { - // Create the list of operations for the Service - final List operations = new ArrayList(); - for (int i = 0; i < 5; i++) { - operations.add(newOperation("operation" + i)); - } - - // Now try and invoke each operation - for (Operation expectedOperation : operations) { - // The name of the Operation in the JMS Message - final String scaOperationName = expectedOperation.getName(); - - // Do the test - doTestJMSBinding(expectedOperation, operations, scaOperationName); - } - } - - /** - * This test attempts to invoke a Service with a multiple operations where scaOperationName specified in the JMS - * Message is not set so we invoke the onMessage() method - *

- * Expected behaviour is that the onMessage() method should be used instead - * - * @throws Exception Failed - */ - @Test - public void testServiceWithMultipleOperationsScaOperationNotSpecified() throws Exception { - // Create the list of operations for the Service - final List operations = new ArrayList(); - for (int i = 0; i < 5; i++) { - operations.add(newOperation("operation" + i)); - } - - // Add the onMessage operation to the Service Contract - final Operation onMessageOperation = newOperation("onMessage"); - operations.add(onMessageOperation); - - // The name of the Operation in the JMS Message is not set so it will attempt - // to invoke the onMessage() method - final String scaOperationName = null; - - // Do the test - doTestJMSBinding(onMessageOperation, operations, scaOperationName); - } - - /** - * This is the test method that will attempt to unit test invoking a Service with the specified operations using a - * JMS Message with the specified scaOperationName to ensure that it invokes the expectedOperation - * - * @param expectedOperation The Operation we are expecting to be invoked over JMS - * @param operations The list of Operations supported by the Service - * @param scaOperationName The value to set scaOperationName in the JMS Message - * @throws Exception Failed - */ - private void doTestJMSBinding(Operation expectedOperation, List operations, String scaOperationName) - throws Exception { - // Create the test JMS Binding - final JMSBinding jmsBinding = new JMSBinding(); - JMSResourceFactory jmsResourceFactory = null; - - // Extra information for the method we are invoking - final String operationParams = "Hello"; - final Object operationReturnValue = "Operation Success"; - - // Mock up the Service. Basically, it is going to call: - // List opList = service.getInterfaceContract().getInterface().getOperations(); - final InterfaceContract ifaceContract = EasyMock.createStrictMock(InterfaceContract.class); - final RuntimeComponentService service = EasyMock.createStrictMock(RuntimeComponentService.class); - final Interface iface = EasyMock.createStrictMock(Interface.class); - EasyMock.expect(iface.getOperations()).andReturn(operations); - EasyMock.expect(ifaceContract.getInterface()).andReturn(iface); - EasyMock.expect(service.getInterfaceContract()).andReturn(ifaceContract); - - // Mock up getting and invoking the RuntimeWire. It is going to call: - // service.getRuntimeWire(jmsBinding).invoke(operation, (Object[])requestPayload); - final RuntimeWire runtimeWire = EasyMock.createStrictMock(RuntimeWire.class); - EasyMock.expect(service.getRuntimeWire(jmsBinding)).andReturn(runtimeWire); - EasyMock.expect(runtimeWire.invoke(expectedOperation, new Object[] {operationParams})) - .andReturn(operationReturnValue); - - // Create the JMS Binding Listener - final DefaultJMSBindingListener bindingListener = new DefaultJMSBindingListener(jmsBinding, jmsResourceFactory, service, null); - - // Simulate a message - final TextMessage requestJMSMsg = EasyMock.createStrictMock(TextMessage.class); - EasyMock.expect(requestJMSMsg.getStringProperty("scaOperationName")).andReturn(scaOperationName); - EasyMock.expect(requestJMSMsg.getText()).andReturn(operationParams); - EasyMock.expect(requestJMSMsg.getJMSReplyTo()).andReturn(null); - - // Lets put all the mocks into replay mode - // EasyMock.replay(iface); - EasyMock.replay(ifaceContract); - EasyMock.replay(service); - EasyMock.replay(requestJMSMsg); - EasyMock.replay(runtimeWire); - - // Do the test - bindingListener.onMessage(requestJMSMsg); - - // Verify our Mock objects - // EasyMock.verify(iface); - // EasyMock.verify(ifaceContract); - // EasyMock.verify(service); - // EasyMock.verify(requestJMSMsg); - // EasyMock.verify(runtimeWire); - } - - private static Operation newOperation(String name) { - Operation operation = new OperationImpl(); - operation.setName(name); - return operation; - } -} diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/test/resources/simple/client.composite b/java/sca/contrib/modules/binding-jms-runtime/src/test/resources/simple/client.composite deleted file mode 100644 index dcea428493..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/test/resources/simple/client.composite +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-jms-runtime/src/test/resources/simple/service.composite b/java/sca/contrib/modules/binding-jms-runtime/src/test/resources/simple/service.composite deleted file mode 100644 index 44b7b29610..0000000000 --- a/java/sca/contrib/modules/binding-jms-runtime/src/test/resources/simple/service.composite +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-jms/LICENSE b/java/sca/contrib/modules/binding-jms/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/binding-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/java/sca/contrib/modules/binding-jms/NOTICE b/java/sca/contrib/modules/binding-jms/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/binding-jms/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-jms/pom.xml b/java/sca/contrib/modules/binding-jms/pom.xml deleted file mode 100644 index 0c5705d785..0000000000 --- a/java/sca/contrib/modules/binding-jms/pom.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-binding-jms - Apache Tuscany SCA JMS Binding Model - - - - - org.apache.tuscany.sca - tuscany-assembly-xml - 2.0-SNAPSHOT - - - - junit - junit - 4.5 - test - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.jms - ${pom.name} - org.apache.tuscany.sca.binding.jms* - - - - - - - diff --git a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBinding.java b/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBinding.java deleted file mode 100644 index 90b4d2488b..0000000000 --- a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBinding.java +++ /dev/null @@ -1,618 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.impl; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.apache.tuscany.sca.assembly.BindingRRB; -import org.apache.tuscany.sca.assembly.OperationSelector; -import org.apache.tuscany.sca.assembly.WireFormat; -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; - -/** - * Models a binding to a JMS resource. - * - * @version $Rev$ $Date$ - */ - -public class JMSBinding implements BindingRRB, PolicySetAttachPoint { - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - - // properties required to implement the Tuscany binding extension SPI - private String uri = null; - private String name = null; - private boolean unresolved = false; - private List extensions = new ArrayList(); - - // properties required by PolicySetAttachPoint - private List policySets = new ArrayList(); - private List applicablePolicySets = new ArrayList(); - - // properties required by IntentAttachPoint - private List requiredIntents = new ArrayList(); - private IntentAttachPointType intentAttachPointType; - - // Properties required to describe the JMS binding model - - private String correlationScheme = JMSBindingConstants.CORRELATE_MSG_ID; - private String initialContextFactoryName; - private String jndiURL; - - private String destinationName = JMSBindingConstants.DEFAULT_DESTINATION_NAME; - private String destinationType = JMSBindingConstants.DESTINATION_TYPE_QUEUE; - private String destinationCreate = JMSBindingConstants.CREATE_IF_NOT_EXIST; - - private String connectionFactoryName = JMSBindingConstants.DEFAULT_CONNECTION_FACTORY_NAME; - private String connectionFactoryCreate = JMSBindingConstants.CREATE_IF_NOT_EXIST; - - private String activationSpecName = null; - private String activationSpecCreate = null; - - private String responseActivationSpecName = null; - private String responseActivationSpecCreate = null; - - private String responseDestinationName = JMSBindingConstants.DEFAULT_RESPONSE_DESTINATION_NAME; - private String responseDestinationType = JMSBindingConstants.DESTINATION_TYPE_QUEUE; - private String responseDestinationCreate = JMSBindingConstants.CREATE_IF_NOT_EXIST; - - private String responseConnectionFactoryName = JMSBindingConstants.DEFAULT_CONNECTION_FACTORY_NAME; - private String responseConnectionFactoryCreate = JMSBindingConstants.CREATE_IF_NOT_EXIST; - - // Provides the name of the factory that interfaces to the JMS API for us. - private String jmsResourceFactoryName = JMSBindingConstants.DEFAULT_RF_CLASSNAME; - - // Message processors used to deal with the request and response messages - public String requestMessageProcessorName = JMSBindingConstants.DEFAULT_MP_CLASSNAME; - public String responseMessageProcessorName = JMSBindingConstants.DEFAULT_MP_CLASSNAME; - - // The JMS message property used to hold the name of the operation being called - private String operationSelectorPropertyName = JMSBindingConstants.DEFAULT_OPERATION_PROP_NAME; - - // If the operation selector is derived automatically from the service interface it's stored here - private String operationSelectorName = null; - - private String replyTo; - private String jmsType; - private String jmsCorrelationId; - private Boolean deliveryModePersistent; - private Long timeToLive; - private Integer jmsPriority; - - private Map properties = new HashMap(); - private Map> operationProperties = new HashMap>(); - private Map nativeOperationNames = new HashMap(); - private Map operationJMSTypes = new HashMap(); - private Map operationJMSCorrelationIds = new HashMap(); - private Map operationJMSDeliveryModes = new HashMap(); - private Map operationJMSTimeToLives = new HashMap(); - private Map operationJMSPriorities = new HashMap(); - private String jmsSelector; - private String requestConnectionName; - private String responseConnectionName; - private JMSBinding requestConnectionBinding; - private JMSBinding responseConnectionBinding; - - private WireFormat requestWireFormat; - private WireFormat responseWireFormat; - private OperationSelector operationSelector; - - public JMSBinding() { - super(); - } - - // operations required by Binding - public String getURI() { - return this.uri; - } - - public void setURI(String uri) { - this.uri = uri; - } - - public String getName() { - return this.name; - } - - public void setName(String name) { - this.name = name; - } - - public boolean isUnresolved() { - return this.unresolved; - } - - public void setUnresolved(boolean unresolved) { - this.unresolved = unresolved; - } - - public List getExtensions() { - return extensions; - } - - public WireFormat getRequestWireFormat() { - return requestWireFormat; - } - - public void setRequestWireFormat(WireFormat wireFormat) { - this.requestWireFormat = wireFormat; - } - - public WireFormat getResponseWireFormat() { - return responseWireFormat; - } - - public void setResponseWireFormat(WireFormat wireFormat) { - this.responseWireFormat = wireFormat; - } - - public OperationSelector getOperationSelector() { - return operationSelector; - } - - public void setOperationSelector(OperationSelector operationSelector) { - this.operationSelector = operationSelector; - } - - // Methods for getting/setting JMS binding model information - // as derived from the XML of the binding.jms element - - public void setCorrelationScheme(String correlationScheme) { - this.correlationScheme = correlationScheme; - } - - public String getCorrelationScheme() { - return correlationScheme; - } - - public String getInitialContextFactoryName() { - return initialContextFactoryName; - } - - public void setInitialContextFactoryName(String initialContextFactoryName) { - this.initialContextFactoryName = initialContextFactoryName; - } - - public String getJndiURL() { - return this.jndiURL; - } - - public void setJndiURL(String jndiURL) { - this.jndiURL = jndiURL; - } - - public String getDestinationName() { - if (requestConnectionBinding != null && requestConnectionBinding.getDestinationName() != null) { - return requestConnectionBinding.getDestinationName(); - } else { - return destinationName; - } - } - - public void setDestinationName(String destinationName) { - this.destinationName = destinationName; - } - - public String getDestinationType() { - if (requestConnectionBinding != null && requestConnectionBinding.getDestinationType() != null) { - return requestConnectionBinding.getDestinationType(); - } else { - return destinationType; - } - } - - public void setDestinationType(String destinationType) { - this.destinationType = destinationType; - } - - public String getDestinationCreate() { - if (requestConnectionBinding != null && requestConnectionBinding.getDestinationCreate() != null) { - return requestConnectionBinding.getDestinationCreate(); - } else { - return this.destinationCreate; - } - } - - public void setDestinationCreate(String create) { - this.destinationCreate = create; - } - - public String getConnectionFactoryName() { - if (requestConnectionBinding != null && requestConnectionBinding.getConnectionFactoryName() != null) { - return requestConnectionBinding.getConnectionFactoryName(); - } else { - return connectionFactoryName; - } - } - - public void setConnectionFactoryName(String connectionFactoryName) { - this.connectionFactoryName = connectionFactoryName; - } - - public String getConnectionFactoryCreate() { - if (requestConnectionBinding != null && requestConnectionBinding.getConnectionFactoryCreate() != null) { - return requestConnectionBinding.getConnectionFactoryCreate(); - } else { - return this.connectionFactoryCreate; - } - } - - public void setConnectionFactoryCreate(String create) { - this.connectionFactoryCreate = create; - } - - public String getActivationSpecName() { - if (requestConnectionBinding != null && requestConnectionBinding.getActivationSpecName() != null) { - return requestConnectionBinding.getActivationSpecName(); - } else { - return activationSpecName; - } - } - - public void setActivationSpecName(String activationSpecName) { - this.activationSpecName = activationSpecName; - } - - public String getActivationSpecCreate() { - if (requestConnectionBinding != null && requestConnectionBinding.getActivationSpecCreate() != null) { - return requestConnectionBinding.getActivationSpecCreate(); - } else { - return this.activationSpecCreate; - } - } - - public void setActivationSpecCreate(String create) { - this.activationSpecCreate = create; - } - - public String getResponseDestinationName() { - if (requestConnectionBinding != null && requestConnectionBinding.getResponseDestinationName() != null) { - return requestConnectionBinding.getResponseDestinationName(); - } else { - return this.responseDestinationName; - } - } - - public void setResponseDestinationName(String name) { - this.responseDestinationName = name; - } - - public String getResponseDestinationType() { - if (requestConnectionBinding != null && requestConnectionBinding.getResponseDestinationType() != null) { - return requestConnectionBinding.getResponseDestinationType(); - } else { - return this.responseDestinationType; - } - } - - public void setResponseDestinationType(String type) { - this.responseDestinationType = type; - } - - public String getResponseDestinationCreate() { - if (requestConnectionBinding != null && requestConnectionBinding.getResponseDestinationCreate() != null) { - return requestConnectionBinding.getResponseDestinationCreate(); - } else { - return this.responseDestinationCreate; - } - } - - public void setResponseDestinationCreate(String create) { - this.responseDestinationCreate = create; - } - - public String getResponseConnectionFactoryName() { - if (requestConnectionBinding != null && requestConnectionBinding.getResponseConnectionFactoryName() != null) { - return requestConnectionBinding.getResponseConnectionFactoryName(); - } else { - return responseConnectionFactoryName; - } - } - - public void setResponseConnectionFactoryName(String connectionFactoryName) { - this.responseConnectionFactoryName = connectionFactoryName; - } - - public String getResponseConnectionFactoryCreate() { - if (requestConnectionBinding != null && requestConnectionBinding.getResponseConnectionFactoryCreate() != null) { - return requestConnectionBinding.getResponseConnectionFactoryCreate(); - } else { - return this.responseConnectionFactoryCreate; - } - } - - public void setResponseConnectionFactoryCreate(String create) { - this.responseConnectionFactoryCreate = create; - } - - public String getResponseActivationSpecName() { - if (requestConnectionBinding != null && requestConnectionBinding.getResponseActivationSpecName() != null) { - return requestConnectionBinding.getResponseActivationSpecName(); - } else { - return responseActivationSpecName; - } - } - - public void setResponseActivationSpecName(String activationSpecName) { - this.responseActivationSpecName = activationSpecName; - } - - public String getResponseActivationSpecCreate() { - if (requestConnectionBinding != null && requestConnectionBinding.getResponseActivationSpecCreate() != null) { - return requestConnectionBinding.getResponseActivationSpecCreate(); - } else { - return this.responseActivationSpecCreate; - } - } - - public void setResponseActivationSpecCreate(String create) { - this.responseActivationSpecCreate = create; - } - - public String getJmsResourceFactoryName() { - return jmsResourceFactoryName; - } - - public void setJmsResourceFactoryName(String jmsResourceFactoryName) { - this.jmsResourceFactoryName = jmsResourceFactoryName; - } - - public void setRequestMessageProcessorName(String name) { - this.requestMessageProcessorName = name; - } - - public String getRequestMessageProcessorName() { - return requestMessageProcessorName; - } - - public void setResponseMessageProcessorName(String name) { - this.responseMessageProcessorName = name; - } - - public String getResponseMessageProcessorName() { - return responseMessageProcessorName; - } - - public String getOperationSelectorPropertyName() { - return operationSelectorPropertyName; - } - - public void setOperationSelectorPropertyName(String operationSelectorPropertyName) { - this.operationSelectorPropertyName = operationSelectorPropertyName; - } - - public String getOperationSelectorName() { - return operationSelectorName; - } - - public void setOperationSelectorName(String operationSelectorName) { - this.operationSelectorName = operationSelectorName; - } - - public String getReplyTo() { - return replyTo; - } - - public void setReplyTo(String replyTo) { - this.replyTo = replyTo; - } - - public String getJMSType() { - return jmsType; - } - public void setJMSType(String jmsType) { - this.jmsType = jmsType; - } - - public String getJMSCorrelationId() { - return jmsCorrelationId; - } - - public void setJMSCorrelationId(String jmsCorrelationId) { - this.jmsCorrelationId = jmsCorrelationId; - } - - public Boolean isdeliveryModePersistent() { - return deliveryModePersistent; - } - public void setJMSDeliveryMode(boolean persistent) { - this.deliveryModePersistent = Boolean.valueOf(persistent); - } - - public Integer getJMSPriority() { - return jmsPriority; - } - - public void setJMSPriority(int jmsPriority) { - this.jmsPriority = Integer.valueOf(jmsPriority); - } - - public Long getJMSTimeToLive() { - return timeToLive.longValue(); - } - - public void setJMSTimeToLive(long timeToLive) { - this.timeToLive = Long.valueOf(timeToLive); - } - - public Set getPropertyNames() { - return properties.keySet(); - } - - public Object getProperty(String name) { - return properties.get(name); - } - - public void setProperty(String name, Object value) { - properties.put(name, value); - } - - public Map getOperationProperties(String opName) { - return operationProperties.get(opName); - } - - public void setOperationProperty(String opName, String propName, Object value) { - Map props = operationProperties.get(opName); - if (props == null) { - props = new HashMap(); - operationProperties.put(opName, props); - } - props.put(propName, value); - } - - public boolean hasNativeOperationName(String opName) { - return nativeOperationNames.containsKey(opName); - } - - public String getNativeOperationName(String opName) { - if (nativeOperationNames.containsKey(opName)) { - return nativeOperationNames.get(opName); - } else { - return opName; - } - } - - public void setNativeOperationName(String opName, String nativeOpName) { - this.nativeOperationNames .put(opName, nativeOpName); - } - - public String getOperationJMSType(String opName) { - if (operationJMSTypes.containsKey(opName)) { - return operationJMSTypes.get(opName); - } else { - return jmsType; - } - } - public void setOperationJMSType(String opName, String jmsType) { - this.operationJMSTypes.put(opName, jmsType); - } - - public String getOperationJMSCorrelationId(String opName) { - if (operationJMSCorrelationIds.containsKey(opName)) { - return operationJMSCorrelationIds.get(opName); - } else { - return jmsCorrelationId; - } - } - public void setOperationJMSCorrelationId(String opName, String jmsCorrelationId) { - operationJMSCorrelationIds.put(opName, jmsCorrelationId); - } - - public Boolean getOperationJMSDeliveryMode(String opName) { - if (operationJMSDeliveryModes.containsKey(opName)) { - return operationJMSDeliveryModes.get(opName); - } else { - return deliveryModePersistent; - } - } - public void setOperationJMSDeliveryMode(String opName, boolean b) { - operationJMSDeliveryModes.put(opName, b); - } - - public Long getOperationJMSTimeToLive(String opName) { - if (operationJMSTimeToLives.containsKey(opName)) { - return operationJMSTimeToLives.get(opName); - } else { - return timeToLive; - } - } - public void setOperationJMSTimeToLive(String opName, Long ttl) { - operationJMSTimeToLives.put(opName, ttl); - } - - public Integer getOperationJMSPriority(String opName) { - if (operationJMSPriorities.containsKey(opName)) { - return operationJMSPriorities.get(opName); - } else { - return jmsPriority; - } - } - public void setOperationJMSPriority(String opName, int p) { - operationJMSPriorities.put(opName, p); - } - - public String getJMSSelector() { - return jmsSelector; - } - public void setJMSSelector(String jmsSelector) { - this.jmsSelector = jmsSelector; - } - - public String getRequestConnectionName() { - return requestConnectionName; - } - - public void setRequestConnectionName(String requestConnectionName) { - this.requestConnectionName = requestConnectionName; - } - - public void setResponseConnectionName(String responseConnectionName) { - this.responseConnectionName = responseConnectionName; - } - public String getResponseConnectionName() { - return responseConnectionName; - } - - public void setRequestConnectionBinding(JMSBinding binding) { - this.requestConnectionBinding = binding; - } - public JMSBinding getRequestConnectionBinding() { - return requestConnectionBinding; - } - - public void setResponseConnectionBinding(JMSBinding binding) { - this.responseConnectionBinding = binding; - } - public JMSBinding getResponseConnectionBinding() { - return responseConnectionBinding; - } - - // operations required by PolicySetAttachPoint - public List getPolicySets() { - return policySets; - } - - public List getApplicablePolicySets() { - return applicablePolicySets; - } - - // operations required by IntentAttachPoint - public List getRequiredIntents() { - return requiredIntents; - } - - public IntentAttachPointType getType() { - return intentAttachPointType; - } - - public void setType(IntentAttachPointType intentAttachPointType) { - this.intentAttachPointType = intentAttachPointType; - } - -} diff --git a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingConstants.java b/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingConstants.java deleted file mode 100644 index adb9f29460..0000000000 --- a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingConstants.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.jms.impl; - -import java.util.Arrays; -import java.util.List; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.xml.Constants; - -/** - * Constants for the JMS binding. - * - * @version $Rev$ $Date$ - */ -public interface JMSBindingConstants { - - // Constants used when describing the JMS binding - // model and for setting up defaults - String BINDING_JMS = "binding.jms"; - QName BINDING_JMS_QNAME = new QName(Constants.SCA10_NS, BINDING_JMS); - String CORRELATE_MSG_ID = "requestmsgidtocorrelid"; - String CORRELATE_CORRELATION_ID = "requestcorrelidtocorrelid"; - String CORRELATE_NONE = "none"; - List VALID_CORRELATION_SCHEMES = - Arrays.asList(new String[] {CORRELATE_MSG_ID, CORRELATE_CORRELATION_ID, CORRELATE_NONE}); - String DESTINATION_TYPE_QUEUE = "queue"; // 0 - String DESTINATION_TYPE_TOPIC = "topic"; // 1 - List VALID_DESTINATION_TYPES = - Arrays.asList(new String[] {DESTINATION_TYPE_QUEUE, DESTINATION_TYPE_TOPIC}); - String CREATE_ALWAYS = "always"; - String CREATE_NEVER = "never"; - String CREATE_IF_NOT_EXIST = "ifnotexist"; - String DEFAULT_DESTINATION_NAME = "NODESTINATION"; - String DEFAULT_RESPONSE_DESTINATION_NAME = "NORESPONSEDESTINATION"; - String DEFAULT_CONNECTION_FACTORY_NAME = "ConnectionFactory"; - String DEFAULT_CONTEXT_FACTORY_NAME = "org.apache.activemq.jndi.ActiveMQInitialContextFactory"; - String DEFAULT_JNDI_URL = "tcp://localhost:61616"; - int DEFAULT_TIME_TO_LIVE = 20000; // in milliseconds - int DEFAULT_PRIORITY = 1; - int NON_PERSISTENT = 1; // Maps to javax.jms.DeliveryMode - String DEFAULT_RF_CLASSNAME = "org.apache.tuscany.sca.host.jms.activemq.JMSResourceFactoryImpl"; - String XML_MP_CLASSNAME = "org.apache.tuscany.sca.binding.jms.provider.XMLTextMessageProcessor"; - String TEXT_MP_CLASSNAME = "org.apache.tuscany.sca.binding.jms.provider.TextMessageProcessor"; - String OBJECT_MP_CLASSNAME = "org.apache.tuscany.sca.binding.jms.provider.ObjectMessageProcessor"; - String BYTES_MP_CLASSNAME = "org.apache.tuscany.sca.binding.jms.provider.BytesMessageProcessor"; - String DEFAULT_MP_CLASSNAME = XML_MP_CLASSNAME; - String DEFAULT_OPERATION_PROP_NAME = "scaOperationName"; - - String FAULT_PROPERTY = "org_apache_tuscany_sca_fault"; - - String CALLBACK_ID_PROPERTY = "CallbackID"; - String CALLBACK_Q_PROPERTY = "scaCallbackQueue "; - String CONVERSATION_ID_PROPERTY = "scaConversationId"; - - int MSG_CTXT_POSITION = 0; -} diff --git a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingException.java b/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingException.java deleted file mode 100644 index 0928e02082..0000000000 --- a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingException.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.jms.impl; - -/** - * Base exception for the JMSBinding. - * - * @version $Rev$ $Date$ - */ -public class JMSBindingException extends RuntimeException { - private static final long serialVersionUID = 1L; - - public JMSBindingException() { - super(); - } - - public JMSBindingException(String arg0, Throwable arg1) { - super(arg0, arg1); - } - - public JMSBindingException(String arg0) { - super(arg0); - } - - public JMSBindingException(Throwable arg0) { - super(arg0); - } - -} diff --git a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java b/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java deleted file mode 100644 index 6ab439748a..0000000000 --- a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessor.java +++ /dev/null @@ -1,726 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.impl; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; -import static javax.xml.stream.XMLStreamConstants.START_ELEMENT; - -import java.util.Map; -import java.util.StringTokenizer; - -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.OperationSelector; -import org.apache.tuscany.sca.assembly.WireFormat; -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.assembly.xml.PolicyAttachPointProcessor; -import org.apache.tuscany.sca.binding.jms.operationselector.jmsdefault.OperationSelectorJMSDefault; -import org.apache.tuscany.sca.binding.jms.wireformat.jmsobject.WireFormatJMSObject; -import org.apache.tuscany.sca.binding.jms.wireformat.jmstext.WireFormatJMSText; -import org.apache.tuscany.sca.binding.jms.wireformat.jmstextxml.WireFormatJMSTextXML; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.DefaultModelResolver; -import org.apache.tuscany.sca.contribution.resolver.ExtensibleModelResolver; -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.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; -import org.apache.tuscany.sca.policy.PolicyFactory; - -/** - * A processor to read the XML that describes the JMS binding... - * - * - * - * - * * - * ? - * - * - * * - * ? - * - * - * * - * ? - * - * - * - * * - * ? - * - * - * * - * ? - * - * - * * - * ? - * ? - * - * - * - * - * - * ? - * * - * ? - * - * - * * - * ? - * - * - * * - * - * * - * ? - * * - * - * - * @version $Rev$ $Date$ - */ - -public class JMSBindingProcessor implements StAXArtifactProcessor { - - private PolicyFactory policyFactory; - private PolicyAttachPointProcessor policyProcessor; - protected StAXArtifactProcessor extensionProcessor; - private Monitor monitor; - - public JMSBindingProcessor(ModelFactoryExtensionPoint modelFactories, StAXArtifactProcessor extensionProcessor, Monitor monitor) { - this.policyFactory = modelFactories.getFactory(PolicyFactory.class); - this.policyProcessor = new PolicyAttachPointProcessor(policyFactory); - this.extensionProcessor = extensionProcessor; - this.monitor = monitor; - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void warning(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "binding-jms-validation-messages", Severity.WARNING, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "binding-jms-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - public QName getArtifactType() { - return JMSBindingConstants.BINDING_JMS_QNAME; - } - - public Class getModelType() { - return JMSBinding.class; - } - - public JMSBinding read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - JMSBinding jmsBinding = new JMSBinding(); - - // Read policies - policyProcessor.readPolicies(jmsBinding, reader); - - // Read binding name - String name = reader.getAttributeValue(null, "name"); - if (name != null) { - jmsBinding.setName(name); - } - - // Read binding URI - String uri = reader.getAttributeValue(null, "uri"); - if (uri != null && uri.length() > 0) { - parseURI(uri, jmsBinding); - } - - // Read correlation scheme - String correlationScheme = reader.getAttributeValue(null, "correlationScheme"); - if (correlationScheme != null && correlationScheme.length() > 0) { - if (JMSBindingConstants.VALID_CORRELATION_SCHEMES.contains(correlationScheme.toLowerCase())) { - jmsBinding.setCorrelationScheme(correlationScheme); - } else { - error("InvalidCorrelationScheme", reader, correlationScheme); - } - } - - // Read initial context factory - String initialContextFactory = reader.getAttributeValue(null, "initialContextFactory"); - if (initialContextFactory != null && initialContextFactory.length() > 0) { - jmsBinding.setInitialContextFactoryName(initialContextFactory); - } - - // Read JNDI URL - String jndiURL = reader.getAttributeValue(null, "jndiURL"); - if (jndiURL != null && jndiURL.length() > 0) { - jmsBinding.setJndiURL(jndiURL); - } - - // Read message processor class name - // TODO - maintain this for the time being but move over to - // configuring wire formats instead of message processors - String messageProcessorName = reader.getAttributeValue(null, "messageProcessor"); - if (messageProcessorName != null && messageProcessorName.length() > 0) { - if ("XMLTextMessage".equalsIgnoreCase(messageProcessorName)) { - // may be overwritten be real wire format later - jmsBinding.setRequestWireFormat(new WireFormatJMSTextXML()); - jmsBinding.setResponseWireFormat(new WireFormatJMSTextXML()); - } else if ("TextMessage".equalsIgnoreCase(messageProcessorName)) { - // may be overwritten be real wire format later - jmsBinding.setRequestWireFormat(new WireFormatJMSText()); - jmsBinding.setResponseWireFormat(new WireFormatJMSText()); - } else if ("ObjectMessage".equalsIgnoreCase(messageProcessorName)) { - // may be overwritten be real wire format later - jmsBinding.setRequestWireFormat(new WireFormatJMSObject()); - jmsBinding.setResponseWireFormat(new WireFormatJMSObject()); - } else { - jmsBinding.setRequestMessageProcessorName(messageProcessorName); - jmsBinding.setResponseMessageProcessorName(messageProcessorName); - } - } - - String requestConnectionName = reader.getAttributeValue(null, "requestConnection"); - if (requestConnectionName != null && requestConnectionName.length() > 0) { - jmsBinding.setRequestConnectionName(requestConnectionName); - } - String responseConnectionName = reader.getAttributeValue(null, "responseConnection"); - if (responseConnectionName != null && responseConnectionName.length() > 0) { - jmsBinding.setResponseConnectionName(responseConnectionName); - } - - // Read sub-elements of binding.jms - boolean endFound = false; - while (!endFound) { - int fg = reader.next(); - switch (fg) { - case START_ELEMENT: - String elementName = reader.getName().getLocalPart(); - if ("destination".equals(elementName)) { - parseDestination(reader, jmsBinding); - } else if ("connectionFactory".equals(elementName)) { - parseConnectionFactory(reader, jmsBinding); - } else if ("activationSpec".equals(elementName)) { - parseActivationSpec(reader, jmsBinding); - } else if ("response".equals(elementName)) { - parseResponse(reader, jmsBinding); - } else if ("resourceAdapter".equals(elementName)) { - parseResourceAdapter(reader, jmsBinding); - } else if ("headers".equals(elementName)) { - parseHeaders(reader, jmsBinding); - } else if ("operationProperties".equals(elementName)) { - parseOperationProperties(reader, jmsBinding); - } else if ("SubscriptionHeaders".equals(elementName)) { - parseSubscriptionHeaders(reader, jmsBinding); - } else { - Object extension = extensionProcessor.read(reader); - if (extension != null) { - if (extension instanceof WireFormat) { - jmsBinding.setRequestWireFormat((WireFormat)extension); - } else if (extension instanceof OperationSelector) { - jmsBinding.setOperationSelector((OperationSelector)extension); - } else { - error("UnexpectedElement", reader, extension.toString()); - } - } - } - reader.next(); - break; - case END_ELEMENT: - QName x = reader.getName(); - if (x.equals(JMSBindingConstants.BINDING_JMS_QNAME)) { - endFound = true; - } else { - error("UnexpectedElement", reader, x.toString()); - } - } - } - - // if no operation selector is specified then assume the default - if (jmsBinding.getOperationSelector() == null){ - jmsBinding.setOperationSelector(new OperationSelectorJMSDefault()); - } - - // if no request wire format specified then assume the default - if (jmsBinding.getRequestWireFormat() == null){ - jmsBinding.setRequestWireFormat(new WireFormatJMSTextXML()); - } - - // if no response wire format specific then assume the default - if (jmsBinding.getResponseWireFormat() == null){ - jmsBinding.setResponseWireFormat(jmsBinding.getRequestWireFormat()); - } - - validate(); - - return jmsBinding; - } - - protected void parseURI(String uri, JMSBinding jmsBinding) { - if (!uri.startsWith("jms:")) { - error("MustStartWithSchema", jmsBinding, uri); - return; - } - int i = uri.indexOf('?'); - if (i >= 0) { - StringTokenizer st = new StringTokenizer(uri.substring(i+1),"&"); - while (st.hasMoreTokens()) { - String s = st.nextToken(); - if (s.startsWith("connectionFactoryName=")) { - jmsBinding.setConnectionFactoryName(s.substring(22)); - } else { - error("UnknownTokenInURI", jmsBinding, s, uri); - //throw new JMSBindingException("unknown token '" + s + "' in uri: " + uri); - return; - } - } - jmsBinding.setDestinationName(uri.substring(4, i)); - } else { - jmsBinding.setDestinationName(uri.substring(4)); - } - } - - public void resolve(JMSBinding model, ModelResolver resolver) throws ContributionResolveException { - if (model.getRequestConnectionName() != null) { - model.setRequestConnectionBinding(getConnectionBinding(model.getRequestConnectionName(), resolver)); - } - if (model.getResponseConnectionName() != null) { - model.setResponseConnectionBinding(getConnectionBinding(model.getResponseConnectionName(), resolver)); - } - } - - @SuppressWarnings("unchecked") - private JMSBinding getConnectionBinding(String bindingName, ModelResolver resolver) { - if (resolver instanceof ExtensibleModelResolver) { - DefaultModelResolver dr = (DefaultModelResolver)((ExtensibleModelResolver) resolver).getDefaultModelResolver(); - Map models = dr.getModels(); - for (Object o : models.keySet()) { - if (o instanceof JMSBinding) { - JMSBinding binding = (JMSBinding) o; - if (bindingName.equals(binding.getName())) { - return binding; - } - } - } - } - return null; - } - - public void write(JMSBinding rmiBinding, XMLStreamWriter writer) throws ContributionWriteException, - XMLStreamException { - // Write a - writer.writeStartElement(Constants.SCA10_NS, JMSBindingConstants.BINDING_JMS); - - // FIXME Implement - - writer.writeEndElement(); - } - - private void parseDestination(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException { - String name = reader.getAttributeValue(null, "name"); - if (name != null && name.length() > 0) { - jmsBinding.setDestinationName(name); - } - - String type = reader.getAttributeValue(null, "type"); - if (type != null && type.length() > 0) { - warning("DoesntProcessDestinationType", jmsBinding); - if (JMSBindingConstants.DESTINATION_TYPE_QUEUE.equalsIgnoreCase(type)) { - jmsBinding.setDestinationType(JMSBindingConstants.DESTINATION_TYPE_QUEUE); - } else if (JMSBindingConstants.DESTINATION_TYPE_TOPIC.equalsIgnoreCase(type)) { - jmsBinding.setDestinationType(JMSBindingConstants.DESTINATION_TYPE_TOPIC); - } else { - warning("InvalidDestinationType", reader, type); - } - } - - String create = reader.getAttributeValue(null, "create"); - if (create != null && create.length() > 0) { - jmsBinding.setDestinationCreate(create); - } - } - - private void parseConnectionFactory(XMLStreamReader reader, JMSBinding jmsBinding) { - String name = reader.getAttributeValue(null, "name"); - if (name != null && name.length() > 0) { - jmsBinding.setConnectionFactoryName(name); - } else { - error("MissingConnectionFactoryName", reader); - } - } - - private void parseActivationSpec(XMLStreamReader reader, JMSBinding jmsBinding) { - String name = reader.getAttributeValue(null, "name"); - if (name != null && name.length() > 0) { - warning("DoesntProcessActivationSpec", jmsBinding); - jmsBinding.setActivationSpecName(name); - } else { - warning("MissingActivationSpecName", reader); - } - } - - private void parseResponseDestination(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException { - String name = reader.getAttributeValue(null, "name"); - if (name != null && name.length() > 0) { - jmsBinding.setResponseDestinationName(name); - } - - String type = reader.getAttributeValue(null, "type"); - if (type != null && type.length() > 0) { - warning("DoesntProcessResponseDestinationType", jmsBinding); - if (JMSBindingConstants.DESTINATION_TYPE_QUEUE.equalsIgnoreCase(type)) { - jmsBinding.setResponseDestinationType(JMSBindingConstants.DESTINATION_TYPE_QUEUE); - } else if (JMSBindingConstants.DESTINATION_TYPE_TOPIC.equalsIgnoreCase(type)) { - jmsBinding.setResponseDestinationType(JMSBindingConstants.DESTINATION_TYPE_TOPIC); - } else { - warning("InvalidResponseDestinationType", reader, type); - } - } - - String create = reader.getAttributeValue(null, "create"); - if (create != null && create.length() > 0) { - jmsBinding.setResponseDestinationCreate(create); - } - } - - private void parseResponseConnectionFactory(XMLStreamReader reader, JMSBinding jmsBinding) { - String name = reader.getAttributeValue(null, "name"); - if (name != null && name.length() > 0) { - warning("DoesntProcessResponseConnectionFactory", jmsBinding); - jmsBinding.setResponseConnectionFactoryName(name); - } else { - warning("MissingResponseConnectionFactory", reader); - } - } - - private void parseResponseActivationSpec(XMLStreamReader reader, JMSBinding jmsBinding) { - String name = reader.getAttributeValue(null, "name"); - if (name != null && name.length() > 0) { - warning("DoesntProcessResponseActivationSpec", jmsBinding); - jmsBinding.setResponseActivationSpecName(name); - } else { - warning("MissingResponseActivationSpec", reader); - } - } - - private void parseResponse(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException { - // Read sub-elements of response - while (true) { - switch (reader.next()) { - case START_ELEMENT: - String elementName = reader.getName().getLocalPart(); - if ("destination".equals(elementName)) { - parseResponseDestination(reader, jmsBinding); - } else if ("connectionFactory".equals(elementName)) { - parseResponseConnectionFactory(reader, jmsBinding); - } else if ("activationSpec".equals(elementName)) { - parseResponseActivationSpec(reader, jmsBinding); - } - reader.next(); - break; - case END_ELEMENT: - QName x = reader.getName(); - if (x.getLocalPart().equals("response")) { - return; - } else { - error("UnexpectedResponseElement", reader, x.toString()); - } - } - } - } - - private void parseResourceAdapter(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException { - warning("DoesntProcessResourceAdapter", jmsBinding); - } - - /** - * - * * - * ? - */ - private void parseHeaders(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException { - - String jmsType = reader.getAttributeValue(null, "JMSType"); - if (jmsType != null && jmsType.length() > 0) { - jmsBinding.setJMSType(jmsType); - } - - String jmsCorrelationId = reader.getAttributeValue(null, "JMSCorrelationID"); - if (jmsCorrelationId != null && jmsCorrelationId.length() > 0) { - jmsBinding.setJMSCorrelationId(jmsCorrelationId); - } - - String jmsDeliveryMode = reader.getAttributeValue(null, "JMSDeliveryMode"); - if (jmsDeliveryMode != null && jmsDeliveryMode.length() > 0) { - if ("PERSISTENT".equalsIgnoreCase(jmsDeliveryMode)) { - jmsBinding.setJMSDeliveryMode(true); - } else if ("NON_PERSISTENT".equalsIgnoreCase(jmsDeliveryMode)) { - jmsBinding.setJMSDeliveryMode(false); - } else { - warning("InvalidJMSDeliveryMode", jmsBinding, jmsDeliveryMode); - } - } - - String jmsTimeToLive = reader.getAttributeValue(null, "JMSTimeToLive"); - if (jmsTimeToLive != null && jmsTimeToLive.length() > 0) { - jmsBinding.setJMSTimeToLive(Long.parseLong(jmsTimeToLive)); - } - - String jmsPriority = reader.getAttributeValue(null, "JMSPriority"); - if (jmsPriority != null && jmsPriority.length() > 0) { - int p = Integer.parseInt(jmsPriority); - if (p >= 0 && p <= 9) { - jmsBinding.setJMSPriority(p); - } else { - warning("InvalidJMSPriority", jmsBinding, jmsPriority); - } - } - - while (true) { - switch (reader.next()) { - case START_ELEMENT: - if (reader.getName().getLocalPart().equals("property")) { - parseProperty(reader, jmsBinding); - } - break; - case END_ELEMENT: - QName x = reader.getName(); - if (x.getLocalPart().equals("headers")) { - return; - } else { - error("UnexpectedResponseElement", reader, x.toString()); - } - } - } - } - - private void parseProperty(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException { - String name = reader.getAttributeValue(null, "name"); - String type = reader.getAttributeValue(null, "type"); - if (name != null && name.length() > 0) { - Object value = reader.getElementText(); - if ("boolean".equalsIgnoreCase(type)) { - value = Boolean.parseBoolean((String)value); - } else if ("byte".equalsIgnoreCase(type)) { - value = Byte.parseByte(((String)value)); - } else if ("short".equalsIgnoreCase(type)) { - value = Short.parseShort((String)value); - } else if ("int".equalsIgnoreCase(type)) { - value = Integer.parseInt((String)value); - } else if ("long".equalsIgnoreCase(type)) { - value = Long.parseLong((String)value); - } else if ("float".equalsIgnoreCase(type)) { - value = Float.parseFloat((String)value); - } else if ("double".equalsIgnoreCase(type)) { - value = Double.parseDouble((String)value); - } else if ("String".equalsIgnoreCase(type)) { - // its already a string - } - jmsBinding.setProperty(name, value); - } - } - - /** - * - * * - * - * * - * ? - * * - */ - private void parseOperationProperties(XMLStreamReader reader, JMSBinding jmsBinding) throws XMLStreamException { - String opName = reader.getAttributeValue(null, "name"); - if (opName == null || opName.length() < 1) { - warning("MissingJMSOperationPropertyName", jmsBinding); - return; - } - String nativeOpName = reader.getAttributeValue(null, "nativeOperation"); - if (nativeOpName != null && nativeOpName.length() > 0) { - jmsBinding.setNativeOperationName(opName, nativeOpName); - } - - while (true) { - switch (reader.next()) { - case START_ELEMENT: - if (reader.getName().getLocalPart().equals("headers")) { - parseOperationHeaders(reader, jmsBinding, opName); - } - break; - case END_ELEMENT: - QName x = reader.getName(); - if (x.getLocalPart().equals("operationProperties")) { - return; - } else { - error("UnexpectedResponseElement", reader, x.toString()); - } - } - } - } - - private void parseOperationHeaders(XMLStreamReader reader, JMSBinding jmsBinding, String opName) throws XMLStreamException { - String jmsType = reader.getAttributeValue(null, "JMSType"); - if (jmsType != null && jmsType.length() > 0) { - jmsBinding.setOperationJMSType(opName, jmsType); - } - - String jmsCorrelationId = reader.getAttributeValue(null, "JMSCorrelationID"); - if (jmsCorrelationId != null && jmsCorrelationId.length() > 0) { - jmsBinding.setOperationJMSCorrelationId(opName, jmsCorrelationId); - } - - String jmsDeliveryMode = reader.getAttributeValue(null, "JMSDeliveryMode"); - if (jmsDeliveryMode != null && jmsDeliveryMode.length() > 0) { - if ("PERSISTENT".equalsIgnoreCase(jmsDeliveryMode)) { - jmsBinding.setJMSDeliveryMode(true); - } else if ("NON_PERSISTENT".equalsIgnoreCase(jmsDeliveryMode)) { - jmsBinding.setOperationJMSDeliveryMode(opName, false); - } else { - warning("InvalidOPJMSDeliveryMode", jmsBinding, jmsDeliveryMode); - } - } - - String jmsTimeToLive = reader.getAttributeValue(null, "JMSTimeToLive"); - if (jmsTimeToLive != null && jmsTimeToLive.length() > 0) { - jmsBinding.setOperationJMSTimeToLive(opName, Long.parseLong(jmsTimeToLive)); - } - - String jmsPriority = reader.getAttributeValue(null, "JMSPriority"); - if (jmsPriority != null && jmsPriority.length() > 0) { - int p = Integer.parseInt(jmsPriority); - if (p >= 0 && p <= 9) { - jmsBinding.setOperationJMSPriority(opName, p); - } else { - warning("InvalidOPJMSPriority", jmsBinding, jmsPriority); - } - } - - while (true) { - switch (reader.next()) { - case START_ELEMENT: - if (reader.getName().getLocalPart().equals("property")) { - parseOperationPropertyProperties(reader, jmsBinding, opName); - } - break; - case END_ELEMENT: - QName x = reader.getName(); - if (x.getLocalPart().equals("headers")) { - return; - } else { - error("UnexpectedResponseElement", reader, x.toString()); - } - } - } - } - - private void parseOperationPropertyProperties(XMLStreamReader reader, JMSBinding jmsBinding, String opName) throws XMLStreamException { - String propName = reader.getAttributeValue(null, "name"); - String type = reader.getAttributeValue(null, "type"); - if (propName != null && propName.length() > 0) { - Object value = reader.getElementText(); - if ("boolean".equalsIgnoreCase(type)) { - value = Boolean.parseBoolean((String)value); - } else if ("byte".equalsIgnoreCase(type)) { - value = Byte.parseByte(((String)value)); - } else if ("short".equalsIgnoreCase(type)) { - value = Short.parseShort((String)value); - } else if ("int".equalsIgnoreCase(type)) { - value = Integer.parseInt((String)value); - } else if ("long".equalsIgnoreCase(type)) { - value = Long.parseLong((String)value); - } else if ("float".equalsIgnoreCase(type)) { - value = Float.parseFloat((String)value); - } else if ("double".equalsIgnoreCase(type)) { - value = Double.parseDouble((String)value); - } else if ("String".equalsIgnoreCase(type)) { - // its already a string - } - jmsBinding.setOperationProperty(opName, propName, value); - } - } - - private void parseSubscriptionHeaders(XMLStreamReader reader, JMSBinding jmsBinding) { - String jmsSelector = reader.getAttributeValue(null, "JMSSelector"); - if (jmsSelector != null && jmsSelector.length() > 0) { - jmsBinding.setJMSSelector(jmsSelector); - } - } - - /** - * The validation rules for the JMS model are relatively complicated to they all live together here - */ - public void validate() throws JMSBindingException { - /* - * first fix up anything now the model has been read - */ - - /* - * Now some cross field validation - */ - - // connection factory doesn't contradict destination type - // connection factory and activation Specification are mutually exclusive - // TODO check Specification for all validations - } - -} diff --git a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/OperationSelectorJMSDefault.java b/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/OperationSelectorJMSDefault.java deleted file mode 100644 index 71d1298c9b..0000000000 --- a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/OperationSelectorJMSDefault.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.jms.operationselector.jmsdefault; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.assembly.OperationSelector; - -/** - * Implementation for policies that could be injected as parameter - * into the axis2config. - * - * @version $Rev$ $Date$ - */ -public class OperationSelectorJMSDefault implements OperationSelector { - public static final QName OPERATION_SELECTOR_JMS_DEFAULT_QNAME = new QName(Constants.SCA10_TUSCANY_NS, "operationSelector.JMSDefault"); - - public QName getSchemaName() { - return OPERATION_SELECTOR_JMS_DEFAULT_QNAME; - } - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - } -} diff --git a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/OperationSelectorJMSDefaultProcessor.java b/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/OperationSelectorJMSDefaultProcessor.java deleted file mode 100644 index 4a8e4a1bd2..0000000000 --- a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/operationselector/jmsdefault/OperationSelectorJMSDefaultProcessor.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.binding.jms.operationselector.jmsdefault; - - -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.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.monitor.Monitor; - -/** - * - * @version $Rev$ $Date$ - */ -public class OperationSelectorJMSDefaultProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor { - - public QName getArtifactType() { - return OperationSelectorJMSDefault.OPERATION_SELECTOR_JMS_DEFAULT_QNAME; - } - - public OperationSelectorJMSDefaultProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - } - - - public OperationSelectorJMSDefault read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - OperationSelectorJMSDefault wireFormat = new OperationSelectorJMSDefault(); - - return wireFormat; - } - - public void write(OperationSelectorJMSDefault wireFormat, XMLStreamWriter writer) - throws ContributionWriteException, XMLStreamException { - String prefix = "tuscany"; - writer.writeStartElement(prefix, - getArtifactType().getLocalPart(), - getArtifactType().getNamespaceURI()); - writer.writeNamespace("tuscany", Constants.SCA10_TUSCANY_NS); - - writer.writeEndElement(); - } - - public Class getModelType() { - return OperationSelectorJMSDefault.class; - } - - public void resolve(OperationSelectorJMSDefault arg0, ModelResolver arg1) throws ContributionResolveException { - - } - -} diff --git a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytes.java b/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytes.java deleted file mode 100644 index 84d1a2740f..0000000000 --- a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytes.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.jms.wireformat.jmsbytes; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.assembly.WireFormat; - -/** - * Implementation for policies that could be injected as parameter - * into the axis2config. - * - * @version $Rev$ $Date$ - */ -public class WireFormatJMSBytes implements WireFormat { - public static final QName WIRE_FORMAT_JMS_BYTES_QNAME = new QName(Constants.SCA10_TUSCANY_NS, "wireFormat.jmsBytes"); - - public QName getSchemaName() { - return WIRE_FORMAT_JMS_BYTES_QNAME; - } - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - } -} diff --git a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesProcessor.java b/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesProcessor.java deleted file mode 100644 index 2d807d49cb..0000000000 --- a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsbytes/WireFormatJMSBytesProcessor.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.jms.wireformat.jmsbytes; - -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; - -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.monitor.Monitor; - -/** - * - * @version $Rev$ $Date$ - */ -public class WireFormatJMSBytesProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor { - - public QName getArtifactType() { - return WireFormatJMSBytes.WIRE_FORMAT_JMS_BYTES_QNAME; - } - - public WireFormatJMSBytesProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - } - - - public WireFormatJMSBytes read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - WireFormatJMSBytes wireFormat = new WireFormatJMSBytes(); - - return wireFormat; - } - - public void write(WireFormatJMSBytes wireFormat, XMLStreamWriter writer) - throws ContributionWriteException, XMLStreamException { - String prefix = "tuscany"; - writer.writeStartElement(prefix, - getArtifactType().getLocalPart(), - getArtifactType().getNamespaceURI()); - writer.writeNamespace("tuscany", Constants.SCA10_TUSCANY_NS); - - writer.writeEndElement(); - } - - public Class getModelType() { - return WireFormatJMSBytes.class; - } - - public void resolve(WireFormatJMSBytes arg0, ModelResolver arg1) throws ContributionResolveException { - - } - -} diff --git a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObject.java b/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObject.java deleted file mode 100644 index 7e39f696bd..0000000000 --- a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObject.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.jms.wireformat.jmsobject; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.assembly.WireFormat; - -/** - * Implementation for policies that could be injected as parameter - * into the axis2config. - * - * @version $Rev$ $Date$ - */ -public class WireFormatJMSObject implements WireFormat { - public static final QName WIRE_FORMAT_JMS_BYTES_QNAME = new QName(Constants.SCA10_TUSCANY_NS, "wireFormat.jmsObject"); - - public QName getSchemaName() { - return WIRE_FORMAT_JMS_BYTES_QNAME; - } - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - } -} diff --git a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectProcessor.java b/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectProcessor.java deleted file mode 100644 index 806b713931..0000000000 --- a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmsobject/WireFormatJMSObjectProcessor.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.jms.wireformat.jmsobject; - -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; - -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.monitor.Monitor; - -/** - * - * @version $Rev$ $Date$ - */ -public class WireFormatJMSObjectProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor { - - public QName getArtifactType() { - return WireFormatJMSObject.WIRE_FORMAT_JMS_BYTES_QNAME; - } - - public WireFormatJMSObjectProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - } - - - public WireFormatJMSObject read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - WireFormatJMSObject wireFormat = new WireFormatJMSObject(); - - return wireFormat; - } - - public void write(WireFormatJMSObject wireFormat, XMLStreamWriter writer) - throws ContributionWriteException, XMLStreamException { - String prefix = "tuscany"; - writer.writeStartElement(prefix, - getArtifactType().getLocalPart(), - getArtifactType().getNamespaceURI()); - writer.writeNamespace("tuscany", Constants.SCA10_TUSCANY_NS); - - writer.writeEndElement(); - } - - public Class getModelType() { - return WireFormatJMSObject.class; - } - - public void resolve(WireFormatJMSObject arg0, ModelResolver arg1) throws ContributionResolveException { - - } - -} diff --git a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSText.java b/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSText.java deleted file mode 100644 index fff33df1f4..0000000000 --- a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSText.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.jms.wireformat.jmstext; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.assembly.WireFormat; - -/** - * Implementation for policies that could be injected as parameter - * into the axis2config. - * - * @version $Rev$ $Date$ - */ -public class WireFormatJMSText implements WireFormat { - public static final QName WIRE_FORMAT_JMS_BYTES_QNAME = new QName(Constants.SCA10_TUSCANY_NS, "wireFormat.jmsText"); - - public QName getSchemaName() { - return WIRE_FORMAT_JMS_BYTES_QNAME; - } - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - } -} diff --git a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextProcessor.java b/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextProcessor.java deleted file mode 100644 index 9b675df290..0000000000 --- a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstext/WireFormatJMSTextProcessor.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.jms.wireformat.jmstext; - -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; - -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.monitor.Monitor; - -/** - * - * @version $Rev$ $Date$ - */ -public class WireFormatJMSTextProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor { - - public QName getArtifactType() { - return WireFormatJMSText.WIRE_FORMAT_JMS_BYTES_QNAME; - } - - public WireFormatJMSTextProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - } - - - public WireFormatJMSText read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - WireFormatJMSText wireFormat = new WireFormatJMSText(); - - return wireFormat; - } - - public void write(WireFormatJMSText wireFormat, XMLStreamWriter writer) - throws ContributionWriteException, XMLStreamException { - String prefix = "tuscany"; - writer.writeStartElement(prefix, - getArtifactType().getLocalPart(), - getArtifactType().getNamespaceURI()); - writer.writeNamespace("tuscany", Constants.SCA10_TUSCANY_NS); - - writer.writeEndElement(); - } - - public Class getModelType() { - return WireFormatJMSText.class; - } - - public void resolve(WireFormatJMSText arg0, ModelResolver arg1) throws ContributionResolveException { - - } - -} diff --git a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXML.java b/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXML.java deleted file mode 100644 index 23a53b9d96..0000000000 --- a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXML.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.binding.jms.wireformat.jmstextxml; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.assembly.WireFormat; - -/** - * - * @version $Rev$ $Date$ - */ -public class WireFormatJMSTextXML implements WireFormat { - public static final QName WIRE_FORMAT_JMS_DEFAULT_QNAME = new QName(Constants.SCA10_TUSCANY_NS, "wireFormat.jmsTextXML"); - - public QName getSchemaName() { - return WIRE_FORMAT_JMS_DEFAULT_QNAME; - } - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - } - - @Override - public boolean equals(Object obj) { - return this.getClass() == obj.getClass(); - } -} diff --git a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLProcessor.java b/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLProcessor.java deleted file mode 100644 index 8248fc771a..0000000000 --- a/java/sca/contrib/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/wireformat/jmstextxml/WireFormatJMSTextXMLProcessor.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.jms.wireformat.jmstextxml; - -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; - -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.monitor.Monitor; - -/** - * - * @version $Rev$ $Date$ - */ -public class WireFormatJMSTextXMLProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor { - - public QName getArtifactType() { - return WireFormatJMSTextXML.WIRE_FORMAT_JMS_DEFAULT_QNAME; - } - - public WireFormatJMSTextXMLProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - } - - - public WireFormatJMSTextXML read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - WireFormatJMSTextXML wireFormat = new WireFormatJMSTextXML(); - - return wireFormat; - } - - public void write(WireFormatJMSTextXML wireFormat, XMLStreamWriter writer) - throws ContributionWriteException, XMLStreamException { - String prefix = "tuscany"; - writer.writeStartElement(prefix, - getArtifactType().getLocalPart(), - getArtifactType().getNamespaceURI()); - writer.writeNamespace("tuscany", Constants.SCA10_TUSCANY_NS); - - writer.writeEndElement(); - } - - public Class getModelType() { - return WireFormatJMSTextXML.class; - } - - public void resolve(WireFormatJMSTextXML arg0, ModelResolver arg1) throws ContributionResolveException { - - } - -} diff --git a/java/sca/contrib/modules/binding-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/binding-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index e5b8a96783..0000000000 --- a/java/sca/contrib/modules/binding-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor +++ /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. - -# Implementation class for the artifact processor extension -org.apache.tuscany.sca.binding.jms.impl.JMSBindingProcessor;qname=http://www.osoa.org/xmlns/sca/1.0#binding.jms,model=org.apache.tuscany.sca.binding.jms.impl.JMSBinding -org.apache.tuscany.sca.binding.jms.wireformat.jmstextxml.WireFormatJMSTextXMLProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#wireFormat.jmsTextXML,model=org.apache.tuscany.sca.binding.jms.wireformat.jmstextxml.WireFormatJMSTextXML -org.apache.tuscany.sca.binding.jms.wireformat.jmsbytes.WireFormatJMSBytesProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#wireFormat.jmsBytes,model=org.apache.tuscany.sca.binding.jms.wireformat.jmsbytes.WireFormatJMSBytes -org.apache.tuscany.sca.binding.jms.wireformat.jmstext.WireFormatJMSTextProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#wireFormat.jmsText,model=org.apache.tuscany.sca.binding.jms.wireformat.jmstext.WireFormatJMSText -org.apache.tuscany.sca.binding.jms.wireformat.jmsobject.WireFormatJMSObjectProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#wireFormat.jmsObject,model=org.apache.tuscany.sca.binding.jms.wireformat.jmsobject.WireFormatJMSObject -org.apache.tuscany.sca.binding.jms.operationselector.jmsdefault.OperationSelectorJMSDefaultProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#operationSelector.jmsDefault,model=org.apache.tuscany.sca.binding.jms.operationselector.jmsdefault.OperationSelectorJMSDefault - diff --git a/java/sca/contrib/modules/binding-jms/src/main/resources/binding-jms-validation-messages.properties b/java/sca/contrib/modules/binding-jms/src/main/resources/binding-jms-validation-messages.properties deleted file mode 100644 index 2f1048e601..0000000000 --- a/java/sca/contrib/modules/binding-jms/src/main/resources/binding-jms-validation-messages.properties +++ /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. -# -# -DoesntProcessOperationProperties = JMS Binding doesn't process operationProperties yet -DoesntProcessHeaders = JMS Binding doesn't process headers yet -DoesntProcessResourceAdapter = JMS Binding doesn't process resourceAdapter yet -DoesntProcessResponseConnectionFactory = JMS Binding doesn't process response connectionFactory yet -DoesntProcessResponseActivationSpec = JMS Binding doesn't process response activationSpec yet -DoesntProcessResponseDestinationType = JMS Binding doesn't process response destination type yet -DoesntProcessActivationSpec = JMS Binding doesn't process activationSpec yet -DoesntProcessDestinationType = JMS Binding doesn't process destination type yet -MissingConnectionFactoryName = Missing ConnectionFactory Name -MissingResponseConnectionFactory = Missing response connectionFactory name -InvalidResponseDestinationType = Invalid response destination type: {0} -InvalidDestinationType = Invalid destination type: {0} -MissingActivationSpecName = Missing ActivationSpec Name -MissingResponseActivationSpec = Missing response ActivationSpec name -UnknownTokenInURI = Unknown token {0} in uri: {1} -MustStartWithSchema = URI must start with the scheme 'jms:' for uri: {0} -InvalidCorrelationScheme = Invalid correlationScheme: {0} -UnexpectedElement = Incomplete binding.jms definition found unexpected element: {0} -UnexpectedResponseElement = Incomplete binding.jms/response definition found unexpected element: {0} -InvalidJMSDeliveryMode = Invalid JMSDeliveryMode: {0} -InvalidJMSPriority = Invalid JMSPriority: {0} -MissingJMSOperationPropertyName = Missing JMSOperationProperty Name -InvalidOPJMSDeliveryMode = Invalid OPJMSDeliveryMode: {0} -InvalidOPJMSPriority = Invalid OPJMSPriority: {0} - - - diff --git a/java/sca/contrib/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessorTestCase.java b/java/sca/contrib/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessorTestCase.java deleted file mode 100644 index 7fe482c4f2..0000000000 --- a/java/sca/contrib/modules/binding-jms/src/test/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingProcessorTestCase.java +++ /dev/null @@ -1,211 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.impl; - -import java.io.StringReader; -import java.util.Map; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamReader; - -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; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.MonitorFactory; -import org.apache.tuscany.sca.monitor.impl.DefaultMonitorFactoryImpl; - -/** - * Tests for JMS binding xml - */ -public class JMSBindingProcessorTestCase extends TestCase { - - private static final String COMPOSITE = - "" - + "" - + " " - + " " - + " " - + " " - + " " - + " " - + ""; - - private static final String HEADERS1 = - "" - + "" - + " " - + " " - + " " - + " " - + " " - + " " - + " " - + " " - + " " - + ""; - - private static final String PROPERTIES1 = - "" - + "" - + " " - + " " - + " " - + " " - + " " - + " bla" - + " 42" - + " " - + " " - + " " - + " " - + ""; - - private static final String OP_PROPERTIES1 = - "" - + "" - + " " - + " " - + " " - + " " - + " " - + " " - + " bla" - + " 42" - + " " - + " " - + " " - + " " - + " op2bla" - + " 77" - + " " - + " " - + " " - + " " - + " " - + ""; - - private static final String SELECTOR = - "" - + "" - + " " - + " " - + " " - + " " - + " " - + " " - + " " - + " " - + ""; - - private XMLInputFactory inputFactory; - private StAXArtifactProcessor staxProcessor; - private Monitor monitor; - - @Override - protected void setUp() throws Exception { - DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - inputFactory = XMLInputFactory.newInstance(); - // Create a monitor - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - MonitorFactory monitorFactory = new DefaultMonitorFactoryImpl(); - if (monitorFactory != null) { - monitor = monitorFactory.createMonitor(); - utilities.addUtility(monitorFactory); - } - StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, monitor); - } - - /** - * Test parsing valid composite definition. Valid composite populated with correct values expected. - * @throws Exception - */ - public void testLoadValidComposite() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(COMPOSITE)); - - Composite composite = (Composite)staxProcessor.read(reader); - JMSBinding binding = (JMSBinding) composite.getComponents().get(0).getServices().get(0).getBindings().get(0); - - assertNotNull(binding); - assertEquals("testQueue", binding.getDestinationName()); - } - - public void testHeaders1() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(HEADERS1)); - - Composite composite = (Composite)staxProcessor.read(reader); - JMSBinding binding = (JMSBinding) composite.getComponents().get(0).getServices().get(0).getBindings().get(0); - - assertNotNull(binding); - assertEquals("myType", binding.getJMSType()); - assertEquals("myCorrelId", binding.getJMSCorrelationId()); - assertTrue(binding.isdeliveryModePersistent()); - assertEquals(54321, binding.getJMSTimeToLive().longValue()); - assertEquals(5, binding.getJMSPriority().intValue()); - } - - public void testProperties1() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(PROPERTIES1)); - - Composite composite = (Composite)staxProcessor.read(reader); - JMSBinding binding = (JMSBinding) composite.getComponents().get(0).getServices().get(0).getBindings().get(0); - - assertNotNull(binding); - assertEquals("bla", binding.getProperty("p1")); - assertEquals(42, ((Integer)binding.getProperty("intProp")).intValue()); - } - - public void testOpProperties1() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(OP_PROPERTIES1)); - - Composite composite = (Composite)staxProcessor.read(reader); - JMSBinding binding = (JMSBinding) composite.getComponents().get(0).getServices().get(0).getBindings().get(0); - - assertNotNull(binding); - - Map op1Props = binding.getOperationProperties("op1"); - assertEquals("op1Type", binding.getOperationJMSType("op1")); - assertEquals("bla", op1Props.get("p1")); - assertEquals(42, ((Integer)op1Props.get("intProp")).intValue()); - - assertEquals("op2Type", binding.getOperationJMSType("op2")); - Map op2Props = binding.getOperationProperties("op2"); - assertEquals("op2bla", op2Props.get("p2")); - assertEquals(77, ((Integer)op2Props.get("intProp")).intValue()); - } - - public void testSubscriptionHeaders () throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(SELECTOR)); - - Composite composite = (Composite)staxProcessor.read(reader); - JMSBinding binding = (JMSBinding) composite.getComponents().get(0).getServices().get(0).getBindings().get(0); - - assertNotNull(binding); - - assertEquals("prop1 = 2", binding.getJMSSelector()); - } -} diff --git a/java/sca/contrib/modules/binding-jsonrpc-runtime/LICENSE b/java/sca/contrib/modules/binding-jsonrpc-runtime/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc-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/java/sca/contrib/modules/binding-jsonrpc-runtime/NOTICE b/java/sca/contrib/modules/binding-jsonrpc-runtime/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc-runtime/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-jsonrpc-runtime/pom.xml b/java/sca/contrib/modules/binding-jsonrpc-runtime/pom.xml deleted file mode 100644 index d0dc979286..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc-runtime/pom.xml +++ /dev/null @@ -1,164 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-jsonrpc-runtime - Apache Tuscany SCA JSON-RPC Binding Runtime - - - - org.apache.tuscany.sca - tuscany-binding-jsonrpc - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-databinding - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-databinding-json - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-http - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-jetty - 2.0-SNAPSHOT - test - - - - com.metaparadigm - json-rpc - 1.0 - - - - javax.servlet - servlet-api - 2.4 - provided - - - - commons-logging - commons-logging - 1.1.1 - - - commons-logging - commons-logging - - - javax.servlet - servlet-api - - - - - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - test - - - - junit - junit - 4.5 - test - - - - httpunit - httpunit - 1.6.1 - test - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.jsonrpc.runtime - ${pom.name} - - !org.apache.tuscany.sca.binding.jsonrpc, - org.apache.tuscany.sca.binding.jsonrpc* - - - org.apache.tuscany.sca.assembly.xml, - org.apache.tuscany.sca.binding.jsonrpc, - * - - - - - - - - diff --git a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java b/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.java deleted file mode 100644 index a9fff462fa..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingInvoker.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.jsonrpc.provider; - -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; - -/** - * Invoker for the JSONRPC Binding - * - * @version $Rev$ $Date$ - */ -public class JSONRPCBindingInvoker implements Invoker { - Operation operation; - String uri; - - public JSONRPCBindingInvoker(Operation operation, String uri) { - this.operation = operation; - this.uri = uri; - } - - public Message invoke(Message msg) { - // TODO Auto-generated method stub - return null; - } - -} diff --git a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingProviderFactory.java b/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingProviderFactory.java deleted file mode 100644 index eb85453bbb..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCBindingProviderFactory.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jsonrpc.provider; - -import org.apache.tuscany.sca.binding.jsonrpc.JSONRPCBinding; -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.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; - -/** - * JSON-RPC Provider Factory - * - * @version $Rev$ $Date$ - */ -public class JSONRPCBindingProviderFactory implements BindingProviderFactory { - - private ServletHost servletHost; - - public JSONRPCBindingProviderFactory(ExtensionPointRegistry extensionPoints) { - ServletHostExtensionPoint servletHosts = extensionPoints.getExtensionPoint(ServletHostExtensionPoint.class); - this.servletHost = servletHosts.getServletHosts().get(0); - } - - public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - JSONRPCBinding binding) { - - return new JSONRPCReferenceBindingProvider(component, reference, binding); - } - - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - JSONRPCBinding binding) { - return new JSONRPCServiceBindingProvider(component, service, binding, servletHost); - } - - public Class getModelType() { - return JSONRPCBinding.class; - } - -} diff --git a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCReferenceBindingProvider.java b/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCReferenceBindingProvider.java deleted file mode 100644 index e2528f59e5..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCReferenceBindingProvider.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.jsonrpc.provider; - -import org.apache.tuscany.sca.binding.jsonrpc.JSONRPCBinding; -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 JSONRPC Binding Provider for References - * - * @version $Rev$ $Date$ - */ -public class JSONRPCReferenceBindingProvider implements ReferenceBindingProvider { - - private RuntimeComponentReference reference; - private JSONRPCBinding binding; - - public JSONRPCReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - JSONRPCBinding binding) { - this.reference = reference; - this.binding = binding; - - } - - public InterfaceContract getBindingInterfaceContract() { - return reference.getInterfaceContract(); - } - - public Invoker createInvoker(Operation operation) { - return new JSONRPCBindingInvoker(operation, binding.getURI()); - } - - public void start() { - // TODO Auto-generated method stub - - } - - public void stop() { - // TODO Auto-generated method stub - - } - - public boolean supportsOneWayInvocation() { - return false; - } - -} diff --git a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceBindingProvider.java b/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceBindingProvider.java deleted file mode 100644 index 8d9f8193e9..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceBindingProvider.java +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jsonrpc.provider; - -import java.net.URI; -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.binding.jsonrpc.JSONRPCBinding; -import org.apache.tuscany.sca.databinding.javabeans.SimpleJavaDataBinding; -import org.apache.tuscany.sca.databinding.json.JSONDataBinding; -import org.apache.tuscany.sca.host.http.ServletHost; -import org.apache.tuscany.sca.interfacedef.DataType; -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.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * Implementation of the JSONRPC Binding Provider for Services - * - * @version $Rev$ $Date$ - */ -public class JSONRPCServiceBindingProvider implements ServiceBindingProvider { - - // Path to the scaDomain.js script - // Note: this is the same as the Ajax binding to keep the client code - // the same for clients using either the ajax or jsonrpc binding - private static final String SCA_DOMAIN_SCRIPT = "/SCADomain/scaDomain.js"; - - private RuntimeComponent component; - private RuntimeComponentService service; - private InterfaceContract serviceContract; - private JSONRPCBinding binding; - private ServletHost servletHost; - private List servletMappings = new ArrayList(); - private String domainScriptMapping; - - public JSONRPCServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - JSONRPCBinding binding, - ServletHost servletHost) { - this.component = component; - this.service = service; - this.binding = binding; - this.servletHost = servletHost; - - //clone the service contract to avoid databinding issues - try { - this.serviceContract = (InterfaceContract)service.getInterfaceContract().clone(); - } catch(CloneNotSupportedException e) { - this.serviceContract = service.getInterfaceContract(); - } - - setDataBinding(serviceContract.getInterface()); - } - - public InterfaceContract getBindingInterfaceContract() { - return service.getInterfaceContract(); - } - - public boolean supportsOneWayInvocation() { - return false; - } - - public void start() { - // Set default databinding to json - serviceContract.getInterface().resetDataBinding(JSONDataBinding.NAME); - - // Determine the service business interface - Class serviceInterface = getTargetJavaClass(serviceContract.getInterface()); - - // Create a Java proxy to the target service - Object proxy = component.getComponentContext().createSelfReference(serviceInterface, service).getService(); - - // Create and register a Servlet for this service - JSONRPCServiceServlet serviceServlet = - new JSONRPCServiceServlet(binding, service, serviceContract, serviceInterface, proxy); - String mapping = binding.getURI(); - if (!mapping.endsWith("/")) { - mapping += "/"; - } - if (!mapping.endsWith("*")) { - mapping += "*"; - } - - servletHost.addServletMapping(mapping, serviceServlet); - servletMappings.add(mapping); - servletHost.addServletMapping(binding.getURI(), serviceServlet); - servletMappings.add(binding.getURI()); - - // Register service to scaDomain.js - int port; - URI uri = URI.create(servletHost.getURLMapping(binding.getURI()).toString()); - port = uri.getPort(); - if (port == -1) { - port = servletHost.getDefaultPort(); - } - - // get the ScaDomainScriptServlet, if it doesn't yet exist create one - // this uses removeServletMapping / addServletMapping as there is no getServletMapping facility - domainScriptMapping = URI.create("http://localhost:" + port + SCA_DOMAIN_SCRIPT).toString(); - ScaDomainScriptServlet scaDomainServlet = - (ScaDomainScriptServlet)servletHost.getServletMapping(domainScriptMapping); - if (scaDomainServlet == null) { - scaDomainServlet = new ScaDomainScriptServlet(); - servletHost.addServletMapping(domainScriptMapping, scaDomainServlet); - } - - // Add this service to the SCA Domain Script Servlet - scaDomainServlet.addService(binding.getName()); - } - - public void stop() { - - // Remove the Servlet mappings we've added - for (String mapping: servletMappings) { - servletHost.removeServletMapping(mapping); - } - - // Unregister the service from the SCA Domain Script Servlet - ScaDomainScriptServlet scaDomainServlet = (ScaDomainScriptServlet) servletHost.getServletMapping(domainScriptMapping); - if (scaDomainServlet != null) { - scaDomainServlet.removeService(binding.getName()); - - // Remove the Servlet if there's no more registered services - if (scaDomainServlet.getServiceNames().isEmpty()) { - servletHost.removeServletMapping(domainScriptMapping); - } - } - - } - - private Class getTargetJavaClass(Interface targetInterface) { - // TODO: right now assume that the target is always a Java - // Implementation. Need to figure out how to generate Java - // Interface in cases where the target is not a Java Implementation - return ((JavaInterface)targetInterface).getJavaClass(); - } - - private void setDataBinding(Interface interfaze) { - List operations = interfaze.getOperations(); - for (Operation operation : operations) { - operation.setDataBinding(JSONDataBinding.NAME); - DataType> inputType = operation.getInputType(); - if (inputType != null) { - List logical = inputType.getLogical(); - for (DataType inArg : logical) { - if (!SimpleJavaDataBinding.NAME.equals(inArg.getDataBinding())) { - inArg.setDataBinding(JSONDataBinding.NAME); - } - } - } - DataType outputType = operation.getOutputType(); - if (outputType != null) { - if (!SimpleJavaDataBinding.NAME.equals(outputType.getDataBinding())) { - outputType.setDataBinding(JSONDataBinding.NAME); - } - } - } - } - - -} diff --git a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceServlet.java b/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceServlet.java deleted file mode 100644 index 37a598e1ac..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JSONRPCServiceServlet.java +++ /dev/null @@ -1,282 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jsonrpc.provider; - -import java.io.BufferedReader; -import java.io.CharArrayWriter; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.io.UnsupportedEncodingException; -import java.lang.reflect.InvocationTargetException; -import java.util.List; - -import javax.servlet.ServletConfig; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.json.JSONArray; -import org.json.JSONObject; -import org.oasisopen.sca.ServiceRuntimeException; - -import com.metaparadigm.jsonrpc.JSONRPCBridge; -import com.metaparadigm.jsonrpc.JSONRPCResult; -import com.metaparadigm.jsonrpc.JSONRPCServlet; - -/** - * Servlet that handles JSON-RPC requests invoking SCA services. - * - * There is an instance of this Servlet for each - * - * @version $Rev$ $Date$ - */ -public class JSONRPCServiceServlet extends JSONRPCServlet { - private static final long serialVersionUID = 1L; - - transient Binding binding; - transient String serviceName; - transient Object serviceInstance; - transient RuntimeComponentService componentService; - transient InterfaceContract serviceContract; - transient Class serviceInterface; - - public JSONRPCServiceServlet(Binding binding, - RuntimeComponentService componentService, - InterfaceContract serviceContract, - Class serviceInterface, - Object serviceInstance) { - this.binding = binding; - this.serviceName = binding.getName(); - this.componentService = componentService; - this.serviceContract = serviceContract; - this.serviceInterface = serviceInterface; - this.serviceInstance = serviceInstance; - } - - /** - * Override to do nothing as the JSONRPCServlet is setup by the - * service method in this class. - */ - @Override - public void init(ServletConfig config) { - } - - @Override - public void service(HttpServletRequest request, HttpServletResponse response) throws IOException { - if ("smd".equals(request.getQueryString())) { - handleSMDRequest(request, response); - } else { - try { - handleServiceRequest(request, response); - } finally { - HttpSession session = request.getSession(false); - if (session != null) { - session.removeAttribute("JSONRPCBridge"); - } - } - } - } - - private void handleServiceRequest(HttpServletRequest request, HttpServletResponse response) - throws IOException { - // Encode using UTF-8, although We are actually ASCII clean as - // all unicode data is JSON escaped using backslash u. This is - // less data efficient for foreign character sets but it is - // needed to support naughty browsers such as Konqueror and Safari - // which do not honour the charset set in the response - response.setContentType("text/plain;charset=utf-8"); - OutputStream out = response.getOutputStream(); - - // Decode using the charset in the request if it exists otherwise - // use UTF-8 as this is what all browser implementations use. - // The JSON-RPC-Java JavaScript client is ASCII clean so it - // although here we can correctly handle data from other clients - // that do not escape non ASCII data - String charset = request.getCharacterEncoding(); - if (charset == null) { - charset = "UTF-8"; - } - BufferedReader in = new BufferedReader(new InputStreamReader(request.getInputStream(), charset)); - - // Read the request - CharArrayWriter data = new CharArrayWriter(); - char[] buf = new char[4096]; - int ret; - while ((ret = in.read(buf, 0, 4096)) != -1) { - data.write(buf, 0, ret); - } - - JSONObject jsonReq = null; - String method = null; - try { - jsonReq = new JSONObject(data.toString()); - method = jsonReq.getString("method"); - } catch (Exception e) { - //FIXME Exceptions are not handled correctly here - // They should be reported to the client JavaScript as proper - // JavaScript exceptions. - throw new RuntimeException("Unable to parse request", e); - } - - - // check if it's a system request - // or a method invocation - byte[] bout; - if (method.startsWith("system.")) { - bout = handleJSONRPCSystemInvocation(request, response, data.toString()); - } else { - bout = handleJSONRPCMethodInvocation(request, response, jsonReq); - } - - // Send response to client - out.write(bout); - out.flush(); - out.close(); - } - - /** - * handles requests for the SMD descriptor for a service - */ - protected void handleSMDRequest(HttpServletRequest request, HttpServletResponse response) throws IOException, - UnsupportedEncodingException { - String serviceUrl = request.getRequestURL().toString(); - String smd = JavaToSmd.interfaceToSmd(serviceInterface, serviceUrl); - - response.setContentType("text/plain;charset=utf-8"); - OutputStream out = response.getOutputStream(); - byte[] bout = smd.getBytes("UTF-8"); - out.write(bout); - out.flush(); - out.close(); - } - - protected byte[] handleJSONRPCSystemInvocation(HttpServletRequest request, HttpServletResponse response, String requestData) throws IOException, - UnsupportedEncodingException { - /* - * Create a new bridge for every request to avoid all the problems with - * JSON-RPC-Java storing the bridge in the session - */ - HttpSession session = request.getSession(); - - JSONRPCBridge jsonrpcBridge = new JSONRPCBridge(); - jsonrpcBridge.registerObject("Service", serviceInstance, serviceInterface); - session.setAttribute("JSONRPCBridge", jsonrpcBridge); - - org.json.JSONObject jsonReq = null; - com.metaparadigm.jsonrpc.JSONRPCResult jsonResp = null; - try { - jsonReq = new org.json.JSONObject(requestData); - } catch (java.text.ParseException e) { - throw new RuntimeException("Unable to parse request", e); - } - - String method = jsonReq.getString("method"); - if ((method != null) && (method.indexOf('.') < 0)) { - jsonReq.putOpt("method", "Service" + "." + method); - } - - // invoke the request - jsonResp = jsonrpcBridge.call(new Object[] {request}, jsonReq); - - return jsonResp.toString().getBytes("UTF-8"); - } - - protected byte[] handleJSONRPCMethodInvocation(HttpServletRequest request, HttpServletResponse response, JSONObject jsonReq) throws IOException, - UnsupportedEncodingException { - - String method = null; - Object[] args = null; - Object id = null; - try { - // Extract the method - method = jsonReq.getString("method"); - if ((method != null) && (method.indexOf('.') < 0)) { - jsonReq.putOpt("method", "Service" + "." + method); - } - - // Extract the arguments - JSONArray array = jsonReq.getJSONArray("params"); - args = new Object[array.length()]; - for (int i = 0; i < args.length; i++) { - args[i] = array.get(i); - } - id = jsonReq.get("id"); - - } catch (Exception e) { - throw new RuntimeException("Unable to find json method name", e); - } - - // invoke the request - RuntimeWire wire = componentService.getRuntimeWire(binding, serviceContract); - Operation jsonOperation = findOperation(method); - Object result = null; - - try { - JSONObject jsonResponse = new JSONObject(); - result = wire.invoke(jsonOperation, args); - - try { - jsonResponse.put("result", result); - jsonResponse.putOpt("id", id); - //get response to send to client - return jsonResponse.toString().getBytes("UTF-8"); - } catch (Exception e) { - throw new ServiceRuntimeException("Unable to create JSON response", e); - } - } catch (InvocationTargetException e) { - JSONRPCResult errorResult = new JSONRPCResult(JSONRPCResult.CODE_REMOTE_EXCEPTION, id, e.getCause() ); - return errorResult.toString().getBytes("UTF-8"); - } catch(RuntimeException e) { - JSONRPCResult errorResult = new JSONRPCResult(JSONRPCResult.CODE_REMOTE_EXCEPTION, id, e.getCause()); - return errorResult.toString().getBytes("UTF-8"); - } - } - - /** - * Find the operation from the component service contract - * @param componentService - * @param method - * @return - */ - private Operation findOperation(String method) { - if (method.contains(".")) { - method = method.substring(method.lastIndexOf(".") + 1); - } - - List operations = serviceContract.getInterface().getOperations(); - //componentService.getBindingProvider(binding).getBindingInterfaceContract().getInterface().getOperations(); - - - Operation result = null; - for (Operation o : operations) { - if (o.getName().equalsIgnoreCase(method)) { - result = o; - break; - } - } - - return result; - } -} diff --git a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JavaToSmd.java b/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JavaToSmd.java deleted file mode 100644 index 64339fda7b..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/JavaToSmd.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.jsonrpc.provider; - -import java.lang.reflect.Method; - -/** - * Utility class to create a Simple Method Description (SMD) descriptor - * from a Java class. See http://dojo.jot.com/SMD. - * - * TODO: Change to work from the Tuscany Interface instead of a Java class - * - * @version $Rev$ $Date$ - */ -class JavaToSmd { - - static String interfaceToSmd(Class klazz, String serviceUrl) { - String name = klazz.getSimpleName(); - Method[] methods = klazz.getMethods(); - - StringBuffer smdSb = new StringBuffer(); - smdSb.append("{\"SMDVersion\":\".1\",\"objectName\":\"" + name + "\",\"serviceType\":\"JSON-RPC\",\"serviceURL\":\""+ serviceUrl + "\",\"methods\":["); - for (int i = 0; i < methods.length; i++) { - if (i != 0) smdSb.append(","); - Class[] params = methods[i].getParameterTypes(); - smdSb.append("{\"name\":\""+methods[i].getName() + "\",\"parameters\":["); - for (int j = 0; j < params.length; j++) { - if (j != 0) smdSb.append(","); - // right now Dojo doesn't look at the type value, so we'll default it to STRING - // also, since we can't introspect the method parameter names we'll just create an incrementing parameter name - smdSb.append("{\"name\":\"param" + j + "\",\"type\":\"STRING\"}"); - } - smdSb.append("]}"); - } - smdSb.append("]}"); - - return smdSb.toString(); - } - -} diff --git a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/ScaDomainScriptServlet.java b/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/ScaDomainScriptServlet.java deleted file mode 100644 index 999588abf1..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/provider/ScaDomainScriptServlet.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jsonrpc.provider; - -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.ServletOutputStream; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * Servlet to handle requests for the scaDomain.js script. - * - * This script wrappers the JSON-RPC-Java jsonrpc.js script - * adding in at the bottom the JavaScript to create and initialize - * the variables representing the SCA services. - * - * @version $Rev$ $Date$ - */ -public class ScaDomainScriptServlet extends HttpServlet { - private static final long serialVersionUID = 1L; - - protected transient List serviceNames; - - public ScaDomainScriptServlet() { - serviceNames = new ArrayList(); - } - - @Override - public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { - - ServletOutputStream os = response.getOutputStream(); - - os.println(); - os.println("/* Apache Tuscany scaDomain.js Header */"); - os.println(); - - writeJSONRPCJavaScript(os); - writeScaDomainCode(os, request.getServletPath()); - } - - /** - * Creates a JavaScript variable within the scaDomain script for each SCA service and - * initializes its value with the JSON-RPC client to invoke the serverside service. - */ - protected void writeScaDomainCode(ServletOutputStream out, String path) throws IOException { - out.println(); - out.println("/* Apache Tuscany scaDomain.js Footer */"); - out.println(); - out.println("function scaDomain() {}"); - - // remove the leading slash '/' character - path = path.substring(1); - - for (String serviceName : serviceNames) { - out.println(); - - // A slight hack to make the service function available with a variable named 'serviceName' - // to do that the JSONRpcClient is added to the scaDomain and then the service function is got from that - out.println("scaDomain." + serviceName + " = " + "new JSONRpcClient(\"" + serviceName + "\");"); - out.println(serviceName + " = scaDomain." + serviceName + ".Service;"); - } - - out.println(); - out.println("/** End of Apache Tuscany scaDomain.js */"); - out.println(); - } - - /** - * Reads the jsonrpc.js script from the classpath and adds its contents to the output stream. - */ - protected void writeJSONRPCJavaScript(ServletOutputStream os) throws IOException { - URL url = getClass().getResource("jsonrpc.js"); - InputStream is = url.openStream(); - int i; - while ((i = is.read()) != -1) { - os.write(i); - } - } - - public void addService(String serviceName) { - serviceNames.add(serviceName); - } - - public void removeService(String serviceName) { - serviceNames.remove(serviceName); - } - - public List getServiceNames() { - return serviceNames; - } - -} diff --git a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory deleted file mode 100644 index 4767358e7a..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc-runtime/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.jsonrpc.provider.JSONRPCBindingProviderFactory;model=org.apache.tuscany.sca.binding.jsonrpc.JSONRPCBinding diff --git a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/resources/org/apache/tuscany/sca/binding/jsonrpc/provider/jsonrpc.js b/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/resources/org/apache/tuscany/sca/binding/jsonrpc/provider/jsonrpc.js deleted file mode 100644 index d837bab91c..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/main/resources/org/apache/tuscany/sca/binding/jsonrpc/provider/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 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/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/bean/TestBean.java b/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/bean/TestBean.java deleted file mode 100644 index 4b159fb563..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/bean/TestBean.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 bean; - -public class TestBean { - private String testString; - private String[] testStringArray; - private int testInt; - - - public String getTestString() { - return testString; - } - - public void setTestString(String testString) { - this.testString = testString; - } - - public String[] getTestStringArray() { - return testStringArray; - } - - public void setStringArray(String[] stringArray) { - this.testStringArray = stringArray; - } - - public int getTestInt() { - return testInt; - } - - public void setTestInt(int testInt) { - this.testInt = testInt; - } - -} diff --git a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/echo/Echo.java b/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/echo/Echo.java deleted file mode 100644 index c46e5698d1..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/echo/Echo.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 echo; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.oasisopen.sca.annotation.Remotable; - -import bean.TestBean; - -/** - * Interface of our sample JSONRPC service. - * - * @version $Rev$ $Date$ - */ -@Remotable -public interface Echo { - - String echo(String msg); - - void echoRuntimeException() throws RuntimeException; - - void echoBusinessException() throws EchoBusinessException; - - int echoInt(int param); - - boolean echoBoolean(boolean param); - - Map echoMap(HashMap map); - - TestBean echoBean(TestBean testBean); - - List echoList(ArrayList list); - - String [] echoArrayString(String[] stringArray); - - int [] echoArrayInt(int[] intArray); - - Set echoSet(HashSet set); - -} diff --git a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/echo/EchoBusinessException.java b/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/echo/EchoBusinessException.java deleted file mode 100644 index bf8c7d2c8a..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/echo/EchoBusinessException.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 echo; - -public class EchoBusinessException extends Exception { - private static final long serialVersionUID = 7234119326657905710L; - - public EchoBusinessException(String message) - { - super(message); - } - -} diff --git a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/echo/EchoComponentImpl.java b/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/echo/EchoComponentImpl.java deleted file mode 100644 index 3e7b848221..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/echo/EchoComponentImpl.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package echo; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import bean.TestBean; - -/** - * A simple client component that uses a reference with an JSONRPC binding. - * - * @version $Rev$ $Date$ - */ -public class EchoComponentImpl implements Echo { - - public String echo(String msg) { - System.out.println("Echo: "+ msg); - return "echo: " + msg; - } - - public void echoBusinessException() throws EchoBusinessException { - throw new EchoBusinessException("Business Exception"); - - } - - public void echoRuntimeException() throws RuntimeException { - throw new RuntimeException("Runtime Exception"); - } - - public int echoInt(int param) { - int value = param; - return value; - } - - public boolean echoBoolean(boolean param) { - boolean value = param; - return value; - } - - public Map echoMap(HashMap param) { - Map map = new HashMap(); - map = param; - return map; - } - - public TestBean echoBean(TestBean testBean1) { - TestBean testBean = new TestBean(); - testBean.setTestString(testBean1.getTestString()); - testBean.setTestInt(testBean1.getTestInt()); - return testBean; - } - - public List echoList(ArrayList param){ - List list = new ArrayList(); - for(Iterator itr = param.iterator();itr.hasNext();) - { - list.add(itr.next()); - } - return list; - } - - public String[] echoArrayString(String[] stringArray) { - return stringArray; - } - - public int[] echoArrayInt(int[] intArray) { - return intArray; - } - - public Set echoSet(HashSet param){ - Set set = new HashSet(); - set = param; - return set; - - } -} diff --git a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCDataTypeTestCase.java b/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCDataTypeTestCase.java deleted file mode 100644 index 6d156fcdf5..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCDataTypeTestCase.java +++ /dev/null @@ -1,193 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jsonrpc; - -import java.io.ByteArrayInputStream; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.host.embedded.SCADomain; -import org.json.JSONObject; -import org.junit.After; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; - -import com.meterware.httpunit.PostMethodWebRequest; -import com.meterware.httpunit.WebConversation; -import com.meterware.httpunit.WebRequest; -import com.meterware.httpunit.WebResponse; - -/** - * @version $Rev$ $Date$ - */ -public class JSONRPCDataTypeTestCase { - - private static final String SERVICE_PATH = "/EchoService"; - private static final String SERVICE_URL = "http://localhost:8085/SCADomain" + SERVICE_PATH; - private SCADomain domain; - - @Before - public void setUp() throws Exception { - domain = SCADomain.newInstance("JSONRPCBinding.composite"); - } - - @After - public void tearDown() throws Exception { - domain.close(); - } - - @Test - public void testInt() throws Exception { - JSONObject jsonRequest = new JSONObject( - "{ \"method\": \"echoInt\", \"params\": [12345], \"id\": 4}"); - - WebConversation wc = new WebConversation(); - WebRequest request = new PostMethodWebRequest(SERVICE_URL, - new ByteArrayInputStream(jsonRequest.toString().getBytes("UTF-8")), "application/json"); - WebResponse response = wc.getResource(request); - - Assert.assertEquals(200, response.getResponseCode()); - - JSONObject jsonResp = new JSONObject(response.getText()); - - Assert.assertEquals(12345, jsonResp.getInt("result")); - } - - @Test - public void testBoolean() throws Exception { - JSONObject jsonRequest = new JSONObject( - "{ \"method\": \"echoBoolean\", \"params\": [true], \"id\": 5}"); - - WebConversation wc = new WebConversation(); - WebRequest request = new PostMethodWebRequest(SERVICE_URL, - new ByteArrayInputStream(jsonRequest.toString().getBytes("UTF-8")), "application/json"); - WebResponse response = wc.getResource(request); - - Assert.assertEquals(200, response.getResponseCode()); - - JSONObject jsonResp = new JSONObject(response.getText()); - - Assert.assertEquals(true, jsonResp.getBoolean("result")); - } - - @Test - public void testMap() throws Exception { - JSONObject jsonRequest = new JSONObject( - "{ \"method\": \"echoMap\", \"params\": [ {\"javaClass\": \"java.util.HashMap\", \"map\": { \"Binding\": \"JSON-RPC\"}}], \"id\": 6}"); - - WebConversation wc = new WebConversation(); - WebRequest request = new PostMethodWebRequest(SERVICE_URL, - new ByteArrayInputStream(jsonRequest.toString().getBytes("UTF-8")), "application/json"); - WebResponse response = wc.getResource(request); - - Assert.assertEquals(200, response.getResponseCode()); - - JSONObject jsonResp = new JSONObject(response.getText()); - - Assert.assertEquals("JSON-RPC", jsonResp.getJSONObject("result").getJSONObject("map").getString("Binding")); - } - - @Test - public void testBean() throws Exception { - JSONObject jsonRequest = new JSONObject( - "{ \"method\": \"echoBean\", \"params\": [ {\"javaClass\": \"bean.TestBean\", \"testString\": \"JSON-RPC\", \"testInt\":1234}], \"id\": 7}"); - - WebConversation wc = new WebConversation(); - WebRequest request = new PostMethodWebRequest(SERVICE_URL, - new ByteArrayInputStream(jsonRequest.toString().getBytes("UTF-8")), "application/json"); - WebResponse response = wc.getResource(request); - - Assert.assertEquals(200, response.getResponseCode()); - - JSONObject jsonResp = new JSONObject(response.getText()); - - Assert.assertEquals("JSON-RPC", jsonResp.getJSONObject("result").getString("testString")); - } - - @Test - public void testList() throws Exception { - JSONObject jsonRequest = new JSONObject( - "{ \"method\": \"echoList\", \"params\": [ {\"javaClass\": \"java.util.ArrayList\", \"list\": [0,1,2,3,4]}], \"id\": 8}"); - - WebConversation wc = new WebConversation(); - WebRequest request = new PostMethodWebRequest(SERVICE_URL, - new ByteArrayInputStream(jsonRequest.toString().getBytes("UTF-8")), "application/json"); - WebResponse response = wc.getResource(request); - - Assert.assertEquals(200, response.getResponseCode()); - - JSONObject jsonResp = new JSONObject(response.getText()); - - Assert.assertEquals(0, jsonResp.getJSONObject("result").getJSONArray("list").get(0)); - } - - @Test - public void testArrayString() throws Exception { - JSONObject jsonRequest = new JSONObject( - "{\"params\":[[\"1\",\"2\"]],\"method\":\"echoArrayString\",\"id\":9}"); - - WebConversation wc = new WebConversation(); - WebRequest request = new PostMethodWebRequest(SERVICE_URL, - new ByteArrayInputStream(jsonRequest.toString().getBytes("UTF-8")), "application/json"); - WebResponse response = wc.getResource(request); - - Assert.assertEquals(200, response.getResponseCode()); - - JSONObject jsonResp = new JSONObject(response.getText()); - - Assert.assertEquals(1, jsonResp.getJSONArray("result").getInt(0)); - } - - - @Test - public void testArrayInt() throws Exception { - JSONObject jsonRequest = new JSONObject( - "{\"params\":[[1,2]],\"method\":\"echoArrayInt\",\"id\":10}"); - - WebConversation wc = new WebConversation(); - WebRequest request = new PostMethodWebRequest(SERVICE_URL, - new ByteArrayInputStream(jsonRequest.toString().getBytes("UTF-8")), "application/json"); - WebResponse response = wc.getResource(request); - - Assert.assertEquals(200, response.getResponseCode()); - - JSONObject jsonResp = new JSONObject(response.getText()); - - Assert.assertEquals(1, jsonResp.getJSONArray("result").getInt(0)); - } - - - @Test - public void testSet() throws Exception { - JSONObject jsonRequest = new JSONObject( - "{ \"method\": \"echoSet\", \"params\": [ {\"javaClass\": \"java.util.HashSet\", \"set\": {\"1\": \"red\", \"2\": \"blue\"}}],\"id\": 11}"); - - WebConversation wc = new WebConversation(); - WebRequest request = new PostMethodWebRequest(SERVICE_URL, - new ByteArrayInputStream(jsonRequest.toString().getBytes("UTF-8")), "application/json"); - WebResponse response = wc.getResource(request); - - Assert.assertEquals(200, response.getResponseCode()); - - JSONObject jsonResp = new JSONObject(response.getText()); - - Assert.assertEquals("red", jsonResp.getJSONObject("result").getJSONObject("set").getString("red")); - } -} \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCExceptionTestCase.java b/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCExceptionTestCase.java deleted file mode 100644 index 52518e1bbc..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCExceptionTestCase.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.jsonrpc; - -import java.io.ByteArrayInputStream; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.host.embedded.SCADomain; -import org.json.JSONObject; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import com.meterware.httpunit.PostMethodWebRequest; -import com.meterware.httpunit.WebConversation; -import com.meterware.httpunit.WebRequest; -import com.meterware.httpunit.WebResponse; - -/** - * @version $Rev$ $Date$ - */ -public class JSONRPCExceptionTestCase{ - - private static final String SERVICE_PATH = "/EchoService"; - - private static final String SERVICE_URL = "http://localhost:8085/SCADomain" + SERVICE_PATH; - - private SCADomain domain; - - @Before - public void setUp() throws Exception { - domain = SCADomain.newInstance("JSONRPCBinding.composite"); - } - - @After - public void tearDown() throws Exception { - domain.close(); - } - - @Test - public void testRuntimeException() throws Exception{ - JSONObject jsonRequest = new JSONObject("{ \"method\": \"echoRuntimeException\", \"params\": [], \"id\": 2}"); - - WebConversation wc = new WebConversation(); - WebRequest request = new PostMethodWebRequest( SERVICE_URL, new ByteArrayInputStream(jsonRequest.toString().getBytes("UTF-8")),"application/json"); - WebResponse response = wc.getResource(request); - - Assert.assertEquals(200, response.getResponseCode()); - - JSONObject jsonErr = new JSONObject(response.getText()).getJSONObject("error"); - - Assert.assertEquals("Runtime Exception", jsonErr.getString("msg")); - } - - @Test - public void testBusinessException() throws Exception{ - JSONObject jsonRequest = new JSONObject("{ \"method\": \"echoBusinessException\", \"params\": [], \"id\": 3}"); - - WebConversation wc = new WebConversation(); - WebRequest request = new PostMethodWebRequest( SERVICE_URL, new ByteArrayInputStream(jsonRequest.toString().getBytes("UTF-8")),"application/json"); - WebResponse response = wc.getResource(request); - - Assert.assertEquals(200, response.getResponseCode()); - - JSONObject jsonErr = new JSONObject(response.getText()).getJSONObject("error"); - - Assert.assertEquals("Business Exception", jsonErr.getString("msg")); - } -} \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCServiceTestCase.java b/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCServiceTestCase.java deleted file mode 100644 index 67d3eda6b2..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCServiceTestCase.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.jsonrpc; - -import java.io.ByteArrayInputStream; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.host.embedded.SCADomain; -import org.json.JSONObject; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import com.meterware.httpunit.PostMethodWebRequest; -import com.meterware.httpunit.WebConversation; -import com.meterware.httpunit.WebRequest; -import com.meterware.httpunit.WebResponse; - -/** - * @version $Rev$ $Date$ - */ -public class JSONRPCServiceTestCase{ - - private static final String SERVICE_PATH = "/EchoService"; - - private static final String SERVICE_URL = "http://localhost:8085/SCADomain" + SERVICE_PATH; - - private SCADomain domain; - - @Before - public void setUp() throws Exception { - domain = SCADomain.newInstance("JSONRPCBinding.composite"); - } - - @After - public void tearDown() throws Exception { - domain.close(); - } - - @Test - public void testJSONRPCBinding() throws Exception { - JSONObject jsonRequest = new JSONObject("{ \"method\": \"echo\", \"params\": [\"Hello JSON-RPC\"], \"id\": 1}"); - - WebConversation wc = new WebConversation(); - WebRequest request = new PostMethodWebRequest( SERVICE_URL, new ByteArrayInputStream(jsonRequest.toString().getBytes("UTF-8")),"application/json"); - WebResponse response = wc.getResource(request); - - Assert.assertEquals(200, response.getResponseCode()); - - JSONObject jsonResp = new JSONObject(response.getText()); - Assert.assertEquals("echo: Hello JSON-RPC", jsonResp.getString("result")); - } -} \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/resources/JSONRPCBinding.composite b/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/resources/JSONRPCBinding.composite deleted file mode 100644 index 978fdcfa7f..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc-runtime/src/test/resources/JSONRPCBinding.composite +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-jsonrpc/LICENSE b/java/sca/contrib/modules/binding-jsonrpc/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc/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/java/sca/contrib/modules/binding-jsonrpc/NOTICE b/java/sca/contrib/modules/binding-jsonrpc/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-jsonrpc/pom.xml b/java/sca/contrib/modules/binding-jsonrpc/pom.xml deleted file mode 100644 index fd7c1e594b..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc/pom.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-jsonrpc - Apache Tuscany SCA JSON-RPC Binding Model - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-policy - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-java - 2.0-SNAPSHOT - - - - junit - junit - 4.5 - test - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.jsonrpc - ${pom.name} - org.apache.tuscany.sca.binding.jsonrpc* - org.apache.tuscany.sca.assembly.xml,* - - - - - - - diff --git a/java/sca/contrib/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCBinding.java b/java/sca/contrib/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCBinding.java deleted file mode 100644 index ce86365980..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCBinding.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.binding.jsonrpc; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; - -/** - * A model for the JSONRPC binding. - * - * @version $Rev$ $Date$ - */ -public interface JSONRPCBinding extends Binding, PolicySetAttachPoint { - -} diff --git a/java/sca/contrib/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCBindingFactory.java b/java/sca/contrib/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCBindingFactory.java deleted file mode 100644 index 707a9d7103..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/JSONRPCBindingFactory.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.jsonrpc; - - -/** - * Factory for the JSON RPC binding model. - * - * @version $Rev$ $Date$ -*/ -public interface JSONRPCBindingFactory { - - /** - * Creates a new JSON RPC Binding - * @return a new JSON RPC Binding - */ - JSONRPCBinding createJSONRPCBinding(); -} diff --git a/java/sca/contrib/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/impl/JSONRPCBindingFactoryImpl.java b/java/sca/contrib/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/impl/JSONRPCBindingFactoryImpl.java deleted file mode 100644 index 625457a668..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/impl/JSONRPCBindingFactoryImpl.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.binding.jsonrpc.impl; - -import org.apache.tuscany.sca.binding.jsonrpc.JSONRPCBinding; -import org.apache.tuscany.sca.binding.jsonrpc.JSONRPCBindingFactory; - - -/** - * Factory for the JSON RPC binding model. - * - * @version $Rev$ $Date$ -*/ -public class JSONRPCBindingFactoryImpl implements JSONRPCBindingFactory { - - public JSONRPCBinding createJSONRPCBinding() { - return new JSONRPCBindingImpl(); - } - - -} diff --git a/java/sca/contrib/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/impl/JSONRPCBindingImpl.java b/java/sca/contrib/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/impl/JSONRPCBindingImpl.java deleted file mode 100644 index 1ee3631a98..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc/src/main/java/org/apache/tuscany/sca/binding/jsonrpc/impl/JSONRPCBindingImpl.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jsonrpc.impl; - -import java.util.ArrayList; -import java.util.List; - -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.binding.jsonrpc.JSONRPCBinding; - -/** - * A model for the JSONRPC binding. - * - * @version $Rev$ $Date$ - */ -public class JSONRPCBindingImpl implements JSONRPCBinding { - private String name; - private String uri; - - - private List requiredIntents = new ArrayList(); - private List policySets = new ArrayList(); - private IntentAttachPointType intentAttachPointType; - private List applicablePolicySets = new ArrayList(); - - public String getName() { - return name; - } - - public String getURI() { - return uri; - } - - public void setURI(String uri) { - this.uri = uri; - } - - public void setName(String name) { - this.name = name; - } - - public boolean isUnresolved() { - // The binding is always resolved - return false; - } - - public void setUnresolved(boolean unresolved) { - // The binding is always resolved - } - - //Policy related getters/setters - - public List getPolicySets() { - return policySets; - } - - public List getRequiredIntents() { - return requiredIntents; - } - - public IntentAttachPointType getType() { - return intentAttachPointType; - } - - public void setType(IntentAttachPointType intentAttachPointType) { - this.intentAttachPointType = intentAttachPointType; - } - - public void setPolicySets(List policySets) { - this.policySets = policySets; - } - - public void setRequiredIntents(List intents) { - this.requiredIntents = intents; - } - - public List getApplicablePolicySets() { - return applicablePolicySets; - } - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } -} diff --git a/java/sca/contrib/modules/binding-jsonrpc/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.jsonrpc.JSONRPCBindingFactory b/java/sca/contrib/modules/binding-jsonrpc/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.jsonrpc.JSONRPCBindingFactory deleted file mode 100644 index 8b9662997d..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.jsonrpc.JSONRPCBindingFactory +++ /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.binding.jsonrpc.impl.JSONRPCBindingFactoryImpl diff --git a/java/sca/contrib/modules/binding-jsonrpc/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/binding-jsonrpc/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index 0f39251068..0000000000 --- a/java/sca/contrib/modules/binding-jsonrpc/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.assembly.xml.DefaultBeanModelProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#binding.jsonrpc,model=org.apache.tuscany.sca.binding.jsonrpc.JSONRPCBinding,factory=org.apache.tuscany.sca.binding.jsonrpc.JSONRPCBindingFactory diff --git a/java/sca/contrib/modules/binding-notification/LICENSE b/java/sca/contrib/modules/binding-notification/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/NOTICE b/java/sca/contrib/modules/binding-notification/NOTICE deleted file mode 100644 index 51042eab05..0000000000 --- a/java/sca/contrib/modules/binding-notification/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-notification/pom.xml b/java/sca/contrib/modules/binding-notification/pom.xml deleted file mode 100644 index 3ca7fae9ab..0000000000 --- a/java/sca/contrib/modules/binding-notification/pom.xml +++ /dev/null @@ -1,150 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-notification - Apache Tuscany SCA Notification Binding Extension - - - - org.apache.tuscany.sca - tuscany-sca-api - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-core - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-assembly-xml - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-host-http - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-implementation-notification - 2.0-SNAPSHOT - - - org.codehaus.woodstox - wstx-asl - 3.2.4 - runtime - - - stax - stax-api - - - - - javax.servlet - servlet-api - 2.5 - provided - - - org.apache.tuscany.sca - tuscany-databinding-axiom - 2.0-SNAPSHOT - runtime - - - org.apache.ws.commons.axiom - axiom-api - - - xerces - xercesImpl - - - 1.2.7 - - - - xerces - xercesImpl - 2.8.1 - runtime - - - - org.apache.tuscany.sca - tuscany-host-jetty - 2.0-SNAPSHOT - test - - - junit - junit - 4.5 - test - - - org.easymock - easymock - 2.2 - test - - - org.apache.ws.commons.axiom - axiom-impl - 1.2.7 - test - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.notification - ${pom.name} - org.apache.tuscany.sca.binding.notification* - - - - - - - diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/DefaultNotificationBindingFactory.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/DefaultNotificationBindingFactory.java deleted file mode 100644 index 8e6a78551a..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBinding.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBinding.java deleted file mode 100644 index 940a69784b..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingFactory.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingFactory.java deleted file mode 100644 index 31a8b26c02..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingImpl.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingImpl.java deleted file mode 100644 index f4c210ba7c..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingModuleActivator.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingModuleActivator.java deleted file mode 100644 index 7fdeee189b..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProcessor.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProcessor.java deleted file mode 100644 index 892700779f..0000000000 --- a/java/sca/contrib/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 { - - 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 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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProviderFactory.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBindingProviderFactory.java deleted file mode 100644 index e5ea616fdb..0000000000 --- a/java/sca/contrib/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, - NotificationBrokerManager { - private static final String DEFAULT_PORT = "8083"; - - private ServletHost servletHost; - private NotificationTypeManagerImpl notificationTypeManager; - private EncodingRegistry encodingRegistry; - private String httpUrl; - private Map referenceBindingProviders; - private Map serviceBindingProviders; - - private static NotificationBindingProviderFactory factoryInstance = null; - - public NotificationBindingProviderFactory(ServletHost servletHost, EncodingRegistry encodingRegistry) { - this.servletHost = servletHost; - this.encodingRegistry = encodingRegistry; - this.referenceBindingProviders = new HashMap(); - this.serviceBindingProviders = new HashMap(); - - factoryInstance = this; - } - - public Class 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 consumerList = new ArrayList(); - List producerList = new ArrayList(); - 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() { - 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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBrokerManager.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationBrokerManager.java deleted file mode 100644 index 8a6d57e825..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingInvoker.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingInvoker.java deleted file mode 100644 index 8980fa26ff..0000000000 --- a/java/sca/contrib/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 headers = new HashMap(); - 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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingProvider.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationReferenceBindingProvider.java deleted file mode 100644 index c1a8162836..0000000000 --- a/java/sca/contrib/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 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(); - 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 consumerList = new ArrayList(); - 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 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 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 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(); - } - 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 getNeighborBrokerConsumerEprs() { - synchronized(this) { - if (subscribers == null) { - throw new RuntimeException("No subscribers"); - } - List neighborBrokerConsumerEprs = new ArrayList(); - 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 sisToRemove = new ArrayList(); - 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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationServiceBindingProvider.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationServiceBindingProvider.java deleted file mode 100644 index 4511fb454b..0000000000 --- a/java/sca/contrib/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 producerList = new ArrayList(); - 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 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 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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManager.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManager.java deleted file mode 100644 index 101d05f9cb..0000000000 --- a/java/sca/contrib/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 producerList); - String newProducer(URI notificationType, URL producerUrl, URL remoteNtmUrl, List consumerList); - boolean newBroker(URI notificationType, - URL consumerUrl, - URL producerUrl, - String brokerID, - URL remoteNtmUrl, - List consumerList, - List producerList); - void newBrokerAck(URL remoteNtmUrl); - void removeBroker(EndpointReference brokerConsumerEpr, List neighborBrokerConsumerEprs, URL remoteNtmUrl); -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManagerImpl.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/NotificationTypeManagerImpl.java deleted file mode 100644 index 527cfbd667..0000000000 --- a/java/sca/contrib/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 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(); - } - - public String newConsumer(URI notificationType, URL consumerUrl, URL remoteNtmUrl, List 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 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 consumerListResult, - List 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 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 consumerList; - List producerList; - List 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(); - } - consumerList.add(consumerUrl); - } - - private void addProducer(URL producerUrl) { - if (producerList == null) { - producerList = new ArrayList(); - } - producerList.add(producerUrl); - } - - private void addBroker(BrokerStruct broker) { - if (brokerList == null) { - brokerList = new ArrayList(); - } - brokerList.add(broker); - } - - public void handle(Map 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 neighborBrokers = new ArrayList(); - 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 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 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 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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBroker.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBroker.java deleted file mode 100644 index e99845d886..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBrokerEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractBrokerEnDeCoder.java deleted file mode 100644 index 76eb204f21..0000000000 --- a/java/sca/contrib/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 extends AbstractEnDeCoder { - - 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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/AbstractEnDeCoder.java deleted file mode 100644 index 536801016c..0000000000 --- a/java/sca/contrib/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 implements - EnDeCoder { - - protected EncodingRegistry registry; - - protected AbstractEnDeCoder(EncodingRegistry registry) { - - this.registry = registry; - } - - public void start() { - Class encodingType = getEncodingObjectType(); - QName encodingQName = getEncodingObjectQName(); - - registry.registerEnDeCoder(encodingType, encodingQName, this); - } - - public void stop() { - Class encodingType = getEncodingObjectType(); - QName encodingQName = getEncodingObjectQName(); - - registry.unregisterEnDeCoder(encodingType, encodingQName); - } - -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Broker.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Broker.java deleted file mode 100644 index 3b2aacef4c..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReference.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReference.java deleted file mode 100644 index 94357cd98d..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReferenceEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerConsumerReferenceEnDeCoder.java deleted file mode 100644 index 66f0a198e4..0000000000 --- a/java/sca/contrib/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 { - - // 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 getEncodingObjectType() { - return BrokerConsumerReference.class; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerEnDeCoder.java deleted file mode 100644 index e6e6b05a42..0000000000 --- a/java/sca/contrib/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 { - - // 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 getEncodingObjectType() { - - return Broker.class; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerID.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerID.java deleted file mode 100644 index 7c53d529a8..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerIDEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerIDEnDeCoder.java deleted file mode 100644 index a500a2a854..0000000000 --- a/java/sca/contrib/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 { - - // 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 getEncodingObjectType() { - - return BrokerID.class; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReference.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReference.java deleted file mode 100644 index a6a2b15a15..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReferenceEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokerProducerReferenceEnDeCoder.java deleted file mode 100644 index 209416c203..0000000000 --- a/java/sca/contrib/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 { - - // 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 getEncodingObjectType() { - return BrokerProducerReference.class; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Brokers.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Brokers.java deleted file mode 100644 index 24395ee0a6..0000000000 --- a/java/sca/contrib/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 brokerSequence; - - public List getBrokerSequence() { - return brokerSequence; - } - - public void addBrokerToSequence(Broker broker) { - if(this.brokerSequence == null) { - this.brokerSequence = new ArrayList(); - } - this.brokerSequence.add(broker); - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokersEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/BrokersEnDeCoder.java deleted file mode 100644 index 1dba2533d2..0000000000 --- a/java/sca/contrib/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 { - - - // 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 getEncodingObjectType() { - - return Brokers.class; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverride.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverride.java deleted file mode 100644 index 5783d0de02..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideEnDeCoder.java deleted file mode 100644 index bec3e6ff29..0000000000 --- a/java/sca/contrib/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 { - - // 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 getEncodingObjectType() { - - return ConnectionOverride.class; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponse.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponse.java deleted file mode 100644 index 91ba05404a..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponseEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConnectionOverrideResponseEnDeCoder.java deleted file mode 100644 index 9012aaeb25..0000000000 --- a/java/sca/contrib/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 { - - // 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 getEncodingObjectType() { - - return ConnectionOverrideResponse.class; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Constants.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Constants.java deleted file mode 100644 index ca64c15305..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReference.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReference.java deleted file mode 100644 index 1c678a2b96..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReferenceEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ConsumerReferenceEnDeCoder.java deleted file mode 100644 index 8c6f684425..0000000000 --- a/java/sca/contrib/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 { - - // 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 getEncodingObjectType() { - return ConsumerReference.class; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/DefaultEncodingRegistry.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/DefaultEncodingRegistry.java deleted file mode 100644 index 5b28aedcf9..0000000000 --- a/java/sca/contrib/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, EnDeCoder> encoderRegistry = - new ConcurrentHashMap, EnDeCoder>(); - - private final Map decoderRegistry = new ConcurrentHashMap(); - - public DefaultEncodingRegistry() { - } - - public void registerEnDeCoder(Class encodingClass, QName qname, EnDeCoder enDeCoder) { - - encoderRegistry.put(encodingClass, enDeCoder); - decoderRegistry.put(qname, enDeCoder); - } - - public void unregisterEnDeCoder(Class 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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EnDeCoder.java deleted file mode 100644 index bf6094582e..0000000000 --- a/java/sca/contrib/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 { - - /** - * 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 getEncodingObjectType(); -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingException.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingException.java deleted file mode 100644 index ee12161903..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingObject.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingObject.java deleted file mode 100644 index bf94da374c..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingRegistry.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingRegistry.java deleted file mode 100644 index 92f10cd4b3..0000000000 --- a/java/sca/contrib/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 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. - */ - void registerEnDeCoder(Class encodingClass, QName qname, EnDeCoder enDeCoder); - - void unregisterEnDeCoder(Class 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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingUtils.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingUtils.java deleted file mode 100644 index 264566aae4..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumers.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumers.java deleted file mode 100644 index 8066184da9..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumersEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndConsumersEnDeCoder.java deleted file mode 100644 index 5e3afc8195..0000000000 --- a/java/sca/contrib/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 { - - // 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 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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducers.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducers.java deleted file mode 100644 index b43ad5c214..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducersEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndProducersEnDeCoder.java deleted file mode 100644 index 3840b1caf9..0000000000 --- a/java/sca/contrib/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 { - - // 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 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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddress.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddress.java deleted file mode 100644 index f2a36d89db..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddressEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointAddressEnDeCoder.java deleted file mode 100644 index 8195c80c49..0000000000 --- a/java/sca/contrib/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 { - - // 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 getEncodingObjectType() { - - return EndpointAddress.class; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReference.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReference.java deleted file mode 100644 index beba8fdc9b..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceEnDeCoder.java deleted file mode 100644 index cfc747f59e..0000000000 --- a/java/sca/contrib/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 { - - // 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 getEncodingObjectType() { - - return EndpointReference.class; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequence.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequence.java deleted file mode 100644 index a9c901a431..0000000000 --- a/java/sca/contrib/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 referenceSequence; - private String sequenceType; - - public List getReferenceSequence() { - return referenceSequence; - } - - public void addReferenceToSequence(EndpointReference address) { - if(this.referenceSequence == null) { - this.referenceSequence = new ArrayList(); - } - this.referenceSequence.add(address); - } - - public void setReferenceSequence(List referenceSequence) { - this.referenceSequence = referenceSequence; - } - - public String getSequenceType() { - return this.sequenceType; - } - - public void setSequenceType(String sequenceType) { - this.sequenceType = sequenceType; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequenceEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceSequenceEnDeCoder.java deleted file mode 100644 index 864de25fd6..0000000000 --- a/java/sca/contrib/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 extends AbstractEnDeCoder { - - 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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapper.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapper.java deleted file mode 100644 index b3f2c060fb..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapperEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/EndpointReferenceWrapperEnDeCoder.java deleted file mode 100644 index 979a6e8e34..0000000000 --- a/java/sca/contrib/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 extends AbstractEnDeCoder { - - 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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumers.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumers.java deleted file mode 100644 index 902fd823cd..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumersEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborBrokerConsumersEnDeCoder.java deleted file mode 100644 index ad149e3e4f..0000000000 --- a/java/sca/contrib/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 { - - // 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 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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Neighbors.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Neighbors.java deleted file mode 100644 index 42f9e74a27..0000000000 --- a/java/sca/contrib/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 brokerSequence; - - public List getBrokerSequence() { - return brokerSequence; - } - - public void addBrokerToSequence(Broker broker) { - if(this.brokerSequence == null) { - this.brokerSequence = new ArrayList(); - } - this.brokerSequence.add(broker); - } - - public void setBrokerSequence(List brokerSequence) { - this.brokerSequence = brokerSequence; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborsEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NeighborsEnDeCoder.java deleted file mode 100644 index fa05e2d7bd..0000000000 --- a/java/sca/contrib/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 { - - - // 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 getEncodingObjectType() { - - return Neighbors.class; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBroker.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBroker.java deleted file mode 100644 index 92578af219..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAck.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAck.java deleted file mode 100644 index 48c34ba74f..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAckEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerAckEnDeCoder.java deleted file mode 100644 index c9a3f1da79..0000000000 --- a/java/sca/contrib/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 { - - // 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 getEncodingObjectType() { - - return NewBrokerAck.class; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerEnDeCoder.java deleted file mode 100644 index 6e57ad41de..0000000000 --- a/java/sca/contrib/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 { - - // 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 getEncodingObjectType() { - - return NewBroker.class; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponse.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponse.java deleted file mode 100644 index 6f34fc0b7c..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponseEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewBrokerResponseEnDeCoder.java deleted file mode 100644 index 2ad969e1a6..0000000000 --- a/java/sca/contrib/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 { - - // 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 getEncodingObjectType() { - - return NewBrokerResponse.class; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumer.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumer.java deleted file mode 100644 index a47e1f4e55..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerEnDeCoder.java deleted file mode 100644 index 8eac326019..0000000000 --- a/java/sca/contrib/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 { - - // 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 getEncodingObjectType() { - return NewConsumer.class; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponse.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponse.java deleted file mode 100644 index 60fb23be02..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponseEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewConsumerResponseEnDeCoder.java deleted file mode 100644 index fbcd041621..0000000000 --- a/java/sca/contrib/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 { - - // 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 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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducer.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducer.java deleted file mode 100644 index aa9180dcd7..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerEnDeCoder.java deleted file mode 100644 index 38cf9e9467..0000000000 --- a/java/sca/contrib/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 { - - // 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 getEncodingObjectType() { - return NewProducer.class; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponse.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponse.java deleted file mode 100644 index 49a4259333..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponseEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/NewProducerResponseEnDeCoder.java deleted file mode 100644 index 74d10fe02d..0000000000 --- a/java/sca/contrib/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 { - - // 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 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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferenceProperties.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferenceProperties.java deleted file mode 100644 index 2ee9320f20..0000000000 --- a/java/sca/contrib/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 properties; - - public List getProperties() { - return properties; - } - - public void addProperty(EncodingObject property) { - if(this.properties == null) { - this.properties = new ArrayList(); - } - this.properties.add(property); - } - - @SuppressWarnings("unchecked") - public E getProperty(Class propertyType) { - if (this.properties == null) { - return null; - } - for (EncodingObject eo : properties) { - if (propertyType.isInstance(eo)) { - return (E)eo; - } - } - return null; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferencePropertiesEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReferencePropertiesEnDeCoder.java deleted file mode 100644 index 9d06dfea97..0000000000 --- a/java/sca/contrib/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 { - - // 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 getEncodingObjectType() { - - return ReferenceProperties.class; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBroker.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBroker.java deleted file mode 100644 index 39050d158c..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBrokerEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemoveBrokerEnDeCoder.java deleted file mode 100644 index 97834ea0a9..0000000000 --- a/java/sca/contrib/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 { - - // 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 getEncodingObjectType() { - - return RemoveBroker.class; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBroker.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBroker.java deleted file mode 100644 index 047c5e9a58..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBrokerEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/RemovedBrokerEnDeCoder.java deleted file mode 100644 index 25f92c38c2..0000000000 --- a/java/sca/contrib/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 { - - // 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 getEncodingObjectType() { - return RemovedBroker.class; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnection.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnection.java deleted file mode 100644 index 8145c6b170..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnectionEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/ReplaceBrokerConnectionEnDeCoder.java deleted file mode 100644 index 000f6690c7..0000000000 --- a/java/sca/contrib/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 { - - // 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 getEncodingObjectType() { - - return ReplaceBrokerConnection.class; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Subscribe.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/Subscribe.java deleted file mode 100644 index aca5c70641..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/SubscribeEnDeCoder.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/encoding/SubscribeEnDeCoder.java deleted file mode 100644 index 04ee132b3e..0000000000 --- a/java/sca/contrib/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 { - - // 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 getEncodingObjectType() { - - return Subscribe.class; - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/IOUtils.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/IOUtils.java deleted file mode 100644 index daac727cb6..0000000000 --- a/java/sca/contrib/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 headers = new HashMap(); - headers.put(Notification_Operation, opName); - return sendHttpRequest(targetURL, headers, wbody, rcont); - } - - public static Object sendHttpRequest(URL targetURL, - Map 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/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/NotificationServlet.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/NotificationServlet.java deleted file mode 100644 index f780514eda..0000000000 --- a/java/sca/contrib/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 headers = new HashMap(); - 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 headers, byte[] payload); - } - - public interface NotificationServletStreamHandler { - void handle(Map headers, ServletInputStream istream, int contentLength, ServletOutputStream ostream); - } -} diff --git a/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/URIUtil.java b/java/sca/contrib/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/URIUtil.java deleted file mode 100644 index 42ccd5cdac..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator b/java/sca/contrib/modules/binding-notification/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator deleted file mode 100644 index 5e5ce97054..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/AxiomTestCase.java b/java/sca/contrib/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/AxiomTestCase.java deleted file mode 100644 index 3d328339a7..0000000000 --- a/java/sca/contrib/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 = - "" + - "" + testUrl1 + "" + - "" + testUrl2 + "" + - ""; - - 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/java/sca/contrib/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingTestCase.java b/java/sca/contrib/modules/binding-notification/src/test/java/org/apache/tuscany/sca/binding/notification/encoding/EncodingTestCase.java deleted file mode 100644 index 3dcd2b9b00..0000000000 --- a/java/sca/contrib/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 = - "" + - "" + - "" + - "" + testUrl + "" + - "" + - "" + - ""; - private static String testNewConsumerResponse = - "" + - "" + - "" + testUrl + "" + - "" + - ""; - private static String testNewProducerResponse = - "" + - "" + - "" + testUrl1 + "" + - "" + - "" + - "" + testUrl2 + "" + - "" + - ""; - private static String testNoProducersResponse = - ""; - private static String testNewBroker = - "" + - "" + - "" + - "" + testUrl1 + "" + - "" + - "" + bid1 + "" + - "" + - "" + - "" + - "" + - "" + - "" + testUrl2 + "" + - "" + - "" + bid2 + "" + - "" + - "" + - "" + - ""; - private static String testNewBrokerResponse1 = - "" + - "" + - "" + - "" + testUrl1 + "" + - "" + - "" + - "" + testUrl2 + "" + - "" + - "" + - "" + - ""; - private static String testNewBrokerResponse2 = - "" + - "" + - "" + - "" + - "" + - "" + testUrl1 + "" + - "" + - "" + bid1 + "" + - "" + - "" + - "" + - "" + - "" + - "" + testUrl2 + "" + - "" + - "" + bid2 + "" + - "" + - "" + - "" + - "" + - "" + - ""; - private static String testRemoveBroker = - "" + - "" + - "" + - "" + testUrl + "" + - "" + - "" + bid1 + "" + - "" + - "" + - "" + - "" + - "" + - "" + testUrl1 + "" + - "" + - "" + - "" + testUrl2 + "" + - "" + - "" + - ""; - private static String testReplaceBrokerConnection = - "" + - "" + - "" + - "" + testUrl + "" + - "" + - "" + bid1 + "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + testUrl1 + "" + - "" + - "" + bid1 + "" + - "" + - "" + - "" + - "" + - "" + - "" + testUrl2 + "" + - "" + - "" + bid2 + "" + - "" + - "" + - "" + - "" + - "" + - ""; - - 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 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 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/java/sca/contrib/modules/binding-rmi-runtime/LICENSE b/java/sca/contrib/modules/binding-rmi-runtime/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/binding-rmi-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/java/sca/contrib/modules/binding-rmi-runtime/NOTICE b/java/sca/contrib/modules/binding-rmi-runtime/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/binding-rmi-runtime/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-rmi-runtime/pom.xml b/java/sca/contrib/modules/binding-rmi-runtime/pom.xml deleted file mode 100644 index c75df5b34a..0000000000 --- a/java/sca/contrib/modules/binding-rmi-runtime/pom.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-binding-rmi-runtime - Apache Tuscany SCA RMI Binding Extension - - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-rmi - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-rmi - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-java - 2.0-SNAPSHOT - - - - cglib - cglib-nodep - 2.1_3 - - - - org.apache.tuscany.sca - tuscany-node-impl - 2.0-SNAPSHOT - test - - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - test - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.rmi - ${pom.name} - org.apache.tuscany.sca.binding.rmi* - * - - - - - - - diff --git a/java/sca/contrib/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIBindingProviderFactory.java b/java/sca/contrib/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIBindingProviderFactory.java deleted file mode 100644 index 746aa4dac1..0000000000 --- a/java/sca/contrib/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIBindingProviderFactory.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.rmi.provider; - -import org.apache.tuscany.sca.binding.rmi.RMIBinding; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.host.rmi.ExtensibleRMIHost; -import org.apache.tuscany.sca.host.rmi.RMIHost; -import org.apache.tuscany.sca.host.rmi.RMIHostExtensionPoint; -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; - -/** - * - */ -public class RMIBindingProviderFactory implements BindingProviderFactory { - private RMIHost rmiHost; - - public RMIBindingProviderFactory(ExtensionPointRegistry registry) { - super(); - RMIHostExtensionPoint hosts = registry.getExtensionPoint(RMIHostExtensionPoint.class); - rmiHost = new ExtensibleRMIHost(hosts); - } - - public Class getModelType() { - return RMIBinding.class; - } - - public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - RMIBinding binding) { - return new RMIReferenceBindingProvider(component, reference, binding, rmiHost); - } - - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - RMIBinding binding) { - return new RMIServiceBindingProvider(component, service, binding, rmiHost); - } - -} diff --git a/java/sca/contrib/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIReferenceBindingProvider.java b/java/sca/contrib/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIReferenceBindingProvider.java deleted file mode 100644 index 1250dae9b3..0000000000 --- a/java/sca/contrib/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIReferenceBindingProvider.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.rmi.provider; - -import java.lang.reflect.Method; - -import org.apache.tuscany.sca.binding.rmi.RMIBinding; -import org.apache.tuscany.sca.host.rmi.RMIHost; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -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.invocation.Invoker; -import org.apache.tuscany.sca.provider.ReferenceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * InvokerFactory that creates RMIReferenceInvoker instances for the - * RMIBinding. - * - * @version $Rev$ $Date$ - */ -public class RMIReferenceBindingProvider implements ReferenceBindingProvider { - private RuntimeComponentReference reference; - private RMIHost rmiHost; - private RMIBinding binding; - - public RMIReferenceBindingProvider(RuntimeComponent rc, RuntimeComponentReference rcr, RMIBinding binding, RMIHost rmiHost) { - this.reference = rcr; - this.rmiHost = rmiHost; - this.binding = binding; - } - - public Invoker createInvoker(Operation operation) { - try { - - Class iface = ((JavaInterface)reference.getInterfaceContract().getInterface()).getJavaClass(); - Method remoteMethod = JavaInterfaceUtil.findMethod(iface, operation); - - return new RMIReferenceInvoker(rmiHost, binding.getHost(), binding.getPort(), binding.getServiceName(), remoteMethod); - - } catch (NoSuchMethodException e) { - throw new ServiceRuntimeException(operation.toString(), e); - } - } - - public InterfaceContract getBindingInterfaceContract() { - return reference.getInterfaceContract(); - } - - public void start() { - } - - public void stop() { - } - - public boolean supportsOneWayInvocation() { - return false; - } - -} diff --git a/java/sca/contrib/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIReferenceInvoker.java b/java/sca/contrib/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIReferenceInvoker.java deleted file mode 100644 index d300cb7d05..0000000000 --- a/java/sca/contrib/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIReferenceInvoker.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.binding.rmi.provider; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.rmi.Remote; - -import org.apache.tuscany.sca.host.rmi.RMIHost; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.invocation.DataExchangeSemantics; - -/** - * Invoker for RMI References. - * - * @version $Rev$ $Date$ - */ -public class RMIReferenceInvoker implements Invoker, DataExchangeSemantics { - - private RMIHost rmiHost; - private String host; - private String port; - private String svcName; - private Method remoteMethod; - private Remote proxy; - - public RMIReferenceInvoker(RMIHost rmiHost, String host, String port, String svcName, Method remoteMethod) { - this.rmiHost = rmiHost; - this.remoteMethod = remoteMethod; - this.host = host; - this.port = port; - this.svcName = svcName; - } - - public Message invoke(Message msg) { - try { - - Object[] args = msg.getBody(); - Object resp = invokeTarget(args); - msg.setBody(resp); - - } catch (InvocationTargetException e) { - msg.setFaultBody(e.getCause()); - } catch (Throwable e) { - msg.setFaultBody(e); - } - - return msg; - } - - public Object invokeTarget(final Object payload) throws InvocationTargetException, SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException { - if (proxy == null) { - proxy = rmiHost.findService(host, port, svcName); - // proxy = Naming.lookup(serviceURI); - } - - remoteMethod = proxy.getClass().getMethod(remoteMethod.getName(), remoteMethod.getParameterTypes()); - - if (payload != null && !payload.getClass().isArray()) { - return remoteMethod.invoke(proxy, payload); - } else { - return remoteMethod.invoke(proxy, (Object[])payload); - } - } - - public boolean allowsPassByReference() { - // RMI always pass by value - return true; - } - -} diff --git a/java/sca/contrib/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIServiceBindingProvider.java b/java/sca/contrib/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIServiceBindingProvider.java deleted file mode 100644 index 45ac171ba4..0000000000 --- a/java/sca/contrib/modules/binding-rmi-runtime/src/main/java/org/apache/tuscany/sca/binding/rmi/provider/RMIServiceBindingProvider.java +++ /dev/null @@ -1,213 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.rmi.provider; - -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.rmi.Remote; -import java.rmi.server.UnicastRemoteObject; -import java.security.AccessController; -import java.security.PrivilegedExceptionAction; - -import net.sf.cglib.asm.ClassWriter; -import net.sf.cglib.asm.Constants; -import net.sf.cglib.asm.Type; -import net.sf.cglib.proxy.Enhancer; -import net.sf.cglib.proxy.MethodInterceptor; -import net.sf.cglib.proxy.MethodProxy; - -import org.apache.tuscany.sca.binding.rmi.RMIBinding; -import org.apache.tuscany.sca.host.rmi.RMIHost; -import org.apache.tuscany.sca.host.rmi.RMIHostException; -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.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.interfacedef.java.impl.JavaInterfaceUtil; -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; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * Implementation of a Service for the RMIBinding. - * - * @version $Rev$ $Date$ - */ -public class RMIServiceBindingProvider implements ServiceBindingProvider { - - private RuntimeComponent component; - private RuntimeComponentService service; - private RMIBinding binding; - private RMIHost rmiHost; - private RuntimeWire wire; - - public RMIServiceBindingProvider(RuntimeComponent rc, RuntimeComponentService rcs, RMIBinding binding, RMIHost rmiHost) { - this.component = rc; - this.service = rcs; - this.binding = binding; - this.rmiHost = rmiHost; - } - - public void start() { - // URI uri = URI.create(component.getURI() + "/" + binding.getName()); - // binding.setURI(uri.toString()); - - wire = service.getRuntimeWire(binding); - Interface serviceInterface = service.getInterfaceContract().getInterface(); - - Remote rmiProxy = createRmiService(serviceInterface); - - try { - - rmiHost.registerService(binding.getServiceName(), getPort(binding.getPort()), rmiProxy); - - } catch (RMIHostException e) { - throw new ServiceRuntimeException(e); - } - } - - public void stop() { - rmiHost.unregisterService(binding.getServiceName(), getPort(binding.getPort())); - } - - protected int getPort(String port) { - int portNumber = RMIHost.RMI_DEFAULT_PORT; - if (port != null && port.length() > 0) { - portNumber = Integer.decode(port); - if (portNumber == -1) { - portNumber = RMIHost.RMI_DEFAULT_PORT; - } - } - return portNumber; - } - - protected Remote createRmiService(final Interface serviceInterface) { - Enhancer enhancer = new Enhancer(); - enhancer.setSuperclass(UnicastRemoteObject.class); - enhancer.setCallback(new MethodInterceptor() { - public Object intercept(Object arg0, Method method, Object[] args, MethodProxy arg3) throws Throwable { - try { - return invokeTarget(JavaInterfaceUtil.findOperation(method, serviceInterface.getOperations()), args); - } catch (InvocationTargetException e) { - final Throwable cause = e.getCause(); - for (Class declaredType : method.getExceptionTypes()) { - if (declaredType.isInstance(cause)) { - throw e; - } - } - - if (cause.getCause() != null) { - // TUSCANY-2545: don't inlcude nested cause object - AccessController.doPrivileged(new PrivilegedExceptionAction() { - public Object run() throws Exception { - Field field = Throwable.class.getDeclaredField("cause"); - field.setAccessible(true); - field.set(cause, null); - field.setAccessible(false); - return null; - } - }); - } - - throw cause; - } - } - }); - Class targetJavaInterface = getTargetJavaClass(serviceInterface); - if (!Remote.class.isAssignableFrom(targetJavaInterface)) { - RMIServiceClassLoader classloader = new RMIServiceClassLoader(targetJavaInterface.getClassLoader()); - final byte[] byteCode = generateRemoteInterface(targetJavaInterface); - targetJavaInterface = classloader.defineClass(targetJavaInterface.getName(), byteCode); - enhancer.setClassLoader(classloader); - } - enhancer.setInterfaces(new Class[] {targetJavaInterface}); - return (Remote)enhancer.create(); - } - - protected Object invokeTarget(Operation op, Object[] args) throws InvocationTargetException { - return wire.invoke(op, args); - } - - /** - * if the interface of the component whose serviceBindings must be exposed as RMI Service, does not - * implement java.rmi.Remote, then generate such an interface. This method will stop with just - * generating the bytecode. Defining the class from the byte code must be the responsibility of the - * caller of this method, since it requires a ClassLoader to be created to define and load this interface. - */ - protected byte[] generateRemoteInterface(Class serviceInterface) { - String interfazeName = serviceInterface.getName(); - ClassWriter cw = new ClassWriter(false); - - String simpleName = serviceInterface.getSimpleName(); - cw.visit(Constants.V1_5, Constants.ACC_PUBLIC + Constants.ACC_ABSTRACT + Constants.ACC_INTERFACE, interfazeName - .replace('.', '/'), "java/lang/Object", new String[] {"java/rmi/Remote"}, simpleName + ".java"); - - StringBuffer argsAndReturn = null; - Method[] methods = serviceInterface.getMethods(); - for (Method method : methods) { - argsAndReturn = new StringBuffer("("); - Class[] paramTypes = method.getParameterTypes(); - Class returnType = method.getReturnType(); - - for (Class paramType : paramTypes) { - argsAndReturn.append(Type.getType(paramType)); - } - argsAndReturn.append(")"); - argsAndReturn.append(Type.getType(returnType)); - - cw.visitMethod(Constants.ACC_PUBLIC + Constants.ACC_ABSTRACT, - method.getName(), - argsAndReturn.toString(), - new String[] {"java/rmi/RemoteException"}, - null); - } - cw.visitEnd(); - return cw.toByteArray(); - } - - protected Class getTargetJavaClass(Interface targetInterface) { - // TODO: right now assume that the target is always a Java - // Implementation. Need to figure out - // how to generate Java Interface in cases where the target is not a - // Java Implementation - return ((JavaInterface)targetInterface).getJavaClass(); - } - - protected class RMIServiceClassLoader extends ClassLoader { - public RMIServiceClassLoader(ClassLoader parent) { - super(parent); - } - - public Class defineClass(String name, byte[] byteArray) { - return super.defineClass(name, byteArray, 0, byteArray.length); - } - } - - public InterfaceContract getBindingInterfaceContract() { - return service.getInterfaceContract(); - } - - public boolean supportsOneWayInvocation() { - return false; - } -} diff --git a/java/sca/contrib/modules/binding-rmi-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/java/sca/contrib/modules/binding-rmi-runtime/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory deleted file mode 100644 index b188c24a20..0000000000 --- a/java/sca/contrib/modules/binding-rmi-runtime/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.rmi.provider.RMIBindingProviderFactory;model=org.apache.tuscany.sca.binding.rmi.RMIBinding diff --git a/java/sca/contrib/modules/binding-rmi-runtime/src/test/java/helloworld/HelloException.java b/java/sca/contrib/modules/binding-rmi-runtime/src/test/java/helloworld/HelloException.java deleted file mode 100644 index cbc860ecc6..0000000000 --- a/java/sca/contrib/modules/binding-rmi-runtime/src/test/java/helloworld/HelloException.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package helloworld; - -/** - * @version $Rev$ $Date$ - */ -public class HelloException extends Exception { - - /** - * - */ - private static final long serialVersionUID = 2570611055132507470L; - - /** - * - */ - public HelloException() { - } - - /** - * @param message - */ - public HelloException(String message) { - super(message); - } - - /** - * @param cause - */ - public HelloException(Throwable cause) { - super(cause); - } - - /** - * @param message - * @param cause - */ - public HelloException(String message, Throwable cause) { - super(message, cause); - } - -} diff --git a/java/sca/contrib/modules/binding-rmi-runtime/src/test/java/helloworld/HelloWorldImpl.java b/java/sca/contrib/modules/binding-rmi-runtime/src/test/java/helloworld/HelloWorldImpl.java deleted file mode 100644 index cd7a0fd625..0000000000 --- a/java/sca/contrib/modules/binding-rmi-runtime/src/test/java/helloworld/HelloWorldImpl.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 helloworld; - -import org.oasisopen.sca.annotation.Service; - - -/** - * This class implements the HelloWorld service. - * - * @version $Rev$ $Date$ - */ -@Service(HelloWorldService.class) -public class HelloWorldImpl implements HelloWorldService { - - public String sayHello(String name) { - return "Hello from the RMI Service to - " + name; - } - - public String sayHi(String name, String greeter) throws HelloException { - if (name == null || greeter == null) { - throw new HelloException("Invalid name or greeter: name=" + name + " greeter=" + greeter); - } - return "Hi from " + greeter + " in RMI Service to - " + name; - } -} diff --git a/java/sca/contrib/modules/binding-rmi-runtime/src/test/java/helloworld/HelloWorldRmiImpl.java b/java/sca/contrib/modules/binding-rmi-runtime/src/test/java/helloworld/HelloWorldRmiImpl.java deleted file mode 100644 index 89ea795529..0000000000 --- a/java/sca/contrib/modules/binding-rmi-runtime/src/test/java/helloworld/HelloWorldRmiImpl.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 helloworld; - -import org.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.Service; - -/** - * This class implements the HelloWorld service. - * - * @version $Rev$ $Date$ - */ -@Service(HelloWorldRmiService.class) -public class HelloWorldRmiImpl implements HelloWorldRmiService { - private HelloWorldService extService; - - public HelloWorldService getExtService() { - return extService; - } - - @Reference - public void setExtService(HelloWorldService extService) { - this.extService = extService; - } - - public String sayRmiHello(String name) { - return extService.sayHello(name) + " thro the RMI Reference"; - } - - public String sayRmiHi(String name, String greeter) throws HelloException { - return extService.sayHi(name, greeter) + " thro the RMI Reference"; - } - -} diff --git a/java/sca/contrib/modules/binding-rmi-runtime/src/test/java/helloworld/HelloWorldRmiService.java b/java/sca/contrib/modules/binding-rmi-runtime/src/test/java/helloworld/HelloWorldRmiService.java deleted file mode 100644 index 461c176e1e..0000000000 --- a/java/sca/contrib/modules/binding-rmi-runtime/src/test/java/helloworld/HelloWorldRmiService.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 helloworld; - -/** - * This is the business interface of the HelloWorld greetings service. - * - * @version $Rev$ $Date$ - */ -public interface HelloWorldRmiService { - - String sayRmiHello(String name); - String sayRmiHi(String name, String greeter) throws HelloException; - -} diff --git a/java/sca/contrib/modules/binding-rmi-runtime/src/test/java/helloworld/HelloWorldService.java b/java/sca/contrib/modules/binding-rmi-runtime/src/test/java/helloworld/HelloWorldService.java deleted file mode 100644 index 3b705d2c97..0000000000 --- a/java/sca/contrib/modules/binding-rmi-runtime/src/test/java/helloworld/HelloWorldService.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 helloworld; - -/** - * This is the business interface of the HelloWorld greetings service. - * - * @version $Rev$ $Date$ - */ -public interface HelloWorldService { - - String sayHello(String name); - String sayHi(String name, String greeter) throws HelloException; - -} diff --git a/java/sca/contrib/modules/binding-rmi-runtime/src/test/java/org/apache/tuscany/sca/binding/rmi/BindingTestCase.java b/java/sca/contrib/modules/binding-rmi-runtime/src/test/java/org/apache/tuscany/sca/binding/rmi/BindingTestCase.java deleted file mode 100644 index a3c4ae4010..0000000000 --- a/java/sca/contrib/modules/binding-rmi-runtime/src/test/java/org/apache/tuscany/sca/binding/rmi/BindingTestCase.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.rmi; - -import helloworld.HelloException; -import helloworld.HelloWorldRmiService; -import junit.framework.Assert; - -import org.apache.tuscany.sca.node.SCAClient; -import org.apache.tuscany.sca.node.SCANode; -import org.apache.tuscany.sca.node.SCANodeFactory; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Tests for the RMIBinding. - * - * @version $Rev$ $Date$ - */ -public class BindingTestCase { - private static HelloWorldRmiService helloWorldRmiService; - private static SCANode node; - - @Test - public void testRmiService() { - String msg = helloWorldRmiService.sayRmiHello("Tuscany World!"); - System.out.println(msg); - Assert.assertEquals("Hello from the RMI Service to - Tuscany World! thro the RMI Reference", msg); - - try { - msg = helloWorldRmiService.sayRmiHi("Tuscany World!", "Apache World"); - System.out.println(msg); - Assert.assertEquals("Hi from Apache World in RMI Service to - Tuscany World! thro the RMI Reference", msg); - } catch (HelloException e) { - Assert.fail(e.getMessage()); - } - try { - msg = helloWorldRmiService.sayRmiHi(null, "Apache World"); - Assert.fail("HelloException should have been thrown"); - } catch (HelloException e) { - System.out.println("Expected exception :" + e.getClass().getName()); - } - } - - @BeforeClass - public static void init() throws Exception { - try { - node = SCANodeFactory.newInstance().createSCANodeFromClassLoader("RMIBindingTest.composite", BindingTestCase.class.getClassLoader()); - node.start(); - helloWorldRmiService = ((SCAClient) node).getService(HelloWorldRmiService.class, "HelloWorldRmiServiceComponent"); - } catch (Exception e) { - e.printStackTrace(); - } - } - - @AfterClass - public static void destroy() throws Exception { - node.stop(); - } - -} diff --git a/java/sca/contrib/modules/binding-rmi-runtime/src/test/resources/HelloWorldImpl.componentType b/java/sca/contrib/modules/binding-rmi-runtime/src/test/resources/HelloWorldImpl.componentType deleted file mode 100644 index 224a68f88d..0000000000 --- a/java/sca/contrib/modules/binding-rmi-runtime/src/test/resources/HelloWorldImpl.componentType +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - diff --git a/java/sca/contrib/modules/binding-rmi-runtime/src/test/resources/HelloWorldRmiImpl.componentType b/java/sca/contrib/modules/binding-rmi-runtime/src/test/resources/HelloWorldRmiImpl.componentType deleted file mode 100644 index a83e7e6d1d..0000000000 --- a/java/sca/contrib/modules/binding-rmi-runtime/src/test/resources/HelloWorldRmiImpl.componentType +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-rmi-runtime/src/test/resources/RMIBindingTest.composite b/java/sca/contrib/modules/binding-rmi-runtime/src/test/resources/RMIBindingTest.composite deleted file mode 100644 index 65aec1681d..0000000000 --- a/java/sca/contrib/modules/binding-rmi-runtime/src/test/resources/RMIBindingTest.composite +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-rmi/LICENSE b/java/sca/contrib/modules/binding-rmi/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/binding-rmi/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/java/sca/contrib/modules/binding-rmi/NOTICE b/java/sca/contrib/modules/binding-rmi/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/binding-rmi/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-rmi/pom.xml b/java/sca/contrib/modules/binding-rmi/pom.xml deleted file mode 100644 index d023f7910c..0000000000 --- a/java/sca/contrib/modules/binding-rmi/pom.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-binding-rmi - Apache Tuscany SCA RMI Binding Extension - - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-rmi - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-java - 2.0-SNAPSHOT - - - - cglib - cglib-nodep - 2.1_3 - - - - org.apache.tuscany.sca - tuscany-node-impl - 2.0-SNAPSHOT - test - - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - test - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.rmi - ${pom.name} - org.apache.tuscany.sca.binding.rmi* - * - - - - - - - diff --git a/java/sca/contrib/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/RMIBinding.java b/java/sca/contrib/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/RMIBinding.java deleted file mode 100644 index 4ef3822b5b..0000000000 --- a/java/sca/contrib/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/RMIBinding.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.rmi; - -import org.apache.tuscany.sca.assembly.Binding; - -/** - * RMI Binding model - */ -public interface RMIBinding extends Binding { - - /** - * @return the host name of the RMI Service - */ - String getHost(); - - /** - * @return the port number for the RMI Service - */ - String getPort(); - - /** - * @return returns the RMI Service Name - */ - String getServiceName(); - - /** - * @param rmiHostName the hostname of the RMI Service - */ - void setHost(String rmiHostName); - - /** - * @param rmiPort the port number for the RMI Service - */ - void setPort(String rmiPort); - - /** - * Sets the service name for the RMI Server - * - * @param rmiServiceName the name of the RMI service - */ - void setServiceName(String rmiServiceName); - -} diff --git a/java/sca/contrib/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/RMIBindingFactory.java b/java/sca/contrib/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/RMIBindingFactory.java deleted file mode 100644 index ecfd45def3..0000000000 --- a/java/sca/contrib/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/RMIBindingFactory.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.rmi; - -/** - * Factory to create RMIBinding instances - */ -public interface RMIBindingFactory { - /** - * Create RMIBinding model - * @return - */ - RMIBinding createRMIBinding(); -} diff --git a/java/sca/contrib/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/impl/RMIBindingFactoryImpl.java b/java/sca/contrib/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/impl/RMIBindingFactoryImpl.java deleted file mode 100644 index 547fc633a8..0000000000 --- a/java/sca/contrib/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/impl/RMIBindingFactoryImpl.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.binding.rmi.impl; - -import org.apache.tuscany.sca.binding.rmi.RMIBinding; -import org.apache.tuscany.sca.binding.rmi.RMIBindingFactory; - -/** - * - */ -public class RMIBindingFactoryImpl implements RMIBindingFactory { - public RMIBinding createRMIBinding() { - // TODO Auto-generated method stub - return new RMIBindingImpl(); - } - -} diff --git a/java/sca/contrib/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/impl/RMIBindingImpl.java b/java/sca/contrib/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/impl/RMIBindingImpl.java deleted file mode 100644 index 4acb9783f5..0000000000 --- a/java/sca/contrib/modules/binding-rmi/src/main/java/org/apache/tuscany/sca/binding/rmi/impl/RMIBindingImpl.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.rmi.impl; - -import java.net.URI; -import java.net.URISyntaxException; - -import org.apache.tuscany.sca.binding.rmi.RMIBinding; - -/** - * Represents a binding to an RMI service. - * - * @version $Rev$ $Date$ - */ -public class RMIBindingImpl implements RMIBinding { - private String name; - private String uri; - private String host; - private String port; - private String serviceName; - - /** - * @return the host name of the RMI Service - */ - public String getHost() { - return host; - } - - /** - * @param rmiHostName the hostname of the RMI Service - */ - public void setHost(String rmiHostName) { - this.host = rmiHostName; - } - - /** - * @return the port number for the RMI Service - */ - public String getPort() { - return port; - } - - /** - * @param rmiPort the port number for the RMI Service - */ - public void setPort(String rmiPort) { - this.port = rmiPort; - } - - /** - * @return returns the RMI Service Name - */ - public String getServiceName() { - return serviceName; - } - - /** - * Sets the service name for the RMI Server - * - * @param rmiServiceName the name of the RMI service - */ - public void setServiceName(String rmiServiceName) { - this.serviceName = rmiServiceName; - } - - public String getName() { - return name; - } - - public String getURI() { - compose(); - return uri; - } - - public void setName(String name) { - this.name = name; - } - - public void setURI(String uri) { - this.uri = uri; - parse(uri); - } - - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - // The sample binding is always resolved - } - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - - /* - rmi://[host][:port][/[object]] - rmi:[/][object] - */ - private void parse(String uriStr) { - if (uriStr == null) { - return; - } - URI uri = URI.create(uriStr); - if (host == null) { - this.host = uri.getHost(); - } - if (port == null) { - this.port = String.valueOf(uri.getPort()); - } - if (serviceName == null) { - String path = uri.getPath(); - if (path != null && path.charAt(0) == '/') { - path = path.substring(1); - } - this.serviceName = path; - } - } - - private void compose() { - if (uri == null) { - int p = -1; - if (port != null && port.length() > 0) { - p = Integer.decode(port); - } - String path = serviceName; - if (path != null) { - path = "/" + path; - } - try { - uri = new URI("rmi", null, host, p, path, null, null).toString(); - } catch (URISyntaxException e) { - throw new IllegalArgumentException(e); - } - } - } - - -} diff --git a/java/sca/contrib/modules/binding-rmi/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.rmi.RMIBindingFactory b/java/sca/contrib/modules/binding-rmi/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.rmi.RMIBindingFactory deleted file mode 100644 index 889fcafae2..0000000000 --- a/java/sca/contrib/modules/binding-rmi/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.rmi.RMIBindingFactory +++ /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.binding.rmi.impl.RMIBindingFactoryImpl diff --git a/java/sca/contrib/modules/binding-rmi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/binding-rmi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index d628701a7f..0000000000 --- a/java/sca/contrib/modules/binding-rmi/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.assembly.xml.DefaultBeanModelProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#binding.rmi,model=org.apache.tuscany.sca.binding.rmi.RMIBinding,factory=org.apache.tuscany.sca.binding.rmi.RMIBindingFactory diff --git a/java/sca/contrib/modules/binding-rss-rome/LICENSE b/java/sca/contrib/modules/binding-rss-rome/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/java/sca/contrib/modules/binding-rss-rome/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/java/sca/contrib/modules/binding-rss-rome/NOTICE b/java/sca/contrib/modules/binding-rss-rome/NOTICE deleted file mode 100644 index 51042eab05..0000000000 --- a/java/sca/contrib/modules/binding-rss-rome/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-rss-rome/pom.xml b/java/sca/contrib/modules/binding-rss-rome/pom.xml deleted file mode 100644 index 5a51b49979..0000000000 --- a/java/sca/contrib/modules/binding-rss-rome/pom.xml +++ /dev/null @@ -1,171 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-rss-rome - Apache Tuscany SCA RSS Feed Binding Extension - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-rss - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-java - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-data-api - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-databinding - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-http - 2.0-SNAPSHOT - - - - commons-httpclient - commons-httpclient - 3.1 - - - - rome - rome - 0.9 - - - - javax.servlet - servlet-api - 2.4 - provided - - - - org.apache.tuscany.sca - tuscany-host-jetty - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - test - - - - junit - junit - 4.5 - test - - - - commons-codec - commons-codec - 1.3 - - - commons-codec - commons-codec - - - - - - commons-logging - commons-logging - 1.1.1 - - - javax.servlet - servlet-api - - - avalon-framework - avalon-framework - - - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.rss.rome - ${pom.name} - org.apache.tuscany.sca.binding.rss* - - - - - - - diff --git a/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/collection/Collection.java b/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/collection/Collection.java deleted file mode 100644 index 1124348158..0000000000 --- a/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/collection/Collection.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.rss.collection; - -import org.oasisopen.sca.annotation.Remotable; - -import com.sun.syndication.feed.synd.SyndFeed; - - -/** - * Provides access to a collection of resources using RSS. - * - * @version $Rev$ $Date$ - */ -@Remotable -public interface Collection { - - /** - * Get an RSS feed for a collection of resources. - * - * @return the RSS feed - */ - SyndFeed getFeed(); - - /** - * Get an RSS feed for a collection of resources resulting from a query. - * - * @param queryString the query string - * @return the RSS feed - */ - SyndFeed query(String queryString); - -} diff --git a/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/collection/MediaCollection.java b/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/collection/MediaCollection.java deleted file mode 100644 index a2b83465da..0000000000 --- a/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/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.rss.collection; - -import java.io.InputStream; - -import org.oasisopen.sca.annotation.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/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/collection/NotFoundException.java b/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/collection/NotFoundException.java deleted file mode 100644 index 0912878938..0000000000 --- a/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/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.rss.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/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSBindingInvoker.java b/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSBindingInvoker.java deleted file mode 100644 index e3a177198c..0000000000 --- a/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSBindingInvoker.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.binding.rss.provider; - -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.logging.Logger; - -import org.apache.tuscany.sca.invocation.DataExchangeSemantics; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; - -import com.sun.syndication.feed.synd.SyndFeed; -import com.sun.syndication.io.FeedException; -import com.sun.syndication.io.SyndFeedInput; -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 uri; - - RSSBindingInvoker(String uri, String feedType) { - this.uri = uri; - } - - public Message invoke(Message msg) { - try { - logger.fine("invoke " + uri); - - // Read an RSS feed into a Synd feed - SyndFeedInput input = new SyndFeedInput(); - SyndFeed feed = input.build(new XmlReader(new URL(uri))); - - //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/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSBindingListenerServlet.java b/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSBindingListenerServlet.java deleted file mode 100644 index 7eb5aeb3df..0000000000 --- a/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSBindingListenerServlet.java +++ /dev/null @@ -1,394 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.rss.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 com.sun.syndication.feed.synd.SyndContent; -import com.sun.syndication.feed.synd.SyndContentImpl; -import com.sun.syndication.feed.synd.SyndEntry; -import com.sun.syndication.feed.synd.SyndEntryImpl; -import com.sun.syndication.feed.synd.SyndFeed; -import com.sun.syndication.feed.synd.SyndFeedImpl; -import com.sun.syndication.feed.synd.SyndLink; -import com.sun.syndication.feed.synd.SyndLinkImpl; -import com.sun.syndication.io.FeedException; -import com.sun.syndication.io.SyndFeedOutput; - -/** - * An RSS binding listener, implemented as a Servlet and - * registered in a Servlet host provided by the SCA hosting runtime. - * - * @version $Rev$ $Date$ - */ -class RSSBindingListenerServlet extends HttpServlet { - private static final Logger logger = Logger.getLogger(RSSBindingListenerServlet.class.getName()); - private static final long serialVersionUID = 1L; - - private RuntimeWire wire; - private Invoker getFeedInvoker; - private Invoker getAllInvoker; - private Invoker queryInvoker; - private MessageFactory messageFactory; - private Mediator mediator; - private DataType itemClassType; - private DataType itemXMLType; - private boolean supportsFeedEntries; - - /** - * Constructs a new binding listener. - * - * @param wire - * @param messageFactory - */ - RSSBindingListenerServlet(RuntimeWire wire, MessageFactory messageFactory, Mediator mediator) { - this.wire = wire; - this.messageFactory = messageFactory; - this.mediator = mediator; - - // 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")) { - getOperation = operation; - } - } - - // Determine the collection item type - itemXMLType = new DataTypeImpl>(String.class.getName(), String.class, String.class); - Class itemClass = getOperation.getOutputType().getPhysical(); - if (itemClass == SyndEntry.class) { - supportsFeedEntries = true; - } - DataType outputType = getOperation.getOutputType(); - QName qname = outputType.getLogical().getElementName(); - qname = new QName(qname.getNamespaceURI(), itemClass.getSimpleName()); - itemClassType = new DataTypeImpl("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"); - - logger.fine("get " + request.getRequestURI()); - - // Handle an RSS request - if (path == null || path.length() == 0 || path.equals("/")) { - - // Return an RSS feed containing the entries in the collection - SyndFeed 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 = (SyndFeed)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[] collection = - (org.apache.tuscany.sca.data.collection.Entry[])responseMessage.getBody(); - if (collection != null) { - // Create the feed - feed = new SyndFeedImpl(); - feed.setTitle("Feed"); - - for (org.apache.tuscany.sca.data.collection.Entry entry: collection) { - SyndEntry 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("rss_2.0"); - feed.setLink(path); - SyndFeedOutput syndOutput = new SyndFeedOutput(); - try { - syndOutput.output(feed, 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 SyndEntry createFeedEntry(org.apache.tuscany.sca.data.collection.Entry entry) { - Object key = entry.getKey(); - Object data = entry.getData(); - if (data instanceof Item) { - Item item = (Item)data; - - SyndEntry feedEntry = new SyndEntryImpl(); - feedEntry.setUri(key.toString()); - feedEntry.setTitle(item.getTitle()); - - String value = item.getContents(); - if (value != null) { - SyndContent content = new SyndContentImpl(); - content.setType("text/xml"); - content.setValue(value); - List contents = new ArrayList(); - contents.add(content); - feedEntry.setContents(contents); - } - - String href = item.getLink(); - if (href == null) { - href = key.toString(); - } - SyndLink link = new SyndLinkImpl(); - link.setRel("edit"); - link.setHref(href); - feedEntry.getLinks().add(link); - link = new SyndLinkImpl(); - link.setRel("alternate"); - link.setHref(href); - feedEntry.getLinks().add(link); - - Date date = item.getDate(); - if (date == null) { - date = new Date(); - } - feedEntry.setPublishedDate(date); - return feedEntry; - - } else if (data != null) { - SyndEntry feedEntry = new SyndEntryImpl(); - feedEntry.setUri(key.toString()); - feedEntry.setTitle("item"); - - // Convert the item to XML - String value = mediator.mediate(data, itemClassType, itemXMLType, null).toString(); - - SyndContent content = new SyndContentImpl(); - content.setType("text/xml"); - content.setValue(value); - List contents = new ArrayList(); - contents.add(content); - feedEntry.setContents(contents); - - SyndLink link = new SyndLinkImpl(); - link.setRel("edit"); - link.setHref(key.toString()); - feedEntry.getLinks().add(link); - link = new SyndLinkImpl(); - link.setRel("alternate"); - link.setHref(key.toString()); - feedEntry.getLinks().add(link); - - feedEntry.setPublishedDate(new Date()); - return feedEntry; - } else { - return null; - } - } - - /** - * Create a data collection entry from an RSS entry. - * @param feedEntry - * @return - */ - private org.apache.tuscany.sca.data.collection.Entry createEntry(SyndEntry feedEntry) { - if (feedEntry != null) { - if (itemClassType.getPhysical() == Item.class) { - String key = feedEntry.getUri(); - - Item item = new Item(); - item.setTitle(feedEntry.getTitle()); - - List contents = feedEntry.getContents(); - if (!contents.isEmpty()) { - SyndContent content = (SyndContent)contents.get(0); - String value = content.getValue(); - item.setContents(value); - } - - for (Object l : feedEntry.getLinks()) { - SyndLink link = (SyndLink)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.getPublishedDate()); - - return new org.apache.tuscany.sca.data.collection.Entry(key, item); - - } else { - String key = feedEntry.getUri(); - - // Create the item from XML - List contents = feedEntry.getContents(); - if (contents.isEmpty()) { - return null; - } - SyndContent content = (SyndContent)contents.get(0); - String value = content.getValue(); - Object data = mediator.mediate(value, itemXMLType, itemClassType, null); - - return new org.apache.tuscany.sca.data.collection.Entry(key, data); - } - } else { - return null; - } - } - - - private Writer getWriter(HttpServletResponse response) throws UnsupportedEncodingException, IOException { - Writer writer = new OutputStreamWriter(response.getOutputStream(), "UTF-8"); - return writer; - } - - /** - * 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/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSBindingProviderFactory.java b/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSBindingProviderFactory.java deleted file mode 100644 index b9cababcab..0000000000 --- a/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/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.rss.provider; - -import org.apache.tuscany.sca.binding.rss.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 { - - 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 getModelType() { - return RSSBinding.class; - } -} diff --git a/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSReferenceBindingProvider.java b/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSReferenceBindingProvider.java deleted file mode 100644 index 8a30e9d3fb..0000000000 --- a/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/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.rss.provider; - -import org.apache.tuscany.sca.binding.rss.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/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSServiceBindingProvider.java b/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/provider/RSSServiceBindingProvider.java deleted file mode 100644 index 4e5429ac83..0000000000 --- a/java/sca/contrib/modules/binding-rss-rome/src/main/java/org/apache/tuscany/sca/binding/rss/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.rss.provider; - -import org.apache.tuscany.sca.binding.rss.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); - - RSSBindingListenerServlet servlet = - new RSSBindingListenerServlet(wire, messageFactory, mediator); - - 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/java/sca/contrib/modules/binding-rss-rome/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/java/sca/contrib/modules/binding-rss-rome/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory deleted file mode 100644 index e60dc2855a..0000000000 --- a/java/sca/contrib/modules/binding-rss-rome/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.rss.provider.RSSBindingProviderFactory;model=org.apache.tuscany.sca.binding.rss.RSSBinding diff --git a/java/sca/contrib/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/Consumer.java b/java/sca/contrib/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/Consumer.java deleted file mode 100644 index 19370285f5..0000000000 --- a/java/sca/contrib/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/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.rss; - -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/java/sca/contrib/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/CustomerClient.java b/java/sca/contrib/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/CustomerClient.java deleted file mode 100644 index af87155f45..0000000000 --- a/java/sca/contrib/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/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.rss; - -public interface CustomerClient { - - void testCustomerCollection() throws Exception; -} diff --git a/java/sca/contrib/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/CustomerClientImpl.java b/java/sca/contrib/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/CustomerClientImpl.java deleted file mode 100644 index a80f721136..0000000000 --- a/java/sca/contrib/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/CustomerClientImpl.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.rss; - -import org.apache.tuscany.sca.binding.rss.collection.Collection; -import org.oasisopen.sca.annotation.Reference; - -import com.sun.syndication.feed.synd.SyndEntry; -import com.sun.syndication.feed.synd.SyndFeed; - - -public class CustomerClientImpl implements CustomerClient { - - @Reference - public Collection resourceCollection; - - public void testCustomerCollection() throws Exception { - - System.out.println(">>> get collection"); - SyndFeed feed = resourceCollection.getFeed(); - System.out.println("<<< get collection"); - for (Object o : feed.getEntries()) { - SyndEntry e = (SyndEntry)o; - System.out.println("id = " + e.getUri() + " entry = " + e.getTitle()); - } - } - -} diff --git a/java/sca/contrib/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/CustomerCollectionImpl.java b/java/sca/contrib/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/CustomerCollectionImpl.java deleted file mode 100644 index 505a9cdee3..0000000000 --- a/java/sca/contrib/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/CustomerCollectionImpl.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.rss; - -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.rss.collection.Collection; -import org.oasisopen.sca.annotation.Scope; - -import com.sun.syndication.feed.atom.Content; -import com.sun.syndication.feed.synd.SyndContent; -import com.sun.syndication.feed.synd.SyndContentImpl; -import com.sun.syndication.feed.synd.SyndEntry; -import com.sun.syndication.feed.synd.SyndEntryImpl; -import com.sun.syndication.feed.synd.SyndFeed; -import com.sun.syndication.feed.synd.SyndFeedImpl; -import com.sun.syndication.feed.synd.SyndLink; -import com.sun.syndication.feed.synd.SyndLinkImpl; - -@Scope("COMPOSITE") -public class CustomerCollectionImpl implements Collection { - - private Map entries = new HashMap(); - - public CustomerCollectionImpl() { - - for (int i = 0; i < 4; i++) { - String id = "urn:uuid:customer-" + UUID.randomUUID().toString(); - - SyndEntry entry = new SyndEntryImpl(); - entry.setTitle("customer " + "Jane Doe_" + String.valueOf(i)); - entry.setUri(id); - - SyndContent content = new SyndContentImpl(); - content.setValue("Jane Doe_" + String.valueOf(i)); - content.setType(Content.TEXT); - entry.setContents(Collections.singletonList(content)); - - List links = new ArrayList(); - SyndLink link = new SyndLinkImpl(); - link.setRel("edit"); - link.setHref("" + id); - links.add(link); - entry.setLinks(links); - - links = new ArrayList(); - link = new SyndLinkImpl(); - link.setRel("alternate"); - link.setHref("" + id); - links.add(link); - entry.setLinks(links); - - entry.setPublishedDate(new Date()); - - entries.put(id, entry); - System.out.println(">>> id=" + id); - } - } - - public SyndFeed getFeed() { - System.out.println(">>> CustomerCollectionImpl.getFeed"); - - SyndFeed feed = new SyndFeedImpl(); - feed.setTitle("customers"); - feed.setDescription("This is a sample feed"); - feed.getEntries().addAll(entries.values()); - return feed; - } - - public SyndFeed query(String queryString) { - System.out.println(">>> CustomerCollectionImpl.query"); - - SyndFeed feed = new SyndFeedImpl(); - feed.setTitle("customers"); - feed.setDescription("This is a sample feed"); - feed.getEntries().addAll(entries.values()); - return feed; - } - -} diff --git a/java/sca/contrib/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/Provider.java b/java/sca/contrib/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/Provider.java deleted file mode 100644 index ae7b72834e..0000000000 --- a/java/sca/contrib/modules/binding-rss-rome/src/test/java/org/apache/tuscany/sca/binding/rss/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.rss; - -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/java/sca/contrib/modules/binding-rss-rome/src/test/resources/org/apache/tuscany/sca/binding/feed/Consumer.composite b/java/sca/contrib/modules/binding-rss-rome/src/test/resources/org/apache/tuscany/sca/binding/feed/Consumer.composite deleted file mode 100644 index 43cd5e00b9..0000000000 --- a/java/sca/contrib/modules/binding-rss-rome/src/test/resources/org/apache/tuscany/sca/binding/feed/Consumer.composite +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-rss-rome/src/test/resources/org/apache/tuscany/sca/binding/feed/Provider.composite b/java/sca/contrib/modules/binding-rss-rome/src/test/resources/org/apache/tuscany/sca/binding/feed/Provider.composite deleted file mode 100644 index 5ffcb50eb8..0000000000 --- a/java/sca/contrib/modules/binding-rss-rome/src/test/resources/org/apache/tuscany/sca/binding/feed/Provider.composite +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-rss/LICENSE b/java/sca/contrib/modules/binding-rss/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/java/sca/contrib/modules/binding-rss/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/java/sca/contrib/modules/binding-rss/NOTICE b/java/sca/contrib/modules/binding-rss/NOTICE deleted file mode 100644 index 51042eab05..0000000000 --- a/java/sca/contrib/modules/binding-rss/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-rss/pom.xml b/java/sca/contrib/modules/binding-rss/pom.xml deleted file mode 100644 index 557a927e60..0000000000 --- a/java/sca/contrib/modules/binding-rss/pom.xml +++ /dev/null @@ -1,98 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-rss - Apache Tuscany SCA RSS Feed Binding Extension - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-java - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-data-api - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - test - - - - junit - junit - 4.5 - test - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.rss - ${pom.name} - org.apache.tuscany.sca.binding.rss* - - - - - - - diff --git a/java/sca/contrib/modules/binding-rss/src/main/java/org/apache/tuscany/sca/binding/rss/RSSBinding.java b/java/sca/contrib/modules/binding-rss/src/main/java/org/apache/tuscany/sca/binding/rss/RSSBinding.java deleted file mode 100644 index 2b4989264c..0000000000 --- a/java/sca/contrib/modules/binding-rss/src/main/java/org/apache/tuscany/sca/binding/rss/RSSBinding.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.binding.rss; - -import org.apache.tuscany.sca.assembly.Binding; - -/** - * RSS Feed binding model. - */ -public interface RSSBinding extends Binding { -} diff --git a/java/sca/contrib/modules/binding-rss/src/main/java/org/apache/tuscany/sca/binding/rss/RSSBindingFactory.java b/java/sca/contrib/modules/binding-rss/src/main/java/org/apache/tuscany/sca/binding/rss/RSSBindingFactory.java deleted file mode 100644 index 3e691e636e..0000000000 --- a/java/sca/contrib/modules/binding-rss/src/main/java/org/apache/tuscany/sca/binding/rss/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.rss; - -/** - * 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/java/sca/contrib/modules/binding-rss/src/main/java/org/apache/tuscany/sca/binding/rss/impl/RSSBindingFactoryImpl.java b/java/sca/contrib/modules/binding-rss/src/main/java/org/apache/tuscany/sca/binding/rss/impl/RSSBindingFactoryImpl.java deleted file mode 100644 index a4e6a8283d..0000000000 --- a/java/sca/contrib/modules/binding-rss/src/main/java/org/apache/tuscany/sca/binding/rss/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.rss.impl; - -import org.apache.tuscany.sca.binding.rss.RSSBinding; -import org.apache.tuscany.sca.binding.rss.RSSBindingFactory; - -/** - * Factory for the RSS binding model. - * - * @version $Rev$ $Date$ - */ -public class RSSBindingFactoryImpl implements RSSBindingFactory { - - public RSSBinding createRSSBinding() { - return new RSSBindingImpl(); - } - -} diff --git a/java/sca/contrib/modules/binding-rss/src/main/java/org/apache/tuscany/sca/binding/rss/impl/RSSBindingImpl.java b/java/sca/contrib/modules/binding-rss/src/main/java/org/apache/tuscany/sca/binding/rss/impl/RSSBindingImpl.java deleted file mode 100644 index 6158752e7c..0000000000 --- a/java/sca/contrib/modules/binding-rss/src/main/java/org/apache/tuscany/sca/binding/rss/impl/RSSBindingImpl.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.rss.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.binding.rss.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. - */ -class RSSBindingImpl implements RSSBinding, PolicySetAttachPoint { - - private String name; - private String uri; - private List requiredIntents = new ArrayList(); - private List policySets = new ArrayList(); - private IntentAttachPointType intentAttachPointType; - private List applicablePolicySets = new ArrayList(); - - public List 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 getPolicySets() { - return policySets; - } - - public List getRequiredIntents() { - return requiredIntents; - } - - public IntentAttachPointType getType() { - return intentAttachPointType; - } - - public void setType(IntentAttachPointType intentAttachPointType) { - this.intentAttachPointType = intentAttachPointType; - } - - public void setPolicySets(List policySets) { - this.policySets = policySets; - } - - public void setRequiredIntents(List intents) { - this.requiredIntents = intents; - } - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } -} diff --git a/java/sca/contrib/modules/binding-rss/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.rss.RSSBindingFactory b/java/sca/contrib/modules/binding-rss/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.rss.RSSBindingFactory deleted file mode 100644 index 73c47a3f41..0000000000 --- a/java/sca/contrib/modules/binding-rss/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.rss.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.rss.impl.RSSBindingFactoryImpl \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-rss/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/binding-rss/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index 2d0597ff01..0000000000 --- a/java/sca/contrib/modules/binding-rss/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.assembly.xml.DefaultBeanModelProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#binding.rss,model=org.apache.tuscany.sca.binding.rss.RSSBinding,factory=org.apache.tuscany.sca.binding.rss.RSSBindingFactory diff --git a/java/sca/contrib/modules/binding-sca-axis2/LICENSE b/java/sca/contrib/modules/binding-sca-axis2/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/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/java/sca/contrib/modules/binding-sca-axis2/NOTICE b/java/sca/contrib/modules/binding-sca-axis2/NOTICE deleted file mode 100644 index 51042eab05..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-sca-axis2/pom.xml b/java/sca/contrib/modules/binding-sca-axis2/pom.xml deleted file mode 100644 index 1836315992..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/pom.xml +++ /dev/null @@ -1,103 +0,0 @@ - - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-sca-axis2 - Apache Tuscany SCA Axis2-based Default Binding Extension - - - - - org.apache.tuscany.sca - tuscany-binding-sca - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-ws-axis2 - 2.0-SNAPSHOT - - - - javax.servlet - servlet-api - 2.4 - provided - - - - org.apache.tuscany.sca - tuscany-host-jetty - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-endpoint - 2.0-SNAPSHOT - test - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.sca.axis2 - ${pom.name} - org.apache.tuscany.sca.binding.sca.axis2* - - - - - - - diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingInvoker.java b/java/sca/contrib/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingInvoker.java deleted file mode 100644 index 88a4b63637..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingInvoker.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.binding.sca.axis2.impl; - -import java.util.logging.Logger; - -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.runtime.EndpointReference; -import org.oasisopen.sca.ServiceUnavailableException; - - -/** - * A wrapper for the Axis2BindingInvoker that ensures that the URL of the target - * service is correct by looking it up in the service registry if it is not provided - * - * @version $Rev: 563772 $ $Date: 2007-08-08 07:50:49 +0100 (Wed, 08 Aug 2007) $ - */ -public class Axis2SCABindingInvoker implements Interceptor { - - private static final Logger logger = Logger.getLogger(Axis2SCABindingInvoker.class.getName()); - - private Invoker axis2Invoker; - private Axis2SCAReferenceBindingProvider provider; - - public Axis2SCABindingInvoker(Axis2SCAReferenceBindingProvider provider, Invoker axis2Invoker) { - this.axis2Invoker = axis2Invoker; - this.provider = provider; - } - - public void setNext(Invoker next) { - } - - public Invoker getNext() { - return null; - } - - /** - * Fix up the URL for the message. The "to" EndPoint comes from the wire - * target and needs to be replaced with the endpoint from the registry. - * The default URL for an Endpoint URI where there is no - * target component or service information, as in the case of a - * wire crossing a node boundary, is "/" - */ - public Message invoke(Message msg) { - - // make sure that the epr of the target service is set in the TO - // field of the message - EndpointReference to = msg.getTo(); - - // check to see if we either don't have an endpoint set or if the URI - // is dynamic or the target service is marked as unresolved - if ((to == null) || (to.getURI().equals("/") || (to.getContract() == null) || (to.getContract().isUnresolved()))) { - - EndpointReference eprTo = provider.getServiceEndpoint(); - - if ( (eprTo == null) || (eprTo.getURI() == null)) { - throw new ServiceUnavailableException("Endpoint for service: " + provider.getSCABinding().getURI() - + " can't be found for component: " - + provider.getComponent().getName() - + " reference: " - + provider.getComponentReference().getName()); - } - msg.setTo(eprTo); - } - - // make sure that the epr of the callback service (if there is one) is set - // in the callbackReference field of the message. - EndpointReference callbackEPR = msg.getFrom().getReferenceParameters().getCallbackReference(); - - if ((callbackEPR == null) || (callbackEPR.getURI().equals("/"))) { - - callbackEPR = provider.getCallbackEndpoint(); - - if (callbackEPR != null) { - msg.getFrom().getReferenceParameters().setCallbackReference(callbackEPR); - } - } - - // do the axis2 stuff - return axis2Invoker.invoke(msg); - } -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingProviderFactory.java b/java/sca/contrib/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingProviderFactory.java deleted file mode 100644 index b105696b5d..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCABindingProviderFactory.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.sca.axis2.impl; - -import java.util.List; - -import org.apache.tuscany.sca.binding.sca.DistributedSCABinding; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.policy.util.PolicyHandlerDefinitionsLoader; -import org.apache.tuscany.sca.policy.util.PolicyHandlerTuple; -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 factory for the Axis2 based implementation of the distributed sca binding - * - * @version $Rev: 563772 $ $Date: 2007-08-08 07:50:49 +0100 (Wed, 08 Aug 2007) $ - */ -public class Axis2SCABindingProviderFactory implements BindingProviderFactory { - - private ExtensionPointRegistry extensionPoints; - private List policyHandlerClassnames = null; - - public Axis2SCABindingProviderFactory(ExtensionPointRegistry extensionPoints) { - this.extensionPoints = extensionPoints; - policyHandlerClassnames = PolicyHandlerDefinitionsLoader.loadPolicyHandlerClassnames(); - } - - public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - DistributedSCABinding binding) { - return new Axis2SCAReferenceBindingProvider(component, reference, binding, - extensionPoints, policyHandlerClassnames); - } - - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - DistributedSCABinding binding) { - return new Axis2SCAServiceBindingProvider(component, service, binding, - extensionPoints, policyHandlerClassnames); - } - - public Class getModelType() { - return DistributedSCABinding.class; - } -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java b/java/sca/contrib/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java deleted file mode 100644 index 48d65cb735..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAReferenceBindingProvider.java +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.axis2.impl; - -import java.net.URI; -import java.util.List; -import java.util.logging.Logger; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.SCABinding; -import org.apache.tuscany.sca.binding.sca.DistributedSCABinding; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory; -import org.apache.tuscany.sca.binding.ws.axis2.Axis2ReferenceBindingProvider; -import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.assembly.EndpointReferenceImpl; -import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint; -import org.apache.tuscany.sca.host.http.ServletHost; -import org.apache.tuscany.sca.host.http.ServletHostExtensionPoint; -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.policy.util.PolicyHandlerTuple; -import org.apache.tuscany.sca.provider.ReferenceBindingProvider; -import org.apache.tuscany.sca.runtime.EndpointReference; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; - -/** - * The reference binding provider for the remote sca binding implementation. Relies on the - * binding-ws-axis implementation for sending messages to remote services to this provider - * just uses the ws-axis provider. - * - * @version $Rev: 563772 $ $Date: 2007-08-08 07:50:49 +0100 (Wed, 08 Aug 2007) $ - */ -public class Axis2SCAReferenceBindingProvider implements ReferenceBindingProvider { - - private static final Logger logger = Logger.getLogger(Axis2SCAReferenceBindingProvider.class.getName()); - - private RuntimeComponent component; - private RuntimeComponentReference reference; - private SCABinding binding; - private Axis2ReferenceBindingProvider axisReferenceBindingProvider; - private WebServiceBinding wsBinding; - - private EndpointReference serviceEPR = null; - private EndpointReference callbackEPR = null; - - public Axis2SCAReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - DistributedSCABinding binding, - ExtensionPointRegistry extensionPoints, - List policyHandlerClassnames) { - - ServletHostExtensionPoint servletHosts = extensionPoints.getExtensionPoint(ServletHostExtensionPoint.class); - ServletHost servletHost = servletHosts.getServletHosts().get(0); - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - DataBindingExtensionPoint dataBindings = extensionPoints.getExtensionPoint(DataBindingExtensionPoint.class); - - this.component = component; - this.reference = reference; - this.binding = binding.getSCABinding(); - wsBinding = modelFactories.getFactory(WebServiceBindingFactory.class).createWebServiceBinding(); - wsBinding.setName(this.binding.getName()); - - // Turn the java interface contract into a WSDL interface contract - BindingWSDLGenerator.generateWSDL(component, reference, wsBinding, extensionPoints, null); - - // Set to use the Axiom data binding - InterfaceContract contract = wsBinding.getBindingInterfaceContract(); - contract.getInterface().resetDataBinding(OMElement.class.getName()); - - axisReferenceBindingProvider = new Axis2ReferenceBindingProvider(component, - reference, - wsBinding, - modelFactories, - policyHandlerClassnames, - dataBindings); - } - - public InterfaceContract getBindingInterfaceContract() { - return wsBinding.getBindingInterfaceContract(); - } - - public boolean supportsOneWayInvocation() { - return false; - } - - public Invoker createInvoker(Operation operation) { - return new Axis2SCABindingInvoker(this, axisReferenceBindingProvider.createInvoker(operation)); - } - - /** - * Uses the distributed domain service discovery feature to locate remote - * service endpoints - * - * @return An EPR for the target service that this reference refers to - */ - public EndpointReference getServiceEndpoint(){ - - if (serviceEPR == null){ - String endpointURL = null; - - if (binding.getURI() != null) { - // check if the binding URI is already resolved if it is use is if not - try { - URI uri = new URI(binding.getURI()); - if (uri.isAbsolute()) { - endpointURL = binding.getURI(); - } - } catch(Exception ex) { - // do nothing - } - } - - serviceEPR = new EndpointReferenceImpl(endpointURL); - } - - return serviceEPR; - } - - - /** - * Retrieves the URI of the callback service (that this reference has created) - * returns null if there is no callback service for the sca binding - * - * @return the callback endpoint - */ - public EndpointReference getCallbackEndpoint(){ - if (callbackEPR == null) { - if (reference.getCallbackService() != null) { - for (Binding callbackBinding : reference.getCallbackService().getBindings()) { - if (callbackBinding instanceof SCABinding) { - callbackEPR = new EndpointReferenceImpl(reference.getName() + "/" + callbackBinding.getName()); - continue; - } - } - } - } - return callbackEPR; - } - - - public SCABinding getSCABinding () { - return binding; - } - - public RuntimeComponent getComponent () { - return component; - } - - public RuntimeComponentReference getComponentReference () { - return reference; - } - - public void start() { - axisReferenceBindingProvider.start(); - } - - public void stop() { - axisReferenceBindingProvider.stop(); - } - -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceBindingProvider.java b/java/sca/contrib/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceBindingProvider.java deleted file mode 100644 index 58a50d46dc..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceBindingProvider.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.axis2.impl; - -import java.util.List; -import java.util.logging.Logger; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.assembly.SCABinding; -import org.apache.tuscany.sca.binding.sca.DistributedSCABinding; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory; -import org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceProvider; -import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator; -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.host.http.ServletHost; -import org.apache.tuscany.sca.host.http.ServletHostExtensionPoint; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.invocation.MessageFactory; -import org.apache.tuscany.sca.policy.util.PolicyHandlerTuple; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * The service binding provider for the remote sca binding implementation. Relies on the - * binding-ws-axis implementation for providing a remote message endpoint for this service - * - * @version $Rev: 563772 $ $Date: 2007-08-08 07:50:49 +0100 (Wed, 08 Aug 2007) $ - */ -public class Axis2SCAServiceBindingProvider implements ServiceBindingProvider { - - private static final Logger logger = Logger.getLogger(Axis2SCAServiceBindingProvider.class.getName()); - - private SCABinding binding; - private Axis2ServiceProvider axisProvider; - private WebServiceBinding wsBinding; - - private boolean started = false; - - - public Axis2SCAServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - DistributedSCABinding binding, - ExtensionPointRegistry extensionPoints, - List policyHandlerClassnames) { - - ServletHostExtensionPoint servletHosts = extensionPoints.getExtensionPoint(ServletHostExtensionPoint.class); - ServletHost servletHost = servletHosts.getServletHosts().get(0); - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - MessageFactory messageFactory = modelFactories.getFactory(MessageFactory.class); - DataBindingExtensionPoint dataBindings = extensionPoints.getExtensionPoint(DataBindingExtensionPoint.class); - - this.binding = binding.getSCABinding(); - wsBinding = modelFactories.getFactory(WebServiceBindingFactory.class).createWebServiceBinding(); - wsBinding.setName(this.binding.getName()); - wsBinding.setURI(this.binding.getURI()); - - // Turn the java interface contract into a WSDL interface contract - BindingWSDLGenerator.generateWSDL(component, service, wsBinding, extensionPoints, null); - - // Set to use the Axiom data binding - InterfaceContract contract = wsBinding.getBindingInterfaceContract(); - contract.getInterface().resetDataBinding(OMElement.class.getName()); - - axisProvider = new Axis2SCAServiceProvider(component, - service, - this.binding, - wsBinding, - servletHost, - messageFactory, - policyHandlerClassnames); - } - - public InterfaceContract getBindingInterfaceContract() { - return wsBinding.getBindingInterfaceContract(); - } - - public boolean supportsOneWayInvocation() { - return false; - } - - public void start() { - if (started) { - return; - } else { - started = true; - } - - axisProvider.start(); - } - - public void stop() { - if (!started) { - return; - } else { - started = false; - } - - axisProvider.stop(); - } - -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceProvider.java b/java/sca/contrib/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceProvider.java deleted file mode 100644 index cf13d821f7..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/main/java/org/apache/tuscany/sca/binding/sca/axis2/impl/Axis2SCAServiceProvider.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.binding.sca.axis2.impl; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.SCABinding; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceProvider; -import org.apache.tuscany.sca.host.http.ServletHost; -import org.apache.tuscany.sca.invocation.MessageFactory; -import org.apache.tuscany.sca.policy.util.PolicyHandlerTuple; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * A specialization of the Axis2BindingProvider that just switches in the SCABinding model - * element when it is required. The SCABinding is required as the service binding provider - * finds the service wire based in the binding - * - * @version $Rev: 563772 $ $Date: 2007-08-08 07:50:49 +0100 (Wed, 08 Aug 2007) $ - */ -public class Axis2SCAServiceProvider extends Axis2ServiceProvider { - - private SCABinding binding; - - /** - * Switch in the fake ws binding - * - * @param component - * @param service - * @param binding - * @param wsBinding - * @param servletHost - * @param messageFactory - */ - public Axis2SCAServiceProvider(RuntimeComponent component, - RuntimeComponentService service, - SCABinding binding, - WebServiceBinding wsBinding, - ServletHost servletHost, - MessageFactory messageFactory, - List policyHandlerClassnames) { - - super(component, - service, - wsBinding, - servletHost, - messageFactory, - policyHandlerClassnames); - - this.binding = binding; - } - - /** - * Return the sca binding as wires will be registered against this rather - * than against the wsBinding that the Axis2SCAServiceProvider is - * expecting - * - * @return the binding - */ - @Override - protected Binding getBinding(){ - return binding; - } -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/java/sca/contrib/modules/binding-sca-axis2/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory deleted file mode 100644 index 1b369cde06..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/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.axis2.impl.Axis2SCABindingProviderFactory;model=org.apache.tuscany.sca.binding.sca.DistributedSCABinding diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/AsynchTestCase.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/AsynchTestCase.java deleted file mode 100644 index 40d64be9b1..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/AsynchTestCase.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.binding.sca.axis2; - - -import junit.framework.Assert; - -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldClient; -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.impl.HelloWorldClientCallbackOnewayRemoteImpl; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -public class AsynchTestCase { - - public static TestNode nodeA; - public static TestNode nodeB; - - @BeforeClass - public static void init() throws Exception { - System.out.println("Setting up nodes"); - - try { - // create and start domains - nodeA = new TestNode("nodeG"); - nodeB = new TestNode("nodeH"); - - nodeA.start(); - nodeB.start(); - - } catch (Exception ex) { - System.err.println("Exception when creating domain " + ex.getMessage()); - ex.printStackTrace(System.err); - throw ex; - } - } - - @AfterClass - public static void destroy() throws Exception { - nodeA.stop(); - nodeB.stop(); - } - - @Test - public void testHelloWorldAsynch() throws Exception { - HelloWorldClient helloWorldClientB; - helloWorldClientB = nodeA.getService(HelloWorldClient.class, "AHelloWorldClientCallbackRemote"); - helloWorldClientB.getGreetings("fred"); - System.out.println("Sleeping ..."); - Thread.sleep(2000); - System.out.println("... Done"); - Assert.assertEquals("callback fred", HelloWorldClientCallbackOnewayRemoteImpl.result ); - - } - - -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/BindingScaEndpointResolverFactoryImpl.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/BindingScaEndpointResolverFactoryImpl.java deleted file mode 100644 index b345e563e3..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/BindingScaEndpointResolverFactoryImpl.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.sca.axis2; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Endpoint; -import org.apache.tuscany.sca.assembly.SCABinding; -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 BindingScaEndpointResolverFactoryImpl implements EndpointResolverFactory { - - private ExtensionPointRegistry extensionPoints; - - public BindingScaEndpointResolverFactoryImpl(ExtensionPointRegistry extensionPoints) { - this.extensionPoints = extensionPoints; - } - - public EndpointResolver createEndpointResolver(Endpoint endpoint, Binding binding) { - - return new BindingScaEndpointResolverImpl(extensionPoints, endpoint, binding); - } - - public Class getModelType() { - return SCABinding.class; - } -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/BindingScaEndpointResolverImpl.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/BindingScaEndpointResolverImpl.java deleted file mode 100644 index 472e85116e..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/BindingScaEndpointResolverImpl.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.binding.sca.axis2; - - -import java.util.logging.Logger; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Endpoint; -import org.apache.tuscany.sca.assembly.SCABinding; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.endpointresolver.EndpointResolver; - -/** - * 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 BindingScaEndpointResolverImpl implements EndpointResolver { - - private final static Logger logger = Logger.getLogger(BindingScaEndpointResolverImpl.class.getName()); - - private Endpoint endpoint; - private SCABinding binding; - - public BindingScaEndpointResolverImpl(ExtensionPointRegistry extensionPoints, - Endpoint endpoint, - Binding binding) { - this.endpoint = endpoint; - this.binding = (SCABinding)binding; - } - - public void start(){ - // do nothing - } - - public void resolve() { - if (endpoint.isUnresolved()){ - // pretend to resolve the endpoint. In this test case to what we know - // it should be - logger.info("Fixing up endpoint soure binding"); - endpoint.setSourceBinding(endpoint.getCandidateBindings().get(0)); - endpoint.getSourceBinding().setURI("http://localhost:8085/BHelloWorldServiceRemote"); - } - } - - public void stop(){ - // do nothing - } -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/CallbackTestCase.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/CallbackTestCase.java deleted file mode 100644 index 76dbc5a5c7..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/CallbackTestCase.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.sca.axis2; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldClient; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -public class CallbackTestCase { - - public static TestNode nodeA; - public static TestNode nodeB; - - @BeforeClass - public static void init() throws Exception { - System.out.println("Setting up nodes"); - - try { - // create and start domains - nodeA = new TestNode("nodeE"); - nodeB = new TestNode("nodeF"); - - nodeA.start(); - nodeB.start(); - - } catch (Exception ex) { - System.err.println("Exception when creating domain " + ex.getMessage()); - ex.printStackTrace(System.err); - throw ex; - } - } - - @AfterClass - public static void destroy() throws Exception { - nodeA.stop(); - nodeB.stop(); - } - - //@Test - public void testKeepServerRunning() throws Exception { - System.out.println("press enter to continue"); - System.in.read(); - } - - @Test - public void testHelloWorldCallbackLocal() throws Exception { - HelloWorldClient helloWorldClientB; - helloWorldClientB = nodeB.getService(HelloWorldClient.class, "BHelloWorldClientCallbackLocal"); - Assert.assertEquals("Hello callback fred", helloWorldClientB.getGreetings("fred")); - } - - @Test - public void testHelloWorldCallbackRemote() throws Exception { - HelloWorldClient helloWorldClientA; - helloWorldClientA = nodeA.getService(HelloWorldClient.class, "AHelloWorldClientCallbackRemote"); - Assert.assertEquals("Hello callback fred", helloWorldClientA.getGreetings("fred")); - } -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/PromotionTestCase.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/PromotionTestCase.java deleted file mode 100644 index 2deb62e6c4..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/PromotionTestCase.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.binding.sca.axis2; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldClient; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -public class PromotionTestCase { - - public static TestNode nodeA; - public static TestNode nodeB; - - @BeforeClass - public static void init() throws Exception { - System.out.println("Setting up nodes"); - - try { - // create and start domains - nodeA = new TestNode("nodeC"); - nodeB = new TestNode("nodeD"); - - nodeA.start(); - nodeB.start(); - - } catch (Exception ex) { - System.err.println("Exception when creating domain " + ex.getMessage()); - ex.printStackTrace(System.err); - throw ex; - } - } - - @AfterClass - public static void destroy() throws Exception { - nodeA.stop(); - nodeB.stop(); - } - - @Test - public void testHelloWorldPromotion() throws Exception { - HelloWorldClient helloWorldClientA; - helloWorldClientA = nodeA.getService(HelloWorldClient.class, "AHelloWorldClientRemotePromotion"); - Assert.assertEquals(helloWorldClientA.getGreetings("fred"), "Hello fred"); - - } - -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/SimpleTestCase.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/SimpleTestCase.java deleted file mode 100644 index 4be4c362ab..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/SimpleTestCase.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.axis2; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldClient; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import org.oasisopen.sca.ServiceUnavailableException; - -public class SimpleTestCase { - - public static TestNode nodeA; - public static TestNode nodeB; - - @BeforeClass - public static void init() throws Exception { - System.out.println("Setting up nodes"); - - try { - // create and start domains - nodeA = new TestNode("nodeA"); - nodeB = new TestNode("nodeB"); - - nodeA.start(); - nodeB.start(); - - } catch (Exception ex) { - System.err.println("Exception when creating domain " + ex.getMessage()); - ex.printStackTrace(System.err); - throw ex; - } - } - - @AfterClass - public static void destroy() throws Exception { - nodeA.stop(); - nodeB.stop(); - } - - @Test - public void testHelloWorldLocal() throws Exception { - HelloWorldClient helloWorldClientA = nodeA.getService(HelloWorldClient.class, "AHelloWorldClientLocal"); - Assert.assertEquals(helloWorldClientA.getGreetings("fred"), "Hello fred"); - - } - - @Test - public void testHelloWorldRemote() throws Exception { - - HelloWorldClient helloWorldClientA; - helloWorldClientA = nodeA.getService(HelloWorldClient.class, "AHelloWorldClientRemote"); - - try { - helloWorldClientA.getGreetings("fred"); - } catch (ServiceUnavailableException ex){ - Assert.fail(); - } - } - - @Test - public void testHelloWorldLocalAndRemote() throws Exception { - HelloWorldClient helloWorldClientA = nodeA.getService(HelloWorldClient.class, "AHelloWorldClientLocalAndRemote"); - HelloWorldClient helloWorldClientB = nodeB.getService(HelloWorldClient.class, "BHelloWorldClientLocalAndRemote"); - Assert.assertEquals(helloWorldClientA.getGreetings("fred"), "Hello fred"); - Assert.assertEquals(helloWorldClientB.getGreetings("fred"), "Hello fred"); - } - - @Test - public void testHelloWorldMultipleServices() throws Exception { - HelloWorldClient helloWorldClientA = nodeA.getService(HelloWorldClient.class, "AHelloWorldClientMultipleServices"); - HelloWorldClient helloWorldClientA2 = nodeA.getService(HelloWorldClient.class, "AHelloWorldClientMultipleServices2"); - HelloWorldClient helloWorldClientB = nodeB.getService(HelloWorldClient.class, "BHelloWorldClientMultipleServices"); - Assert.assertEquals(helloWorldClientA.getGreetings("fred"), "Hello fred"); - Assert.assertEquals(helloWorldClientA2.getGreetings("fred"), "Hello fred"); - Assert.assertEquals(helloWorldClientB.getGreetings("fred"), "Hello fred"); - } - - @Test - public void testHelloWorldMultipleBindings() throws Exception { - HelloWorldClient helloWorldClientA; - helloWorldClientA = nodeA.getService(HelloWorldClient.class, "AHelloWorldClientMultipleBindings"); - Assert.assertEquals(helloWorldClientA.getGreetings("fred"), "Hello fred"); - - } - -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestNode.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestNode.java deleted file mode 100644 index 1849479ed2..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestNode.java +++ /dev/null @@ -1,232 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.axis2; - -import java.net.URL; -import java.util.logging.Logger; - -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.ComponentService; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.CompositeService; -import org.apache.tuscany.sca.assembly.SCABinding; -import org.apache.tuscany.sca.assembly.SCABindingFactory; -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.service.ContributionService; -import org.apache.tuscany.sca.core.context.ServiceReferenceImpl; -import org.apache.tuscany.sca.host.embedded.impl.ReallySmallRuntime; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentContext; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * The very minimum node implementation to get these tests going without creating a dependency on - * any runtime/hosting implementation - * - * @version $Rev: 552343 $ $Date: 2007-09-20 14:53:40 +0100 (Thu, 20 Sep 2007) $ - */ -public class TestNode { - - private static final Logger logger = Logger.getLogger(TestNode.class.getName()); - - private String nodeName; - private ReallySmallRuntime nodeRuntime; - - private ClassLoader cl = TestNode.class.getClassLoader(); - - private Composite nodeComposite = null; - private Composite appComposite = null; - - public TestNode(String nodeName) - throws Exception { - this.nodeName = nodeName; - - try { - - // create and start domainA - nodeRuntime = new ReallySmallRuntime(cl); - nodeRuntime.start(); - - // Create an in-memory domain level composite - AssemblyFactory assemblyFactory = nodeRuntime.getAssemblyFactory(); - nodeComposite = assemblyFactory.createComposite(); - nodeComposite.setName(new QName(Constants.SCA10_NS, "domain")); - nodeComposite.setURI("http://localhost"); - - // add the top level composite into the composite activator - nodeRuntime.getCompositeActivator().setDomainComposite(nodeComposite); - - // add a contribution to the domain - ContributionService contributionService = nodeRuntime.getContributionService(); - - // find the current directory as a URL. This is where our contribution - // will come from - URL contributionURL = Thread.currentThread().getContextClassLoader().getResource(nodeName + "/"); - - // Contribute the SCA application - Contribution contribution = contributionService.contribute("http://calculator", contributionURL, null, false); - appComposite = contribution.getDeployables().get(0); - - // Add the deployable composite to the domain - nodeComposite.getIncludes().add(appComposite); - nodeRuntime.buildComposite(appComposite); - nodeRuntime.getCompositeActivator().activate(appComposite); - - - } catch (Exception ex) { - System.err.println("Exception when creating node " + ex.getMessage()); - ex.printStackTrace(System.err); - throw ex; - } - } - - public void start() { - - try { - nodeRuntime.getCompositeActivator().start(appComposite); - } catch (Exception ex) { - System.err.println("Exception when creating domain " + ex.getMessage()); - ex.printStackTrace(System.err); - } - - } - - public void stop() { - try { - nodeRuntime.stop(); - } catch (Exception ex) { - System.err.println("Exception when creating domain " + ex.getMessage()); - ex.printStackTrace(System.err); - } - } - - public B getService(Class businessInterface, String serviceName) { - ServiceReference serviceReference = getServiceReference(businessInterface, serviceName); - if (serviceReference == null) { - throw new ServiceRuntimeException("Service not found: " + serviceName); - } - return serviceReference.getService(); - } - - private ServiceReference createServiceReference(Class businessInterface, String targetURI) { - try { - AssemblyFactory assemblyFactory = nodeRuntime.getAssemblyFactory(); - Composite composite = assemblyFactory.createComposite(); - composite.setName(new QName(Constants.SCA10_TUSCANY_NS, "default")); - RuntimeComponent component = (RuntimeComponent)assemblyFactory.createComponent(); - component.setName("default"); - component.setURI("default"); - nodeRuntime.getCompositeActivator().configureComponentContext(component); - composite.getComponents().add(component); - RuntimeComponentReference reference = (RuntimeComponentReference)assemblyFactory.createComponentReference(); - reference.setName("default"); - ModelFactoryExtensionPoint factories = - nodeRuntime.getExtensionPointRegistry().getExtensionPoint(ModelFactoryExtensionPoint.class); - JavaInterfaceFactory javaInterfaceFactory = factories.getFactory(JavaInterfaceFactory.class); - InterfaceContract interfaceContract = javaInterfaceFactory.createJavaInterfaceContract(); - interfaceContract.setInterface(javaInterfaceFactory.createJavaInterface(businessInterface)); - reference.setInterfaceContract(interfaceContract); - component.getReferences().add(reference); - reference.setComponent(component); - SCABindingFactory scaBindingFactory = factories.getFactory(SCABindingFactory.class); - SCABinding binding = scaBindingFactory.createSCABinding(); - binding.setURI(targetURI); - reference.getBindings().add(binding); - return new ServiceReferenceImpl(businessInterface, component, reference, binding, nodeRuntime - .getProxyFactory(), nodeRuntime.getCompositeActivator()); - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - } - - public ServiceReference getServiceReference(Class businessInterface, String name) { - - // Extract the component name - String componentName; - String serviceName; - int i = name.indexOf('/'); - if (i != -1) { - componentName = name.substring(0, i); - serviceName = name.substring(i + 1); - - } else { - componentName = name; - serviceName = null; - } - - // Lookup the component in the domain - - Component component = null; - - for (Composite composite: nodeComposite.getIncludes()) { - for (Component componentLoop: composite.getComponents()) { - if (componentLoop.getName().equals(componentName)) { - component = componentLoop; - break; - } - } - } - if (component == null) { - // The component is not local in the partition, try to create a remote service ref - return createServiceReference(businessInterface, name); - } - RuntimeComponentContext componentContext = null; - - // If the component is a composite, then we need to find the - // non-composite component that provides the requested service - if (component.getImplementation() instanceof Composite) { - for (ComponentService componentService : component.getServices()) { - if (serviceName == null || serviceName.equals(componentService.getName())) { - CompositeService compositeService = (CompositeService)componentService.getService(); - if (compositeService != null) { - if (serviceName != null) { - serviceName = "$promoted$" + component.getName() + "$slash$" + serviceName; - } - componentContext = - ((RuntimeComponent)compositeService.getPromotedComponent()).getComponentContext(); - return componentContext.createSelfReference(businessInterface, compositeService - .getPromotedService()); - } - break; - } - } - // No matching service is found - throw new ServiceRuntimeException("Composite service not found: " + name); - } else { - componentContext = ((RuntimeComponent)component).getComponentContext(); - if (serviceName != null) { - return componentContext.createSelfReference(businessInterface, serviceName); - } else { - return componentContext.createSelfReference(businessInterface); - } - } - } - -} - diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldCallbackRemote.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldCallbackRemote.java deleted file mode 100644 index 0de092052f..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldCallbackRemote.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.binding.sca.axis2.helloworld; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface HelloWorldCallbackRemote { - - String getGreetingsCallbackRemote(String s); - -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldClient.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldClient.java deleted file mode 100644 index e4d36ac78b..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldClient.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.sca.axis2.helloworld; - - -public interface HelloWorldClient { - - String getGreetings(String s); - -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceCallbackOnewayRemote.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceCallbackOnewayRemote.java deleted file mode 100644 index 5b2f73f9e2..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceCallbackOnewayRemote.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.binding.sca.axis2.helloworld; - -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -@Callback(HelloWorldCallbackRemote.class) -public interface HelloWorldServiceCallbackOnewayRemote { - - @OneWay - void getGreetingsRemote(String s); - -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceCallbackRemote.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceCallbackRemote.java deleted file mode 100644 index f4c4354a39..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceCallbackRemote.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.sca.axis2.helloworld; - -import org.oasisopen.sca.annotation.Callback; -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -@Callback(HelloWorldCallbackRemote.class) -public interface HelloWorldServiceCallbackRemote { - - String getGreetingsRemote(String s); - -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceLocal.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceLocal.java deleted file mode 100644 index 7b8e00eb2a..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceLocal.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.sca.axis2.helloworld; - - -public interface HelloWorldServiceLocal { - - String getGreetingsLocal(String s); - -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceRemote.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceRemote.java deleted file mode 100644 index 2cec5893a9..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceRemote.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.binding.sca.axis2.helloworld; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface HelloWorldServiceRemote { - - String getGreetingsRemote(String s); - -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceRemote2.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceRemote2.java deleted file mode 100644 index f4029e0ad5..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/HelloWorldServiceRemote2.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.binding.sca.axis2.helloworld; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface HelloWorldServiceRemote2 { - - String getGreetingsRemote2(String s); - -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientCallbackOnewayRemoteImpl.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientCallbackOnewayRemoteImpl.java deleted file mode 100644 index 00fe836512..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientCallbackOnewayRemoteImpl.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.sca.axis2.helloworld.impl; - -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldClient; -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldServiceCallbackOnewayRemote; -import org.oasisopen.sca.annotation.Reference; - -public class HelloWorldClientCallbackOnewayRemoteImpl implements HelloWorldClient { - - public static String result; - - @Reference - public HelloWorldServiceCallbackOnewayRemote helloWorldService; - - public String getGreetings(String s) { - helloWorldService.getGreetingsRemote(s); - return null; - } - - public String getGreetingsCallbackRemote(String s) { - result = "callback " + s; - return result; - } - -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientCallbackRemoteImpl.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientCallbackRemoteImpl.java deleted file mode 100644 index df9a09c5fb..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientCallbackRemoteImpl.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.binding.sca.axis2.helloworld.impl; - -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldClient; -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldServiceCallbackRemote; -import org.oasisopen.sca.annotation.Reference; - -public class HelloWorldClientCallbackRemoteImpl implements HelloWorldClient { - - public static String result; - - @Reference - public HelloWorldServiceCallbackRemote helloWorldService; - - public String getGreetings(String s) { - return helloWorldService.getGreetingsRemote(s); - } - - public String getGreetingsCallbackRemote(String s) { - result = "callback " + s; - return result; - } - -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientLocalImpl.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientLocalImpl.java deleted file mode 100644 index dcefef52e7..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientLocalImpl.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.sca.axis2.helloworld.impl; - -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldClient; -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldServiceLocal; -import org.oasisopen.sca.annotation.Reference; - -public class HelloWorldClientLocalImpl implements HelloWorldClient { - - @Reference - public HelloWorldServiceLocal helloWorldService; - - public String getGreetings(String s) { - return helloWorldService.getGreetingsLocal(s); - } - -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientRemote2Impl.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientRemote2Impl.java deleted file mode 100644 index 628434108e..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientRemote2Impl.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.sca.axis2.helloworld.impl; - -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldClient; -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldServiceRemote2; -import org.oasisopen.sca.annotation.Reference; - -public class HelloWorldClientRemote2Impl implements HelloWorldClient { - - @Reference - public HelloWorldServiceRemote2 helloWorldService; - - public String getGreetings(String s) { - return helloWorldService.getGreetingsRemote2(s); - } - -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientRemoteImpl.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientRemoteImpl.java deleted file mode 100644 index 0dbb58272c..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldClientRemoteImpl.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.sca.axis2.helloworld.impl; - -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldClient; -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldServiceRemote; -import org.oasisopen.sca.annotation.Reference; - -public class HelloWorldClientRemoteImpl implements HelloWorldClient { - - @Reference - public HelloWorldServiceRemote helloWorldService; - - public String getGreetings(String s) { - return helloWorldService.getGreetingsRemote(s); - } - -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceCallbackOnewayRemoteImpl.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceCallbackOnewayRemoteImpl.java deleted file mode 100644 index 2d2fe0146d..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceCallbackOnewayRemoteImpl.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.sca.axis2.helloworld.impl; - -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldCallbackRemote; -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldServiceCallbackOnewayRemote; -import org.oasisopen.sca.annotation.Callback; - - -public class HelloWorldServiceCallbackOnewayRemoteImpl implements HelloWorldServiceCallbackOnewayRemote { - - @Callback - protected HelloWorldCallbackRemote theCallback; - - public void getGreetingsRemote(String s) { - theCallback.getGreetingsCallbackRemote(s); - } - -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceCallbackRemoteImpl.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceCallbackRemoteImpl.java deleted file mode 100644 index 219525e62d..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceCallbackRemoteImpl.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.sca.axis2.helloworld.impl; - -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldCallbackRemote; -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldServiceCallbackRemote; -import org.oasisopen.sca.annotation.Callback; - -public class HelloWorldServiceCallbackRemoteImpl implements HelloWorldServiceCallbackRemote { - - @Callback - protected HelloWorldCallbackRemote theCallback; - - public String getGreetingsRemote(String s) { - return "Hello " + theCallback.getGreetingsCallbackRemote(s); - } - -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceLocalImpl.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceLocalImpl.java deleted file mode 100644 index 20dd97b74a..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceLocalImpl.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.sca.axis2.helloworld.impl; - -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldServiceLocal; - -public class HelloWorldServiceLocalImpl implements HelloWorldServiceLocal { - - public String getGreetingsLocal(String s) { - return "Hello " + s; - } - -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceMultipleServicesImpl.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceMultipleServicesImpl.java deleted file mode 100644 index b34d809958..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceMultipleServicesImpl.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.sca.axis2.helloworld.impl; - -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldServiceLocal; -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldServiceRemote; -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldServiceRemote2; -import org.oasisopen.sca.annotation.Service; - -@Service(interfaces={HelloWorldServiceRemote.class, HelloWorldServiceRemote2.class, HelloWorldServiceLocal.class} ) -public class HelloWorldServiceMultipleServicesImpl implements HelloWorldServiceLocal, HelloWorldServiceRemote, HelloWorldServiceRemote2 { - - public String getGreetingsLocal(String s) { - return "Hello " + s; - } - - public String getGreetingsRemote(String s) { - return "Hello " + s; - } - - public String getGreetingsRemote2(String s) { - return "Hello " + s; - } -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceRemoteImpl.java b/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceRemoteImpl.java deleted file mode 100644 index b25aebd9df..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/helloworld/impl/HelloWorldServiceRemoteImpl.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.sca.axis2.helloworld.impl; - -import org.apache.tuscany.sca.binding.sca.axis2.helloworld.HelloWorldServiceRemote; - -public class HelloWorldServiceRemoteImpl implements HelloWorldServiceRemote { - - public String getGreetingsRemote(String s) { - return "Hello " + s; - } - -} diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactory b/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactory deleted file mode 100644 index 5e4fd566c3..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/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.binding.sca.axis2.BindingScaEndpointResolverFactoryImpl;model=org.apache.tuscany.sca.assembly.SCABinding diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeA/HelloWorld.composite b/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeA/HelloWorld.composite deleted file mode 100644 index 093258051e..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeA/HelloWorld.composite +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeA/META-INF/sca-contribution.xml b/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeA/META-INF/sca-contribution.xml deleted file mode 100644 index d6b9e82250..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeA/META-INF/sca-contribution.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeB/HelloWorld.composite b/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeB/HelloWorld.composite deleted file mode 100644 index 8cf7230ed5..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeB/HelloWorld.composite +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeB/META-INF/sca-contribution.xml b/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeB/META-INF/sca-contribution.xml deleted file mode 100644 index d6b9e82250..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeB/META-INF/sca-contribution.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeC/HelloWorld.composite b/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeC/HelloWorld.composite deleted file mode 100644 index 066727f76d..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeC/HelloWorld.composite +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeC/HelloWorldComponent.composite b/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeC/HelloWorldComponent.composite deleted file mode 100644 index 485e0815d2..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeC/HelloWorldComponent.composite +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeC/META-INF/sca-contribution.xml b/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeC/META-INF/sca-contribution.xml deleted file mode 100644 index d6b9e82250..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeC/META-INF/sca-contribution.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeD/HelloWorld.composite b/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeD/HelloWorld.composite deleted file mode 100644 index a5a4f04cb5..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeD/HelloWorld.composite +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeD/HelloWorldComponent.composite b/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeD/HelloWorldComponent.composite deleted file mode 100644 index bf30bdf42d..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeD/HelloWorldComponent.composite +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeD/META-INF/sca-contribution.xml b/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeD/META-INF/sca-contribution.xml deleted file mode 100644 index d6b9e82250..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeD/META-INF/sca-contribution.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeE/HelloWorld.composite b/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeE/HelloWorld.composite deleted file mode 100644 index b519793290..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeE/HelloWorld.composite +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeE/META-INF/sca-contribution.xml b/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeE/META-INF/sca-contribution.xml deleted file mode 100644 index d6b9e82250..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeE/META-INF/sca-contribution.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeF/HelloWorld.composite b/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeF/HelloWorld.composite deleted file mode 100644 index 20a6c54e6e..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeF/HelloWorld.composite +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeF/META-INF/sca-contribution.xml b/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeF/META-INF/sca-contribution.xml deleted file mode 100644 index d6b9e82250..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeF/META-INF/sca-contribution.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeG/HelloWorld.composite b/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeG/HelloWorld.composite deleted file mode 100644 index a76008d0c5..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeG/HelloWorld.composite +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeG/META-INF/sca-contribution.xml b/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeG/META-INF/sca-contribution.xml deleted file mode 100644 index d6b9e82250..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeG/META-INF/sca-contribution.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeH/HelloWorld.composite b/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeH/HelloWorld.composite deleted file mode 100644 index 0c22af22ab..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeH/HelloWorld.composite +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeH/META-INF/sca-contribution.xml b/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeH/META-INF/sca-contribution.xml deleted file mode 100644 index d6b9e82250..0000000000 --- a/java/sca/contrib/modules/binding-sca-axis2/src/test/resources/nodeH/META-INF/sca-contribution.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-sca-corba/LICENSE b/java/sca/contrib/modules/binding-sca-corba/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/java/sca/contrib/modules/binding-sca-corba/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/java/sca/contrib/modules/binding-sca-corba/NOTICE b/java/sca/contrib/modules/binding-sca-corba/NOTICE deleted file mode 100644 index 51042eab05..0000000000 --- a/java/sca/contrib/modules/binding-sca-corba/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-sca-corba/pom.xml b/java/sca/contrib/modules/binding-sca-corba/pom.xml deleted file mode 100644 index 2107e2f322..0000000000 --- a/java/sca/contrib/modules/binding-sca-corba/pom.xml +++ /dev/null @@ -1,114 +0,0 @@ - - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-sca-corba - - Apache Tuscany SCA CORBA-based Default Binding Extension - - - - - - org.apache.tuscany.sca - tuscany-binding-sca - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-corba - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-corba-runtime - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-corba - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-corba-jse - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-interface-wsdl - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-databinding-axiom - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-ws-wsdlgen - 2.0-SNAPSHOT - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - - ${tuscany.version} - - - org.apache.tuscany.sca.binding.sca.corba - - - ${pom.name} - - - org.apache.tuscany.sca.binding.sca.corba* - - - - - - - - diff --git a/java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/CorbaSCABindingProviderFactory.java b/java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/CorbaSCABindingProviderFactory.java deleted file mode 100644 index 2eee714de6..0000000000 --- a/java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/CorbaSCABindingProviderFactory.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.impl; - -import org.apache.tuscany.sca.binding.sca.DistributedSCABinding; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.host.corba.CorbaHost; -import org.apache.tuscany.sca.host.corba.CorbaHostExtensionPoint; -import org.apache.tuscany.sca.host.corba.ExtensibleCorbaHost; -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; - -/** - * Binding provider factory for SCA default binding over CORBA binding - */ -public class CorbaSCABindingProviderFactory implements BindingProviderFactory { - - private CorbaHostExtensionPoint chep; - private CorbaHost host; - private ExtensionPointRegistry extensions; - - public CorbaSCABindingProviderFactory(ExtensionPointRegistry extensions) { - this.extensions = extensions; - chep = extensions.getExtensionPoint(CorbaHostExtensionPoint.class); - host = new ExtensibleCorbaHost(chep); - } - - public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - DistributedSCABinding binding) { - return new CorbaSCAReferenceBindingProvider(binding.getSCABinding(), host, component, reference, extensions); - } - - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - DistributedSCABinding binding) { - return new CorbaSCAServiceBindingProvider(binding.getSCABinding(), host, component, service, extensions); - } - - public Class getModelType() { - return DistributedSCABinding.class; - } -} diff --git a/java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/CorbaSCAInvocationProxy.java b/java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/CorbaSCAInvocationProxy.java deleted file mode 100644 index a9cc890616..0000000000 --- a/java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/CorbaSCAInvocationProxy.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.corba.impl; - -import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.xml.stream.XMLStreamException; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.binding.corba.impl.exceptions.RequestConfigurationException; -import org.apache.tuscany.sca.binding.corba.impl.service.InvocationException; -import org.apache.tuscany.sca.binding.corba.impl.service.InvocationProxy; -import org.apache.tuscany.sca.binding.corba.impl.service.OperationTypes; -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTree; -import org.apache.tuscany.sca.binding.corba.impl.types.TypeTreeCreator; -import org.apache.tuscany.sca.interfacedef.Interface; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.util.FaultException; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.invocation.MessageFactory; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * Invocation proxy for SCA default binding over CORBA binding - */ -public class CorbaSCAInvocationProxy implements InvocationProxy { - - private static final Logger logger = Logger.getLogger(CorbaSCAInvocationProxy.class.getName()); - private RuntimeWire wire; - private Interface componentInterface; - private OperationTypes types = new OperationTypes(); - private MessageFactory messageFactory; - - public CorbaSCAInvocationProxy(RuntimeWire wire, Interface componentInterface, MessageFactory messageFactory) { - this.wire = wire; - this.componentInterface = componentInterface; - this.messageFactory = messageFactory; - try { - List inputType = new ArrayList(); - inputType.add(TypeTreeCreator.createTypeTree(String.class, null)); - types.setInputType(inputType); - types.setOutputType(TypeTreeCreator.createTypeTree(String.class, null)); - } catch (RequestConfigurationException e) { - // ignore - string type should not cause this exception - } - } - - public Object invoke(String operationName, List arguments) throws InvocationException { - try { - OMElement omContent = CorbaSCAInvoker.stringToOM((String)arguments.get(0)); - String componentOperationName = omContent.getQName().getLocalPart(); - Operation componentOperation = null; - for (Operation operation : componentInterface.getOperations()) { - if (operation.getName().equals(componentOperationName)) { - componentOperation = operation; - break; - } - } - if (componentOperation != null) { - Message msg = messageFactory.createMessage(); - msg.setOperation(componentOperation); - Object[] args = new Object[1]; - args[0] = omContent; - msg.setBody(args); - OMElement omResult = (OMElement)wire.invoke(componentOperation, msg); - return omResult.toStringWithConsume(); - } - } catch (XMLStreamException e) { - logger.log(Level.WARNING, "XMLStreamException during handling invocation target exception", e); - } catch (InvocationTargetException e) { - OMElement omException = (OMElement)((FaultException)e.getCause()).getFaultInfo(); - try { - WrappedSCAException wrappedException = new WrappedSCAException(omException.toStringWithConsume()); - InvocationException exception = new InvocationException(wrappedException); - throw exception; - } catch (XMLStreamException xmle) { - logger.log(Level.WARNING, "XMLStreamException during handling invocation target exception", xmle); - } - - } - - return null; - } - - public OperationTypes getOperationTypes(String operationName) { - // ignoring operationName - only one operation for this proxy is allowed - return types; - } - -} diff --git a/java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/CorbaSCAInvoker.java b/java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/CorbaSCAInvoker.java deleted file mode 100644 index 5816ff1c4c..0000000000 --- a/java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/CorbaSCAInvoker.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.sca.corba.impl; - -import java.io.ByteArrayInputStream; -import java.lang.reflect.Method; -import java.util.Map; - -import javax.xml.stream.XMLStreamException; - -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.impl.builder.StAXOMBuilder; -import org.apache.tuscany.sca.binding.corba.impl.exceptions.RequestConfigurationException; -import org.apache.tuscany.sca.binding.corba.impl.reference.DynaCorbaRequest; -import org.apache.tuscany.sca.binding.corba.impl.reference.DynaCorbaResponse; -import org.apache.tuscany.sca.interfacedef.util.FaultException; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.omg.CORBA.Object; -import org.oasisopen.sca.ServiceRuntimeException; - -public class CorbaSCAInvoker implements Invoker { - - private Object remoteObject; - private Class referenceClass; - - public CorbaSCAInvoker(Object remoteObject, - Class referenceClass, - Map operationsMap, - boolean scaBindingRules) { - this.remoteObject = remoteObject; - this.referenceClass = referenceClass; - } - - /** - * @see org.apache.tuscany.sca.invocation.Invoker#invoke(org.apache.tuscany.sca.invocation.Message) - */ - public Message invoke(Message msg) { - try { - DynaCorbaRequest request = new DynaCorbaRequest(remoteObject, "scaService"); - request.setReferenceClass(referenceClass); - request.setOutputType(String.class); - request.addExceptionType(WrappedSCAException.class); - java.lang.Object[] args = msg.getBody(); - OMElement omElement = (OMElement)args[0]; - String arg = omElement.toStringWithConsume(); - request.addArgument(arg); - DynaCorbaResponse response = request.invoke(); - OMElement responseOM = stringToOM((String)response.getContent()); - msg.setBody(responseOM); - } catch (WrappedSCAException e) { - try { - OMElement exceptionOM = stringToOM(e.getFault()); - // AxisFault axisFault = new AxisFault(""); - // axisFault.setDetail(exceptionOM); - FaultException f = new FaultException(e.getMessage(), exceptionOM, e); - f.setFaultName(exceptionOM.getQName()); - msg.setFaultBody(f); - } catch (XMLStreamException e1) { - } - } catch (RequestConfigurationException e) { - throw new ServiceRuntimeException(e); - } catch (Exception e) { - msg.setFaultBody(e); - } - return msg; - } - - /** - * This will help you to create an OMElement from an xml fragment which you have as a string. - * - * @param xmlFragment - the well-formed xml fragment - * @return The OMElement created out of the string xml fragment. - * @throws XMLStreamException - */ - static OMElement stringToOM(String xmlFragment) throws XMLStreamException { - if (xmlFragment != null) { - return new StAXOMBuilder(new ByteArrayInputStream(xmlFragment.getBytes())).getDocumentElement(); - } - return null; - } -} diff --git a/java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/CorbaSCAReferenceBindingProvider.java b/java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/CorbaSCAReferenceBindingProvider.java deleted file mode 100644 index c578f8bdf4..0000000000 --- a/java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/CorbaSCAReferenceBindingProvider.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.binding.sca.corba.impl; - -import java.util.logging.Logger; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.assembly.SCABinding; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory; -import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.host.corba.CorbaHost; -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; -import org.omg.CORBA.Object; - -/** - * Reference binding provider for SCA default binding over CORBA binding - */ -public class CorbaSCAReferenceBindingProvider implements ReferenceBindingProvider { - - private static final Logger logger = Logger.getLogger(CorbaSCAReferenceBindingProvider.class.getName()); - - private SCABinding binding; - private CorbaHost host; - private Object remoteObject; - private Class referenceClass; - private InterfaceContract wsdlInterfaceContract; - - public CorbaSCAReferenceBindingProvider(SCABinding binding, - CorbaHost host, - RuntimeComponent component, - RuntimeComponentReference reference, - ExtensionPointRegistry extensions) { - this.binding = binding; - this.host = host; - - WebServiceBindingFactory wsFactory = extensions.getExtensionPoint(WebServiceBindingFactory.class); - WebServiceBinding wsBinding = wsFactory.createWebServiceBinding(); - BindingWSDLGenerator.generateWSDL(component, reference, wsBinding, extensions, null); - wsdlInterfaceContract = wsBinding.getBindingInterfaceContract(); - wsdlInterfaceContract.getInterface().resetDataBinding(OMElement.class.getName()); - } - - public InterfaceContract getBindingInterfaceContract() { - return wsdlInterfaceContract; - } - - public boolean supportsOneWayInvocation() { - return false; - } - - public Invoker createInvoker(Operation operation) { - try { - if (remoteObject == null) { - remoteObject = host.lookup(binding.getURI()); - } - return new CorbaSCAInvoker(remoteObject, referenceClass, null, true); - } catch (Exception e) { - logger.warning(e.getMessage()); - } - return null; - } - - public void start() { - - } - - public void stop() { - - } - -} diff --git a/java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/CorbaSCAServiceBindingProvider.java b/java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/CorbaSCAServiceBindingProvider.java deleted file mode 100644 index 5ad74ec0bd..0000000000 --- a/java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/CorbaSCAServiceBindingProvider.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.sca.corba.impl; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.assembly.SCABinding; -import org.apache.tuscany.sca.binding.corba.impl.service.DynaCorbaServant; -import org.apache.tuscany.sca.binding.corba.impl.service.InvocationProxy; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory; -import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.host.corba.CorbaHost; -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.oasisopen.sca.ServiceRuntimeException; - -/** - * Service binding provider for SCA default binding over CORBA binding - */ -public class CorbaSCAServiceBindingProvider implements ServiceBindingProvider { - - private SCABinding binding; - private CorbaHost host; - private RuntimeComponentService service; - private DynaCorbaServant servant; - private MessageFactory messageFactory; - private InterfaceContract wsdlInterfaceContract; - - public CorbaSCAServiceBindingProvider(SCABinding binding, - CorbaHost host, - RuntimeComponent component, - RuntimeComponentService service, - ExtensionPointRegistry extensions) { - this.binding = binding; - this.host = host; - this.service = service; - - messageFactory = extensions.getExtensionPoint(MessageFactory.class); - - WebServiceBindingFactory wsFactory = extensions.getExtensionPoint(WebServiceBindingFactory.class); - WebServiceBinding wsBinding = wsFactory.createWebServiceBinding(); - BindingWSDLGenerator.generateWSDL(component, service, wsBinding, extensions, null); - wsdlInterfaceContract = wsBinding.getBindingInterfaceContract(); - wsdlInterfaceContract.getInterface().resetDataBinding(OMElement.class.getName()); - } - - public InterfaceContract getBindingInterfaceContract() { - return wsdlInterfaceContract; - } - - public boolean supportsOneWayInvocation() { - return false; - } - - public void start() { - try { - InvocationProxy proxy = - new CorbaSCAInvocationProxy(service.getRuntimeWire(binding), service.getInterfaceContract() - .getInterface(), messageFactory); - servant = new DynaCorbaServant(proxy, "IDL:org/apache/tuscany/sca/binding/sca/corba/Service:1.0"); - host.registerServant(binding.getURI(), servant); - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - } - - public void stop() { - try { - host.unregisterServant(binding.getURI()); - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - - } - -} diff --git a/java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/WrappedSCAException.java b/java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/WrappedSCAException.java deleted file mode 100644 index 128d5ef159..0000000000 --- a/java/sca/contrib/modules/binding-sca-corba/src/main/java/org/apache/tuscany/sca/binding/sca/corba/impl/WrappedSCAException.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.sca.corba.impl; - -/** - * Exception holder for SCA default binding over CORBA. Holds fault message in - * XML - */ -public class WrappedSCAException extends Exception { - - private static final long serialVersionUID = 1L; - public String fault; - - /** - * Creates exception holder with null fault message. This no argument - * constructor is needed by CORBA binding. - */ - public WrappedSCAException() { - - } - - /** - * Creates exception holder with fault message - * - * @param fault XML fault message - */ - public WrappedSCAException(String fault) { - this.fault = fault; - } - - public String getFault() { - return fault; - } - - public void setFault(String fault) { - this.fault = fault; - } - -} diff --git a/java/sca/contrib/modules/binding-sca-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/java/sca/contrib/modules/binding-sca-corba/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory deleted file mode 100644 index e07a7cbb95..0000000000 --- a/java/sca/contrib/modules/binding-sca-corba/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.corba.impl.CorbaSCABindingProviderFactory;model=org.apache.tuscany.sca.binding.sca.DistributedSCABinding diff --git a/java/sca/contrib/modules/binding-sca-jms/LICENSE b/java/sca/contrib/modules/binding-sca-jms/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-sca-jms/NOTICE b/java/sca/contrib/modules/binding-sca-jms/NOTICE deleted file mode 100644 index 51042eab05..0000000000 --- a/java/sca/contrib/modules/binding-sca-jms/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-sca-jms/pom.xml b/java/sca/contrib/modules/binding-sca-jms/pom.xml deleted file mode 100644 index b870e5e384..0000000000 --- a/java/sca/contrib/modules/binding-sca-jms/pom.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-sca-jms - Apache Tuscany SCA JMS-based Default Binding Extension - - - - - org.apache.tuscany.sca - tuscany-binding-sca - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-jms-runtime - 2.0-SNAPSHOT - - - - org.apache.activemq - activemq-core - 5.1.0 - - - - org.easymock - easymock - 2.2 - test - - - - org.apache.tuscany.sca - tuscany-host-jetty - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-endpoint - 2.0-SNAPSHOT - test - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.sca.jms - ${pom.name} - org.apache.tuscany.sca.binding.sca.jms* - - - - - - - diff --git a/java/sca/contrib/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/AMQJMSResourceFactory.java b/java/sca/contrib/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/AMQJMSResourceFactory.java deleted file mode 100644 index 3216e51d6e..0000000000 --- a/java/sca/contrib/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/AMQJMSResourceFactory.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.binding.sca.jms; - -import javax.jms.JMSException; -import javax.naming.NamingException; - -import org.apache.activemq.ActiveMQConnection; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactoryImpl; - -public class AMQJMSResourceFactory extends JMSResourceFactoryImpl { - - public AMQJMSResourceFactory(String connectionFactoryName, String initialContextFactoryName, String jndiURL) { - super(connectionFactoryName, initialContextFactoryName, jndiURL); - } - - @Override - protected void createConnection() throws NamingException, JMSException { - super.createConnection(); - ((ActiveMQConnection)connection).setWatchTopicAdvisories(false); - } -} diff --git a/java/sca/contrib/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/AMQResourceFactoryExtensionPoint.java b/java/sca/contrib/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/AMQResourceFactoryExtensionPoint.java deleted file mode 100644 index f1acdd8190..0000000000 --- a/java/sca/contrib/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/AMQResourceFactoryExtensionPoint.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.binding.sca.jms; - -import org.apache.tuscany.sca.binding.jms.impl.JMSBinding; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactory; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactoryExtensionPoint; - -public class AMQResourceFactoryExtensionPoint implements JMSResourceFactoryExtensionPoint{ - - public JMSResourceFactory createJMSResourceFactory(JMSBinding binding) { - return new AMQJMSResourceFactory(binding.getConnectionFactoryName(), binding.getInitialContextFactoryName(), binding.getJndiURL()); - } - -} diff --git a/java/sca/contrib/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSBroker.java b/java/sca/contrib/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSBroker.java deleted file mode 100644 index 28e7ff9797..0000000000 --- a/java/sca/contrib/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSBroker.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.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) { - e.printStackTrace(); - throw new RuntimeException(e); - } - } - } - - public void stop(ExtensionPointRegistry arg0) { - if (broker != null) { - try { - broker.stop(); - broker = null; - } catch (Exception e) { - throw new RuntimeException(e); - } - } - } - - public static BrokerService getBroker() { - return broker; - } - -} diff --git a/java/sca/contrib/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSSCABindingProviderFactory.java b/java/sca/contrib/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSSCABindingProviderFactory.java deleted file mode 100644 index d839602198..0000000000 --- a/java/sca/contrib/modules/binding-sca-jms/src/main/java/org/apache/tuscany/sca/binding/sca/jms/JMSSCABindingProviderFactory.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jms.provider.JMSResourceFactory; -import org.apache.tuscany.sca.binding.jms.provider.JMSResourceFactoryExtensionPoint; -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 { - - private WorkScheduler workScheduler; - private ExtensionPointRegistry extensionPoints; - private JMSResourceFactoryExtensionPoint jmsRFEP; - - public JMSSCABindingProviderFactory(ExtensionPointRegistry extensionPoints) { - this.extensionPoints = extensionPoints; - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - workScheduler = utilities.getUtility(WorkScheduler.class); - assert workScheduler != null; - jmsRFEP = (JMSResourceFactoryExtensionPoint)extensionPoints.getExtensionPoint(JMSResourceFactoryExtensionPoint.class); - if (jmsRFEP == null) { - jmsRFEP = new AMQResourceFactoryExtensionPoint(); - } - } - - 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); - - JMSResourceFactory jmsRF = jmsRFEP.createJMSResourceFactory(jmsBinding); - return new JMSBindingReferenceBindingProvider(component, reference, jmsBinding, extensionPoints, jmsRF); - } - - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - DistributedSCABinding binding) { - JMSBinding jmsBinding = createBinding(binding); - jmsBinding.setDestinationCreate(JMSBindingConstants.CREATE_ALWAYS); - JMSResourceFactory jmsRF = jmsRFEP.createJMSResourceFactory(jmsBinding); - return new JMSBindingServiceBindingProvider(component, service, binding.getSCABinding(), jmsBinding, workScheduler, extensionPoints, jmsRF); - } - - 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.setJMSTimeToLive(9); - - 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 getModelType() { - return DistributedSCABinding.class; - } -} diff --git a/java/sca/contrib/modules/binding-sca-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator b/java/sca/contrib/modules/binding-sca-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator deleted file mode 100644 index f1b9825130..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-sca-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/java/sca/contrib/modules/binding-sca-jms/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory deleted file mode 100644 index 8e53649af1..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/binding-sca-xml/LICENSE b/java/sca/contrib/modules/binding-sca-xml/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/binding-sca-xml/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/java/sca/contrib/modules/binding-sca-xml/META-INF/MANIFEST.MF b/java/sca/contrib/modules/binding-sca-xml/META-INF/MANIFEST.MF deleted file mode 100644 index 4582a90676..0000000000 --- a/java/sca/contrib/modules/binding-sca-xml/META-INF/MANIFEST.MF +++ /dev/null @@ -1,26 +0,0 @@ -Manifest-Version: 1.0 -Private-Package: org.apache.tuscany.sca.binding.sca.xml;version="2.0" -Tool: Bnd-0.0.255 -Bundle-Name: Apache Tuscany SCA Default Binding XML Model -Created-By: 1.6.0_07 (Sun Microsystems Inc.) -Bundle-Vendor: The Apache Software Foundation -Bundle-Version: 2.0 -Bnd-LastModified: 1225397190578 -Bundle-ManifestVersion: 2 -Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt -Bundle-Description: Apache Tuscany SCA Default Binding XML Model -Import-Package: javax.xml.namespace, - javax.xml.stream, - org.apache.tuscany.sca.assembly;version="2.0", - org.apache.tuscany.sca.assembly.builder;version="2.0";resolution:=optional, - org.apache.tuscany.sca.assembly.xml;version="2.0", - org.apache.tuscany.sca.contribution.processor;version="2.0", - org.apache.tuscany.sca.contribution.resolver;version="2.0", - org.apache.tuscany.sca.core;version="2.0", - org.apache.tuscany.sca.definitions;version="2.0";resolution:=optional, - org.apache.tuscany.sca.interfacedef;version="2.0.0", - org.apache.tuscany.sca.monitor;version="2.0", - org.apache.tuscany.sca.policy;version="2.0" -Bundle-SymbolicName: org.apache.tuscany.sca.binding.sca.xml -Bundle-DocURL: http://www.apache.org/ - diff --git a/java/sca/contrib/modules/binding-sca-xml/NOTICE b/java/sca/contrib/modules/binding-sca-xml/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/binding-sca-xml/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-sca-xml/pom.xml b/java/sca/contrib/modules/binding-sca-xml/pom.xml deleted file mode 100644 index a4fd56d1c7..0000000000 --- a/java/sca/contrib/modules/binding-sca-xml/pom.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-sca-xml - Apache Tuscany SCA Default Binding XML Model - - - - - - org.apache.tuscany.sca - tuscany-assembly-xml - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-sca - 2.0-SNAPSHOT - - - - org.easymock - easymock - 2.2 - test - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.sca.xml - ${pom.name} - org.apache.tuscany.sca.binding.sca.xml* - org.apache.tuscany.sca.binding.sca.impl,* - - - - - - - diff --git a/java/sca/contrib/modules/binding-sca-xml/src/main/java/org/apache/tuscany/sca/binding/sca/xml/SCABindingProcessor.java b/java/sca/contrib/modules/binding-sca-xml/src/main/java/org/apache/tuscany/sca/binding/sca/xml/SCABindingProcessor.java deleted file mode 100644 index a3e582c82e..0000000000 --- a/java/sca/contrib/modules/binding-sca-xml/src/main/java/org/apache/tuscany/sca/binding/sca/xml/SCABindingProcessor.java +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.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.SCABinding; -import org.apache.tuscany.sca.assembly.SCABindingFactory; -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.assembly.xml.PolicyAttachPointProcessor; -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.monitor.Monitor; -import org.apache.tuscany.sca.policy.IntentAttachPointType; -import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory; -import org.apache.tuscany.sca.policy.PolicyFactory; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; - -/** - * A processor to read the XML that describes the SCA binding. - * - * @version $Rev$ $Date$ - */ - -public class SCABindingProcessor implements StAXArtifactProcessor, Constants{ - - private PolicyFactory policyFactory; - private SCABindingFactory scaBindingFactory; - private PolicyAttachPointProcessor policyProcessor; - private IntentAttachPointTypeFactory intentAttachPointTypeFactory; - private Monitor monitor; - - protected static final String BINDING_SCA = "binding.sca"; - protected static final QName BINDING_SCA_QNAME = new QName(Constants.SCA10_NS, BINDING_SCA); - - public SCABindingProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - this.policyFactory = modelFactories.getFactory(PolicyFactory.class); - this.scaBindingFactory = modelFactories.getFactory(SCABindingFactory.class); - policyProcessor = new PolicyAttachPointProcessor(policyFactory); - this.intentAttachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class); - this.monitor = monitor; - } - - public QName getArtifactType() { - return BINDING_SCA_QNAME; - } - - public Class getModelType() { - return SCABinding.class; - } - - public SCABinding read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - SCABinding scaBinding = scaBindingFactory.createSCABinding(); - IntentAttachPointType bindingType = intentAttachPointTypeFactory.createBindingType(); - bindingType.setName(getArtifactType()); - bindingType.setUnresolved(true); - ((PolicySetAttachPoint)scaBinding).setType(bindingType); - - // Read policies - policyProcessor.readPolicies(scaBinding, reader); - - // Read binding name - String name = reader.getAttributeValue(null, NAME); - if (name != null) { - scaBinding.setName(name); - } - - // Read binding URI - String uri = reader.getAttributeValue(null, URI); - if (uri != null) { - scaBinding.setURI(uri); - } - - // Skip to end element - while (reader.hasNext()) { - if (reader.next() == END_ELEMENT && BINDING_SCA_QNAME.equals(reader.getName())) { - break; - } - } - return scaBinding; - } - - public void resolve(SCABinding model, ModelResolver resolver) throws ContributionResolveException { - policyProcessor.resolvePolicies(model, resolver); - } - - public void write(SCABinding scaBinding, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - - // Write - policyProcessor.writePolicyPrefixes(scaBinding, writer); - writer.writeStartElement(Constants.SCA10_NS, BINDING_SCA); - policyProcessor.writePolicyAttributes(scaBinding, writer); - - // Write binding name - if (scaBinding.getName() != null) { - writer.writeAttribute(NAME, scaBinding.getName()); - } - - // Write binding URI - if (scaBinding.getURI() != null) { - writer.writeAttribute(URI, scaBinding.getURI()); - } - - writer.writeEndElement(); - } - -} diff --git a/java/sca/contrib/modules/binding-sca-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/binding-sca-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index bc9f9b7d62..0000000000 --- a/java/sca/contrib/modules/binding-sca-xml/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.binding.sca.xml.SCABindingProcessor;qname=http://www.osoa.org/xmlns/sca/1.0#binding.sca,model=org.apache.tuscany.sca.binding.sca.impl.SCABindingImpl diff --git a/java/sca/contrib/modules/binding-sca-xml/src/test/java/org/apace/tuscany/sca/binding/sca/xml/ReadTestCase.java b/java/sca/contrib/modules/binding-sca-xml/src/test/java/org/apace/tuscany/sca/binding/sca/xml/ReadTestCase.java deleted file mode 100644 index a7c7c15eaa..0000000000 --- a/java/sca/contrib/modules/binding-sca-xml/src/test/java/org/apace/tuscany/sca/binding/sca/xml/ReadTestCase.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.apace.tuscany.sca.binding.sca.xml; - -import java.io.InputStream; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamReader; - -import junit.framework.Assert; -import junit.framework.TestCase; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.ComponentType; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.SCABinding; -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.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.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl; -import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory; - -/** - * Test reading WSDL interfaces. - * - * @version $Rev$ $Date$ - */ -public class ReadTestCase extends TestCase { - - private XMLInputFactory inputFactory; - private StAXArtifactProcessor staxProcessor; - private CompositeBuilder compositeBuilder; - - @Override - public void setUp() throws Exception { - ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - - inputFactory = XMLInputFactory.newInstance(); - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - 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); - IntentAttachPointTypeFactory attachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class); - - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - InterfaceContractMapper mapper = utilities.getUtility(InterfaceContractMapper.class); - compositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, attachPointTypeFactory, mapper, null); - - } - - public void testReadComponentType() throws Exception { - InputStream is = getClass().getResourceAsStream("/CalculatorServiceImpl.componentType"); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - ComponentType componentType = (ComponentType)staxProcessor.read(reader); - assertNotNull(componentType); - - SCABinding referenceSCABinding = (SCABinding) componentType.getReferences().get(0).getBindings().get(0); - assertNotNull(referenceSCABinding); - - SCABinding serviceSCABinding = (SCABinding) componentType.getServices().get(0).getBindings().get(0); - assertNotNull(serviceSCABinding); - - //new PrintUtil(System.out).print(componentType); - } - - public void testReadComposite() throws Exception { - InputStream is = getClass().getResourceAsStream("/Calculator.composite"); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - Composite composite = (Composite)staxProcessor.read(reader); - assertNotNull(composite); - - compositeBuilder.build(composite); - - SCABinding referenceSCABinding = (SCABinding) composite.getComponents().get(0).getReferences().get(0).getBindings().get(0); - SCABinding serviceSCABinding = (SCABinding) composite.getComponents().get(1).getServices().get(0).getBindings().get(0); - - Assert.assertNotNull(referenceSCABinding); - Assert.assertNotNull(serviceSCABinding); - } - -} diff --git a/java/sca/contrib/modules/binding-sca-xml/src/test/java/org/apace/tuscany/sca/binding/sca/xml/WriteTestCase.java b/java/sca/contrib/modules/binding-sca-xml/src/test/java/org/apace/tuscany/sca/binding/sca/xml/WriteTestCase.java deleted file mode 100644 index db611fa413..0000000000 --- a/java/sca/contrib/modules/binding-sca-xml/src/test/java/org/apace/tuscany/sca/binding/sca/xml/WriteTestCase.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.apace.tuscany.sca.binding.sca.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.ComponentType; -import org.apache.tuscany.sca.assembly.Composite; -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 WSDL interfaces. - * - * @version $Rev$ $Date$ - */ -public class WriteTestCase extends TestCase { - - private StAXArtifactProcessor staxProcessor; - private XMLInputFactory inputFactory; - private XMLOutputFactory outputFactory; - - @Override - public void setUp() throws Exception { - DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - inputFactory = XMLInputFactory.newInstance(); - outputFactory = XMLOutputFactory.newInstance(); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory, null); - } - - public void testReadWriteComponentType() throws Exception { - InputStream is = getClass().getResourceAsStream("/CalculatorServiceImpl.componentType"); - ComponentType componentType = (ComponentType)staxProcessor.read(inputFactory.createXMLStreamReader(is)); - assertNotNull(componentType); - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - staxProcessor.write(componentType, outputFactory.createXMLStreamWriter(bos)); - assertEquals("", - bos.toString()); - } - - public void testReadWriteComposite() throws Exception { - InputStream is = getClass().getResourceAsStream("/Calculator.composite"); - Composite composite = (Composite)staxProcessor.read(inputFactory.createXMLStreamReader(is)); - assertNotNull(composite); - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - staxProcessor.write(composite, outputFactory.createXMLStreamWriter(bos)); - assertEquals("", - bos.toString()); - } - -} diff --git a/java/sca/contrib/modules/binding-sca-xml/src/test/resources/Calculator.composite b/java/sca/contrib/modules/binding-sca-xml/src/test/resources/Calculator.composite deleted file mode 100644 index 0be16ec536..0000000000 --- a/java/sca/contrib/modules/binding-sca-xml/src/test/resources/Calculator.composite +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-sca-xml/src/test/resources/CalculatorServiceImpl.componentType b/java/sca/contrib/modules/binding-sca-xml/src/test/resources/CalculatorServiceImpl.componentType deleted file mode 100644 index 55e8926504..0000000000 --- a/java/sca/contrib/modules/binding-sca-xml/src/test/resources/CalculatorServiceImpl.componentType +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-sca/LICENSE b/java/sca/contrib/modules/binding-sca/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/binding-sca/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/java/sca/contrib/modules/binding-sca/META-INF/MANIFEST.MF b/java/sca/contrib/modules/binding-sca/META-INF/MANIFEST.MF deleted file mode 100644 index c14e628415..0000000000 --- a/java/sca/contrib/modules/binding-sca/META-INF/MANIFEST.MF +++ /dev/null @@ -1,33 +0,0 @@ -Manifest-Version: 1.0 -Export-Package: org.apache.tuscany.sca.binding.sca;uses:="org.apache.t - uscany.sca.assembly";version="2.0" -Private-Package: org.apache.tuscany.sca.binding.sca.impl;version="2.0" - ,org.apache.tuscany.sca.binding.sca.provider;version="2.0" -Tool: Bnd-0.0.255 -Bundle-Name: Apache Tuscany SCA Default Binding Model -Created-By: 1.6.0_07 (Sun Microsystems Inc.) -Bundle-Vendor: The Apache Software Foundation -Bundle-Version: 2.0 -Bnd-LastModified: 1225397165593 -Bundle-ManifestVersion: 2 -Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt -Bundle-Description: Apache Tuscany SCA Default Binding Model -Import-Package: org.apache.tuscany.sca.assembly;version="2.0",org.apac - he.tuscany.sca.assembly.builder;version="2.0",org.apache.tuscany.sca. - binding.sca;version="2.0",org.apache.tuscany.sca.contribution.process - or;version="2.0",org.apache.tuscany.sca.core;version="2.0",org.apache - .tuscany.sca.definitions;version="2.0",org.apache.tuscany.sca.interfa - cedef;version="2.0",org.apache.tuscany.sca.invocation;version="2.0",o - rg.apache.tuscany.sca.policy;version="2.0",org.apache.tuscany.sca.pro - vider;version="2.0",org.apache.tuscany.sca.runtime;version="2.0",org. - osoa.sca;version="2.0",org.apache.tuscany.sca.binding.sca.impl;resolu - tion:=optional,org.apache.tuscany.sca.assembly.builder.impl;resolutio - n:=optional,org.apache.tuscany.sca.contribution;version="2.0";resolut - ion:=optional,org.apache.tuscany.sca.monitor;version="2.0";resolution - :=optional,javax.xml.stream;resolution - :=optional,org.apache.tuscany.sc - a.assembly.xml;version="2.0";resolution:=optional,org.apache.tuscany. - sca.contribution.resolver;version="2.0";resolution:=optional -Bundle-SymbolicName: org.apache.tuscany.sca.binding.sca -Bundle-DocURL: http://www.apache.org/ - diff --git a/java/sca/contrib/modules/binding-sca/NOTICE b/java/sca/contrib/modules/binding-sca/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/binding-sca/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-sca/pom.xml b/java/sca/contrib/modules/binding-sca/pom.xml deleted file mode 100644 index ddad1ec83a..0000000000 --- a/java/sca/contrib/modules/binding-sca/pom.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-sca - Apache Tuscany SCA Default Binding Model - - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-assembly-xml - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-contribution-impl - 2.0-SNAPSHOT - - - - org.easymock - easymock - 2.2 - test - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.sca - ${pom.name} - org.apache.tuscany.sca.binding.sca* - - - - - - - diff --git a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/DistributedSCABinding.java b/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/DistributedSCABinding.java deleted file mode 100644 index 167c93e86d..0000000000 --- a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/DistributedSCABinding.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.sca; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.SCABinding; - - -/** - * Represents an SCA binding used in the distributed runtime. - * At the moment just provides us with a sensibly named type - * against which the distributed sca binding providers can be registered - * - * @version $Rev: 556322 $ $Date: 2007-07-14 19:53:15 +0100 (Sat, 14 Jul 2007) $ - */ -public interface DistributedSCABinding extends Binding { - - SCABinding getSCABinding(); - void setSCABinding(SCABinding scaBinding); - -} diff --git a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/SCABindingDefinitionsProvider.java b/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/SCABindingDefinitionsProvider.java deleted file mode 100644 index bd24d4b14c..0000000000 --- a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/SCABindingDefinitionsProvider.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.binding.sca; - -import java.net.URI; -import java.net.URL; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.security.PrivilegedExceptionAction; - -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.service.ContributionReadException; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.definitions.SCADefinitions; -import org.apache.tuscany.sca.provider.SCADefinitionsProvider; -import org.apache.tuscany.sca.provider.SCADefinitionsProviderException; - -/** - * Provider for Policy Intents and PolicySet definitions related to security - * - * @version $Rev$ $Date$ - */ -public class SCABindingDefinitionsProvider implements SCADefinitionsProvider { - private String definitionsFile = "org/apache/tuscany/sca/binding/sca/definitions.xml"; - URLArtifactProcessor urlArtifactProcessor = null; - - public SCABindingDefinitionsProvider(ExtensionPointRegistry registry) { - URLArtifactProcessorExtensionPoint documentProcessors = registry.getExtensionPoint(URLArtifactProcessorExtensionPoint.class); - urlArtifactProcessor = (URLArtifactProcessor)documentProcessors.getProcessor(SCADefinitions.class); - } - - public SCADefinitions getSCADefinition() throws SCADefinitionsProviderException { - // Allow privileged access to load resource. Requires RuntimePermssion in security policy. - final URL definitionsFileUrl = AccessController.doPrivileged(new PrivilegedAction() { - public URL run() { - return getClass().getClassLoader().getResource(definitionsFile); - } - }); - - SCADefinitions scaDefn = null; - try { - final URI uri = new URI(definitionsFile); - // Allow bindings to read properties. Requires PropertyPermission read in security policy. - scaDefn = AccessController.doPrivileged(new PrivilegedExceptionAction() { - public SCADefinitions run() throws ContributionReadException { - return (SCADefinitions)urlArtifactProcessor.read(null, uri, definitionsFileUrl); - } - }); - } catch (Exception e) { - throw new SCADefinitionsProviderException(e); - } - return scaDefn; - } - -} diff --git a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/DistributedSCABindingImpl.java b/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/DistributedSCABindingImpl.java deleted file mode 100644 index 43b0cd8f4e..0000000000 --- a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/DistributedSCABindingImpl.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.sca.impl; - -import org.apache.tuscany.sca.assembly.SCABinding; -import org.apache.tuscany.sca.binding.sca.DistributedSCABinding; - -/** - * The Distributed SCA binding wrapper for the SCA binding model object. This is currently - * just used to locate the remote binding extension and pass the SCA binding to the remote - * extension. It isn't used in the model itself - * - * @version $Rev: 564307 $ $Date: 2007-08-09 18:48:29 +0100 (Thu, 09 Aug 2007) $ - */ -public class DistributedSCABindingImpl implements DistributedSCABinding { - - private SCABinding scaBinding; - - /** - * Getter for the wrapped sca binding model object - * - * @return the sca binding model element - */ - public SCABinding getSCABinding(){ - return scaBinding; - } - - /** - * Setter for the wrapped sca binding model element - * - * @param scaBinding the sca binding model element - */ - public void setSCABinding(SCABinding scaBinding){ - this.scaBinding = scaBinding; - } - - - // Operation implementations provided to make this class a - // valid Binding - - /** - * Returns the binding URI. - * - * @return the binding URI - */ - public String getURI(){ - return null; - } - - /** - * Sets the binding URI. - * - * @param uri the binding URI - */ - public void setURI(String uri){ - } - - /** - * Returns the binding name. - * - * @return the binding name - */ - public String getName(){ - return null; - } - - /** - * Sets the binding name. - * - * @param name the binding name - */ - public void setName(String name){ - } - - /** - * Returns true if the model element is unresolved. - * - * @return true if the model element is unresolved. - */ - public boolean isUnresolved(){ - return false; - } - - /** - * Sets whether the model element is unresolved. - * - * @param unresolved whether the model element is unresolved - */ - public void setUnresolved(boolean unresolved){ - } - - /** - * Clone the binding - */ - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - -} diff --git a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RemoteBindingHelper.java b/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RemoteBindingHelper.java deleted file mode 100644 index 5ebbea62eb..0000000000 --- a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RemoteBindingHelper.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.sca.impl; - -/** - * TODO: TUSCANY-2578, implement a pluggable mechanism so sca binding impls can - * add their own code to the decision on whether or not to use - * the remote binding provider. - */ -public class RemoteBindingHelper { - - private static boolean alwaysRemote; - static { - try { - Class.forName("org.apache.tuscany.sca.binding.sca.jms.JMSSCABindingProviderFactory"); - Class.forName("javax.jms.IllegalStateException"); - alwaysRemote = true; - } catch (ClassNotFoundException e) { - alwaysRemote = false; - } - } - - public static boolean isTargetRemote() { - return alwaysRemote; - } - -} diff --git a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCABindingProvider.java b/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCABindingProvider.java deleted file mode 100644 index 5c1cefb808..0000000000 --- a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCABindingProvider.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.sca.impl; - -import org.apache.tuscany.sca.assembly.SCABinding; -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 local SCA Binding provider implementation. It is not currently used. - * - * @version $Rev$ $Date$ - */ -public class RuntimeSCABindingProvider implements ReferenceBindingProvider { - - private RuntimeComponentReference reference; - - public RuntimeSCABindingProvider(RuntimeComponent component, RuntimeComponentReference reference, SCABinding binding) { - this.reference = reference; - } - - public InterfaceContract getBindingInterfaceContract() { - return reference.getInterfaceContract(); - } - - public Invoker createInvoker(Operation operation) { - return null; - } - - public void start() { - } - - public void stop() { - } - - public boolean supportsOneWayInvocation() { - return false; - } - -} diff --git a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCABindingProviderFactory.java b/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCABindingProviderFactory.java deleted file mode 100644 index 5dda74f72e..0000000000 --- a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCABindingProviderFactory.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.sca.impl; - -import org.apache.tuscany.sca.assembly.SCABinding; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -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 factory for creating SCA Binding providers - * - * @version $Rev$ $Date$ - */ -public class RuntimeSCABindingProviderFactory implements BindingProviderFactory { - - private ExtensionPointRegistry extensionPoints; - - public RuntimeSCABindingProviderFactory(ExtensionPointRegistry extensionPoints) { - this.extensionPoints = extensionPoints; - - } - - public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - SCABinding binding) { - - return new RuntimeSCAReferenceBindingProvider(extensionPoints, component, reference, binding); - } - - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - SCABinding binding) { - return new RuntimeSCAServiceBindingProvider(extensionPoints, component, service, binding); - } - - public Class getModelType() { - return SCABinding.class; - } -} diff --git a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCAReferenceBindingProvider.java b/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCAReferenceBindingProvider.java deleted file mode 100644 index c1afb233cb..0000000000 --- a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCAReferenceBindingProvider.java +++ /dev/null @@ -1,236 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import java.net.URI; -import java.util.logging.Logger; - -import org.apache.tuscany.sca.assembly.OptimizableBinding; -import org.apache.tuscany.sca.assembly.SCABinding; -import org.apache.tuscany.sca.binding.sca.DistributedSCABinding; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -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.Invoker; -import org.apache.tuscany.sca.provider.BindingProviderFactory; -import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint; -import org.apache.tuscany.sca.provider.ReferenceBindingProvider; -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.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.oasisopen.sca.ServiceUnavailableException; - -/** - * The sca reference binding provider mediates between the twin requirements of - * local sca bindings and remote sca bindings. In the local case is does - * very little. When the sca binding model is set as being remote (because a - * reference target can't be resolved in the current model) this binding will - * try and create a remote connection to it - * - * @version $Rev$ $Date$ - */ -public class RuntimeSCAReferenceBindingProvider implements ReferenceBindingProvider { - - private static final Logger logger = Logger.getLogger(RuntimeSCAReferenceBindingProvider.class.getName()); - - private RuntimeComponent component; - private RuntimeComponentReference reference; - private SCABinding binding; - private boolean started = false; - - private BindingProviderFactory distributedProviderFactory = null; - private ReferenceBindingProvider distributedProvider = null; - - public RuntimeSCAReferenceBindingProvider(ExtensionPointRegistry extensionPoints, - RuntimeComponent component, - RuntimeComponentReference reference, - SCABinding binding) { - this.component = component; - this.reference = reference; - this.binding = binding; - - // look to see if a distributed SCA binding implementation has - // been included on the classpath. This will be needed by the - // provider itself to do it's thing - ProviderFactoryExtensionPoint factoryExtensionPoint = - extensionPoints.getExtensionPoint(ProviderFactoryExtensionPoint.class); - distributedProviderFactory = - (BindingProviderFactory)factoryExtensionPoint - .getProviderFactory(DistributedSCABinding.class); - - } - - public boolean isTargetRemote() { - boolean targetIsRemote = false; - - // first look at the target service and see if this has been resolved - OptimizableBinding optimizableBinding = (OptimizableBinding)binding; - - // The decision is based on the results of the wiring process in the assembly model - // The SCA binding is used to represent unresolved reference targets, i.e. those - // reference targets that need resolving at run time. We can tell by lookin if the - // service to which this binding refers is resolved or not. - // - // TODO - When a callback is in operation. A callback reference bindings sometimes has to - // act as though there is a local wire and sometimes as if there is a remote wire - // what are the implications of this here? - - if (RemoteBindingHelper.isTargetRemote()) { - if (reference.getInterfaceContract() != null) { - targetIsRemote = reference.getInterfaceContract().getInterface().isRemotable(); - } else { - targetIsRemote = true; - } - } else if (optimizableBinding.getTargetComponentService() != null) { - if (optimizableBinding.getTargetComponentService().isUnresolved() == true) { - targetIsRemote = true; - } else { - targetIsRemote = false; - } - } else { - // the case where the wire is specified by URI, e.g. callbacks or user specified bindings, and - // look at the provided URI to decide whether it is a local or remote case - try { - URI uri = new URI(binding.getURI()); - if (uri.isAbsolute()) { - targetIsRemote = true; - } else { - targetIsRemote = false; - } - } catch (Exception ex) { - targetIsRemote = false; - } - } - return targetIsRemote; - } - - private ReferenceBindingProvider getDistributedProvider() { - - if (isTargetRemote()) { - // initialize the remote provider if it hasn't been done already - if (distributedProvider == null) { - if (reference.getInterfaceContract() != null && !reference.getInterfaceContract().getInterface().isRemotable()) { - throw new IllegalStateException("Reference interface not remotable for component: " + component - .getName() - + " and reference: " - + reference.getName()); - } - - if (distributedProviderFactory == null) { - throw new IllegalStateException("No distributed SCA binding available for component: " + component - .getName() - + " and reference: " - + reference.getName()); - } - - // create the remote provider - DistributedSCABinding distributedBinding = new DistributedSCABindingImpl(); - distributedBinding.setSCABinding(binding); - - distributedProvider = - distributedProviderFactory.createReferenceBindingProvider(component, reference, distributedBinding); - } - } - - return distributedProvider; - } - - public InterfaceContract getBindingInterfaceContract() { - if (isTargetRemote()) { - return getDistributedProvider().getBindingInterfaceContract(); - } else { - if (reference.getReference() != null) { - return reference.getReference().getInterfaceContract(); - } else { - return reference.getInterfaceContract(); - } - } - } - - public boolean supportsOneWayInvocation() { - if (isTargetRemote()) { - return getDistributedProvider().supportsOneWayInvocation(); - } else { - return false; - } - } - - private Invoker getInvoker(RuntimeWire wire, Operation operation) { - EndpointReference target = wire.getTarget(); - if (target != null) { - RuntimeComponentService service = (RuntimeComponentService)target.getContract(); - if (service != null) { // not a callback wire - SCABinding scaBinding = service.getBinding(SCABinding.class); - InvocationChain chain = - service.getInvocationChain(scaBinding, wire.getSource().getInterfaceContract(), operation); - return chain == null ? null : new SCABindingInvoker(chain); - } - } - return null; - } - - public Invoker createInvoker(Operation operation) { - if (isTargetRemote()) { - return getDistributedProvider().createInvoker(operation); - } else { - RuntimeWire wire = reference.getRuntimeWire(binding); - Invoker invoker = getInvoker(wire, operation); - if (invoker == null) { - throw new ServiceUnavailableException("Unable to create SCA binding invoker for local target " + component.getName() - + " reference " - + reference.getName() - + " (bindingURI=" - + binding.getURI() - + " operation=" - + operation.getName() - + ")" ); - } - return invoker; - } - } - - public void start() { - if (started) { - return; - } else { - started = true; - } - - if (getDistributedProvider() != null) { - distributedProvider.start(); - } - } - - public void stop() { - if (!started) { - return; - } else { - started = false; - } - - if (getDistributedProvider() != null) { - distributedProvider.stop(); - } - } - -} diff --git a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCAServiceBindingProvider.java b/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCAServiceBindingProvider.java deleted file mode 100644 index 8994ba5381..0000000000 --- a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/RuntimeSCAServiceBindingProvider.java +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import java.net.URI; - -import org.apache.tuscany.sca.assembly.SCABinding; -import org.apache.tuscany.sca.binding.sca.DistributedSCABinding; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.provider.BindingProviderFactory; -import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * The sca service binding provider mediates between the twin requirements of - * local sca bindings and remote sca bindings. In the local case is does - * very little. When the sca binding model is set as being remote this binding will - * try and create a remote service endpoint for remote references to connect to - * - * @version $Rev$ $Date$ - */ -public class RuntimeSCAServiceBindingProvider implements ServiceBindingProvider { - - private RuntimeComponentService service; - private BindingProviderFactory distributedProviderFactory; - private ServiceBindingProvider distributedProvider; - private DistributedSCABinding distributedBinding; - - public RuntimeSCAServiceBindingProvider(ExtensionPointRegistry extensionPoints, - RuntimeComponent component, - RuntimeComponentService service, - SCABinding binding) { - this.service = service; - // if there is potentially a wire to this service that crosses the node boundary - if (service.getInterfaceContract().getInterface().isRemotable()) { - - // look to see if a distributed SCA binding implementation has - // been included on the classpath. This will be needed by the - // provider itself to do it's thing - ProviderFactoryExtensionPoint factoryExtensionPoint = - extensionPoints.getExtensionPoint(ProviderFactoryExtensionPoint.class); - distributedProviderFactory = - (BindingProviderFactory)factoryExtensionPoint - .getProviderFactory(DistributedSCABinding.class); - - // Check the things that will generally be required to set up a - // distributed sca domain reference provider. I.e. make sure that we have a - // - distributed implementation of the sca binding available - // - remotable interface on the service - if (distributedProviderFactory != null) { - - URI serviceURI = null; - try { - serviceURI = new URI(binding.getURI()); - } catch(Exception ex) { - - } - - if (RemoteBindingHelper.isTargetRemote() || ((serviceURI != null) && (serviceURI.isAbsolute()))) { - - // create a nested provider to handle the remote case - distributedBinding = new DistributedSCABindingImpl(); - distributedBinding.setSCABinding(binding); - - distributedProvider = - distributedProviderFactory.createServiceBindingProvider(component, service, distributedBinding); - - - } else { - /* do nothing at the moment as only apps using the node implementation - * will currently have the distributed domain set. - * - throw new IllegalStateException("No distributed domain available for component: "+ - component.getName() + - " and service: " + - service.getName()); - */ - } - } else { - /* do nothing at the moment as all services with remotable interfaces - * are marked as remote - throw new IllegalStateException("No distributed SCA binding available for component: "+ - component.getName() + - " and service: " + - service.getName()); - */ - } - } - } - - public InterfaceContract getBindingInterfaceContract() { - if (distributedProvider != null) { - return distributedProvider.getBindingInterfaceContract(); - } else { - if (service.getService() != null) { - return service.getService().getInterfaceContract(); - } else { - return service.getInterfaceContract(); - } - } - } - - public boolean supportsOneWayInvocation() { - return false; - } - - public void start() { - if (distributedProvider != null) { - distributedProvider.start(); - } - } - - public void stop() { - if (distributedProvider != null) { - distributedProvider.stop(); - } - - if (distributedBinding != null) { - // reset the binding URI to null so that if the composite containing the component - // with the service/binding is restarted the binding will have the correct URI set - SCABinding scaBinding = distributedBinding.getSCABinding(); - try { - URI tempURI = new URI(scaBinding.getURI()); - if (!tempURI.isAbsolute()){ - scaBinding.setURI(null); - } - } catch (Exception ex){ - scaBinding.setURI(null); - } - } - - } - -} diff --git a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/SCABindingFactoryImpl.java b/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/SCABindingFactoryImpl.java deleted file mode 100644 index ea758823a9..0000000000 --- a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/SCABindingFactoryImpl.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.sca.impl; - -import org.apache.tuscany.sca.assembly.SCABinding; -import org.apache.tuscany.sca.assembly.SCABindingFactory; - -/** - * A factory for the SCA binding model. - * - * @version $Rev$ $Date$ - */ -public class SCABindingFactoryImpl implements SCABindingFactory { - - public SCABindingFactoryImpl (){ - - } - - public SCABinding createSCABinding() { - return new SCABindingImpl(); - } - -} diff --git a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/SCABindingImpl.java b/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/SCABindingImpl.java deleted file mode 100644 index c93ddd9503..0000000000 --- a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/SCABindingImpl.java +++ /dev/null @@ -1,223 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.Extensible; -import org.apache.tuscany.sca.assembly.OptimizableBinding; -import org.apache.tuscany.sca.assembly.SCABinding; -import org.apache.tuscany.sca.assembly.builder.AutomaticBinding; -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; - -/** - * The assembly mode object for an SCA binding. - * - * @version $Rev$ $Date$ - */ -public class SCABindingImpl implements SCABinding, Extensible, PolicySetAttachPoint, OptimizableBinding, AutomaticBinding { - private String name; - private String uri; - private List extensions = new ArrayList(); - private List requiredIntents = new ArrayList(); - private List policySets = new ArrayList(); - private IntentAttachPointType intentAttachPointType; - - private Component targetComponent; - private ComponentService targetComponentService; - private Binding targetBinding; - private List applicablePolicySets = new ArrayList(); - - private boolean isAutomatic = false; - - public List getApplicablePolicySets() { - return applicablePolicySets; - } - - /** - * Constructs a new SCA binding. - */ - protected SCABindingImpl() { - } - - // SCA Binding operations - - /** - * Setters for the binding name. Defaults to the - * name of the service or reference with which the binding is - * associated - * - * @return the binding name - */ - public String getName() { - return name; - } - - /** - * Setter for the binding name - * - * @param name the binding name - */ - public void setName(String name) { - this.name = name; - } - - /** - * Getters for the binding URI. The computed URI for the - * service that the reference is targeting or which the service represents - * depending on whether the biding is associated with a reference or - * service - * - * @return the binding URI - */ - public String getURI() { - return uri; - } - - /** - * Setter for the binding URI - * - * @param uri the binding URI - */ - public void setURI(String uri) { - this.uri = uri; - } - - /** - * Returns a list of extension objects contained in this model object. - * - * @return a list of extension objects container in this model object - */ - public List getExtensions() { - return extensions; - } - - /** - * Returns true if the model element is unresolved. - * - * @return true if the model element is unresolved. - */ - public boolean isUnresolved() { - if (targetComponentService == null){ - return true; - } else { - return targetComponentService.isUnresolved(); - } - } - - /** - * Sets whether the model element is unresolved. - * - * @param unresolved whether the model element is unresolved - */ - public void setUnresolved(boolean unresolved) { - } - - /** - * @see java.lang.Object#clone() - */ - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - - public List getPolicySets() { - return policySets; - } - - public List getRequiredIntents() { - return requiredIntents; - } - - public IntentAttachPointType getType() { - return intentAttachPointType; - } - - public void setType(IntentAttachPointType intentAttachPointType) { - this.intentAttachPointType = intentAttachPointType; - } - - // Wireable binding operations - - /** - * @return the targetComponent - */ - public Component getTargetComponent() { - return targetComponent; - } - - /** - * @param targetComponent the targetComponent to set - */ - public void setTargetComponent(Component targetComponent) { - this.targetComponent = targetComponent; - } - - /** - * @return the targetComponentService - */ - public ComponentService getTargetComponentService() { - return targetComponentService; - } - - /** - * @param targetComponentService the targetComponentService to set - */ - public void setTargetComponentService(ComponentService targetComponentService) { - this.targetComponentService = targetComponentService; - } - - /** - * @return the targetBinding - */ - public Binding getTargetBinding() { - return targetBinding; - } - - /** - * @param targetBinding the targetBinding to set - */ - public void setTargetBinding(Binding targetBinding) { - this.targetBinding = targetBinding; - } - - public void setPolicySets(List policySets) { - this.policySets = policySets; - } - - public void setRequiredIntents(List intents) { - this.requiredIntents = intents; - } - - - public void setIsAutomatic(boolean isAutomatic){ - this.isAutomatic = isAutomatic; - } - - public boolean getIsAutomatic(){ - return this.isAutomatic; - } -} diff --git a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/SCABindingInvoker.java b/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/SCABindingInvoker.java deleted file mode 100644 index 52c0f64fe5..0000000000 --- a/java/sca/contrib/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/impl/SCABindingInvoker.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -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.invocation.DataExchangeSemantics; - -/** - * @version $Rev$ $Date$ - */ -public class SCABindingInvoker implements Interceptor, DataExchangeSemantics { - private InvocationChain chain; - - /** - * Construct a SCABindingInvoker that delegates to the service invocaiton chain - * @param chain - */ - public SCABindingInvoker(InvocationChain chain) { - super(); - this.chain = chain; - } - - /** - * @see org.apache.tuscany.sca.invocation.Interceptor#getNext() - */ - public Invoker getNext() { - return chain.getHeadInvoker(); - } - - /** - * @see org.apache.tuscany.sca.invocation.Interceptor#setNext(org.apache.tuscany.sca.invocation.Invoker) - */ - public void setNext(Invoker next) { - // NOOP - } - - /** - * @see org.apache.tuscany.sca.invocation.Invoker#invoke(org.apache.tuscany.sca.invocation.Message) - */ - public Message invoke(Message msg) { - return getNext().invoke(msg); - } - - /** - * @see org.apache.tuscany.sca.invocation.DataExchangeSemantics#allowsPassByReference() - */ - public boolean allowsPassByReference() { - return chain.allowsPassByReference(); - } - -} diff --git a/java/sca/contrib/modules/binding-sca/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.SCABindingFactory b/java/sca/contrib/modules/binding-sca/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.SCABindingFactory deleted file mode 100644 index 4efa03a933..0000000000 --- a/java/sca/contrib/modules/binding-sca/src/main/resources/META-INF/services/org.apache.tuscany.sca.assembly.SCABindingFactory +++ /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.impl.SCABindingFactoryImpl diff --git a/java/sca/contrib/modules/binding-sca/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/java/sca/contrib/modules/binding-sca/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory deleted file mode 100644 index 5c6b8e21fc..0000000000 --- a/java/sca/contrib/modules/binding-sca/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.impl.RuntimeSCABindingProviderFactory;model=org.apache.tuscany.sca.assembly.SCABinding diff --git a/java/sca/contrib/modules/binding-sca/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider b/java/sca/contrib/modules/binding-sca/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider deleted file mode 100644 index 22c9a64b05..0000000000 --- a/java/sca/contrib/modules/binding-sca/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider +++ /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 SCA Definitions Providers -org.apache.tuscany.sca.binding.sca.SCABindingDefinitionsProvider \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-sca/src/main/resources/org/apache/tuscany/sca/binding/sca/definitions.xml b/java/sca/contrib/modules/binding-sca/src/main/resources/org/apache/tuscany/sca/binding/sca/definitions.xml deleted file mode 100644 index 8bac9e01c9..0000000000 --- a/java/sca/contrib/modules/binding-sca/src/main/resources/org/apache/tuscany/sca/binding/sca/definitions.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-sca/src/test/java/org/apace/tuscany/sca/binding/sca/SCABindingTestCase.java b/java/sca/contrib/modules/binding-sca/src/test/java/org/apace/tuscany/sca/binding/sca/SCABindingTestCase.java deleted file mode 100644 index ff396566d6..0000000000 --- a/java/sca/contrib/modules/binding-sca/src/test/java/org/apace/tuscany/sca/binding/sca/SCABindingTestCase.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apace.tuscany.sca.binding.sca; - -import java.io.InputStream; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamReader; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.SCABinding; -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.assembly.xml.CompositeModelResolver; -import org.apache.tuscany.sca.binding.sca.impl.SCABindingFactoryImpl; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -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.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl; -import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory; -import org.junit.Before; -import org.junit.Test; - -/** - * SCABindingTestCase - * - * @version $Rev$ $Date$ - */ -public class SCABindingTestCase { - - private XMLInputFactory inputFactory; - private StAXArtifactProcessor staxProcessor; - private CompositeModelResolver resolver; - private CompositeBuilder compositeBuilder; - - @Before - public void init() throws Exception { - DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - inputFactory = XMLInputFactory.newInstance(); - - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null); - - resolver = new CompositeModelResolver(null, null); - - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - AssemblyFactory assemblyFactory = modelFactories.getFactory(AssemblyFactory.class); - SCABindingFactory scaBindingFactory = modelFactories.getFactory(SCABindingFactory.class); - IntentAttachPointTypeFactory attachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class); - - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - InterfaceContractMapper mapper = utilities.getUtility(InterfaceContractMapper.class); - compositeBuilder = new CompositeBuilderImpl(assemblyFactory, scaBindingFactory, attachPointTypeFactory, mapper, null); - - } - - @Test - public void testSCABindingFactory() { - SCABindingFactory factory = new SCABindingFactoryImpl(); - Assert.assertNotNull(factory.createSCABinding()); - } - - @Test - public void testBuildModel() { - try{ - InputStream is = getClass().getResourceAsStream("/Calculator.composite"); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - Composite composite = (Composite)staxProcessor.read(reader); - - is.close(); - Assert.assertNotNull(composite); - - resolver.addModel(composite); - - staxProcessor.resolve(composite, resolver); - - compositeBuilder.build(composite); - - SCABinding referenceSCABinding = (SCABinding) composite.getComponents().get(0).getReferences().get(0).getBindings().get(0); - SCABinding serviceSCABinding = (SCABinding) composite.getComponents().get(1).getServices().get(0).getBindings().get(0); - - Assert.assertNotNull(referenceSCABinding); - Assert.assertNotNull(serviceSCABinding); - } catch (Exception ex) { - Assert.fail(ex.getMessage()); - } - - } -} diff --git a/java/sca/contrib/modules/binding-sca/src/test/resources/Calculator.composite b/java/sca/contrib/modules/binding-sca/src/test/resources/Calculator.composite deleted file mode 100644 index 37b26f3d68..0000000000 --- a/java/sca/contrib/modules/binding-sca/src/test/resources/Calculator.composite +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/LICENSE b/java/sca/contrib/modules/binding-ws-axis2-policy/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/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/java/sca/contrib/modules/binding-ws-axis2-policy/NOTICE b/java/sca/contrib/modules/binding-ws-axis2-policy/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/pom.xml b/java/sca/contrib/modules/binding-ws-axis2-policy/pom.xml deleted file mode 100644 index 35b62801fc..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/pom.xml +++ /dev/null @@ -1,149 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-binding-ws-axis2-policy - Apache Tuscany Policy Model for Axis2 WS binding - - - - org.apache.tuscany.sca - tuscany-contribution - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-assembly-xml - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-policy-security - 2.0-SNAPSHOT - - - - org.apache.ws.commons.axiom - axiom-api - - - xerces - xercesImpl - - - javax.mail - mail - - - commons-logging - commons-logging - - - xml-apis - xml-apis - - - 1.2.7 - - - - org.apache.ws.commons.axiom - axiom-impl - 1.2.7 - - - - org.apache.axis2 - axis2-kernel - 1.4.1 - - - backport-util-concurrent - backport-util-concurrent - - - xalan - xalan - - - xerces - xercesImpl - - - - - - backport-util-concurrent - backport-util-concurrent - 3.1 - test - - - - org.apache.neethi - neethi - 2.0.4 - - - wsdl4j - wsdl4j - - - org.codehaus.woodstox - wstx-asl - - - - - - org.apache.tuscany.sca - tuscany-contribution-impl - 2.0-SNAPSHOT - test - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.ws.axis2.policy - ${pom.name} - org.apache.tuscany.sca.binding.ws.axis2.policy* - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationPolicy.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationPolicy.java deleted file mode 100644 index 8fecb84bb4..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationPolicy.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.ws.axis2.policy.authentication.token; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.policy.Policy; - -/** - * Implementation for policies that could be injected as parameter - * into the axis2config. - * - * @version $Rev$ $Date$ - */ -public class Axis2TokenAuthenticationPolicy implements Policy { - public static final QName AXIS2_TOKEN_AUTHENTICATION_POLICY_QNAME = new QName(Constants.SCA10_TUSCANY_NS, "axis2TokenAuthentication"); - public static final String AXIS2_TOKEN_AUTHENTICATION_TOKEN_NAME = "tokenName"; - - private QName tokenName; - - public QName getTokenName() { - return tokenName; - } - - public void setTokenName(QName tokenName) { - this.tokenName = tokenName; - } - - public QName getSchemaName() { - return AXIS2_TOKEN_AUTHENTICATION_POLICY_QNAME; - } - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationPolicyProcessor.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationPolicyProcessor.java deleted file mode 100644 index e8a7872858..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationPolicyProcessor.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.binding.ws.axis2.policy.authentication.token; - -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; - -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.monitor.Monitor; - -/** - * - * @version $Rev$ $Date$ - */ -public class Axis2TokenAuthenticationPolicyProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor { - - public QName getArtifactType() { - return Axis2TokenAuthenticationPolicy.AXIS2_TOKEN_AUTHENTICATION_POLICY_QNAME; - } - - public Axis2TokenAuthenticationPolicyProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - } - - - public Axis2TokenAuthenticationPolicy read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - Axis2TokenAuthenticationPolicy policy = new Axis2TokenAuthenticationPolicy(); - int event = reader.getEventType(); - QName name = null; - - while (reader.hasNext()) { - event = reader.getEventType(); - switch (event) { - case START_ELEMENT : { - name = reader.getName(); - if ( name.equals(getArtifactType()) ) { - policy.setTokenName(getQName(reader, Axis2TokenAuthenticationPolicy.AXIS2_TOKEN_AUTHENTICATION_TOKEN_NAME)); - } - break; - } - } - - if ( event == END_ELEMENT ) { - if ( getArtifactType().equals(reader.getName()) ) { - break; - } - } - - //Read the next element - if (reader.hasNext()) { - reader.next(); - } - } - - return policy; - } - - public void write(Axis2TokenAuthenticationPolicy policy, XMLStreamWriter writer) - throws ContributionWriteException, XMLStreamException { - String prefix = "tuscany"; - writer.writeStartElement(prefix, - getArtifactType().getLocalPart(), - getArtifactType().getNamespaceURI()); - writer.writeNamespace("tuscany", Constants.SCA10_TUSCANY_NS); - - if ( policy.getTokenName() != null ) { - writer.writeStartElement(prefix, - Axis2TokenAuthenticationPolicy.AXIS2_TOKEN_AUTHENTICATION_TOKEN_NAME, - getArtifactType().getNamespaceURI()); - writer.writeCharacters(policy.getTokenName().toString()); - writer.writeEndElement(); - } - - writer.writeEndElement(); - } - - public Class getModelType() { - return Axis2TokenAuthenticationPolicy.class; - } - - public void resolve(Axis2TokenAuthenticationPolicy arg0, ModelResolver arg1) throws ContributionResolveException { - - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationPolicyProviderFactory.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationPolicyProviderFactory.java deleted file mode 100644 index cef881af30..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationPolicyProviderFactory.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.ws.axis2.policy.authentication.token; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.PolicyProviderFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public class Axis2TokenAuthenticationPolicyProviderFactory implements PolicyProviderFactory { - private ExtensionPointRegistry registry; - - public Axis2TokenAuthenticationPolicyProviderFactory(ExtensionPointRegistry registry) { - super(); - this.registry = registry; - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createImplementationPolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.assembly.Implementation) - */ - public PolicyProvider createImplementationPolicyProvider(RuntimeComponent component, Implementation implementation) { - return null;//new TokenAuthenticationImplementationPolicyProvider(component, implementation); - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createReferencePolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentReference, org.apache.tuscany.sca.assembly.Binding) - */ - public PolicyProvider createReferencePolicyProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - return new Axis2TokenAuthenticationReferencePolicyProvider(component, reference, binding); - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createServicePolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentService, org.apache.tuscany.sca.assembly.Binding) - */ - public PolicyProvider createServicePolicyProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding) { - return new Axis2TokenAuthenticationServicePolicyProvider(component, service, binding); - } - - /** - * @see org.apache.tuscany.sca.provider.ProviderFactory#getModelType() - */ - public Class getModelType() { - // TODO Auto-generated method stub - return null; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationReferencePolicyInterceptor.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationReferencePolicyInterceptor.java deleted file mode 100644 index c6cd96e647..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationReferencePolicyInterceptor.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.binding.ws.axis2.policy.authentication.token; - -import java.util.logging.ConsoleHandler; -import java.util.logging.Handler; -import java.util.logging.Level; -import java.util.logging.Logger; - -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.OMText; -import org.apache.axiom.om.impl.llom.util.AXIOMUtil; -import org.apache.axiom.soap.SOAPFactory; -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.binding.ws.axis2.policy.header.Axis2SOAPHeaderString; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.policy.Policy; -import org.apache.tuscany.sca.policy.PolicySet; - -/** - * Policy handler to handle PolicySet related to Logging with the QName - * {http://tuscany.apache.org/xmlns/sca/1.0/impl/java}LoggingPolicy - * - * @version $Rev$ $Date$ - */ -public class Axis2TokenAuthenticationReferencePolicyInterceptor implements Interceptor { - - private Invoker next; - private Operation operation; - private PolicySet policySet = null; - private String context; - private Axis2TokenAuthenticationPolicy policy; - - public Axis2TokenAuthenticationReferencePolicyInterceptor(String context, Operation operation, PolicySet policySet) { - super(); - this.operation = operation; - this.policySet = policySet; - this.context = context; - init(); - } - - private void init() { - if (policySet != null) { - for (Object policyObject : policySet.getPolicies()){ - if (policyObject instanceof Axis2TokenAuthenticationPolicy){ - policy = (Axis2TokenAuthenticationPolicy)policyObject; - break; - } - } - } - } - - public Message invoke(Message msg) { - // could call out here to some 3rd party system to get credentials - - if ( policy.getTokenName() != null){ - // create Axis representation of header - Axis2SOAPHeaderString header = new Axis2SOAPHeaderString(); - header.setHeaderName(policy.getTokenName()); - header.setHeaderString("SomeWSAuthorizationToken"); - - // add header to Tuscany message - msg.getHeaders().add(header); - } - - return getNext().invoke(msg); - } - - public Invoker getNext() { - return next; - } - - public void setNext(Invoker next) { - this.next = next; - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationReferencePolicyProvider.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationReferencePolicyProvider.java deleted file mode 100644 index 147fd1f42a..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationReferencePolicyProvider.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.ws.axis2.policy.authentication.token; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Phase; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.util.PolicyHandler; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; - -/** - * @version $Rev$ $Date$ - */ -public class Axis2TokenAuthenticationReferencePolicyProvider implements PolicyProvider { - private RuntimeComponent component; - private RuntimeComponentReference reference; - private Binding binding; - - public Axis2TokenAuthenticationReferencePolicyProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - super(); - this.component = component; - this.reference = reference; - this.binding = binding; - } - - private PolicySet findPolicySet() { - if (binding instanceof PolicySetAttachPoint) { - List policySets = ((PolicySetAttachPoint)binding).getApplicablePolicySets(); - for (PolicySet ps : policySets) { - for (Object p : ps.getPolicies()) { - if (Axis2TokenAuthenticationPolicy.class.isInstance(p)) { - return ps; - } - } - } - } - return null; - } - - private String getContext() { - return "component.reference: " + component.getURI() - + "#" - + reference.getName() - + "(" - + binding.getClass().getName() - + ")"; - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProvider#createInterceptor(org.apache.tuscany.sca.interfacedef.Operation) - */ - public Interceptor createInterceptor(Operation operation) { - PolicySet ps = findPolicySet(); - return ps == null ? null : new Axis2TokenAuthenticationReferencePolicyInterceptor(getContext(), operation, ps); - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProvider#getPhase() - */ - public String getPhase() { - return Phase.REFERENCE_POLICY; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationServicePolicyInterceptor.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationServicePolicyInterceptor.java deleted file mode 100644 index 43505a8d33..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationServicePolicyInterceptor.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2.policy.authentication.token; - - -import java.security.Principal; - -import javax.security.auth.Subject; - -import org.apache.tuscany.sca.binding.ws.axis2.policy.header.Axis2HeaderPolicyUtil; -import org.apache.tuscany.sca.binding.ws.axis2.policy.header.Axis2SOAPHeader; -import org.apache.tuscany.sca.binding.ws.axis2.policy.header.Axis2SOAPHeaderString; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.SecurityUtil; -import org.apache.tuscany.sca.policy.authentication.token.TokenPrincipal; - -/** - * Policy handler to handle PolicySet related to Logging with the QName - * {http://tuscany.apache.org/xmlns/sca/1.0/impl/java}LoggingPolicy - * - * @version $Rev$ $Date$ - */ -public class Axis2TokenAuthenticationServicePolicyInterceptor implements Interceptor { - private Invoker next; - private Operation operation; - private PolicySet policySet = null; - private String context; - private Axis2TokenAuthenticationPolicy policy; - - public Axis2TokenAuthenticationServicePolicyInterceptor(String context, Operation operation, PolicySet policySet) { - super(); - this.operation = operation; - this.policySet = policySet; - this.context = context; - init(); - } - - private void init() { - if (policySet != null) { - for (Object policyObject : policySet.getPolicies()){ - if (policyObject instanceof Axis2TokenAuthenticationPolicy){ - policy = (Axis2TokenAuthenticationPolicy)policyObject; - break; - } - } - } - } - - public Message invoke(Message msg) { - - Axis2SOAPHeaderString header = (Axis2SOAPHeaderString)Axis2HeaderPolicyUtil.getHeader(msg, policy.getTokenName()); - - if (header != null) { - System.out.println("Token: " + header.getHeaderString()); - - // call out here to some 3rd party system to do whatever you - // need to turn header credentials into an authenticated principal - - Subject subject = SecurityUtil.getSubject(msg); - Principal principal = new TokenPrincipal(header.getHeaderString()); - subject.getPrincipals().add(principal); - } - - return getNext().invoke(msg); - } - - public Invoker getNext() { - return next; - } - - public void setNext(Invoker next) { - this.next = next; - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationServicePolicyProvider.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationServicePolicyProvider.java deleted file mode 100644 index e3e2a4b9a0..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/authentication/token/Axis2TokenAuthenticationServicePolicyProvider.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.binding.ws.axis2.policy.authentication.token; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Phase; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.util.PolicyHandler; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public class Axis2TokenAuthenticationServicePolicyProvider implements PolicyProvider { - private RuntimeComponent component; - private RuntimeComponentService service; - private Binding binding; - - public Axis2TokenAuthenticationServicePolicyProvider(RuntimeComponent component, RuntimeComponentService service, Binding binding) { - super(); - this.component = component; - this.service = service; - this.binding = binding; - } - - private PolicySet findPolicySet() { - if (binding instanceof PolicySetAttachPoint) { - List policySets = ((PolicySetAttachPoint)binding).getApplicablePolicySets(); - for (PolicySet ps : policySets) { - for (Object p : ps.getPolicies()) { - if (Axis2TokenAuthenticationPolicy.class.isInstance(p)) { - return ps; - } - } - } - } - return null; - } - - private String getContext() { - return "component.service: " + component.getURI() - + "#" - + service.getName() - + "(" - + binding.getClass().getName() - + ")"; - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProvider#createInterceptor(org.apache.tuscany.sca.interfacedef.Operation) - */ - public Interceptor createInterceptor(Operation operation) { - PolicySet ps = findPolicySet(); - return ps == null ? null : new Axis2TokenAuthenticationServicePolicyInterceptor(getContext(), operation, ps); - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProvider#getPhase() - */ - public String getPhase() { - return Phase.SERVICE_POLICY; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/Axis2ConfigParamPolicy.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/Axis2ConfigParamPolicy.java deleted file mode 100644 index 8d08a3f78e..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/Axis2ConfigParamPolicy.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.ws.axis2.policy.configuration; - -import java.util.Hashtable; -import java.util.Map; - -import javax.xml.namespace.QName; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.policy.Policy; - -/** - * Implementation for policies that could be injected as parameter - * into the axis2config. - * - * @version $Rev$ $Date$ - */ -public class Axis2ConfigParamPolicy implements Policy { - public static final QName NAME = new QName(Constants.SCA10_TUSCANY_NS, "wsConfigParam"); - private Map paramElements = new Hashtable(); - - public Map getParamElements() { - return paramElements; - } - - public QName getSchemaName() { - return NAME; - } - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/Axis2ConfigParamPolicyHandler.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/Axis2ConfigParamPolicyHandler.java deleted file mode 100644 index 5ac4e3f5fd..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/Axis2ConfigParamPolicyHandler.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.binding.ws.axis2.policy.configuration; - -import org.apache.axis2.AxisFault; -import org.apache.axis2.context.ConfigurationContext; -import org.apache.axis2.description.Parameter; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.util.PolicyHandler; - - -/** - * Policy handler to handle PolicySet that contain Axis2ConfigParamPolicy instances - * - * @version $Rev$ $Date$ - */ -public class Axis2ConfigParamPolicyHandler implements PolicyHandler { - private PolicySet applicablePolicySet = null; - - public void setUp(Object... context) { - Axis2ConfigParamPolicy axis2ConfigParamPolicy = null; - Parameter configParam = null; - for ( Object contextObject : context ) { - if ( contextObject instanceof ConfigurationContext ) { - ConfigurationContext configContext = (ConfigurationContext)contextObject; - for ( Object policy : applicablePolicySet.getPolicies() ) { - if ( policy instanceof Axis2ConfigParamPolicy ) { - axis2ConfigParamPolicy = (Axis2ConfigParamPolicy)policy; - for ( String paramName : axis2ConfigParamPolicy.getParamElements().keySet() ) { - configParam = new Parameter(paramName, - axis2ConfigParamPolicy.getParamElements().get(paramName).getFirstElement()); - configParam.setParameterElement(axis2ConfigParamPolicy.getParamElements().get(paramName)); - try { - configContext.getAxisConfiguration().addParameter(configParam); - } catch ( AxisFault e ) { - throw new RuntimeException(e); - } - } - } - } - } - } - } - - public void cleanUp(Object... context) { - } - - public void beforeInvoke(Object... context) { - } - - public void afterInvoke(Object... context) { - - } - - public PolicySet getApplicablePolicySet() { - return applicablePolicySet; - } - - public void setApplicablePolicySet(PolicySet applicablePolicySet) { - this.applicablePolicySet = applicablePolicySet; - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/Axis2ConfigParamPolicyProcessor.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/Axis2ConfigParamPolicyProcessor.java deleted file mode 100644 index 6478fbedad..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/Axis2ConfigParamPolicyProcessor.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2.policy.configuration; - -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; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; -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.monitor.Monitor; - -/** - * - * @version $Rev$ $Date$ - */ -public class Axis2ConfigParamPolicyProcessor implements StAXArtifactProcessor { - public static final QName AXIS2_CONFIG_PARAM_POLICY_QNAME = Axis2ConfigParamPolicy.NAME; - public static final String PARAMETER = "parameter"; - public QName getArtifactType() { - return AXIS2_CONFIG_PARAM_POLICY_QNAME; - } - - public Axis2ConfigParamPolicyProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - } - - public Axis2ConfigParamPolicy read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - Axis2ConfigParamPolicy policy = new Axis2ConfigParamPolicy(); - int event = reader.getEventType(); - QName name = null; - OMElement parameterElement = null; - String paramName = null; - while (reader.hasNext()) { - event = reader.getEventType(); - switch (event) { - case START_ELEMENT : { - name = reader.getName(); - if ( PARAMETER.equals(name.getLocalPart()) ) { - paramName = reader.getAttributeValue(null, Constants.NAME); - parameterElement = loadElement(reader); - policy.getParamElements().put(paramName, parameterElement); - } - break; - } - } - - if ( event == END_ELEMENT ) { - if ( AXIS2_CONFIG_PARAM_POLICY_QNAME.equals(reader.getName()) ) { - break; - } - } - - //Read the next element - if (reader.hasNext()) { - reader.next(); - } - } - - return policy; - } - - public void write(Axis2ConfigParamPolicy arg0, XMLStreamWriter arg1) throws ContributionWriteException, - XMLStreamException { - } - - public Class getModelType() { - return Axis2ConfigParamPolicy.class; - } - - public void resolve(Axis2ConfigParamPolicy arg0, ModelResolver arg1) throws ContributionResolveException { - - } - - private OMElement loadElement(XMLStreamReader reader) throws XMLStreamException { - OMFactory fac = OMAbstractFactory.getOMFactory(); - OMElement head = fac.createOMElement(reader.getName()); - OMElement current = head; - while (true) { - switch (reader.next()) { - case XMLStreamConstants.START_ELEMENT: - //since the axis2 code checks against a no namespace we need to generate accordingly - QName name = new QName(reader.getName().getLocalPart()); - OMElement child = fac.createOMElement(name, current); - - int count = reader.getNamespaceCount(); - for (int i = 0; i < count; i++) { - String prefix = reader.getNamespacePrefix(i); - String ns = reader.getNamespaceURI(i); - child.declareNamespace(ns, prefix); - } - - if(!"".equals(name.getNamespaceURI())) { - child.declareNamespace(name.getNamespaceURI(), name.getPrefix()); - } - - // add the attributes for this element - count = reader.getAttributeCount(); - for (int i = 0; i < count; i++) { - String ns = reader.getAttributeNamespace(i); - String prefix = reader.getAttributePrefix(i); - String qname = reader.getAttributeLocalName(i); - String value = reader.getAttributeValue(i); - - if (ns != null) { - child.addAttribute(qname, value, fac.createOMNamespace(ns, prefix)); - child.declareNamespace(ns, prefix); - } else { - child.addAttribute(qname, value, null); - } - } - current = child; - break; - case XMLStreamConstants.CDATA: - fac.createOMText(current, reader.getText()); - break; - case XMLStreamConstants.CHARACTERS: - fac.createOMText(current, reader.getText()); - break; - case XMLStreamConstants.END_ELEMENT: - if ( current == head ) { - return head; - } else { - current = (OMElement)current.getParent(); - } - } - } - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/Axis2ConfigParamPolicyProviderFactory.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/Axis2ConfigParamPolicyProviderFactory.java deleted file mode 100644 index ed4335baa7..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/Axis2ConfigParamPolicyProviderFactory.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.ws.axis2.policy.configuration; - -import org.apache.axis2.AxisFault; -import org.apache.axis2.context.ConfigurationContext; -import org.apache.axis2.description.Parameter; -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.PolicyProviderFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * @version $Rev$ $Date$ - */ -public class Axis2ConfigParamPolicyProviderFactory implements PolicyProviderFactory { - - public Axis2ConfigParamPolicyProviderFactory(ExtensionPointRegistry registry) { - super(); - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createImplementationPolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.assembly.Implementation) - */ - public PolicyProvider createImplementationPolicyProvider(RuntimeComponent component, Implementation implementation) { - return null; - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createReferencePolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentReference, org.apache.tuscany.sca.assembly.Binding) - */ - public PolicyProvider createReferencePolicyProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - return null; - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createServicePolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentService, org.apache.tuscany.sca.assembly.Binding) - */ - public PolicyProvider createServicePolicyProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding) { - return null; - } - - /** - * @see org.apache.tuscany.sca.provider.ProviderFactory#getModelType() - */ - public Class getModelType() { - return Axis2ConfigParamPolicy.class; - } - - // FIXME: [rfeng] I think this should be refactored into the binding.ws axis2 code - public void setUp(ConfigurationContext configContext, PolicySet ps) { - Axis2ConfigParamPolicy axis2ConfigParamPolicy = null; - Parameter configParam = null; - for (Object policy : ps.getPolicies()) { - if (policy instanceof Axis2ConfigParamPolicy) { - axis2ConfigParamPolicy = (Axis2ConfigParamPolicy)policy; - for (String paramName : axis2ConfigParamPolicy.getParamElements().keySet()) { - configParam = - new Parameter(paramName, axis2ConfigParamPolicy.getParamElements().get(paramName) - .getFirstElement()); - configParam.setParameterElement(axis2ConfigParamPolicy.getParamElements().get(paramName)); - try { - configContext.getAxisConfiguration().addParameter(configParam); - } catch (AxisFault e) { - throw new ServiceRuntimeException(e); - } - } - } - } - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderPolicy.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderPolicy.java deleted file mode 100644 index 244e501901..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderPolicy.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.ws.axis2.policy.header; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.policy.Policy; - -/** - * Implementation for policies that could be injected as parameter - * into the axis2config. - * - * @version $Rev$ $Date$ - */ -public class Axis2HeaderPolicy implements Policy { - public static final QName AXIS2_HEADER_POLICY_QNAME = new QName(Constants.SCA10_TUSCANY_NS, "axis2Header"); - public static final String AXIS2_HEADER_NAME = "headerName"; - - private QName headerName; - - public QName getHeaderName() { - return headerName; - } - - public void setHeaderName(QName headerName) { - this.headerName = headerName; - } - - public QName getSchemaName() { - return AXIS2_HEADER_POLICY_QNAME; - } - - public boolean isUnresolved() { - return false; - } - - public void setUnresolved(boolean unresolved) { - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderPolicyProcessor.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderPolicyProcessor.java deleted file mode 100644 index 3466b9def7..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderPolicyProcessor.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2.policy.header; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; -import static javax.xml.stream.XMLStreamConstants.START_ELEMENT; - -import java.util.logging.Level; - -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.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.monitor.Monitor; - -/** - * - * @version $Rev$ $Date$ - */ -public class Axis2HeaderPolicyProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor { - - public QName getArtifactType() { - return Axis2HeaderPolicy.AXIS2_HEADER_POLICY_QNAME; - } - - public Axis2HeaderPolicyProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - } - - - public Axis2HeaderPolicy read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - Axis2HeaderPolicy policy = new Axis2HeaderPolicy(); - int event = reader.getEventType(); - QName name = null; - - while (reader.hasNext()) { - event = reader.getEventType(); - switch (event) { - case START_ELEMENT : { - name = reader.getName(); - if ( name.equals(getArtifactType()) ) { - policy.setHeaderName(getQName(reader, Axis2HeaderPolicy.AXIS2_HEADER_NAME)); - } - break; - } - } - - if ( event == END_ELEMENT ) { - if ( getArtifactType().equals(reader.getName()) ) { - break; - } - } - - //Read the next element - if (reader.hasNext()) { - reader.next(); - } - } - - return policy; - } - - public void write(Axis2HeaderPolicy policy, XMLStreamWriter writer) - throws ContributionWriteException, XMLStreamException { - String prefix = "tuscany"; - writer.writeStartElement(prefix, - getArtifactType().getLocalPart(), - getArtifactType().getNamespaceURI()); - writer.writeNamespace("tuscany", Constants.SCA10_TUSCANY_NS); - - if ( policy.getHeaderName() != null ) { - writer.writeStartElement(prefix, - Axis2HeaderPolicy.AXIS2_HEADER_NAME, - getArtifactType().getNamespaceURI()); - writer.writeCharacters(policy.getHeaderName().toString()); - writer.writeEndElement(); - } - - writer.writeEndElement(); - } - - public Class getModelType() { - return Axis2HeaderPolicy.class; - } - - public void resolve(Axis2HeaderPolicy arg0, ModelResolver arg1) throws ContributionResolveException { - - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderPolicyProviderFactory.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderPolicyProviderFactory.java deleted file mode 100644 index 71833df382..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderPolicyProviderFactory.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.ws.axis2.policy.header; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.PolicyProviderFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public class Axis2HeaderPolicyProviderFactory implements PolicyProviderFactory { - private ExtensionPointRegistry registry; - - public Axis2HeaderPolicyProviderFactory(ExtensionPointRegistry registry) { - super(); - this.registry = registry; - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createImplementationPolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.assembly.Implementation) - */ - public PolicyProvider createImplementationPolicyProvider(RuntimeComponent component, Implementation implementation) { - return null;//new TokenAuthenticationImplementationPolicyProvider(component, implementation); - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createReferencePolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentReference, org.apache.tuscany.sca.assembly.Binding) - */ - public PolicyProvider createReferencePolicyProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - return new Axis2HeaderReferencePolicyProvider(component, reference, binding); - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProviderFactory#createServicePolicyProvider(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentService, org.apache.tuscany.sca.assembly.Binding) - */ - public PolicyProvider createServicePolicyProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding) { - return new Axis2HeaderServicePolicyProvider(component, service, binding); - } - - /** - * @see org.apache.tuscany.sca.provider.ProviderFactory#getModelType() - */ - public Class getModelType() { - // TODO Auto-generated method stub - return null; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderPolicyUtil.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderPolicyUtil.java deleted file mode 100644 index 98d011a8fc..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderPolicyUtil.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.ws.axis2.policy.header; - - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.invocation.Message; - - -/** - * - * @version $Rev$ $Date$ - */ -public class Axis2HeaderPolicyUtil { - - public static Axis2SOAPHeader getHeader(Message msg, QName headerName){ - - Axis2SOAPHeader axis2Header = null; - - for (Object header : msg.getHeaders()){ - if (header instanceof Axis2SOAPHeader){ - Axis2SOAPHeader tmpHeader = (Axis2SOAPHeader)header; - - if (tmpHeader.getHeaderName().equals(headerName)){ - axis2Header = tmpHeader; - break; - } - } - } - - return axis2Header; - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderReferencePolicyInterceptor.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderReferencePolicyInterceptor.java deleted file mode 100644 index 1b3315bb76..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderReferencePolicyInterceptor.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.binding.ws.axis2.policy.header; - -import java.util.logging.ConsoleHandler; -import java.util.logging.Handler; -import java.util.logging.Level; -import java.util.logging.Logger; - -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.OMText; -import org.apache.axiom.om.impl.llom.util.AXIOMUtil; -import org.apache.axiom.soap.SOAPFactory; -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.policy.Policy; -import org.apache.tuscany.sca.policy.PolicySet; - -/** - * Policy handler to handle PolicySet related to Logging with the QName - * {http://tuscany.apache.org/xmlns/sca/1.0/impl/java}LoggingPolicy - * - * @version $Rev$ $Date$ - */ -public class Axis2HeaderReferencePolicyInterceptor implements Interceptor { - private Invoker next; - private Operation operation; - private PolicySet policySet = null; - private String context; - private Axis2HeaderPolicy policy; - - public Axis2HeaderReferencePolicyInterceptor(String context, Operation operation, PolicySet policySet) { - super(); - this.operation = operation; - this.policySet = policySet; - this.context = context; - init(); - } - - private void init() { - if (policySet != null) { - for (Object policyObject : policySet.getPolicies()){ - if (policyObject instanceof Axis2HeaderPolicy){ - policy = (Axis2HeaderPolicy)policyObject; - break; - } - } - } - } - - public Message invoke(Message msg) { - // TODO - not yet implemented - - return getNext().invoke(msg); - } - - public Invoker getNext() { - return next; - } - - public void setNext(Invoker next) { - this.next = next; - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderReferencePolicyProvider.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderReferencePolicyProvider.java deleted file mode 100644 index 0af5a09d8d..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderReferencePolicyProvider.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.ws.axis2.policy.header; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Phase; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.util.PolicyHandler; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; - -/** - * @version $Rev$ $Date$ - */ -public class Axis2HeaderReferencePolicyProvider implements PolicyProvider { - private RuntimeComponent component; - private RuntimeComponentReference reference; - private Binding binding; - - public Axis2HeaderReferencePolicyProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - super(); - this.component = component; - this.reference = reference; - this.binding = binding; - } - - private PolicySet findPolicySet() { - if (binding instanceof PolicySetAttachPoint) { - List policySets = ((PolicySetAttachPoint)binding).getApplicablePolicySets(); - for (PolicySet ps : policySets) { - for (Object p : ps.getPolicies()) { - if (Axis2HeaderPolicy.class.isInstance(p)) { - return ps; - } - } - } - } - return null; - } - - private String getContext() { - return "component.reference: " + component.getURI() - + "#" - + reference.getName() - + "(" - + binding.getClass().getName() - + ")"; - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProvider#createInterceptor(org.apache.tuscany.sca.interfacedef.Operation) - */ - public Interceptor createInterceptor(Operation operation) { - PolicySet ps = findPolicySet(); - return ps == null ? null : new Axis2HeaderReferencePolicyInterceptor(getContext(), operation, ps); - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProvider#getPhase() - */ - public String getPhase() { - return Phase.REFERENCE_POLICY; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderServicePolicyInterceptor.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderServicePolicyInterceptor.java deleted file mode 100644 index a758ca5261..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderServicePolicyInterceptor.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.ws.axis2.policy.header; - - -import javax.xml.namespace.QName; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.policy.PolicySet; - -/** - * Policy handler to handle PolicySet related to Logging with the QName - * {http://tuscany.apache.org/xmlns/sca/1.0/impl/java}LoggingPolicy - * - * @version $Rev$ $Date$ - */ -public class Axis2HeaderServicePolicyInterceptor implements Interceptor { - private Invoker next; - private Operation operation; - private PolicySet policySet = null; - private String context; - private Axis2HeaderPolicy policy; - - public Axis2HeaderServicePolicyInterceptor(String context, Operation operation, PolicySet policySet) { - super(); - this.operation = operation; - this.policySet = policySet; - this.context = context; - init(); - } - - private void init() { - if (policySet != null) { - for (Object policyObject : policySet.getPolicies()){ - if (policyObject instanceof Axis2HeaderPolicy){ - policy = (Axis2HeaderPolicy)policyObject; - break; - } - } - } - } - - public Message invoke(Message msg) { - // TODO - not yet implemented - - return getNext().invoke(msg); - } - - public Invoker getNext() { - return next; - } - - public void setNext(Invoker next) { - this.next = next; - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderServicePolicyProvider.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderServicePolicyProvider.java deleted file mode 100644 index 126073beb7..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2HeaderServicePolicyProvider.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.binding.ws.axis2.policy.header; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Phase; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.util.PolicyHandler; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public class Axis2HeaderServicePolicyProvider implements PolicyProvider { - private RuntimeComponent component; - private RuntimeComponentService service; - private Binding binding; - - public Axis2HeaderServicePolicyProvider(RuntimeComponent component, RuntimeComponentService service, Binding binding) { - super(); - this.component = component; - this.service = service; - this.binding = binding; - } - - private PolicySet findPolicySet() { - if (binding instanceof PolicySetAttachPoint) { - List policySets = ((PolicySetAttachPoint)binding).getApplicablePolicySets(); - for (PolicySet ps : policySets) { - for (Object p : ps.getPolicies()) { - if (Axis2HeaderPolicy.class.isInstance(p)) { - return ps; - } - } - } - } - return null; - } - - private String getContext() { - return "component.service: " + component.getURI() - + "#" - + service.getName() - + "(" - + binding.getClass().getName() - + ")"; - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProvider#createInterceptor(org.apache.tuscany.sca.interfacedef.Operation) - */ - public Interceptor createInterceptor(Operation operation) { - PolicySet ps = findPolicySet(); - return ps == null ? null : new Axis2HeaderServicePolicyInterceptor(getContext(), operation, ps); - } - - /** - * @see org.apache.tuscany.sca.provider.PolicyProvider#getPhase() - */ - public String getPhase() { - return Phase.SERVICE_POLICY; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2SOAPHeader.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2SOAPHeader.java deleted file mode 100644 index 7a1f26bf04..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2SOAPHeader.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2.policy.header; - -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.OMText; -import org.apache.axiom.soap.SOAPFactory; -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.policy.Policy; - -/** - * Implementation for policies that could be injected as parameter - * into the axis2config. - * - * @version $Rev$ $Date$ - */ -public class Axis2SOAPHeader { - - private QName headerName; - - public QName getHeaderName() { - return headerName; - } - - public void setHeaderName(QName headerName) { - this.headerName = headerName; - } - - public OMElement getAsSOAPHeaderBlock(OMFactory factory) { - OMNamespace ns1 = factory.createOMNamespace(headerName.getNamespaceURI(), - headerName.getPrefix()); - OMElement header = ((SOAPFactory)factory).createSOAPHeaderBlock(headerName.getLocalPart(),ns1); - return header; - } - - public void setAsSOAPHeaderBlock(OMElement header) { - headerName = header.getQName(); - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2SOAPHeaderString.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2SOAPHeaderString.java deleted file mode 100644 index 0eefeac87b..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/header/Axis2SOAPHeaderString.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2.policy.header; - -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.OMText; -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.policy.Policy; - -/** - * Implementation for policies that could be injected as parameter - * into the axis2config. - * - * @version $Rev$ $Date$ - */ -public class Axis2SOAPHeaderString extends Axis2SOAPHeader { - - private String headerString; - - public String getHeaderString() { - return headerString; - } - - public void setHeaderString(String headerString) { - this.headerString = headerString; - } - - public OMElement getAsSOAPHeaderBlock(OMFactory factory) { - OMElement header = super.getAsSOAPHeaderBlock(factory); - OMText headerText = factory.createOMText(header, headerString); - header.addChild(headerText); - return header; - } - - public void setAsSOAPHeaderBlock(OMElement header) { - super.setAsSOAPHeaderBlock(header); - headerString = header.getText(); - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index 96782b74bf..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/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. - -# Implementation class for the artifact processor extension -org.apache.tuscany.sca.binding.ws.axis2.policy.configuration.Axis2ConfigParamPolicyProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#wsConfigParam,model=org.apache.tuscany.sca.binding.ws.axis2.policy.configuration.Axis2ConfigParamPolicy -org.apache.tuscany.sca.binding.ws.axis2.policy.authentication.token.Axis2TokenAuthenticationPolicyProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#axis2TokenAuthentication,model=org.apache.tuscany.sca.binding.ws.axis2.policy.authentication.token.Axis2TokenAuthenticationPolicy -org.apache.tuscany.sca.binding.ws.axis2.policy.header.Axis2HeaderPolicyProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#axis2Header,model=org.apache.tuscany.sca.binding.ws.axis2.policy.header.Axis2HeaderPolicy diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory b/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory deleted file mode 100644 index ced48cf236..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.PolicyProviderFactory +++ /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 policy extension -org.apache.tuscany.sca.binding.ws.axis2.policy.authentication.token.Axis2TokenAuthenticationPolicyProviderFactory;model=org.apache.tuscany.sca.binding.ws.axis2.policy.authentication.token.Axis2TokenAuthenticationPolicy -org.apache.tuscany.sca.binding.ws.axis2.policy.header.Axis2HeaderPolicyProviderFactory;model=org.apache.tuscany.sca.binding.ws.axis2.policy.header.Axis2HeaderPolicy \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/PolicyReadTestCase.java b/java/sca/contrib/modules/binding-ws-axis2-policy/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/PolicyReadTestCase.java deleted file mode 100644 index cf14e54b5f..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/PolicyReadTestCase.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2.policy.configuration; - - -import java.io.InputStream; -import java.net.URL; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamReader; - -import org.apache.tuscany.sca.binding.ws.axis2.policy.configuration.Axis2ConfigParamPolicy; -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.ExtensionPointRegistry; - -import junit.framework.TestCase; - -/** - * - * Test the reading of ws config params policy. - * - * @version $Rev$ $Date$ - */ -public class PolicyReadTestCase extends TestCase { - - public void testPolicyReading() throws Exception { - ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - XMLInputFactory inputFactory = XMLInputFactory.newInstance(); - StAXArtifactProcessor staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null); - - URL url = getClass().getResource("mock_policies.xml"); - - InputStream urlStream = url.openStream(); - XMLStreamReader reader = inputFactory.createXMLStreamReader(urlStream); - - Axis2ConfigParamPolicy policy = (Axis2ConfigParamPolicy)staxProcessor.read(reader); - assertEquals(policy.getParamElements().size(), 2); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2-policy/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/mock_policies.xml b/java/sca/contrib/modules/binding-ws-axis2-policy/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/mock_policies.xml deleted file mode 100644 index 77f750cd0d..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2-policy/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/policy/configuration/mock_policies.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - Timestamp Signature - org/apache/tuscany/sca/binding/ws/axis2/itests/policy/security.properties - - - - - Timestamp Signature - TuscanyWsUser - org/apache/tuscany/sca/binding/ws/axis2/itests/policy/security.properties - org.apache.tuscany.sca.binding.ws.axis2.itests.policy.IntegrityPWCBHandler" + - DirectReference - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-ws-axis2/LICENSE b/java/sca/contrib/modules/binding-ws-axis2/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/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/java/sca/contrib/modules/binding-ws-axis2/NOTICE b/java/sca/contrib/modules/binding-ws-axis2/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-ws-axis2/pom.xml b/java/sca/contrib/modules/binding-ws-axis2/pom.xml deleted file mode 100644 index 9078c68c39..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/pom.xml +++ /dev/null @@ -1,311 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-binding-ws-axis2 - Apache Tuscany SCA Axis2-based WS Binding Extension - - - - apache.ws - Apache WebServices Repository - http://ws.zones.apache.org/repository/ - legacy - - - - - - org.apache.tuscany.sca - tuscany-core - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-wsdl-xml - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-assembly-xml - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-ws-xml - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core-databinding - 2.0-SNAPSHOT - runtime - - - - org.apache.tuscany.sca - tuscany-databinding-axiom - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-databinding-jaxb-axiom - 2.0-SNAPSHOT - runtime - - - - org.apache.tuscany.sca - tuscany-host-http - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-policy-xml-ws - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-ws-axis2-policy - 2.0-SNAPSHOT - - - - org.apache.axis2 - axis2-kernel - 1.4.1 - - - org.apache.ant - ant - - - org.apache.ant - ant-launcher - - - - - - org.apache.axis2 - axis2-java2wsdl - 1.4.1 - - - org.apache.ant - ant - - - org.apache.ant - ant-launcher - - - xom - xom - - - - - - org.apache.axis2 - axis2-codegen - 1.4.1 - runtime - - - stax - stax-api - - - - - - org.apache.neethi - neethi - 2.0.4 - - - org.codehaus.woodstox - wstx-asl - - - - - - commons-httpclient - commons-httpclient - 3.1 - - - - org.apache.axis2 - axis2-mtompolicy - 1.4.1 - - - - org.apache.santuario - xmlsec - 1.4.2 - - - - org.apache.ws.security - wss4j - 1.5.4 - - - - org.apache.axis2 - mex - 1.41 - impl - - - - org.apache.rampart - rampart-core - 1.4 - - - org.apache.ant - ant-nodeps - - - org.apache.axis2 - addressing - - - org.apache.axis2 - axis2-xmlbeans - - - org.apache.axis2 - mex - - - org.apache.axis2 - axis2-adb - - - org.apache.axis2 - axis2-codegen - - - org.apache.axis2 - axis2-adb-codegen - - - xmlbeans - xbean - - - org.apache.ws.commons.schema - XmlSchema - - - stax - stax-api - - - - - - javax.servlet - servlet-api - 2.5 - provided - - - - - xalan - xalan - 2.7.0 - optional - - - - xerces - xercesImpl - 2.8.1 - - - - xml-apis - xml-apis - 1.3.03 - - - - org.apache.tuscany.sca - tuscany-host-jetty - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - test - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.ws.axis2 - ${pom.name} - org.apache.tuscany.sca.binding.ws.axis2* - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java b/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java deleted file mode 100644 index d468370a7e..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingInvoker.java +++ /dev/null @@ -1,298 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2; - -import java.security.AccessController; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; -import java.util.ArrayList; -import java.util.List; - -import javax.xml.namespace.QName; - -import org.apache.axiom.om.OMElement; -import org.apache.axiom.soap.SOAPBody; -import org.apache.axiom.soap.SOAPEnvelope; -import org.apache.axiom.soap.SOAPFactory; -import org.apache.axiom.soap.SOAPHeader; -import org.apache.axis2.AxisFault; -import org.apache.axis2.addressing.AddressingConstants; -import org.apache.axis2.addressing.EndpointReference; -import org.apache.axis2.addressing.EndpointReferenceHelper; -import org.apache.axis2.client.OperationClient; -import org.apache.axis2.client.Options; -import org.apache.axis2.context.MessageContext; -import org.apache.axis2.transport.http.HTTPConstants; -import org.apache.axis2.wsdl.WSDLConstants; -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.binding.ws.axis2.policy.authentication.token.Axis2TokenAuthenticationPolicy; -import org.apache.tuscany.sca.binding.ws.axis2.policy.configurator.Axis2BindingBasicAuthenticationConfigurator; -import org.apache.tuscany.sca.binding.ws.axis2.policy.configurator.Axis2BindingHeaderConfigurator; -import org.apache.tuscany.sca.binding.ws.axis2.policy.header.Axis2HeaderPolicy; -import org.apache.tuscany.sca.interfacedef.util.FaultException; -import org.apache.tuscany.sca.invocation.DataExchangeSemantics; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.authentication.basic.BasicAuthenticationPolicy; -import org.apache.tuscany.sca.policy.util.PolicyHandler; -import org.apache.tuscany.sca.runtime.ReferenceParameters; - -/** - * Axis2BindingInvoker uses an Axis2 OperationClient to invoke a remote web service - * - * @version $Rev$ $Date$ - */ -public class Axis2BindingInvoker implements Invoker, DataExchangeSemantics { - - public static final QName QNAME_WSA_FROM = - new QName(AddressingConstants.Final.WSA_NAMESPACE, AddressingConstants.WSA_FROM, - AddressingConstants.WSA_DEFAULT_PREFIX); - public static final String TUSCANY_PREFIX = "tuscany"; - public static final QName CALLBACK_ID_REFPARM_QN = - new QName(Constants.SCA10_TUSCANY_NS, "CallbackID", TUSCANY_PREFIX); - public static final QName CONVERSATION_ID_REFPARM_QN = - new QName(Constants.SCA10_TUSCANY_NS, "ConversationID", TUSCANY_PREFIX); - - private Axis2ServiceClient serviceClient; - private QName wsdlOperationName; - private Options options; - private SOAPFactory soapFactory; - private List policyHandlerList = null; - private WebServiceBinding wsBinding; - - private BasicAuthenticationPolicy basicAuthenticationPolicy = null; - private Axis2TokenAuthenticationPolicy axis2TokenAuthenticationPolicy = null; - private List axis2HeaderPolicies = new ArrayList(); - - public Axis2BindingInvoker(Axis2ServiceClient serviceClient, - QName wsdlOperationName, - Options options, - SOAPFactory soapFactory, - List policyHandlerList, - WebServiceBinding wsBinding) { - this.serviceClient = serviceClient; - this.wsdlOperationName = wsdlOperationName; - this.options = options; - this.soapFactory = soapFactory; - this.policyHandlerList = policyHandlerList; - this.wsBinding = wsBinding; - - // find out which policies are active - if (wsBinding instanceof PolicySetAttachPoint) { - List policySets = ((PolicySetAttachPoint)wsBinding).getApplicablePolicySets(); - for (PolicySet ps : policySets) { - for (Object p : ps.getPolicies()) { - if (BasicAuthenticationPolicy.class.isInstance(p)) { - basicAuthenticationPolicy = (BasicAuthenticationPolicy)p; - } else if (Axis2TokenAuthenticationPolicy.class.isInstance(p)) { - axis2TokenAuthenticationPolicy = (Axis2TokenAuthenticationPolicy)p; - } else if (Axis2HeaderPolicy.class.isInstance(p)) { - axis2HeaderPolicies.add((Axis2HeaderPolicy)p); - }else { - // etc. check for other types of policy being present - } - } - } - } - } - - private static final QName EXCEPTION = new QName("", "Exception"); - - public Message invoke(Message msg) { - try { - Object resp = invokeTarget(msg); - - msg.setBody(resp); - } catch (AxisFault e) { - if (e.getDetail() != null ) { - FaultException f = new FaultException(e.getMessage(), e.getDetail(), e); - f.setFaultName(e.getDetail().getQName()); - msg.setFaultBody(f); - } else { - msg.setFaultBody(e); - } - } catch (Throwable e) { - msg.setFaultBody(e); - } - - return msg; - } - - protected Object invokeTarget(Message msg) throws AxisFault { - final OperationClient operationClient = createOperationClient(msg); - - // ensure connections are tracked so that they can be closed by the reference binding - MessageContext requestMC = operationClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_OUT_VALUE); - requestMC.getOptions().setProperty(HTTPConstants.REUSE_HTTP_CLIENT, Boolean.TRUE); - requestMC.getOptions().setTimeOutInMilliSeconds(240000L); - - for ( PolicyHandler policyHandler : policyHandlerList ) { - policyHandler.beforeInvoke(msg, requestMC, operationClient); - } - - // set policy specified headers - for (Axis2HeaderPolicy policy : axis2HeaderPolicies){ - Axis2BindingHeaderConfigurator.setHeader(requestMC, msg, policy.getHeaderName()); - } - - if (basicAuthenticationPolicy != null) { - Axis2BindingBasicAuthenticationConfigurator.setOperationOptions(operationClient, msg, basicAuthenticationPolicy); - } - - if (axis2TokenAuthenticationPolicy != null) { - Axis2BindingHeaderConfigurator.setHeader(requestMC, msg, axis2TokenAuthenticationPolicy.getTokenName()); - } - - // Allow privileged access to read properties. Requires PropertiesPermission read in - // security policy. - try { - AccessController.doPrivileged(new PrivilegedExceptionAction() { - public Object run() throws AxisFault { - operationClient.execute(true); - return null; - } - }); - } catch (PrivilegedActionException e) { - operationClient.complete(requestMC); - throw (AxisFault)e.getException(); - } - - MessageContext responseMC = operationClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE); - - for ( PolicyHandler policyHandler : policyHandlerList ) { - policyHandler.afterInvoke(msg, responseMC, operationClient); - } - - OMElement response = responseMC.getEnvelope().getBody().getFirstElement(); - - // FIXME: [rfeng] We have to pay performance penalty to build the complete OM as the operationClient.complete() will - // release the underlying HTTP connection. - // Force the response to be populated, see https://issues.apache.org/jira/browse/TUSCANY-1541 - if (response != null) { - response.build(); - } - - operationClient.complete(requestMC); - - return response; - } - - @SuppressWarnings("deprecation") - protected OperationClient createOperationClient(Message msg) throws AxisFault { - SOAPEnvelope env = soapFactory.getDefaultEnvelope(); - Object[] args = (Object[])msg.getBody(); - if (args != null && args.length > 0) { - SOAPBody body = env.getBody(); - for (Object bc : args) { - if (bc instanceof OMElement) { - body.addChild((OMElement)bc); - } else { - throw new IllegalArgumentException( - "Can't handle mixed payloads between OMElements and other types."); - } - } - } - final MessageContext requestMC = new MessageContext(); - requestMC.setEnvelope(env); - - // Axis2 operationClients can not be shared so create a new one for each request - final OperationClient operationClient = serviceClient.getServiceClient().createClient(wsdlOperationName); - operationClient.setOptions(options); - - ReferenceParameters parameters = msg.getFrom().getReferenceParameters(); - - // set callback endpoint and callback ID for WS-Addressing header - EndpointReference fromEPR = null; - org.apache.tuscany.sca.runtime.EndpointReference callbackEPR = parameters.getCallbackReference(); - if (callbackEPR != null) { - fromEPR = new EndpointReference(callbackEPR.getBinding().getURI()); - } - Object callbackID = parameters.getCallbackID(); - if (callbackID != null) { - if (fromEPR == null) { - fromEPR = new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL); - } - //FIXME: serialize callback ID to XML in case it is not a string - fromEPR.addReferenceParameter(CALLBACK_ID_REFPARM_QN, callbackID.toString()); - } - - // set conversation ID for WS-Addressing header - Object conversationId = parameters.getConversationID(); - if (conversationId != null) { - if (fromEPR == null) { - fromEPR = new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL); - } - //FIXME: serialize conversation ID to XML in case it is not a string - fromEPR.addReferenceParameter(CONVERSATION_ID_REFPARM_QN, conversationId.toString()); - } - - // add WS-Addressing header - //FIXME: is there any way to use the Axis2 addressing support for this? - if (fromEPR != null) { - SOAPEnvelope sev = requestMC.getEnvelope(); - SOAPHeader sh = sev.getHeader(); - OMElement epr = - EndpointReferenceHelper.toOM(sev.getOMFactory(), - fromEPR, - QNAME_WSA_FROM, - AddressingConstants.Final.WSA_NAMESPACE); - sh.addChild(epr); - requestMC.setFrom(fromEPR); - } - - // Set any message headers required by policy - // Get the header from the tuscany message - // If its not already an OM convert it to OM - // add it to the envelope header - - // if target endpoint was not specified when this invoker was created, - // use dynamically specified target endpoint passed in on this call - if (options.getTo() == null) { - org.apache.tuscany.sca.runtime.EndpointReference ep = msg.getTo(); - if (ep != null) { - requestMC.setTo(new EndpointReference(ep.getURI())); - } else { - throw new RuntimeException("Unable to determine destination endpoint"); - } - } else { - requestMC.setTo(new EndpointReference(options.getTo().getAddress())); - } - - // Allow privileged access to read properties. Requires PropertiesPermission read in - // security policy. - try { - AccessController.doPrivileged(new PrivilegedExceptionAction() { - public Object run() throws AxisFault { - operationClient.addMessageContext(requestMC); - return null; - } - }); - } catch (PrivilegedActionException e) { - throw (AxisFault)e.getException(); - } - return operationClient; - } - - public boolean allowsPassByReference() { - return true; - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingProviderFactory.java b/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingProviderFactory.java deleted file mode 100644 index 0dc209f072..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2BindingProviderFactory.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.ws.axis2; - -import java.util.List; - -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -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.host.http.ServletHost; -import org.apache.tuscany.sca.host.http.ServletHostExtensionPoint; -import org.apache.tuscany.sca.policy.util.PolicyHandlerDefinitionsLoader; -import org.apache.tuscany.sca.policy.util.PolicyHandlerTuple; -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.oasisopen.sca.ServiceRuntimeException; - -/** - * Axis2BindingProviderFactory - * - * @version $Rev$ $Date$ - */ - -public class Axis2BindingProviderFactory implements BindingProviderFactory { - - private ModelFactoryExtensionPoint modelFactories; - private ServletHost servletHost; - private List policyHandlerClassnames = null; - private DataBindingExtensionPoint dataBindings; - - public Axis2BindingProviderFactory(ExtensionPointRegistry extensionPoints) { - ServletHostExtensionPoint servletHosts = extensionPoints.getExtensionPoint(ServletHostExtensionPoint.class); - List hosts = servletHosts.getServletHosts(); - if (!hosts.isEmpty()) { - this.servletHost = hosts.get(0); - } - modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - policyHandlerClassnames = PolicyHandlerDefinitionsLoader.loadPolicyHandlerClassnames(); - dataBindings = extensionPoints.getExtensionPoint(DataBindingExtensionPoint.class); - } - - public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - WebServiceBinding binding) { - return new Axis2ReferenceBindingProvider(component, reference, binding, - modelFactories, policyHandlerClassnames, dataBindings); - } - - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - WebServiceBinding binding) { - return new Axis2ServiceBindingProvider(component, service, binding, - servletHost, modelFactories, - policyHandlerClassnames, dataBindings); - } - - public Class getModelType() { - return WebServiceBinding.class; - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2OneWayBindingInvoker.java b/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2OneWayBindingInvoker.java deleted file mode 100644 index f8d0cf55b0..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2OneWayBindingInvoker.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2; - -import java.util.List; - -import javax.xml.namespace.QName; - -import org.apache.axiom.soap.SOAPFactory; -import org.apache.axis2.AxisFault; -import org.apache.axis2.client.OperationClient; -import org.apache.axis2.client.Options; -import org.apache.axis2.context.MessageContext; -import org.apache.axis2.transport.http.HTTPConstants; -import org.apache.axis2.wsdl.WSDLConstants; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.policy.util.PolicyHandler; - -/** - * Axis2OneWayBindingInvoker uses an Axis2 OperationClient to invoke a OneWay remote web service. - * - * @version $Rev$ $Date$ - */ -public class Axis2OneWayBindingInvoker extends Axis2BindingInvoker { - - public Axis2OneWayBindingInvoker(Axis2ServiceClient serviceClient, - QName wsdlOperationName, - Options options, - SOAPFactory soapFactory, - List policyHandlerList, - WebServiceBinding wsBinding) { - - super(serviceClient, wsdlOperationName, options, soapFactory, policyHandlerList, wsBinding); - } - - @Override - protected Object invokeTarget(Message msg) throws AxisFault { - OperationClient operationClient = createOperationClient(msg); - - // ensure connections are tracked so that they can be closed by the reference binding - MessageContext requestMC = operationClient.getMessageContext(WSDLConstants.MESSAGE_LABEL_OUT_VALUE); - //requestMC.getOptions().setProperty(HTTPConstants.REUSE_HTTP_CLIENT, Boolean.TRUE); - Options opt = requestMC.getOptions(); - opt.setProperty(HTTPConstants.REUSE_HTTP_CLIENT, Boolean.TRUE); - opt.setUseSeparateListener(true); - opt.setProperty(HTTPConstants.AUTO_RELEASE_CONNECTION,Boolean.TRUE); - - operationClient.execute(false); - - // REVIEW it seems ok to return null - return null; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ReferenceBindingProvider.java b/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ReferenceBindingProvider.java deleted file mode 100644 index 1ff938d727..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ReferenceBindingProvider.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.ws.axis2; - -import java.util.List; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint; -import org.apache.tuscany.sca.host.http.ServletHost; -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.invocation.MessageFactory; -import org.apache.tuscany.sca.policy.util.PolicyHandlerTuple; -import org.apache.tuscany.sca.provider.ReferenceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.oasisopen.sca.ServiceRuntimeException; - -public class Axis2ReferenceBindingProvider implements ReferenceBindingProvider { - - private WebServiceBinding wsBinding; - private Axis2ServiceClient axisClient; - - public Axis2ReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - WebServiceBinding wsBinding, - ModelFactoryExtensionPoint modelFactories, - List policyHandlerClassnames, - DataBindingExtensionPoint dataBindings) { - - MessageFactory messageFactory = modelFactories.getFactory(MessageFactory.class); - this.wsBinding = wsBinding; - - // A WSDL document should always be present in the binding - if (wsBinding.getWSDLDocument() == null) { - throw new ServiceRuntimeException("No WSDL document for " + component.getName() + "/" + reference.getName()); - } - - // Set to use the Axiom data binding - InterfaceContract contract = wsBinding.getBindingInterfaceContract(); - if (contract.getInterface() != null) { - contract.getInterface().resetDataBinding(OMElement.class.getName()); - } - - axisClient = new Axis2ServiceClient(component, reference, wsBinding, messageFactory, policyHandlerClassnames); - } - - public void start() { - axisClient.start(); - } - - public void stop() { - axisClient.stop(); - } - - public InterfaceContract getBindingInterfaceContract() { - return wsBinding.getBindingInterfaceContract(); - } - - public boolean supportsOneWayInvocation() { - return true; - } - - public Invoker createInvoker(Operation operation) { - return axisClient.createInvoker(operation); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceBindingProvider.java b/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceBindingProvider.java deleted file mode 100644 index 1f975ee08b..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceBindingProvider.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.binding.ws.axis2; - -import java.util.List; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint; -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.policy.util.PolicyHandlerTuple; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.oasisopen.sca.ServiceRuntimeException; - -public class Axis2ServiceBindingProvider implements ServiceBindingProvider { - - private WebServiceBinding wsBinding; - private Axis2ServiceProvider axisProvider; - - public Axis2ServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - WebServiceBinding wsBinding, - ServletHost servletHost, - ModelFactoryExtensionPoint modelFactories, - List policyHandlerClassnames, - DataBindingExtensionPoint dataBindings) { - - if (servletHost == null) { - throw new ServiceRuntimeException("No Servlet host is avaible for HTTP web services"); - } - - MessageFactory messageFactory = modelFactories.getFactory(MessageFactory.class); - this.wsBinding = wsBinding; - - // A WSDL document should always be present in the binding - if (wsBinding.getWSDLDocument() == null) { - throw new ServiceRuntimeException("No WSDL document for " + component.getName() + "/" + service.getName()); - } - - // Set to use the Axiom data binding - InterfaceContract contract = wsBinding.getBindingInterfaceContract(); - contract.getInterface().resetDataBinding(OMElement.class.getName()); - - axisProvider = new Axis2ServiceProvider(component, service, wsBinding, servletHost, messageFactory, policyHandlerClassnames); - } - - public void start() { - axisProvider.start(); - } - - public void stop() { - axisProvider.stop(); - } - - public InterfaceContract getBindingInterfaceContract() { - return wsBinding.getBindingInterfaceContract(); - } - - public boolean supportsOneWayInvocation() { - return true; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceClient.java b/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceClient.java deleted file mode 100644 index 5c3be5839f..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceClient.java +++ /dev/null @@ -1,503 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2; - -import static org.apache.tuscany.sca.binding.ws.axis2.AxisPolicyHelper.SOAP12_INTENT; -import static org.apache.tuscany.sca.binding.ws.axis2.AxisPolicyHelper.isIntentRequired; - -import java.io.IOException; -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.Collection; -import java.util.List; -import java.util.Map; - -import javax.wsdl.Binding; -import javax.wsdl.BindingOperation; -import javax.wsdl.Definition; -import javax.wsdl.Import; -import javax.wsdl.Port; -import javax.wsdl.extensions.soap.SOAPAddress; -import javax.wsdl.extensions.soap.SOAPOperation; -import javax.wsdl.extensions.soap12.SOAP12Address; -import javax.xml.namespace.QName; -import javax.xml.stream.FactoryConfigurationError; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.transform.dom.DOMSource; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.impl.builder.StAXOMBuilder; -import org.apache.axiom.soap.SOAPFactory; -import org.apache.axis2.AxisFault; -import org.apache.axis2.addressing.EndpointReference; -import org.apache.axis2.addressing.EndpointReferenceHelper; -import org.apache.axis2.client.Options; -import org.apache.axis2.client.ServiceClient; -import org.apache.axis2.context.ConfigurationContext; -import org.apache.axis2.description.AxisEndpoint; -import org.apache.axis2.description.AxisService; -import org.apache.axis2.description.Parameter; -import org.apache.axis2.description.WSDL11ToAxisServiceBuilder; -import org.apache.axis2.description.WSDL2Constants; -import org.apache.axis2.transport.http.HTTPConstants; -import org.apache.axis2.util.threadpool.ThreadPool; -import org.apache.commons.httpclient.HttpClient; -import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager; -import org.apache.commons.httpclient.params.HttpConnectionManagerParams; -import org.apache.tuscany.sca.assembly.AbstractContract; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.binding.ws.axis2.policy.configuration.Axis2ConfigParamPolicy; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.MessageFactory; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.util.PolicyHandler; -import org.apache.tuscany.sca.policy.util.PolicyHandlerTuple; -import org.apache.tuscany.sca.policy.util.PolicyHandlerUtils; -import org.apache.tuscany.sca.provider.PolicyProvider; -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.xsd.xml.XMLDocumentHelper; -import org.apache.ws.commons.schema.resolver.URIResolver; -import org.oasisopen.sca.ServiceRuntimeException; - -public class Axis2ServiceClient { - - private RuntimeComponent component; - private AbstractContract contract; - private WebServiceBinding wsBinding; - private ServiceClient serviceClient; - List policyHandlerClassnames = null; - private List policyHandlerList = new ArrayList(); - - public Axis2ServiceClient(RuntimeComponent component, - AbstractContract contract, - WebServiceBinding wsBinding, - MessageFactory messageFactory, - List policyHandlerClassnames) { - - this.component = component; - this.contract = contract; - this.wsBinding = wsBinding; - this.policyHandlerClassnames = policyHandlerClassnames; - } - - protected void start() { - if (serviceClient == null) { - this.serviceClient = createServiceClient(); - } - } - - public ServiceClient getServiceClient() { - return serviceClient; - } - - protected void configurePolicy(ConfigurationContext context, PolicySet ps) throws AxisFault { - if (ps == null) { - return; - } - for (Object policy : ps.getPolicies()) { - if (policy instanceof Axis2ConfigParamPolicy) { - Axis2ConfigParamPolicy axis2ConfigParamPolicy = (Axis2ConfigParamPolicy)policy; - for (Map.Entry param : axis2ConfigParamPolicy.getParamElements().entrySet()) { - Parameter configParam = new Parameter(param.getKey(), param.getValue().getFirstElement()); - configParam.setParameterElement(param.getValue()); - context.getAxisConfiguration().addParameter(configParam); - } - } - } - } - - /** - * Create an Axis2 ServiceClient - */ - protected ServiceClient createServiceClient() { - try { - final boolean isRampartRequired = AxisPolicyHelper.isRampartRequired(wsBinding); - ConfigurationContext configContext; - - try { - // TuscanyAxisConfigurator tuscanyAxisConfigurator = new TuscanyAxisConfigurator(); - // Allow privileged access to read properties. Requires PropertyPermission read in - // security policy. - TuscanyAxisConfigurator tuscanyAxisConfigurator = - AccessController.doPrivileged(new PrivilegedExceptionAction() { - public TuscanyAxisConfigurator run() throws AxisFault { - return new TuscanyAxisConfigurator(isRampartRequired); - } - }); - configContext = tuscanyAxisConfigurator.getConfigurationContext(); - // deployRampartModule(); - // configureSecurity(); - } catch (PrivilegedActionException e) { - throw new ServiceRuntimeException(e.getException()); - } - - createPolicyHandlers(); - setupPolicyHandlers(policyHandlerList, configContext); - - Definition definition = wsBinding.getWSDLDocument(); - QName serviceQName = wsBinding.getService().getQName(); - Port port = wsBinding.getPort(); - if (port == null) { - // service has multiple ports, select one port to use - Collection ports = wsBinding.getService().getPorts().values(); - for (Port p : ports) { - // look for a SOAP 1.1 port first - if (p.getExtensibilityElements().get(0) instanceof SOAPAddress) { - port = p; - break; - } - } - if (port == null) { - // no SOAP 1.1 port available, so look for a SOAP 1.2 port - for (Port p : ports) { - if (p.getExtensibilityElements().get(0) instanceof SOAP12Address) { - port = p; - break; - } - } - } - } - AxisService axisService = - createClientSideAxisService(definition, serviceQName, port.getName(), new Options()); - - HttpClient httpClient = (HttpClient)configContext.getProperty(HTTPConstants.CACHED_HTTP_CLIENT); - if (httpClient == null) { - MultiThreadedHttpConnectionManager connectionManager = new MultiThreadedHttpConnectionManager(); - HttpConnectionManagerParams connectionManagerParams = new HttpConnectionManagerParams(); - connectionManagerParams.setDefaultMaxConnectionsPerHost(2); - connectionManagerParams.setTcpNoDelay(true); - connectionManagerParams.setStaleCheckingEnabled(true); - connectionManagerParams.setLinger(0); - connectionManager.setParams(connectionManagerParams); - httpClient = new HttpClient(connectionManager); - configContext.setThreadPool(new ThreadPool(1, 5)); - configContext.setProperty(HTTPConstants.REUSE_HTTP_CLIENT, Boolean.TRUE); - configContext.setProperty(HTTPConstants.CACHED_HTTP_CLIENT, httpClient); - } - - return new ServiceClient(configContext, axisService); - - } catch (AxisFault e) { - throw new RuntimeException(e); // TODO: better exception - } catch (ClassNotFoundException e) { - throw new RuntimeException(e); - } catch (InstantiationException e) { - throw new RuntimeException(e); - } catch (IllegalAccessException e) { - throw new RuntimeException(e); - } - } - - /** - * URI resolver implementation for XML schema - */ - public static class URIResolverImpl implements URIResolver { - private Definition definition; - - public URIResolverImpl(Definition definition) { - this.definition = definition; - } - - public org.xml.sax.InputSource resolveEntity(java.lang.String targetNamespace, - java.lang.String schemaLocation, - java.lang.String baseUri) { - try { - if (baseUri == null) { - baseUri = definition.getDocumentBaseURI(); - } - URL url = new URL(new URL(baseUri), schemaLocation); - return XMLDocumentHelper.getInputSource(url); - } catch (IOException e) { - return null; - } - } - } - - /** - * Workaround for https://issues.apache.org/jira/browse/AXIS2-3205 - * @param definition - * @param serviceName - * @return - */ - private static Definition getDefinition(Definition definition, QName serviceName) { - - if (serviceName == null) { - return definition; - } - - if (definition == null) { - return null; - } - Object service = definition.getServices().get(serviceName); - if (service != null) { - return definition; - } - for (Object i : definition.getImports().values()) { - List imports = (List)i; - for (Import imp : imports) { - Definition d = getDefinition(imp.getDefinition(), serviceName); - if (d != null) { - return d; - } - } - } - return null; - } - - /** - * This method is copied from AxisService.createClientSideAxisService to - * work around http://issues.apache.org/jira/browse/WSCOMMONS-228 - * - * @param wsdlDefinition - * @param wsdlServiceName - * @param portName - * @param options - * @return - * @throws AxisFault - */ - @Deprecated - public static AxisService createClientSideAxisService(Definition definition, - QName serviceName, - String portName, - Options options) throws AxisFault { - Definition def = getDefinition(definition, serviceName); - final WSDL11ToAxisServiceBuilder serviceBuilder = new WSDL11ToAxisServiceBuilder(def, serviceName, portName); - serviceBuilder.setServerSide(false); - // [rfeng] Add a custom resolver to work around WSCOMMONS-228 - serviceBuilder.setCustomResolver(new URIResolverImpl(def)); - serviceBuilder.setBaseUri(def.getDocumentBaseURI()); - // [rfeng] - // Allow access to read properties. Requires PropertiesPermission in security policy. - AxisService axisService; - try { - axisService = AccessController.doPrivileged(new PrivilegedExceptionAction() { - public AxisService run() throws AxisFault { - return serviceBuilder.populateService(); - } - }); - } catch ( PrivilegedActionException e ) { - throw (AxisFault) e.getException(); - } - - AxisEndpoint axisEndpoint = (AxisEndpoint)axisService.getEndpoints().get(axisService.getEndpointName()); - options.setTo(new EndpointReference(axisEndpoint.getEndpointURL())); - if (axisEndpoint != null) { - options.setSoapVersionURI((String)axisEndpoint.getBinding().getProperty(WSDL2Constants.ATTR_WSOAP_VERSION)); - } - return axisService; - } - - /* - private static T getExtensibilityElement(List elements, Class type) { - for (Object e : elements) { - if (type.isInstance(e)) { - return type.cast(e); - } - } - return null; - } - */ - - protected void stop() { - if (serviceClient != null) { - // close all connections that we have initiated, so that the jetty server - // can be restarted without seeing ConnectExceptions - HttpClient httpClient = - (HttpClient)serviceClient.getServiceContext().getConfigurationContext() - .getProperty(HTTPConstants.CACHED_HTTP_CLIENT); - if (httpClient != null) - ((MultiThreadedHttpConnectionManager)httpClient.getHttpConnectionManager()).shutdown(); - - serviceClient = null; - } - } - - /** - * Create and configure an Axis2BindingInvoker for each operation - */ - protected Invoker createInvoker(Operation operation) { - Options options = new Options(); - EndpointReference epTo = getWSATOEPR(wsBinding); - if (epTo != null) { - options.setTo(epTo); - } - options.setProperty(HTTPConstants.CHUNKED, Boolean.FALSE); - - String operationName = operation.getName(); - - String soapAction = getSOAPAction(operationName); - if (soapAction != null && soapAction.length() > 1) { - options.setAction(soapAction); - } - - options.setTimeOutInMilliSeconds(30 * 1000); // 30 seconds - - // Allow privileged access to read properties. Requires PropertiesPermission read in - // security policy. - SOAPFactory soapFactory = AccessController.doPrivileged(new PrivilegedAction() { - public SOAPFactory run() { - if (requiresSOAP12()) - return OMAbstractFactory.getSOAP12Factory(); - else - return OMAbstractFactory.getSOAP11Factory(); - - } - }); - QName wsdlOperationQName = new QName(operationName); - if (requiresMTOM()) - { - options.setProperty(org.apache.axis2.Constants.Configuration.ENABLE_MTOM, org.apache.axis2.Constants.VALUE_TRUE); - } - Axis2BindingInvoker invoker; - if (operation.isNonBlocking()) { - invoker = new Axis2OneWayBindingInvoker(this, wsdlOperationQName, options, soapFactory, policyHandlerList, wsBinding); - } else { - invoker = new Axis2BindingInvoker(this, wsdlOperationQName, options, soapFactory, policyHandlerList, wsBinding); - } - - return invoker; - } - - private boolean requiresSOAP12() { - return isIntentRequired(wsBinding, SOAP12_INTENT); - } - - private boolean requiresMTOM() { - return isIntentRequired(wsBinding, AxisPolicyHelper.MTOM_INTENT); - } - - protected EndpointReference getWSATOEPR(WebServiceBinding binding) { - EndpointReference epr = getEPR(binding); - if (epr == null) { - epr = getPortLocationEPR(binding); - } else if (epr.getAddress() == null || epr.getAddress().length() < 1) { - EndpointReference bindingEPR = getPortLocationEPR(binding); - if (bindingEPR != null) { - epr.setAddress(bindingEPR.getAddress()); - } - } - return epr; - } - - protected EndpointReference getPortLocationEPR(WebServiceBinding binding) { - String ep = null; - if (binding.getPort() != null) { - List wsdlPortExtensions = binding.getPort().getExtensibilityElements(); - for (final Object extension : wsdlPortExtensions) { - if (extension instanceof SOAPAddress) { - ep = ((SOAPAddress)extension).getLocationURI(); - break; - } - if (extension instanceof SOAP12Address) { - SOAP12Address address = (SOAP12Address)extension; - ep = address.getLocationURI(); - break; - } - } - } - if(ep == null || ep.equals("")) { - ep = binding.getURI(); - } - return ep == null || "".equals(ep) ? null : new EndpointReference(ep); - } - - protected org.apache.axis2.addressing.EndpointReference getEPR(WebServiceBinding wsBinding) { - if (wsBinding.getEndPointReference() == null) { - return null; - } - try { - - XMLStreamReader parser = - XMLInputFactory.newInstance().createXMLStreamReader(new DOMSource(wsBinding.getEndPointReference())); - StAXOMBuilder builder = new StAXOMBuilder(parser); - OMElement omElement = builder.getDocumentElement(); - org.apache.axis2.addressing.EndpointReference epr = EndpointReferenceHelper.fromOM(omElement); - return epr; - - } catch (IOException e) { - throw new RuntimeException(e); - } catch (XMLStreamException e) { - throw new RuntimeException(e); - } catch (FactoryConfigurationError e) { - throw new RuntimeException(e); - } - } - - protected String getSOAPAction(String operationName) { - Binding binding = wsBinding.getBinding(); - if (binding != null) { - for (Object o : binding.getBindingOperations()) { - BindingOperation bop = (BindingOperation)o; - if (bop.getName().equalsIgnoreCase(operationName)) { - for (Object o2 : bop.getExtensibilityElements()) { - if (o2 instanceof SOAPOperation) { - return ((SOAPOperation)o2).getSoapActionURI(); - } - } - } - } - } - return null; - } - - private void createPolicyHandlers() throws IllegalAccessException, InstantiationException, ClassNotFoundException { - if (wsBinding instanceof PolicySetAttachPoint) { - PolicySetAttachPoint policiedBinding = (PolicySetAttachPoint)wsBinding; - PolicyHandler policyHandler = null; - for (PolicySet policySet : policiedBinding.getPolicySets()) { - policyHandler = PolicyHandlerUtils.findPolicyHandler(policySet, policyHandlerClassnames); - if (policyHandler != null) { - policyHandler.setApplicablePolicySet(policySet); - policyHandlerList.add(policyHandler); - } - } - - // code to create policy handlers using the new policy SPI based - // on policy providers -/* - List policyProviders = ((RuntimeComponentReference)contract).getPolicyProviders(wsBinding); - - for (PolicyProvider policyProvider : policyProviders){ - policyHandler = policyProvider.createHandler(); - if (policyHandler != null) { - policyHandlerList.add(policyHandler); - } - } -*/ - } - } - - private void setupPolicyHandlers(List policyHandlers, ConfigurationContext configContext) { - for (PolicyHandler aHandler : policyHandlers) { - aHandler.setUp(configContext); - } - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceInMessageReceiver.java b/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceInMessageReceiver.java deleted file mode 100644 index a0cfab9154..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceInMessageReceiver.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.binding.ws.axis2; - -import java.lang.reflect.InvocationTargetException; -import java.util.List; - -import org.apache.axiom.om.OMElement; -import org.apache.axis2.AxisFault; -import org.apache.axis2.context.MessageContext; -import org.apache.axis2.receivers.AbstractInMessageReceiver; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.policy.util.PolicyHandler; - -public class Axis2ServiceInMessageReceiver extends AbstractInMessageReceiver { - - protected Operation operation; - - private Axis2ServiceProvider provider; - - private List policyHandlerList = null; - - public Axis2ServiceInMessageReceiver(Axis2ServiceProvider provider, Operation operation, List policyHandlerList) { - this.provider = provider; - this.operation = operation; - this.policyHandlerList = policyHandlerList; - } - - public Axis2ServiceInMessageReceiver() { - } - - @Override - public void invokeBusinessLogic(MessageContext inMC) throws AxisFault { - try { - OMElement requestOM = inMC.getEnvelope().getBody().getFirstElement(); - Object[] args = new Object[] {requestOM}; - - /* - for ( PolicyHandler policyHandler : policyHandlerList ) { - policyHandler.beforeInvoke(operation, args, inMC); - } - */ - - provider.invokeTarget(operation, args, inMC); - - /* - for ( PolicyHandler policyHandler : policyHandlerList ) { - policyHandler.afterInvoke(operation, args, inMC); - } - */ - - } catch (InvocationTargetException e) { - Throwable t = e.getCause(); - if (t instanceof Exception) { - throw AxisFault.makeFault((Exception)t); - } - throw new RuntimeException(e); - } catch (Exception e) { - e.printStackTrace(); - throw AxisFault.makeFault(e); - } - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceInOutSyncMessageReceiver.java b/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceInOutSyncMessageReceiver.java deleted file mode 100644 index 64e49e0b0d..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceInOutSyncMessageReceiver.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2; - -import java.lang.reflect.InvocationTargetException; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.apache.axiom.om.OMElement; -import org.apache.axiom.soap.SOAPEnvelope; -import org.apache.axis2.AxisFault; -import org.apache.axis2.Constants; -import org.apache.axis2.context.MessageContext; -import org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.util.FaultException; -import org.apache.tuscany.sca.policy.util.PolicyHandler; -import org.oasisopen.sca.ServiceRuntimeException; - -public class Axis2ServiceInOutSyncMessageReceiver extends AbstractInOutSyncMessageReceiver { - private static final Logger logger = Logger.getLogger(Axis2ServiceInOutSyncMessageReceiver.class.getName()); - - protected Operation operation; - private List policyHandlerList = null; - - private Axis2ServiceProvider provider; - - public Axis2ServiceInOutSyncMessageReceiver(Axis2ServiceProvider provider, Operation operation, List policyHandlerList) { - this.provider = provider; - this.operation = operation; - this.policyHandlerList = policyHandlerList; - } - - public Axis2ServiceInOutSyncMessageReceiver() { - } - - @Override - public void invokeBusinessLogic(MessageContext inMC, MessageContext outMC) throws AxisFault { - try { - OMElement requestOM = inMC.getEnvelope().getBody().getFirstElement(); - Object[] args = null; - - if (requestOM != null) { - args = new Object[] {requestOM}; - } - - /* - for ( PolicyHandler policyHandler : policyHandlerList ) { - policyHandler.beforeInvoke(operation, args, inMC); - } - */ - - OMElement responseOM = (OMElement)provider.invokeTarget(operation, args, inMC); - - /* - for ( PolicyHandler policyHandler : policyHandlerList ) { - policyHandler.afterInvoke(operation, args, inMC, responseOM); - } - */ - - SOAPEnvelope soapEnvelope = getSOAPFactory(inMC).getDefaultEnvelope(); - if (null != responseOM ) { - soapEnvelope.getBody().addChild(responseOM); - } - outMC.setEnvelope(soapEnvelope); - outMC.getOperationContext().setProperty(Constants.RESPONSE_WRITTEN, Constants.VALUE_TRUE); - - } catch (InvocationTargetException e) { - Throwable t = e.getCause(); - if (t instanceof FaultException && ((FaultException)t).getFaultInfo() instanceof OMElement) { - OMElement faultDetail = (OMElement)((FaultException)t).getFaultInfo(); - inMC.setProperty(Constants.FAULT_NAME, faultDetail.getQName().getLocalPart()); - AxisFault f = new AxisFault(null, e.getMessage(), "faultNode", "faultRole", faultDetail); - throw f; - } - if (t instanceof Exception) { - throw AxisFault.makeFault((Exception)t); - } - logger.log(Level.SEVERE, e.getMessage(), t); - throw new ServiceRuntimeException(e); - } catch (Throwable e) { - logger.log(Level.SEVERE, e.getMessage(), e); - throw AxisFault.makeFault(e); - } - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java b/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java deleted file mode 100644 index 8a04a30a3e..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceProvider.java +++ /dev/null @@ -1,826 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2; - -import java.lang.reflect.InvocationTargetException; -import java.net.URI; -import java.net.URISyntaxException; -import java.security.AccessController; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Vector; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.wsdl.Definition; -import javax.wsdl.Import; -import javax.wsdl.Port; -import javax.wsdl.Types; -import javax.wsdl.extensions.UnknownExtensibilityElement; -import javax.wsdl.extensions.soap.SOAPAddress; -import javax.wsdl.extensions.soap12.SOAP12Address; -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.soap.SOAPHeader; -import org.apache.axis2.AxisFault; -import org.apache.axis2.Constants; -import org.apache.axis2.Constants.Configuration; -import org.apache.axis2.addressing.AddressingConstants; -import org.apache.axis2.context.ConfigurationContext; -import org.apache.axis2.context.MessageContext; -import org.apache.axis2.deployment.util.Utils; -import org.apache.axis2.description.AxisEndpoint; -import org.apache.axis2.description.AxisOperation; -import org.apache.axis2.description.AxisService; -import org.apache.axis2.description.Parameter; -import org.apache.axis2.description.TransportInDescription; -import org.apache.axis2.description.TransportOutDescription; -import org.apache.axis2.description.WSDL11ToAxisServiceBuilder; -import org.apache.axis2.description.WSDL2Constants; -import org.apache.axis2.description.WSDLToAxisServiceBuilder; -import org.apache.axis2.engine.ListenerManager; -import org.apache.axis2.engine.MessageReceiver; -import org.apache.axis2.transport.jms.JMSConstants; -import org.apache.axis2.transport.jms.JMSListener; -import org.apache.axis2.transport.jms.JMSSender; -import org.apache.axis2.transport.jms.JMSUtils; -import org.apache.axis2.wsdl.WSDLConstants; -import org.apache.tuscany.sca.assembly.AbstractContract; -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceClient.URIResolverImpl; -import org.apache.tuscany.sca.binding.ws.axis2.policy.authentication.token.Axis2TokenAuthenticationPolicy; -import org.apache.tuscany.sca.binding.ws.axis2.policy.configuration.Axis2ConfigParamPolicy; -import org.apache.tuscany.sca.binding.ws.axis2.policy.configurator.Axis2BindingBasicAuthenticationConfigurator; -import org.apache.tuscany.sca.binding.ws.axis2.policy.configurator.Axis2BindingHeaderConfigurator; -import org.apache.tuscany.sca.binding.ws.axis2.policy.header.Axis2HeaderPolicy; -import org.apache.tuscany.sca.binding.ws.axis2.policy.header.Axis2SOAPHeaderString; -import org.apache.tuscany.sca.core.assembly.EndpointReferenceImpl; -import org.apache.tuscany.sca.host.http.ServletHost; -import org.apache.tuscany.sca.interfacedef.Interface; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.invocation.MessageFactory; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.policy.authentication.basic.BasicAuthenticationPolicy; -import org.apache.tuscany.sca.policy.util.PolicyHandler; -import org.apache.tuscany.sca.policy.util.PolicyHandlerTuple; -import org.apache.tuscany.sca.policy.util.PolicyHandlerUtils; -import org.apache.tuscany.sca.runtime.EndpointReference; -import org.apache.tuscany.sca.runtime.ReferenceParameters; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.apache.tuscany.sca.xsd.XSDefinition; -import org.apache.ws.commons.schema.XmlSchema; -import org.apache.ws.commons.schema.XmlSchemaExternal; -import org.apache.ws.security.WSSecurityEngineResult; -import org.apache.ws.security.handler.WSHandlerConstants; -import org.apache.ws.security.handler.WSHandlerResult; -import org.oasisopen.sca.ServiceRuntimeException; -import org.w3c.dom.Element; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - - -public class Axis2ServiceProvider { - public static final String IMPORT_TAG = "import"; - public static final String INCLUDE_TAG = "include"; - - private static final Logger logger = Logger.getLogger(Axis2ServiceProvider.class.getName()); - - private RuntimeComponent component; - private AbstractContract contract; - private WebServiceBinding wsBinding; - private ServletHost servletHost; - private MessageFactory messageFactory; - private ConfigurationContext configContext; - private JMSSender jmsSender; - private JMSListener jmsListener; - private List policyHandlerClassnames = null; - private List policyHandlerList = new ArrayList(); - private Map urlMap = new HashMap(); - - private BasicAuthenticationPolicy basicAuthenticationPolicy = null; - private Axis2TokenAuthenticationPolicy axis2TokenAuthenticationPolicy = null; - private List axis2HeaderPolicies = new ArrayList(); - - public static final QName QNAME_WSA_ADDRESS = - new QName(AddressingConstants.Final.WSA_NAMESPACE, AddressingConstants.EPR_ADDRESS); - public static final QName QNAME_WSA_FROM = - new QName(AddressingConstants.Final.WSA_NAMESPACE, AddressingConstants.WSA_FROM); - public static final QName QNAME_WSA_REFERENCE_PARAMETERS = - new QName(AddressingConstants.Final.WSA_NAMESPACE, AddressingConstants.EPR_REFERENCE_PARAMETERS); - - private static final QName TRANSPORT_JMS_QUALIFIED_INTENT = - new QName("http://www.osoa.org/xmlns/sca/1.0", "transport.jms"); - private static final String DEFAULT_QUEUE_CONNECTION_FACTORY = "TuscanyQueueConnectionFactory"; - - //Schema element names - public static final String ELEM_SCHEMA = "schema"; - - //Schema URI - public static final String NS_URI_XSD_1999 = "http://www.w3.org/1999/XMLSchema"; - public static final String NS_URI_XSD_2000 = "http://www.w3.org/2000/10/XMLSchema"; - public static final String NS_URI_XSD_2001 = "http://www.w3.org/2001/XMLSchema"; - - //Schema QNames - public static final QName Q_ELEM_XSD_1999 = new QName(NS_URI_XSD_1999, ELEM_SCHEMA); - public static final QName Q_ELEM_XSD_2000 = new QName(NS_URI_XSD_2000, ELEM_SCHEMA); - public static final QName Q_ELEM_XSD_2001 = new QName(NS_URI_XSD_2001, ELEM_SCHEMA); - public static final List XSD_QNAME_LIST = - Arrays.asList(new QName[] {Q_ELEM_XSD_1999, Q_ELEM_XSD_2000, Q_ELEM_XSD_2001}); - - public Axis2ServiceProvider(RuntimeComponent component, - AbstractContract contract, - WebServiceBinding wsBinding, - ServletHost servletHost, - MessageFactory messageFactory, - List policyHandlerClassnames) { - - this.component = component; - this.contract = contract; - this.wsBinding = wsBinding; - this.servletHost = servletHost; - this.messageFactory = messageFactory; - this.policyHandlerClassnames = policyHandlerClassnames; - - final boolean isRampartRequired = AxisPolicyHelper.isRampartRequired(wsBinding); - try { - // TuscanyAxisConfigurator tuscanyAxisConfigurator = new TuscanyAxisConfigurator(); - // Allow privileged access to read properties. Requires PropertyPermission read in - // security policy. - TuscanyAxisConfigurator tuscanyAxisConfigurator = - AccessController.doPrivileged(new PrivilegedExceptionAction() { - public TuscanyAxisConfigurator run() throws AxisFault { - return new TuscanyAxisConfigurator(isRampartRequired); - } - }); - configContext = tuscanyAxisConfigurator.getConfigurationContext(); - // deployRampartModule(); - // configureSecurity(); - } catch (PrivilegedActionException e) { - throw new ServiceRuntimeException(e.getException()); - } catch (AxisFault e) { - throw new ServiceRuntimeException(e); // TODO: better exception - } - - configContext.setContextRoot(servletHost.getContextPath()); - - // Enable MTOM if the policy intent is specified. - if (AxisPolicyHelper.isIntentRequired(wsBinding, AxisPolicyHelper.MTOM_INTENT)) { - configContext.getAxisConfiguration().getParameter(Configuration.ENABLE_MTOM).setLocked(false); - configContext.getAxisConfiguration().getParameter(Configuration.ENABLE_MTOM).setValue("true"); - } - - // Update port addresses with runtime information, and create a - // map from endpoint URIs to WSDL ports that eliminates duplicate - // ports for the same endpoint. - for (Object port : wsBinding.getService().getPorts().values()) { - String portAddress = getPortAddress((Port)port); - String endpointURI = computeEndpointURI(portAddress, servletHost); - setPortAddress((Port)port, endpointURI); - urlMap.put(endpointURI, (Port)port); - } - - // find out which policies are active - if (wsBinding instanceof PolicySetAttachPoint) { - List policySets = ((PolicySetAttachPoint)wsBinding).getApplicablePolicySets(); - for (PolicySet ps : policySets) { - for (Object p : ps.getPolicies()) { - if (BasicAuthenticationPolicy.class.isInstance(p)) { - basicAuthenticationPolicy = (BasicAuthenticationPolicy)p; - } else if (Axis2TokenAuthenticationPolicy.class.isInstance(p)) { - axis2TokenAuthenticationPolicy = (Axis2TokenAuthenticationPolicy)p; - } else if (Axis2HeaderPolicy.class.isInstance(p)) { - axis2HeaderPolicies.add((Axis2HeaderPolicy)p); - } else { - // etc. check for other types of policy being present - } - } - } - } - } - - static String getPortAddress(Port port) { - Object ext = port.getExtensibilityElements().get(0); - if (ext instanceof SOAPAddress) { - return ((SOAPAddress)ext).getLocationURI(); - } - if (ext instanceof SOAP12Address) { - return ((SOAP12Address)ext).getLocationURI(); - } - return null; - } - - static void setPortAddress(Port port, String locationURI) { - Object ext = port.getExtensibilityElements().get(0); - if (ext instanceof SOAPAddress) { - ((SOAPAddress)ext).setLocationURI(locationURI); - } - if (ext instanceof SOAP12Address) { - ((SOAP12Address)ext).setLocationURI(locationURI); - } - } - - private String computeEndpointURI(String uri, ServletHost servletHost) { - - if (uri == null) { - return null; - } - - // pull out the binding intents to see what sort of transport is required - PolicySet transportJmsPolicySet = AxisPolicyHelper.getPolicySet(wsBinding, TRANSPORT_JMS_QUALIFIED_INTENT); - if (transportJmsPolicySet != null){ - if (!uri.startsWith("jms:/")) { - uri = "jms:" + uri; - } - - // construct the rest of the URI based on the policy. All the details are put - // into the URI here rather than being place directly into the Axis configuration - // as the Axis JMS sender relies on parsing the target URI - Axis2ConfigParamPolicy axis2ConfigParamPolicy = null; - for ( Object policy : transportJmsPolicySet.getPolicies() ) { - if ( policy instanceof Axis2ConfigParamPolicy ) { - axis2ConfigParamPolicy = (Axis2ConfigParamPolicy)policy; - Iterator paramIterator = axis2ConfigParamPolicy.getParamElements().get(DEFAULT_QUEUE_CONNECTION_FACTORY).getChildElements(); - - if (paramIterator.hasNext()){ - StringBuffer uriParams = new StringBuffer("?"); - - while (paramIterator.hasNext()){ - OMElement parameter = (OMElement)paramIterator.next(); - uriParams.append(parameter.getAttributeValue(new QName("","name"))); - uriParams.append("="); - uriParams.append(parameter.getText()); - - if (paramIterator.hasNext()){ - uriParams.append("&"); - } - } - - uri = uri + uriParams; - } - } - } - } else { - if (!uri.startsWith("jms:")) { - uri = servletHost.getURLMapping(uri).toString(); - } - } - - return uri; - } - - public void start() { - - try { - createPolicyHandlers(); - for (Map.Entry entry : urlMap.entrySet()) { - AxisService axisService = createAxisService(entry.getKey(), entry.getValue()); - configContext.getAxisConfiguration().addService(axisService); - } - setupPolicyHandlers(policyHandlerList, configContext); - - Axis2ServiceServlet servlet = null; - for (String endpointURL : urlMap.keySet()) { - if (endpointURL.startsWith("http://") || endpointURL.startsWith("https://") || endpointURL.startsWith("/")) { - if (servlet == null) { - servlet = new Axis2ServiceServlet(); - servlet.init(configContext); - } - //[nash] configContext.setContextRoot(endpointURL); - servletHost.addServletMapping(endpointURL, servlet); - } else if (endpointURL.startsWith("jms")) { - logger.log(Level.INFO,"Axis2 JMS URL=" + endpointURL); - - jmsListener = new JMSListener(); - jmsSender = new JMSSender(); - ListenerManager listenerManager = configContext.getListenerManager(); - TransportInDescription trsIn = configContext.getAxisConfiguration().getTransportIn(Constants.TRANSPORT_JMS); - - // get JMS transport parameters from the computed URL - Map jmsProps = JMSUtils.getProperties(endpointURL); - - // collect the parameters used to configure the JMS transport - OMFactory fac = OMAbstractFactory.getOMFactory(); - OMElement parms = fac.createOMElement(DEFAULT_QUEUE_CONNECTION_FACTORY, null); - - for ( String key : jmsProps.keySet() ) { - OMElement param = fac.createOMElement("parameter", null); - param.addAttribute( "name", key, null ); - param.addChild(fac.createOMText(param, jmsProps.get(key))); - parms.addChild(param); - } - - Parameter queueConnectionFactory = new Parameter(DEFAULT_QUEUE_CONNECTION_FACTORY, parms); - trsIn.addParameter( queueConnectionFactory ); - - trsIn.setReceiver(jmsListener); - - configContext.getAxisConfiguration().addTransportIn( trsIn ); - TransportOutDescription trsOut = configContext.getAxisConfiguration().getTransportOut(Constants.TRANSPORT_JMS); - //configContext.getAxisConfiguration().addTransportOut( trsOut ); - trsOut.setSender(jmsSender); - - if (listenerManager == null) { - listenerManager = new ListenerManager(); - listenerManager.init(configContext); - } - listenerManager.addListener(trsIn, true); - jmsSender.init(configContext, trsOut); - jmsListener.init(configContext, trsIn); - jmsListener.start(); - } - } - } catch (AxisFault e) { - throw new RuntimeException(e); - } catch (ClassNotFoundException e) { - throw new RuntimeException(e); - } catch (InstantiationException e) { - throw new RuntimeException(e); - } catch (IllegalAccessException e) { - throw new RuntimeException(e); - } - } - - public void stop() { - if ( jmsListener != null ) { - jmsListener.stop(); - jmsListener.destroy(); - } - else { - for (String endpointURL : urlMap.keySet()) { - servletHost.removeServletMapping(endpointURL); - } - } - - if ( jmsSender != null ) - jmsSender.stop(); - - try { - for (String endpointURL : urlMap.keySet()) { - // get the path to the service - URI uriPath = new URI(endpointURL); - String stringURIPath = uriPath.getPath(); - - /* [nash] Need a leading slash for WSDL imports to work with ?wsdl - // remove any "/" from the start of the path - if (stringURIPath.startsWith("/")) { - stringURIPath = stringURIPath.substring(1, stringURIPath.length()); - } - */ - - configContext.getAxisConfiguration().removeService(stringURIPath); - } - } catch (URISyntaxException e) { - throw new RuntimeException(e); - } catch (AxisFault e) { - throw new RuntimeException(e); - } - } - - private AxisService createAxisService(String endpointURL, Port port) throws AxisFault { - AxisService axisService; - if (wsBinding.getWSDLDocument() != null) { - axisService = createWSDLAxisService(endpointURL, port); - } else { - axisService = createJavaAxisService(endpointURL); - } - initAxisOperations(axisService); - return axisService; - } - - /** - * Create an AxisService from the interface class from the SCA service interface - */ - protected AxisService createJavaAxisService(String endpointURL) throws AxisFault { - AxisService axisService = new AxisService(); - String path = URI.create(endpointURL).getPath(); - axisService.setName(path); - axisService.setServiceDescription("Tuscany configured AxisService for service: " + endpointURL); - axisService.setClientSide(false); - Parameter classParam = - new Parameter(Constants.SERVICE_CLASS, ((JavaInterface)contract.getInterfaceContract().getInterface()) - .getJavaClass().getName()); - axisService.addParameter(classParam); - try { - Utils.fillAxisService(axisService, configContext.getAxisConfiguration(), null, null); - } catch (Exception e) { - throw new RuntimeException(e); - } - - return axisService; - } - - /** - * Workaround for https://issues.apache.org/jira/browse/AXIS2-3205 - * @param definition - * @param serviceName - * @return - */ - private static Definition getDefinition(Definition definition, QName serviceName) { - - if (serviceName == null){ - return definition; - } - - if (definition == null) { - return null; - } - Object service = definition.getServices().get(serviceName); - if (service != null) { - return definition; - } - for (Object i : definition.getImports().values()) { - List imports = (List)i; - for (Import imp : imports) { - Definition d = getDefinition(imp.getDefinition(), serviceName); - if (d != null) { - return d; - } - } - } - return null; - } - - /** - * Create an AxisService from the WSDL doc used by ws binding - */ - protected AxisService createWSDLAxisService(String endpointURL, Port port) throws AxisFault { - - Definition definition = wsBinding.getWSDLDocument(); - QName serviceQName = wsBinding.getService().getQName(); - Definition def = getDefinition(definition, serviceQName); - - final WSDLToAxisServiceBuilder builder = new WSDL11ToAxisServiceBuilder(def, serviceQName, port.getName()); - builder.setServerSide(true); - // [rfeng] Add a custom resolver to work around WSCOMMONS-228 - builder.setCustomResolver(new URIResolverImpl(def)); - builder.setBaseUri(def.getDocumentBaseURI()); - // [rfeng] - // AxisService axisService = builder.populateService(); - // Allow privileged access to read properties. Requires PropertiesPermission read in - // security policy. - AxisService axisService; - try { - axisService = AccessController.doPrivileged(new PrivilegedExceptionAction() { - public AxisService run() throws AxisFault { - return builder.populateService(); - } - }); - } catch (PrivilegedActionException e) { - throw (AxisFault)e.getException(); - } - - String name = URI.create(endpointURL).getPath(); - //[nash] HTTP endpoints need a leading slash for WSDL imports to work with ?wsdl - if (endpointURL.startsWith("jms")) { - name = name.startsWith("/") ? name.substring(1) : name; - } - axisService.setName(name); - axisService.setEndpointURL(endpointURL); - axisService.setDocumentation("Tuscany configured AxisService for service: " + endpointURL); - for ( Iterator i = axisService.getEndpoints().values().iterator(); i.hasNext(); ) { - AxisEndpoint ae = (AxisEndpoint)i.next(); - if (endpointURL.startsWith("jms") ) { - Parameter qcf = new Parameter(JMSConstants.CONFAC_PARAM, null); - qcf.setValue(DEFAULT_QUEUE_CONNECTION_FACTORY); - axisService.addParameter(qcf); - break; - } - } - - // Add schema information to the AxisService (needed for "?xsd=" support) - addSchemas(wsBinding.getWSDLDefinition(), axisService); - - // Use the existing WSDL - Parameter wsdlParam = new Parameter(WSDLConstants.WSDL_4_J_DEFINITION, null); - wsdlParam.setValue(definition); - axisService.addParameter(wsdlParam); - Parameter userWSDL = new Parameter("useOriginalwsdl", "true"); - axisService.addParameter(userWSDL); - - // Modify schema imports and includes to add "servicename?xsd=" prefix. - // Axis2 does this for schema extensibility elements, but Tuscany has - // overriden the WSDl4J deserializer to create UnknownExtensibilityElement - // elements in place of these. - modifySchemaImportsAndIncludes(definition, name); - - // Axis2 1.3 has a bug with returning incorrect values for the port - // addresses. To work around this, compute the values here. - Parameter modifyAddr = new Parameter("modifyUserWSDLPortAddress", "false"); - axisService.addParameter(modifyAddr); - - return axisService; - } - - private void addSchemas(WSDLDefinition wsdlDef, AxisService axisService) { - for (XSDefinition xsDef : wsdlDef.getXmlSchemas()) { - if (xsDef.getSchema() != null) { - axisService.addSchema(xsDef.getSchema()); - updateSchemaRefs(xsDef.getSchema(), axisService.getName()); - } - } - for (WSDLDefinition impDef : wsdlDef.getImportedDefinitions()) { - addSchemas(impDef, axisService); - } - } - - private void updateSchemaRefs(XmlSchema parentSchema, String name) { - for (Iterator iter = parentSchema.getIncludes().getIterator(); iter.hasNext();) { - Object obj = iter.next(); - if (obj instanceof XmlSchemaExternal) { - XmlSchemaExternal extSchema = (XmlSchemaExternal)obj; - String location = extSchema.getSchemaLocation(); - if (location.length() > 0 && location.indexOf(":/") < 0 && location.indexOf("?xsd=") < 0) { - extSchema.setSchemaLocation(name + "?xsd=" + location); - } - if (extSchema.getSchema() != null) { - updateSchemaRefs(extSchema.getSchema(), name); - } - } - } - } - - private void modifySchemaImportsAndIncludes(Definition definition, String name){ - // adjust the schema locations in types section - Types types = definition.getTypes(); - if (types != null) { - for (Iterator iter = types.getExtensibilityElements().iterator(); iter.hasNext();) { - Object ext = iter.next(); - if (ext instanceof UnknownExtensibilityElement && - XSD_QNAME_LIST.contains(((UnknownExtensibilityElement)ext).getElementType())) { - changeLocations(((UnknownExtensibilityElement)ext).getElement(), name); - } - } - } - for (Iterator iter = definition.getImports().values().iterator(); iter.hasNext();) { - Vector values = (Vector)iter.next(); - for (Iterator valuesIter = values.iterator(); valuesIter.hasNext();) { - Import wsdlImport = (Import)valuesIter.next(); - modifySchemaImportsAndIncludes(wsdlImport.getDefinition(), name); - } - } - } - - private void changeLocations(Element element, String name) { - NodeList nodeList = element.getChildNodes(); - for (int i = 0; i < nodeList.getLength(); i++) { - String tagName = nodeList.item(i).getLocalName(); - if (IMPORT_TAG.equals(tagName) || INCLUDE_TAG.equals(tagName)) { - processImport(nodeList.item(i), name); - } - } - } - - private void processImport(Node importNode, String name) { - NamedNodeMap nodeMap = importNode.getAttributes(); - for (int i = 0; i < nodeMap.getLength(); i++) { - Node attribute = nodeMap.item(i); - if (attribute.getNodeName().equals("schemaLocation")) { - String location = attribute.getNodeValue(); - if (location.indexOf(":/") < 0 & location.indexOf("?xsd=") < 0) { - attribute.setNodeValue(name + "?xsd=" + location); - } - } - } - } - - protected void initAxisOperations(AxisService axisService) { - for (Iterator i = axisService.getOperations(); i.hasNext();) { - AxisOperation axisOp = (AxisOperation)i.next(); - Operation op = getOperation(axisOp); - if (op != null) { - - if (op.isNonBlocking()) { - axisOp.setMessageExchangePattern(WSDL2Constants.MEP_URI_IN_ONLY); - } else { - axisOp.setMessageExchangePattern(WSDL2Constants.MEP_URI_IN_OUT); - } - - MessageReceiver msgrec = null; - if (op.isNonBlocking()) { - msgrec = new Axis2ServiceInMessageReceiver(this, op, policyHandlerList); - } else { - msgrec = new Axis2ServiceInOutSyncMessageReceiver(this, op, policyHandlerList); - } - axisOp.setMessageReceiver(msgrec); - } - } - } - - protected Operation getOperation(AxisOperation axisOp) { - String operationName = axisOp.getName().getLocalPart(); - Interface iface = wsBinding.getBindingInterfaceContract().getInterface(); - for (Operation op : iface.getOperations()) { - if (op.getName().equalsIgnoreCase(operationName)) { - return op; - } - } - return null; - } - - // methods for Axis2 message receivers - - public Object invokeTarget(Operation op, Object[] args, MessageContext inMC) throws InvocationTargetException { - String callbackAddress = null; - String callbackID = null; - Object conversationID = null; - - // create a message object and set the args as its body - Message msg = messageFactory.createMessage(); - msg.setBody(args); - msg.setOperation(op); - - //FIXME: can we use the Axis2 addressing support for this? - SOAPHeader header = inMC.getEnvelope().getHeader(); - if (header != null) { - OMElement from = header.getFirstChildWithName(QNAME_WSA_FROM); - if (from != null) { - OMElement callbackAddrElement = from.getFirstChildWithName(QNAME_WSA_ADDRESS); - if (callbackAddrElement != null) { - if (contract.getInterfaceContract().getCallbackInterface() != null) { - callbackAddress = callbackAddrElement.getText(); - } - } - OMElement params = from.getFirstChildWithName(QNAME_WSA_REFERENCE_PARAMETERS); - if (params != null) { - OMElement convIDElement = - params.getFirstChildWithName(Axis2BindingInvoker.CONVERSATION_ID_REFPARM_QN); - if (convIDElement != null) { - if (isConversational()) { - conversationID = convIDElement.getText(); - } - } - OMElement callbackIDElement = - params.getFirstChildWithName(Axis2BindingInvoker.CALLBACK_ID_REFPARM_QN); - if (callbackIDElement != null) { - callbackID = callbackIDElement.getText(); - } - } - } - - // get policy specified headers - for (Axis2HeaderPolicy policy : axis2HeaderPolicies){ - //Axis2BindingHeaderConfigurator.getHeader(inMC, msg, policy.getHeaderName()); - } - - if (axis2TokenAuthenticationPolicy != null) { - Axis2SOAPHeaderString tokenHeader = new Axis2SOAPHeaderString(); - Axis2BindingHeaderConfigurator.getHeader(inMC, - msg, - axis2TokenAuthenticationPolicy.getTokenName(), - tokenHeader); - } - } - - //fill message with QoS context info - fillQoSContext(msg, inMC); - - // if reference parameters are needed, create a new "From" EPR to hold them - EndpointReference from = null; - ReferenceParameters parameters = null; - if (callbackAddress != null || - callbackID != null || - conversationID != null) { - from = new EndpointReferenceImpl(null); - parameters = from.getReferenceParameters(); - msg.setFrom(from); - } - - // set the reference parameters into the "From" EPR - if (callbackAddress != null) { - parameters.setCallbackReference(new EndpointReferenceImpl(callbackAddress)); - } - if (callbackID != null) { - parameters.setCallbackID(callbackID); - } - if (conversationID != null) { - parameters.setConversationID(conversationID); - } - - for ( PolicyHandler policyHandler : policyHandlerList ) { - policyHandler.beforeInvoke(msg, inMC); - } - - if (basicAuthenticationPolicy != null) { - Axis2BindingBasicAuthenticationConfigurator.parseHTTPHeader(inMC, msg, basicAuthenticationPolicy); - } - - // find the runtime wire and invoke it with the message - RuntimeWire wire = ((RuntimeComponentService)contract).getRuntimeWire(getBinding()); - Object response = wire.invoke(op, msg); - - for ( PolicyHandler policyHandler : policyHandlerList ) { - policyHandler.afterInvoke(response, inMC); - } - - return response; - } - - public boolean isConversational() { - return wsBinding.getBindingInterfaceContract().getInterface().isConversational(); - } - - /** - * Return the binding for this provider as a primitive binding type - * For use when looking up wires registered against the binding. - * - * @return the binding - */ - protected Binding getBinding() { - return wsBinding; - } - - private void setupPolicyHandlers(List policyHandlers, ConfigurationContext configContext) { - for ( PolicyHandler aHandler : policyHandlers ) { - aHandler.setUp(configContext); - } - } - - private void createPolicyHandlers() throws IllegalAccessException, - InstantiationException, - ClassNotFoundException { - if (wsBinding instanceof PolicySetAttachPoint) { - PolicySetAttachPoint policiedBinding = (PolicySetAttachPoint)wsBinding; - PolicyHandler policyHandler = null; - - for (PolicySet policySet : policiedBinding.getPolicySets()) { - policyHandler = - PolicyHandlerUtils.findPolicyHandler(policySet, policyHandlerClassnames); - - if (policyHandler != null) { - policyHandler.setApplicablePolicySet(policySet); - policyHandlerList.add(policyHandler); - } - } - - // code to create policy handlers using a policy SPI based - // on policy providers -/* - List policyProviders = ((RuntimeComponentService)contract).getPolicyProviders(wsBinding); - - for (PolicyProvider policyProvider : policyProviders){ - policyHandler = policyProvider.createHandler(); - if (policyHandler != null) { - policyHandlerList.add(policyHandler); - } - } -*/ - } - } - - private void fillQoSContext(Message message, MessageContext axis2MsgCtx) { - if ( axis2MsgCtx.getProperty(WSHandlerConstants.RECV_RESULTS) != null && - axis2MsgCtx.getProperty(WSHandlerConstants.RECV_RESULTS) instanceof Vector ) { - Vector recvResults = (Vector)axis2MsgCtx.getProperty(WSHandlerConstants.RECV_RESULTS); - for ( int count1 = 0 ; count1 < recvResults.size() ; ++count1 ) { - if ( recvResults.elementAt(count1) instanceof WSHandlerResult ) { - WSHandlerResult wshr = (WSHandlerResult)recvResults.elementAt(count1); - Vector results = wshr.getResults(); - for ( int count2 = 0 ; count2 < results.size() ; ++count2 ) { - if ( results.elementAt(count2) instanceof WSSecurityEngineResult ) { - WSSecurityEngineResult securityResult = - (WSSecurityEngineResult)wshr.getResults().elementAt(count2); - if ( securityResult.get("principal") != null ) { - message.getHeaders().add(securityResult.get("principal")); - } - } - } - } - } - - } - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceServlet.java b/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceServlet.java deleted file mode 100644 index 746b850ff0..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceServlet.java +++ /dev/null @@ -1,295 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2; - -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.SocketException; -import java.net.URI; -import java.net.URL; -import java.util.Collections; -import java.util.Enumeration; -import java.util.Set; -import java.util.Vector; - -import javax.servlet.RequestDispatcher; -import javax.servlet.Servlet; -import javax.servlet.ServletConfig; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.axis2.AxisFault; -import org.apache.axis2.addressing.EndpointReference; -import org.apache.axis2.context.ConfigurationContext; -import org.apache.axis2.transport.http.AxisServlet; -import org.apache.axis2.transport.http.ListingAgent; -import org.apache.axis2.transport.http.server.HttpUtils; - -/** - * This overrides the Servlet init of the AxisServlet so Tuscany can use - * a single Axis2 ConfigurationContext instance shared between AxisServlet - * instances for each SCA service with a ws binding. - * TODO: need to review if thats really what we want to be doing - * - * @version $Rev$ $Date$ - */ -public class Axis2ServiceServlet extends AxisServlet { - - protected TuscanyListingAgent agent; - - private static final long serialVersionUID = 1L; - private static final ServletConfig DUMMY_CONFIG = createDummyServletConfig(); - -//JIRA TUSCANY-1561 Port to Axis2 1.3 - private ConfigurationContext tmpconfigContext; - - public void init(ConfigurationContext configContext) { - this.tmpconfigContext = configContext; - try { - super.init(DUMMY_CONFIG); - } catch (ServletException e) { - throw new RuntimeException(e); - } - agent = new TuscanyListingAgent(configContext); - } - - /** - * Override Axis2 Servlet method to avoid loop when init - * is called after servletConfig already initialized by - * this classes init(ConfigurationContext) method. - */ - @Override - public void init() throws ServletException { - } - - @Override - public void init(ServletConfig config) throws ServletException { - ServletContext servletContext = config.getServletContext(); - servletContext.setAttribute(CONFIGURATION_CONTEXT, tmpconfigContext); - super.init(config); - } - - /** - * We've setup the Servlet by passing in a ConfigurationContext on our init method - * override this method to just return that - */ - @Override - protected ConfigurationContext initConfigContext(ServletConfig config) throws ServletException { - return this.tmpconfigContext; - } - - @Override - public ServletConfig getServletConfig() { - return DUMMY_CONFIG; - } - - @Override - public String getServletName() { - return "TuscanyAxis2Servlet"; - } - - /** - * The AxisServlet gets NPE during init without a ServletConfig so this is a mocked up one to prevent that. - */ - private static ServletConfig createDummyServletConfig() { - ServletConfig sc = new ServletConfig() { - - public String getServletName() { - return "TuscanyAxis2DummyServlet"; - } - - public ServletContext getServletContext() { - return new ServletContext() { - - public ServletContext getContext(String uripath) { - return null; - } - - @SuppressWarnings("unused") // it's on the Servlet 2.5 API so we need it - public String getContextPath() { - return null; - } - - public int getMajorVersion() { - return 0; - } - - public int getMinorVersion() { - return 0; - } - - public String getMimeType(String file) { - return null; - } - - public Set getResourcePaths(String path) { - return Collections.emptySet(); - } - - public URL getResource(String path) throws MalformedURLException { - if("/".equals(path)) { - // HACK: To avoid NPE - return new URL("/axis2"); - } - return null; - } - - public InputStream getResourceAsStream(String path) { - return null; - } - - public RequestDispatcher getRequestDispatcher(String path) { - return null; - } - - public RequestDispatcher getNamedDispatcher(String arg0) { - return null; - } - - public Servlet getServlet(String arg0) throws ServletException { - return null; - } - - public Enumeration getServlets() { - return null; - } - - public Enumeration getServletNames() { - return null; - } - - public void log(String arg0) { - } - - public void log(Exception arg0, String arg1) { - } - - public void log(String arg0, Throwable arg1) { - } - - public String getRealPath(String arg0) { - return null; - } - - public String getServerInfo() { - return null; - } - - public String getInitParameter(String arg0) { - return null; - } - - public Enumeration getInitParameterNames() { - return null; - } - - public Object getAttribute(String arg0) { - return null; - } - - public Enumeration getAttributeNames() { - return null; - } - - public void setAttribute(String arg0, Object arg1) { - } - - public void removeAttribute(String arg0) { - } - - public String getServletContextName() { - return null; - } - }; - } - - public String getInitParameter(String arg0) { - return null; - } - - public Enumeration getInitParameterNames() { - return new Vector().elements(); - } - }; - return sc; - } - - @Override - public void destroy() { - try { - super.destroy(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * Override the AxisServlet doGet to use the TuscanyListingAgent for ?wsdl - */ - @Override - protected void doGet(HttpServletRequest request, - HttpServletResponse response) throws ServletException, IOException { - - initContextRoot(request); - - String query = request.getQueryString(); - if ((query != null) && (query.indexOf("wsdl2") >= 0 || - query.indexOf("wsdl") >= 0 || query.indexOf("xsd") >= 0 || - query.indexOf("policy") >= 0)) { - agent.processListService(request, response); - } else { - super.doGet(request, response); - } - } - - /** - - /** - * Override the AxisServlet method so as to not add "/services" into the URL - * and to work with Tuscany service names. can go once moved to Axis2 1.3 - */ - @Override - public EndpointReference[] getEPRsForService(String serviceName, String ip) throws AxisFault { - //RUNNING_PORT - String port = (String) configContext.getProperty(ListingAgent.RUNNING_PORT); - if (port == null) { - port = "8080"; - } - if (ip == null) { - try { - ip = HttpUtils.getIpAddress(); - if (ip == null) { - ip = "localhost"; - } - } catch (SocketException e) { -//TUSCANY-1561 Port to Axis2 1.3 -// throw new AxisFault.(e); - throw AxisFault.makeFault(e); - } - } - - URI epURI = URI.create("http://" + ip + ":" + port + "/" + serviceName).normalize(); - - return new EndpointReference[]{new EndpointReference(epURI.toString())}; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/AxisPolicyHelper.java b/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/AxisPolicyHelper.java deleted file mode 100644 index 1f389b422f..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/AxisPolicyHelper.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.binding.ws.axis2; - -import java.util.List; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentAttachPoint; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; - -/** - * @version $Rev$ $Date$ - */ -public class AxisPolicyHelper { - - public static final String XMLNS_SCA_1_0 = "http://www.osoa.org/xmlns/sca/1.0"; - public static final QName AUTHENTICATION_INTENT = new QName(XMLNS_SCA_1_0, "authentication"); - public static final QName CONFIDENTIALITY_INTENT = new QName(XMLNS_SCA_1_0, "confidentiality"); - public static final QName INTEGRITY_INTENT = new QName(XMLNS_SCA_1_0, "integrity"); - public static final QName MTOM_INTENT = new QName(XMLNS_SCA_1_0, "MTOM"); - public static final QName SOAP12_INTENT = new QName(XMLNS_SCA_1_0, "SOAP12"); - - public static PolicySet getPolicySet(Binding wsBinding, QName intentName) { - PolicySet returnPolicySet = null; - - if (wsBinding instanceof PolicySetAttachPoint) { - PolicySetAttachPoint policiedBinding = (PolicySetAttachPoint)wsBinding; - for (PolicySet policySet : policiedBinding.getPolicySets()) { - for (Intent intent : policySet.getProvidedIntents()) { - if (intent.getName().equals(intentName)) { - returnPolicySet = policySet; - break; - } - } - } - } - - return returnPolicySet; - } - - public static boolean isIntentRequired(Binding wsBinding, QName intent) { - if (wsBinding instanceof IntentAttachPoint) { - List intents = ((IntentAttachPoint)wsBinding).getRequiredIntents(); - for (Intent i : intents) { - if (intent.equals(i.getName())) { - return true; - } - } - } - return getPolicySet(wsBinding, intent) != null; - } - - public static boolean isRampartRequired(Binding wsBinding) { - return isIntentRequired(wsBinding, AUTHENTICATION_INTENT) || isIntentRequired(wsBinding, INTEGRITY_INTENT) - || isIntentRequired(wsBinding, CONFIDENTIALITY_INTENT); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/TuscanyAxisConfigurator.java b/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/TuscanyAxisConfigurator.java deleted file mode 100644 index bd154dbc67..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/TuscanyAxisConfigurator.java +++ /dev/null @@ -1,207 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; - -import org.apache.axis2.AxisFault; -import org.apache.axis2.Constants; -import org.apache.axis2.context.ConfigurationContext; -import org.apache.axis2.context.ConfigurationContextFactory; -import org.apache.axis2.deployment.DeploymentConstants; -import org.apache.axis2.deployment.DeploymentErrorMsgs; -import org.apache.axis2.deployment.DeploymentException; -import org.apache.axis2.deployment.ModuleBuilder; -import org.apache.axis2.deployment.URLBasedAxisConfigurator; -import org.apache.axis2.description.AxisModule; -import org.apache.axis2.description.Parameter; -import org.apache.axis2.engine.AxisConfiguration; -import org.apache.axis2.engine.AxisConfigurator; -import org.apache.axis2.i18n.Messages; -import org.apache.axis2.util.Loader; - -/** - * Helps configure Axis2 from a resource in binding.ws.axis2 instead of Axis2.xml - *

TODO: Review: should there be a single global Axis ConfigurationContext - * - * @version $Rev$ $Date$ - */ -public class TuscanyAxisConfigurator extends URLBasedAxisConfigurator implements AxisConfigurator { - - /* these two fields are part of a temporary fix to solve problems that Maven has with including - * rampart-1.4.mar into the classpath and also at the time of Release 1.0 rampart-1.4.mar seems - * to pull in a SNAPSHOT version of rampart-project pom. Hence rampart.mar has been excluded - * as a Maven dependency and has been packed with this module - */ - /************start of fix *********************************************************************/ - private URL axis2_xml = - getResource("/org/apache/tuscany/sca/binding/ws/axis2/engine/config/axis2.xml"); - private URL axis2_repository = null; - private URL rampart_mar_url = - getResource("/org/apache/tuscany/sca/binding/ws/axis2/engine/config/modules/rampart-1.4.mar"); - /************** end of fix *************************************************************/ - - private boolean isRampartRequired; - - public TuscanyAxisConfigurator(boolean isRampartRequired) throws AxisFault { - //super(TuscanyAxisConfigurator.class.getResource("/org/apache/tuscany/sca/binding/ws/axis2/engine/config/axis2.xml"), - // TuscanyAxisConfigurator.class.getResource("/org/apache/tuscany/sca/binding/ws/axis2/engine/config/modules/rampart.mar")); - super(getResource("/org/apache/tuscany/sca/binding/ws/axis2/engine/config/axis2.xml"), - null); - this.isRampartRequired = isRampartRequired; - } - - private static URL getResource(final String name) { - return AccessController.doPrivileged(new PrivilegedAction() { - public URL run() { - return TuscanyAxisConfigurator.class.getResource(name); - } - }); - } - - public ConfigurationContext getConfigurationContext() throws AxisFault { - if (configContext == null) { - configContext = ConfigurationContextFactory.createConfigurationContext(this); - } - return configContext; - } - - /* these three methods are part of a temporary fix to solve problems that Maven has with including - * rampart-1.3.mar into the classpath and also at the time of Release 1.0 rampart-1.3.mar seems - * to pull in a SNAPSHOT version of rampart-project pom. Hence rampart.mar has been excluded - * as a Maven dependency and has been packed with this module - */ - /************start of fix *********************************************************************/ - @Override - public AxisConfiguration getAxisConfiguration() throws AxisFault { - InputStream axis2xmlStream; - try { - if (axis2_xml == null) { - axis2xmlStream = - Loader.getResourceAsStream(DeploymentConstants.AXIS2_CONFIGURATION_RESOURCE); - } else { - axis2xmlStream = axis2_xml.openStream(); - } - axisConfig = populateAxisConfiguration(axis2xmlStream); - if (isRampartRequired) { - axisConfig.addGlobalModuleRef("rampart"); - } - if (axis2_repository == null) { - Parameter axis2repoPara = axisConfig.getParameter(DeploymentConstants.AXIS2_REPO); - if (axis2repoPara != null) { - String repoValue = (String) axis2repoPara.getValue(); - if (repoValue != null && !"".equals(repoValue.trim())) { - if (repoValue.startsWith("file:/")) { - // we treat this case specially , by assuming file is - // located in the local machine - loadRepository(repoValue); - } else { - loadRepositoryFromURL(new URL(repoValue)); - } - } - } else { - //log.info("No repository found , module will be loaded from classpath"); - try { - loadFromClassPath(); - } catch ( Exception e ) { - if (isRampartRequired) { - loadRampartModule(); - } - } - } - - } else { - loadRepositoryFromURL(axis2_repository); - } - - } catch (IOException e) { - throw new AxisFault(e.getMessage()); - } - axisConfig.setConfigurator(this); - return axisConfig; - } - - public void loadRampartModule() throws DeploymentException { - try { - ClassLoader deploymentClassLoader = - org.apache.axis2.deployment.util.Utils.createClassLoader( - new URL[]{rampart_mar_url}, - axisConfig.getModuleClassLoader(), - true, - (File) axisConfig.getParameterValue(Constants.Configuration.ARTIFACTS_TEMP_DIR)); - final AxisModule module = new AxisModule(); - module.setModuleClassLoader(deploymentClassLoader); - module.setParent(axisConfig); - //String moduleFile = fileUrl.substring(0, fileUrl.indexOf(".mar")); - if (module.getName() == null) { - module.setName(org.apache.axis2.util.Utils.getModuleName("rampart-1.4")); - module.setVersion(org.apache.axis2.util.Utils.getModuleVersion("rampart-1.4")); - } - populateModule(module, rampart_mar_url); - module.setFileName(rampart_mar_url); - // Allow privileged access to read properties. Requires PropertiesPermission read in - // security policy. - try { - AccessController.doPrivileged(new PrivilegedExceptionAction() { - public Object run() throws IOException { - addNewModule(module, axisConfig); - return null; - } - }); - } catch (PrivilegedActionException e) { - throw (AxisFault)e.getException(); - } - - org.apache.axis2.util.Utils. - calculateDefaultModuleVersion(axisConfig.getModules(), axisConfig); - axisConfig.validateSystemPredefinedPhases(); - } catch (IOException e) { - throw new DeploymentException(e); - } - } - - private void populateModule(AxisModule module, URL moduleUrl) throws DeploymentException { - try { - ClassLoader classLoader = module.getModuleClassLoader(); - InputStream moduleStream = classLoader.getResourceAsStream("META-INF/module.xml"); - if (moduleStream == null) { - moduleStream = classLoader.getResourceAsStream("meta-inf/module.xml"); - } - if (moduleStream == null) { - throw new DeploymentException( - Messages.getMessage( - DeploymentErrorMsgs.MODULE_XML_MISSING, moduleUrl.toString())); - } - ModuleBuilder moduleBuilder = new ModuleBuilder(moduleStream, module, axisConfig); - moduleBuilder.populateModule(); - } catch (IOException e) { - throw new DeploymentException(e); - } - } - - /************** end of fix *************************************************************/ - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/TuscanyDispatcher.java b/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/TuscanyDispatcher.java deleted file mode 100644 index 34899a4af0..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/TuscanyDispatcher.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2; - -import java.net.URI; -import java.util.HashMap; - -import org.apache.axis2.AxisFault; -import org.apache.axis2.addressing.EndpointReference; -import org.apache.axis2.context.ConfigurationContext; -import org.apache.axis2.context.MessageContext; -import org.apache.axis2.description.AxisService; -import org.apache.axis2.description.HandlerDescription; -import org.apache.axis2.engine.AxisConfiguration; -import org.apache.axis2.engine.RequestURIBasedDispatcher; -import org.apache.axis2.util.JavaUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -/** - * A Tuscany specific Axis2 Dispatcher that enables using services - * exposed at the SCA defined service URI instead of /services/ - * - * @version $Rev$ $Date$ - */ -public class TuscanyDispatcher extends RequestURIBasedDispatcher { - - public static final String NAME = "TuscanyDispatcher"; - private static final Log log = LogFactory.getLog(RequestURIBasedDispatcher.class); - private static final boolean isDebugEnabled = log.isDebugEnabled(); - - /* - * (non-Javadoc) - * - * @see org.apache.axis2.engine.AbstractDispatcher#findService(org.apache.axis2.context.MessageContext) - */ - @Override - public AxisService findService(MessageContext messageContext) throws AxisFault { - EndpointReference toEPR = messageContext.getTo(); - - if (toEPR != null) { - if(isDebugEnabled){ - log.debug("Checking for Service using target endpoint address : " + toEPR.getAddress()); - } - - String path = URI.create(toEPR.getAddress()).getPath(); - - ConfigurationContext configurationContext = messageContext.getConfigurationContext(); - AxisConfiguration registry = configurationContext.getAxisConfiguration(); - - String serviceName = findAxisServiceName(registry, path); - return registry.getService(serviceName); - - } else { - if(isDebugEnabled){ - log.debug("Attempted to check for Service using null target endpoint URI"); - } - return null; - } - } - - @Override - public void initDispatcher() { - init(new HandlerDescription(NAME)); - } - - protected String findAxisServiceName(AxisConfiguration registry, String path) { - HashMap services = registry.getServices(); - if (services == null) { - return null; - } - String[] parts = JavaUtils.split(path, '/'); - String serviceName = ""; - for (int i=parts.length-1; i>=0; i--) { - serviceName = parts[i] + serviceName; - if (services.containsKey(serviceName)) { - return serviceName; - } - serviceName = "/" + serviceName; - if (services.containsKey(serviceName)) { - return serviceName; - } - } - - return null; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/TuscanyListingAgent.java b/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/TuscanyListingAgent.java deleted file mode 100644 index 21fef3e5d8..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/TuscanyListingAgent.java +++ /dev/null @@ -1,238 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.net.URI; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.wsdl.Definition; -import javax.wsdl.Port; -import javax.wsdl.Service; -import javax.wsdl.extensions.soap.SOAPAddress; -import javax.wsdl.extensions.soap12.SOAP12Address; -import javax.xml.stream.FactoryConfigurationError; -import javax.xml.stream.XMLOutputFactory; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.axiom.attachments.utils.IOUtils; -import org.apache.axis2.AxisFault; -import org.apache.axis2.Constants; -import org.apache.axis2.context.ConfigurationContext; -import org.apache.axis2.deployment.DeploymentConstants; -import org.apache.axis2.description.AxisDescription; -import org.apache.axis2.description.AxisService; -import org.apache.axis2.description.Parameter; -import org.apache.axis2.description.PolicyInclude; -import org.apache.axis2.transport.http.ListingAgent; -import org.apache.axis2.transport.http.server.HttpUtils; -import org.apache.axis2.util.ExternalPolicySerializer; -import org.apache.axis2.util.JavaUtils; -import org.apache.axis2.wsdl.WSDLConstants; -import org.apache.neethi.Policy; -import org.apache.neethi.PolicyRegistry; -import org.apache.ws.commons.schema.XmlSchema; -import org.apache.ws.commons.schema.XmlSchemaExternal; - -/** - * A Tuscany specific Axis2 ListingAgent as the Axis2 one does not work - * with the Tuscany service names which include slash ('/') characters. - * Unfortunately it ends up having to copy a fair amount of Axis2 code to do this. - * - * @version $Rev$ $Date$ - */ -public class TuscanyListingAgent extends ListingAgent { - - private static final String LIST_SINGLE_SERVICE_JSP_NAME = - "listSingleService.jsp"; - - public TuscanyListingAgent(ConfigurationContext aConfigContext) { - super(aConfigContext); - } - - /** - * This method overrides the Axis2 listing agent's computation of the - * service name. - */ - @Override - public String extractServiceName(String urlString) { - String serviceName = findAxisServiceName(urlString); - setContextRoot(urlString, serviceName); - return serviceName; - } - - /** - * Override ?xsd processing so that WSDL documents with XSD imports - * and includes work correctly. When we move to Axis2 1.4, we may - * be able to use SchemaSupplier to do this in a cleaner way. Also - * ensure that the correct IP address and port are returned by ?wsdl. - */ - @Override - public void processListService(HttpServletRequest req, - HttpServletResponse res) - throws IOException, ServletException { - - String url = req.getRequestURL().toString(); - String query = req.getQueryString(); - - // for ?wsdl requests, need to update the WSDL with correct IPaddr and port - int wsdl = query.indexOf("wsdl"); - if (wsdl >= 0) { - String serviceName = extractServiceName(url); - HashMap services = configContext.getAxisConfiguration().getServices(); - if ((services != null) && !services.isEmpty()) { - AxisService axisService = (AxisService)services.get(serviceName); - Parameter wsld4jdefinition = axisService.getParameter(WSDLConstants.WSDL_4_J_DEFINITION); - Definition definition = (Definition)wsld4jdefinition.getValue(); - for (Object s : definition.getServices().values()) { - for (Object p : ((Service)s).getPorts().values()) { - String endpointURL = Axis2ServiceProvider.getPortAddress((Port)p); - String modifiedURL = setIPAddress(endpointURL, url); - Axis2ServiceProvider.setPortAddress((Port)p, modifiedURL); - } - } - } - } - - // handle ?xsd requests here - int xsd = query.indexOf("xsd"); - if (xsd >= 0) { - String serviceName = extractServiceName(url); - HashMap services = configContext.getAxisConfiguration().getServices(); - if ((services != null) && !services.isEmpty()) { - Object serviceObj = services.get(serviceName); - if (serviceObj != null) { - String xsds = req.getParameter("xsd"); - if (xsds != null && !"".equals(xsds)) { - // a schema name (perhaps with path) is present - AxisService axisService = (AxisService)serviceObj; - ArrayList schemas = axisService.getSchema(); - for (Object rootSchema : axisService.getSchema()) { - XmlSchema schema = getSchema(((XmlSchema)rootSchema), xsds); - if (schema != null) { - // found the schema - res.setContentType("text/xml"); - OutputStream out = res.getOutputStream(); - schema.write(new OutputStreamWriter(out, "UTF8")); - out.flush(); - out.close(); - return; - } - } - } - } - } - } - - // in all other cases, delegate to the Axis2 code - super.processListService(req, res); - } - - private XmlSchema getSchema(XmlSchema parentSchema, String name) { - for (Iterator iter = parentSchema.getIncludes().getIterator(); iter.hasNext();) { - Object obj = iter.next(); - if (obj instanceof XmlSchemaExternal) { - XmlSchemaExternal extSchema = (XmlSchemaExternal)obj; - if (extSchema.getSchemaLocation().endsWith(name)) { - return extSchema.getSchema(); - } else { - XmlSchema schema = getSchema(extSchema.getSchema(), name); - if (schema != null) { - return schema; - } - } - } - } - return null; - } - - private String findAxisServiceName(String path) { - HashMap services = configContext.getAxisConfiguration().getServices(); - if (services == null) { - return null; - } - String[] parts = JavaUtils.split(path, '/'); - String serviceName = ""; - for (int i=parts.length-1; i>=0; i--) { - serviceName = parts[i] + serviceName; - if (services.containsKey(serviceName)) { - return serviceName; - } - serviceName = "/" + serviceName; - if (services.containsKey(serviceName)) { - return serviceName; - } - } - - return null; - } - - /** - * Hack for Tuscany to get ?wsdl working with Tuscany service names - * Can go once moved up to Axis2 1.3 - */ - private void setContextRoot(String filePart, String serviceName) { - String contextRoot = configContext.getContextRoot(); - if (contextRoot != null && contextRoot.length() > 0) { - if (contextRoot.equals("/")) { - configContext.setServicePath("/"); - } else { - int i = filePart.indexOf(contextRoot) + contextRoot.length(); - int j = filePart.lastIndexOf(serviceName); - if (i>=j || (i+1 == j)) { - configContext.setServicePath("/"); - } else { - String mapping = filePart.substring(i+1, j); - configContext.setServicePath(mapping); - } - } - configContext.setContextRoot(contextRoot); - } - } - - private static String setIPAddress(String wsdlURI, String requestURI) { - try { - URI wsdlURIObj = new URI(wsdlURI); - String wsdlHost = wsdlURIObj.getHost(); - int wsdlPort = wsdlURIObj.getPort(); - String wsdlAddr = wsdlHost + (wsdlPort != -1 ? ":" + Integer.toString(wsdlPort) : ""); - URI requestURIObj = new URI(requestURI); - String ipAddr = HttpUtils.getIpAddress(); - int requestPort = requestURIObj.getPort(); - String newAddr = ipAddr + (requestPort != -1 ? ":" + Integer.toString(requestPort) : ""); - return wsdlURI.replace(wsdlAddr, newAddr); - } catch (Exception e) { - // URI string not in expected format, so return the WSDL URI unmodified - return wsdlURI; - } - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/WSBindingDefinitionsProvider.java b/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/WSBindingDefinitionsProvider.java deleted file mode 100644 index 5254a5716c..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/WSBindingDefinitionsProvider.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.binding.ws.axis2; - -import java.net.URI; -import java.net.URL; -import java.security.AccessController; -import java.security.PrivilegedExceptionAction; - -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.service.ContributionReadException; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.definitions.SCADefinitions; -import org.apache.tuscany.sca.provider.SCADefinitionsProvider; -import org.apache.tuscany.sca.provider.SCADefinitionsProviderException; - -/** - * Provider for Policy Intents and PolicySet definitions related to security - * - * @version $Rev$ $Date$ - */ -public class WSBindingDefinitionsProvider implements SCADefinitionsProvider { - private String definitionsFile = "org/apache/tuscany/sca/binding/ws/axis2/definitions.xml"; - URLArtifactProcessor urlArtifactProcessor = null; - - public WSBindingDefinitionsProvider(ExtensionPointRegistry registry) { - URLArtifactProcessorExtensionPoint documentProcessors = registry.getExtensionPoint(URLArtifactProcessorExtensionPoint.class); - urlArtifactProcessor = (URLArtifactProcessor)documentProcessors.getProcessor(SCADefinitions.class); - } - - public SCADefinitions getSCADefinition() throws SCADefinitionsProviderException { - final URL definitionsFileUrl = getClass().getClassLoader().getResource(definitionsFile); - SCADefinitions scaDefn = null; - try { - final URI uri = new URI(definitionsFile); - // Allow bindings to read properties. Requires PropertyPermission read in security policy. - scaDefn = AccessController.doPrivileged(new PrivilegedExceptionAction() { - public SCADefinitions run() throws ContributionReadException { - return (SCADefinitions)urlArtifactProcessor.read(null, uri, definitionsFileUrl); - } - }); - } catch (Exception e) { - throw new SCADefinitionsProviderException(e); - } - return scaDefn; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configurator/Axis2BindingBasicAuthenticationConfigurator.java b/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configurator/Axis2BindingBasicAuthenticationConfigurator.java deleted file mode 100644 index 3028a86714..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configurator/Axis2BindingBasicAuthenticationConfigurator.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2.policy.configurator; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import javax.security.auth.Subject; - -import org.apache.axiom.om.util.Base64; -import org.apache.axis2.client.OperationClient; -import org.apache.axis2.context.MessageContext; -import org.apache.axis2.transport.http.HTTPConstants; -import org.apache.axis2.transport.http.HttpTransportProperties; -import org.apache.axis2.transport.http.HttpTransportProperties.Authenticator; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.policy.SecurityUtil; -import org.apache.tuscany.sca.policy.authentication.basic.BasicAuthenticationPolicy; -import org.apache.tuscany.sca.policy.authentication.basic.BasicAuthenticationPrincipal; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * Policy handler to handle PolicySet that contain Axis2ConfigParamPolicy instances - * - * @version $Rev$ $Date$ - */ -public class Axis2BindingBasicAuthenticationConfigurator { - - - public static void setOperationOptions(OperationClient operationClient, Message msg, BasicAuthenticationPolicy policy) { - String username = null; - String password = null; - - // get the security context - Subject subject = SecurityUtil.getSubject(msg); - BasicAuthenticationPrincipal principal = SecurityUtil.getPrincipal(subject, - BasicAuthenticationPrincipal.class); - - // could use the security principal to look up basic auth credentials - if ( principal != null ) { - username = ((BasicAuthenticationPrincipal)principal).getName(); - password = ((BasicAuthenticationPrincipal)principal).getPassword(); - } - - if (username == null || password == null ){ - throw new ServiceRuntimeException("Basic authentication username or password is null"); - } - - HttpTransportProperties.Authenticator authenticator = new HttpTransportProperties.Authenticator(); - List auth = new ArrayList(); - auth.add(Authenticator.BASIC); - authenticator.setAuthSchemes(auth); - authenticator.setPreemptiveAuthentication(true); - authenticator.setUsername(username); - authenticator.setPassword(password); - - operationClient.getOptions().setProperty(HTTPConstants.AUTHENTICATE, - authenticator); - } - - public static void parseHTTPHeader(MessageContext messageContext, Message msg, BasicAuthenticationPolicy policy) { - - Map httpHeaderProperties = (Map)messageContext.getProperty(org.apache.axis2.context.MessageContext.TRANSPORT_HEADERS); - - String basicAuthString = (String)httpHeaderProperties.get("Authorization"); - String decodedBasicAuthString = null; - String username = null; - String password = null; - - if (basicAuthString != null) { - basicAuthString = basicAuthString.trim(); - - if (basicAuthString.startsWith("Basic ")) { - decodedBasicAuthString = new String(Base64.decode(basicAuthString.substring(6))); - } - - int collonIndex = decodedBasicAuthString.indexOf(':'); - - if (collonIndex == -1){ - username = decodedBasicAuthString; - } else { - username = decodedBasicAuthString.substring(0, collonIndex); - password = decodedBasicAuthString.substring(collonIndex + 1); - } - } - - // get the security context - Subject subject = SecurityUtil.getSubject(msg); - BasicAuthenticationPrincipal principal = new BasicAuthenticationPrincipal(username, - password); - subject.getPrincipals().add(principal); - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configurator/Axis2BindingHeaderConfigurator.java b/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configurator/Axis2BindingHeaderConfigurator.java deleted file mode 100644 index 647f934c02..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/policy/configurator/Axis2BindingHeaderConfigurator.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.binding.ws.axis2.policy.configurator; - - - -import javax.xml.namespace.QName; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; -import org.apache.axiom.soap.SOAPEnvelope; -import org.apache.axiom.soap.SOAPHeader; -import org.apache.axis2.context.MessageContext; -import org.apache.tuscany.sca.binding.ws.axis2.policy.header.Axis2HeaderPolicyUtil; -import org.apache.tuscany.sca.binding.ws.axis2.policy.header.Axis2SOAPHeader; -import org.apache.tuscany.sca.invocation.Message; - - -/** - * Policy handler to handle PolicySet that contain Axis2ConfigParamPolicy instances - * - * @version $Rev$ $Date$ - */ -public class Axis2BindingHeaderConfigurator { - - - public static void setHeader(MessageContext messageContext, Message msg, QName headerQName) { - - if (headerQName != null){ - SOAPEnvelope envelope = messageContext.getEnvelope(); - OMFactory factory = envelope.getOMFactory(); - SOAPHeader soapHeader = envelope.getHeader(); - - Axis2SOAPHeader header = Axis2HeaderPolicyUtil.getHeader(msg, headerQName) ; - - if (header != null){ - soapHeader.addChild(header.getAsSOAPHeaderBlock(factory)); - } - } - } - - public static void getHeader(MessageContext messageContext, Message msg, QName headerQName, Axis2SOAPHeader header) { - - SOAPEnvelope sev = messageContext.getEnvelope(); - SOAPHeader sh = sev.getHeader(); - OMElement omHeader = sh.getFirstChildWithName(headerQName); - - header.setAsSOAPHeaderBlock(omHeader); - - msg.getHeaders().add(header); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory b/java/sca/contrib/modules/binding-ws-axis2/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.BindingProviderFactory deleted file mode 100644 index a48ff54c77..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/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.ws.axis2.Axis2BindingProviderFactory;model=org.apache.tuscany.sca.binding.ws.WebServiceBinding diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider b/java/sca/contrib/modules/binding-ws-axis2/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider deleted file mode 100644 index 370b83f87b..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProvider +++ /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 SCA Definitions Providers -org.apache.tuscany.sca.binding.ws.axis2.WSBindingDefinitionsProvider \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/definitions.xml b/java/sca/contrib/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/definitions.xml deleted file mode 100644 index 6bff613a7c..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/definitions.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - Communication through this binding requires SOAP - - - - - - Communication through this binding requires SOAP 1.1 - - - - - - Communication through this binding requires SOAP 1.2 - - - - - - Communication through this binding requires MTOM support - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/axis2.xml b/java/sca/contrib/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/axis2.xml deleted file mode 100644 index ea32836f2a..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/axis2.xml +++ /dev/null @@ -1,504 +0,0 @@ - - - - - - - - true - false - false - false - - - - - - - - - 30000 - - - - - - true - - - - - - false - - admin - axis2 - - - - - - - - - - - - - - - - - - - - - - - - / - - - - - - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 6060 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - - - HTTP/1.1 - chunked - - - - - - - HTTP/1.1 - chunked - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/modules/modules.list b/java/sca/contrib/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/modules/modules.list deleted file mode 100644 index e6e70dfd4b..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/modules/modules.list +++ /dev/null @@ -1 +0,0 @@ -rampart-1.4.mar \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/modules/rampart-1.4.mar b/java/sca/contrib/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/modules/rampart-1.4.mar deleted file mode 100644 index ec870734a5..0000000000 Binary files a/java/sca/contrib/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/modules/rampart-1.4.mar and /dev/null differ diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/services/services.list b/java/sca/contrib/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/services/services.list deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ReferenceTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ReferenceTestCase.java deleted file mode 100644 index 2ce23bf2c4..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ReferenceTestCase.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.ws.axis2; - -import junit.framework.TestCase; - -public class Axis2ReferenceTestCase extends TestCase { - - public void testInvokeService() throws Exception { -// Axis2ReferenceBinding axis2Reference = createAxis2Reference("testWebAppName", "testServiceName"); -// ServiceContract contract = new JavaServiceContract(); -// Operation operation = new Operation("sayHi", null, null, null, false, null, NO_CONVERSATION); -// TargetInvoker targetInvoker = axis2Reference.createTargetInvoker(contract, operation); -// assertNotNull(targetInvoker); -// assertFalse(targetInvoker instanceof Axis2AsyncTargetInvoker); - } - - public void testAsyncTargetInvoker() throws Exception { -// Axis2ReferenceBinding axis2Reference = createAxis2Reference("testWebAppName", "testServiceName"); -// //Create a mocked InboundWire, make the call of ServiceBindingExtension.getInterface() returns a Class -// Wire inboundWire = EasyMock.createNiceMock(Wire.class); -// JavaServiceContract contract = new JavaServiceContract(Greeter.class); -// contract.setCallbackName(""); -// contract.setCallbackClass(GreetingCallback.class); -// Operation callbackOp = -// new Operation("sayHiCallback", null, null, null, true, null, NO_CONVERSATION); -// HashMap> callbackOps = new HashMap>(); -// callbackOps.put("sayHiCallback", callbackOp); -// contract.setCallbackOperations(callbackOps); -// EasyMock.expect(inboundWire.getTargetContract()).andReturn(contract).anyTimes(); -// EasyMock.replay(inboundWire); -// -// axis2Reference.setWire(inboundWire); -// Operation operation = new Operation("sayHi", null, null, null, true, null, NO_CONVERSATION); -// TargetInvoker asyncTargetInvoker = axis2Reference.createTargetInvoker(contract, operation); -// assertNotNull(asyncTargetInvoker); -// assertTrue(asyncTargetInvoker instanceof Axis2AsyncTargetInvoker); - } - -// @SuppressWarnings("unchecked") -// private Axis2ReferenceBinding createAxis2Reference(String webAppName, String serviceName) throws Exception { -// //Create WebServiceBindingDefinition -// String wsdlLocation = "/wsdl/hello_world_doc_lit.wsdl"; -// URL url = getClass().getResource(wsdlLocation); -// assertNotNull("Could not find wsdl " + url.toString(), url); -// -// WSDLFactory factory = WSDLFactory.newInstance(); -// WSDLReader reader = factory.newWSDLReader(); -// reader.setFeature("javax.wsdl.verbose", false); -// InputSource input = new InputSource(url.openStream()); -// Definition wsdlDef = reader.readWSDL(url.toString(), input); -// Service wsdlService = wsdlDef.getService(new QName("http://objectweb.org/hello_world_soap_http", -// "SOAPService")); -// Port port = wsdlService.getPort("SoapPort"); -// WebServiceBindingDefinition wsBinding = -// new WebServiceBindingDefinition(wsdlDef, port, "uri", "portURI", wsdlService); -// //Create a mocked WireService, make the call of ServiceBindingExtension.getServiceInstance() returns a proxy instance. -// // TODO figure out what to do with the service contract -// ServiceContract contract = new WSDLServiceContract(); -// contract.setInterfaceClass(Greeter.class); -// return new Axis2ReferenceBinding(URI.create(serviceName), -// wsBinding, -// contract, -// null, -// null); -// } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceTestCase.java deleted file mode 100644 index d4d20414e5..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/Axis2ServiceTestCase.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2; - -import junit.framework.TestCase; - -public class Axis2ServiceTestCase extends TestCase { - - public void testInvokeService() throws Exception { -// TestServletHost tomcatHost = new TestServletHost(); -// Axis2ServiceBinding axis2Service = createAxis2Service("testServiceName", tomcatHost, false); -// axis2Service.start(); -// -// if (true) return; -// Servlet servlet = tomcatHost.getMapping("testWebAppName/serviceBindings/testServiceName"); -// assertNotNull(servlet); -// -// //Create mocked HttpRequest and HttpResponse object to test the Axis2Servlet -// //To be done: - - } - - public void testAsyncMessageReceiver() throws Exception { - -// TestServletHost tomcatHost = new TestServletHost(); -// Axis2ServiceBinding axis2Service = createAxis2Service("testServiceName", tomcatHost, true); -// axis2Service.start(); - } - -// @SuppressWarnings("unchecked") -// private Axis2ServiceBinding createAxis2Service(String serviceName, ServletHost tomcatHost, boolean callback) -// throws Exception { -// //Create WebServiceBindingDefinition -// String wsdlLocation = "/wsdl/hello_world_doc_lit.wsdl"; -// URL url = getClass().getResource(wsdlLocation); -// assertNotNull("Could not find wsdl " + url.toString(), url); -// -// WSDLFactory factory = WSDLFactory.newInstance(); -// WSDLReader reader = factory.newWSDLReader(); -// reader.setFeature("javax.wsdl.verbose", false); -// InputSource input = new InputSource(url.openStream()); -// Definition wsdlDef = reader.readWSDL(url.toString(), input); -// Service wsdlService = wsdlDef.getService(new QName("http://objectweb.org/hello_world_soap_http", -// "SOAPService")); -// Port port = wsdlService.getPort("SoapPort"); -// WebServiceBindingDefinition wsBinding = new WebServiceBindingDefinition(wsdlDef, port, "uri", "portURI", wsdlService); -// -// //Create a mocked WireService, make the call of ServiceBindingExtension.getServiceInstance() returns a proxy instance. -//// WireService wireService = EasyMock.createNiceMock(WireService.class); -//// wireService.createProxy(EasyMock.isA(Class.class), EasyMock.isA(Wire.class)); -//// EasyMock.expectLastCall().andReturn(null); -//// EasyMock.replay(wireService); -// -// //Create a mocked InboundWire, make the call of ServiceBindingExtension.getInterface() returns a Class -// Wire inboundWire = EasyMock.createNiceMock(Wire.class); -// JavaServiceContract contract = new JavaServiceContract(Greeter.class); -// Map> opMap = new HashMap>(); -// for (Method m : Greeter.class.getMethods()) { -// opMap.put(m.getName(), new Operation(m.getName(), null, null, null)); -// } -// contract.setOperations(opMap); -// EasyMock.expect(inboundWire.getTargetContract()).andReturn(contract).anyTimes(); -// if (callback) { -// contract.setCallbackName(""); -// } -// EasyMock.replay(inboundWire); -// -// Wire outboundWire = EasyMock.createNiceMock(Wire.class); -// Map, InvocationChain> map = new HashMap, InvocationChain>(); -// EasyMock.expect(outboundWire.getInvocationChains()).andReturn(map).once(); -// EasyMock.replay(outboundWire); -// -// TuscanyAxisConfigurator tuscanyAxisConfigurator = new TuscanyAxisConfigurator(); -// ConfigurationContext configurationContext = tuscanyAxisConfigurator.getConfigurationContext(); -// Axis2ServiceBinding axis2Service = -// new Axis2ServiceBinding(URI.create(serviceName), -// contract, -// null, -// wsBinding, -// tomcatHost, -// configurationContext, null); -// axis2Service.setWire(inboundWire); -//// axis2Service.setOutboundWire(outboundWire); -// -// return axis2Service; -// } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/Greeter.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/Greeter.java deleted file mode 100644 index 767f59646f..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/Greeter.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.ws.axis2; - -public interface Greeter { - - String sayHi(); - - String greetMe(String requestType); - - void greetMeOneWay(String requestType); - - void greetMeWithCallback(String requestType); - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/GreetingCallback.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/GreetingCallback.java deleted file mode 100644 index e5e76af0b7..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/GreetingCallback.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.binding.ws.axis2; - -public interface GreetingCallback { - - void greetMeCallback(String greetMeResponse); -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/Account.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/Account.java deleted file mode 100644 index 40d769d83a..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/Account.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.binding.ws.axis2.itests; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Test ?wsdl works and that the returned WSDL has the correct endpoint - * - * @version $Rev$ $Date$ - */ -@Remotable -public interface Account { - - CustomerProfileData getCustomerProfile(String loginID); - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/AccountService.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/AccountService.java deleted file mode 100644 index 5edb4ddc5a..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/AccountService.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.binding.ws.axis2.itests; - -/** - * Test ?wsdl works and that the returned WSDL has the correct endpoint - * - * @version $Rev$ $Date$ - */ -public class AccountService implements Account { - - public CustomerProfileData getCustomerProfile(String loginID) { - return new CustomerProfileData(loginID); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/Bar.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/Bar.java deleted file mode 100644 index 2dc7d8dee4..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/Bar.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2.itests; - -import java.io.Serializable; - -public class Bar implements Serializable { - private static final long serialVersionUID = 1249963611910502668L; - - private String s; - private int x; - private Integer y; - - private Boolean b; - - public Boolean getB() { - return b; - } - public void setB(Boolean b) { - this.b = b; - } - public String getS() { - return s; - } - public void setS(String s) { - this.s = s; - } - public int getX() { - return x; - } - public void setX(int x) { - this.x = x; - } - public Integer getY() { - return y; - } - public void setY(Integer y) { - this.y = y; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/CustomerProfileData.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/CustomerProfileData.java deleted file mode 100644 index 5c1ee6a435..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/CustomerProfileData.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2.itests; - -/** - * Test ?wsdl works and that the returned WSDL has the correct endpoint - * - * @version $Rev$ $Date$ - */ -public class CustomerProfileData { - - private String firstName; - private String lastName; - private String address; - private String email; - private String loginID; - private String password; - private int id; - - public CustomerProfileData(String loginID) { - firstName = "John"; - lastName = "Doe"; - address = "345 Main Street"; - email = "john@doe.org"; - this.loginID = loginID; - password = "hello"; - id = 1234; - } - - public String getFirstName() { - return firstName; - } - - public void setFirstName(String firstName) { - this.firstName = firstName; - } - - public String getLastName() { - return lastName; - } - - public void setLastName(String firstName) { - this.lastName = lastName; - } - - public String getAddress() { - return address; - } - - public void setAddress(String address) { - this.address = address; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - public String getLoginID() { - return loginID; - } - - public void setLoginID(String loginID) { - this.loginID = loginID; - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/Echo.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/Echo.java deleted file mode 100644 index 4e1e7dbdad..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/Echo.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.binding.ws.axis2.itests; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface Echo { - - Foo echoFoo(Foo foo); - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/EchoComponent.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/EchoComponent.java deleted file mode 100644 index 3e96480c20..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/EchoComponent.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.binding.ws.axis2.itests; - -import org.oasisopen.sca.annotation.Reference; - -public class EchoComponent implements Echo { - - @Reference - public Echo echoWS; - - public Foo echoFoo(Foo foo) { - return echoWS.echoFoo(foo); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/EchoImpl.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/EchoImpl.java deleted file mode 100644 index d028ced69e..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/EchoImpl.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.binding.ws.axis2.itests; - - -public class EchoImpl implements Echo { - - public Foo echoFoo(Foo foo) { - return foo; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/Foo.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/Foo.java deleted file mode 100644 index c7b503af17..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/Foo.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.ws.axis2.itests; - -import java.io.Serializable; - -public class Foo implements Serializable { - private static final long serialVersionUID = 4879476066850018458L; - - private Bar[] bars; - - public Bar[] getBars() { - return bars; - } - - public void setBars(Bar[] bars) { - this.bars = bars; - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorld.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorld.java deleted file mode 100644 index 3ac30780b3..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorld.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.binding.ws.axis2.itests; - -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface HelloWorld { - - String getGreetings(String s); - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldComponent.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldComponent.java deleted file mode 100644 index 0dd6e90c72..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldComponent.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.binding.ws.axis2.itests; - -import org.oasisopen.sca.annotation.Reference; - -public class HelloWorldComponent implements HelloWorld { - - @Reference - public HelloWorld helloWorldWS; - - public String getGreetings(String s) { - return helloWorldWS.getGreetings(s); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldMultiService.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldMultiService.java deleted file mode 100644 index f30286feea..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldMultiService.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.binding.ws.axis2.itests; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; - -public class HelloWorldMultiService implements HelloWorldOM, HelloWorldOM2 { - - public OMElement getGreetings(OMElement requestOM) { - String name = requestOM.getFirstElement().getText(); - - OMFactory omFactory = OMAbstractFactory.getOMFactory(); - OMElement responseOM = omFactory.createOMElement("getGreetingsResponse", "http://helloworld-om", "helloworld"); - OMElement param = omFactory.createOMElement("getGreetingsReturn", "http://helloworld-om", "helloworld"); - responseOM.addChild(param); - param.addChild(omFactory.createOMText("Hello " + name)); - - return responseOM; - } - - public OMElement getGreetings2(OMElement requestOM) { - String name = requestOM.getFirstElement().getText(); - - OMFactory omFactory = OMAbstractFactory.getOMFactory(); - OMElement responseOM = omFactory.createOMElement("getGreetingsResponse", "http://helloworld-om", "helloworld"); - OMElement param = omFactory.createOMElement("getGreetingsReturn", "http://helloworld-om", "helloworld"); - responseOM.addChild(param); - param.addChild(omFactory.createOMText("Hello2 " + name)); - - return responseOM; - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldNoWSDLTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldNoWSDLTestCase.java deleted file mode 100644 index 7ee48d4451..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldNoWSDLTestCase.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.ws.axis2.itests ; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.host.embedded.SCADomain; - -public class HelloWorldNoWSDLTestCase extends TestCase { - - private SCADomain domain; - - public void testHelloWorld() throws Exception { - HelloWorld helloWorld = domain.getService(HelloWorld.class, "HelloWorldComponent"); - assertEquals("Hello petra", helloWorld.getGreetings("petra")); - } - - /** - * Test a a WS call with a complex type - */ - public void testEchoFoo() throws Exception { - Echo echo = domain.getService(Echo.class, "EchoComponent"); - - Foo f = new Foo(); - Bar b1 = new Bar(); - b1.setS("petra"); - b1.setX(1); - b1.setY(new Integer(2)); - b1.setB(Boolean.TRUE); - Bar b2 = new Bar(); - b2.setS("beate"); - b2.setX(3); - b2.setY(new Integer(4)); - b2.setB(Boolean.FALSE); - f.setBars(new Bar[] { b1, b2} ); - - Foo f2 = echo.echoFoo(f); - - assertEquals("petra", f2.getBars()[0].getS()); - assertEquals(1, f2.getBars()[0].getX()); - assertEquals(2, f2.getBars()[0].getY().intValue()); - assertTrue(f2.getBars()[0].getB().booleanValue()); - assertEquals("beate", f2.getBars()[1].getS()); - assertEquals(3, f2.getBars()[1].getX()); - assertEquals(4, f2.getBars()[1].getY().intValue()); - assertFalse(f2.getBars()[1].getB().booleanValue()); - - } - - @Override - protected void setUp() throws Exception { - domain = SCADomain.newInstance("org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldNoWSDL.composite"); - } - - @Override - protected void tearDown() throws Exception { - domain.close(); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOM.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOM.java deleted file mode 100644 index 13a16c8e8a..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOM.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.ws.axis2.itests; - -import org.apache.axiom.om.OMElement; -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface HelloWorldOM { - - OMElement getGreetings(OMElement parmE); - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOM2.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOM2.java deleted file mode 100644 index 0e50781061..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOM2.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.ws.axis2.itests; - -import org.apache.axiom.om.OMElement; -import org.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface HelloWorldOM2 { - - OMElement getGreetings2(OMElement parmE); - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOMComponent.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOMComponent.java deleted file mode 100644 index 82f61bd7c2..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOMComponent.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.binding.ws.axis2.itests; - -import org.apache.axiom.om.OMElement; -import org.oasisopen.sca.annotation.Reference; - -public class HelloWorldOMComponent implements HelloWorldOM { - - @Reference - public HelloWorldOM helloWorldWS; - - public OMElement getGreetings(OMElement om) { - return helloWorldWS.getGreetings(om); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOMService.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOMService.java deleted file mode 100644 index 71d7bf68fb..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOMService.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.ws.axis2.itests; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; - -public class HelloWorldOMService implements HelloWorldOM { - - public OMElement getGreetings(OMElement requestOM) { - System.out.println(" **** getGreetings **** "); - String name = requestOM.getFirstElement().getText(); - - OMFactory omFactory = OMAbstractFactory.getOMFactory(); - OMElement responseOM = omFactory.createOMElement("getGreetingsResponse", "http://helloworld-om", "helloworld"); - OMElement param = omFactory.createOMElement("getGreetingsReturn", "http://helloworld-om", "helloworld"); - responseOM.addChild(param); - param.addChild(omFactory.createOMText("Hello " + name)); - - return responseOM; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOMTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOMTestCase.java deleted file mode 100644 index e7511027c2..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldOMTestCase.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2.itests; - -import junit.framework.Assert; -import junit.framework.TestCase; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; -import org.apache.axiom.om.OMText; -import org.apache.tuscany.sca.host.embedded.SCADomain; - -public class HelloWorldOMTestCase extends TestCase { - - private SCADomain domain; - private HelloWorldOM helloWorld; - - public void testHelloWorld() throws Exception { - OMFactory fac = OMAbstractFactory.getOMFactory(); - OMElement requestOM = fac.createOMElement("getGreetings", "http://helloworld-om", "helloworld"); - OMElement parmE = fac.createOMElement("name", "http://helloworld-om", "helloworld"); - requestOM.addChild(parmE); - parmE.addChild(fac.createOMText("petra")); - OMElement responseOM = helloWorld.getGreetings(requestOM); - OMElement child = (OMElement)responseOM.getFirstElement(); - Assert.assertEquals("Hello petra", ((OMText)child.getFirstOMChild()).getText()); - } - - @Override - protected void setUp() throws Exception { - domain = SCADomain.newInstance("org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om.composite"); - helloWorld = domain.getService(HelloWorldOM.class, "HelloWorldComponent"); - } - - @Override - protected void tearDown() throws Exception { - domain.close(); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldService.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldService.java deleted file mode 100644 index 017d9bb478..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldService.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.binding.ws.axis2.itests; - -public class HelloWorldService implements HelloWorld { - - public String getGreetings(String s) { - return "Hello " + s; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldTestCase.java deleted file mode 100644 index a3a43d032f..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldTestCase.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.ws.axis2.itests; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.host.embedded.SCADomain; - -public class HelloWorldTestCase extends TestCase { - - private SCADomain domain; - private HelloWorld helloWorld; - - public void testCalculator() throws Exception { - assertEquals("Hello petra", helloWorld.getGreetings("petra")); - } - - @Override - protected void setUp() throws Exception { - domain = SCADomain.newInstance("org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorld.composite"); - helloWorld = domain.getService(HelloWorld.class, "HelloWorldComponent"); - } - - @Override - protected void tearDown() throws Exception { - domain.close(); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldWSDLMergedTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldWSDLMergedTestCase.java deleted file mode 100644 index 8e17b89f33..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldWSDLMergedTestCase.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2.itests; - -import junit.framework.Assert; -import junit.framework.TestCase; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; -import org.apache.axiom.om.OMText; -import org.apache.tuscany.sca.host.embedded.SCADomain; - -public class HelloWorldWSDLMergedTestCase extends TestCase { - - private SCADomain domain; - private HelloWorldOM helloWorld; - - public void testHelloWorld() throws Exception { - OMFactory fac = OMAbstractFactory.getOMFactory(); - OMElement requestOM = fac.createOMElement("getGreetings", "http://helloworld-om", "helloworld"); - OMElement parmE = fac.createOMElement("name", "http://helloworld-om", "helloworld"); - requestOM.addChild(parmE); - parmE.addChild(fac.createOMText("petra")); - OMElement responseOM = helloWorld.getGreetings(requestOM); - OMElement child = (OMElement)responseOM.getFirstElement(); - Assert.assertEquals("Hello petra", ((OMText)child.getFirstOMChild()).getText()); - } - - @Override - protected void setUp() throws Exception { - domain = SCADomain.newInstance("org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om-merged.composite"); - helloWorld = domain.getService(HelloWorldOM.class, "HelloWorldWSDLMergedComponent"); - } - - @Override - protected void tearDown() throws Exception { - domain.close(); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/QuestionMarkWSDLImportTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/QuestionMarkWSDLImportTestCase.java deleted file mode 100644 index b276d8210f..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/QuestionMarkWSDLImportTestCase.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.ws.axis2.itests; - -import java.io.BufferedReader; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.net.URL; -import java.util.List; - -import javax.wsdl.Definition; -import javax.wsdl.Port; -import javax.wsdl.Service; -import javax.wsdl.extensions.soap.SOAPAddress; -import javax.wsdl.factory.WSDLFactory; -import javax.wsdl.xml.WSDLReader; -import javax.xml.namespace.QName; - -import junit.framework.TestCase; - -import org.apache.axis2.transport.http.server.HttpUtils; -import org.apache.tuscany.sca.host.embedded.SCADomain; - -/** - * Test ?wsdl works and that the returned WSDL has the correct endpoint - * - * @version $Rev$ $Date$ - */ -public class QuestionMarkWSDLImportTestCase extends TestCase { - - private SCADomain domain; - - /** - * Tests ?wsdl works and returns the correct port endpoint from the WSDL - */ - public void testWSDLImportPortEndpoint() throws Exception { - InputStream inp = new URL("http://localhost:8086/AccountService?wsdl").openStream(); - BufferedReader br = new BufferedReader(new InputStreamReader(inp)); - String line; - while((line = br.readLine()) != null) { - System.out.println(line); - } - br.close(); - - WSDLReader wsdlReader = WSDLFactory.newInstance().newWSDLReader(); - wsdlReader.setFeature("javax.wsdl.verbose", false); - wsdlReader.setFeature("javax.wsdl.importDocuments", true); - - Definition definition = wsdlReader.readWSDL("http://localhost:8086/AccountService?wsdl"); - assertNotNull(definition); - Service service = definition.getService(new QName("http://account2/AccountService/$promoted$ep1", "AccountService")); - Port port = service.getPort("AccountSoapPort"); - - String endpoint = getEndpoint(port); - String ip = HttpUtils.getIpAddress(); - assertEquals("http://" + ip + ":8086/AccountService", endpoint); - } - - private String getEndpoint(Port port) { - List wsdlPortExtensions = port.getExtensibilityElements(); - for (final Object extension : wsdlPortExtensions) { - if (extension instanceof SOAPAddress) { - return ((SOAPAddress) extension).getLocationURI(); - } - } - throw new RuntimeException("no SOAPAddress"); - } - - @Override - protected void setUp() throws Exception { - domain = SCADomain.newInstance("org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-wsdl-import.composite"); - } - - @Override - protected void tearDown() throws Exception { - domain.close(); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/QuestionMarkWSDLIncludeTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/QuestionMarkWSDLIncludeTestCase.java deleted file mode 100644 index 59eb6164fa..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/QuestionMarkWSDLIncludeTestCase.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.ws.axis2.itests; - -import java.io.BufferedReader; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.net.URL; -import java.util.List; - -import javax.wsdl.Definition; -import javax.wsdl.Port; -import javax.wsdl.Service; -import javax.wsdl.extensions.soap.SOAPAddress; -import javax.wsdl.factory.WSDLFactory; -import javax.wsdl.xml.WSDLReader; -import javax.xml.namespace.QName; - -import junit.framework.TestCase; - -import org.apache.axis2.transport.http.server.HttpUtils; -import org.apache.tuscany.sca.host.embedded.SCADomain; - -/** - * Test ?wsdl works and that the returned WSDL has the correct endpoint - * - * @version $Rev: 660340 $ $Date: 2008-05-27 01:08:32 +0100 (Tue, 27 May 2008) $ - */ -public class QuestionMarkWSDLIncludeTestCase extends TestCase { - - private SCADomain domain; - - /** - * Tests ?wsdl works and returns the correct port endpoint from the WSDL - */ - public void testWSDLIncludePortEndpoint() throws Exception { - InputStream inp = new URL("http://localhost:8085/AccountService?wsdl").openStream(); - BufferedReader br = new BufferedReader(new InputStreamReader(inp)); - String line; - while((line = br.readLine()) != null) { - System.out.println(line); - } - br.close(); - - WSDLReader wsdlReader = WSDLFactory.newInstance().newWSDLReader(); - wsdlReader.setFeature("javax.wsdl.verbose", false); - wsdlReader.setFeature("javax.wsdl.importDocuments", true); - - Definition definition = wsdlReader.readWSDL("http://localhost:8085/AccountService?wsdl"); - assertNotNull(definition); - Service service = definition.getService(new QName("http://accounts/AccountService/$promoted$ep1", "AccountService")); - Port port = service.getPort("AccountSoapPort"); - - String endpoint = getEndpoint(port); - String ip = HttpUtils.getIpAddress(); - assertEquals("http://" + ip + ":8085/AccountService", endpoint); - } - - private String getEndpoint(Port port) { - List wsdlPortExtensions = port.getExtensibilityElements(); - for (final Object extension : wsdlPortExtensions) { - if (extension instanceof SOAPAddress) { - return ((SOAPAddress) extension).getLocationURI(); - } - } - throw new RuntimeException("no SOAPAddress"); - } - - @Override - protected void setUp() throws Exception { - domain = SCADomain.newInstance("org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-wsdl-include.composite"); - } - - @Override - protected void tearDown() throws Exception { - domain.close(); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/QuestionMarkWSDLTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/QuestionMarkWSDLTestCase.java deleted file mode 100644 index 0508f28e11..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/QuestionMarkWSDLTestCase.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2.itests; - -import java.io.BufferedReader; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.net.URL; -import java.util.List; - -import javax.wsdl.Definition; -import javax.wsdl.Port; -import javax.wsdl.Service; -import javax.wsdl.extensions.soap.SOAPAddress; -import javax.wsdl.factory.WSDLFactory; -import javax.wsdl.xml.WSDLReader; -import javax.xml.namespace.QName; - -import junit.framework.TestCase; - -import org.apache.axis2.transport.http.server.HttpUtils; -import org.apache.tuscany.sca.host.embedded.SCADomain; - -/** - * Test ?wsdl works and that the returned WSDL has the correct endpoint - * - * @version $Rev$ $Date$ - */ -public class QuestionMarkWSDLTestCase extends TestCase { - - private SCADomain domain; - - /** - * Tests ?wsdl works and returns the correct port endpoint from the WSDL - */ - public void testWSDLPortEndpoint() throws Exception { - InputStream inp = new URL("http://localhost:8085/services/HelloWorldWebService?wsdl").openStream(); - BufferedReader br = new BufferedReader(new InputStreamReader(inp)); - String line; - while((line = br.readLine()) != null) { - System.out.println(line); - } - br.close(); - - WSDLReader wsdlReader = WSDLFactory.newInstance().newWSDLReader(); - wsdlReader.setFeature("javax.wsdl.verbose",false); - wsdlReader.setFeature("javax.wsdl.importDocuments",true); - - Definition definition = wsdlReader.readWSDL("http://localhost:8085/services/HelloWorldWebService?wsdl"); - assertNotNull(definition); - Service service = definition.getService(new QName("http://helloworld/HelloWorldService/$promoted$ep1", - "HelloWorldService")); - Port port = service.getPort("HelloWorldSoapPort"); - - String endpoint = getEndpoint(port); - String ip = HttpUtils.getIpAddress(); - assertEquals("http://" + ip + ":8085/services/HelloWorldWebService", endpoint); - } - - /** - * Tests ?wsdl works and returns the correct port endpoint from binding.ws with a custom URI - */ - public void testCustomEndpoint() throws Exception { - InputStream inp = new URL("http://localhost:8085/foo/bar?wsdl").openStream(); - BufferedReader br = new BufferedReader(new InputStreamReader(inp)); - String line; - while((line = br.readLine()) != null) { - System.out.println(line); - } - br.close(); - - WSDLReader wsdlReader = WSDLFactory.newInstance().newWSDLReader(); - wsdlReader.setFeature("javax.wsdl.verbose",false); - wsdlReader.setFeature("javax.wsdl.importDocuments",true); - - Definition definition = wsdlReader.readWSDL("http://localhost:8085/foo/bar?wsdl"); - assertNotNull(definition); - Service service = definition.getService(new QName("http://itests.axis2.ws.binding.sca.tuscany.apache.org/", - "HelloWorldService")); - Port port = service.getPort("HelloWorldPort"); - - String endpoint = getEndpoint(port); - String ip = HttpUtils.getIpAddress(); - assertEquals("http://" + ip + ":8085/foo/bar", endpoint); - } - - protected String getEndpoint(Port port) { - List wsdlPortExtensions = port.getExtensibilityElements(); - for (final Object extension : wsdlPortExtensions) { - if (extension instanceof SOAPAddress) { - return ((SOAPAddress) extension).getLocationURI(); - } - } - throw new RuntimeException("no SOAPAddress"); - } - - @Override - protected void setUp() throws Exception { - domain = SCADomain.newInstance("org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-wsdl.composite"); - } - - @Override - protected void tearDown() throws Exception { - domain.close(); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/UriPrecedenceTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/UriPrecedenceTestCase.java deleted file mode 100644 index f20b82226e..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/UriPrecedenceTestCase.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.ws.axis2.itests; - -import junit.framework.Assert; -import junit.framework.TestCase; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; -import org.apache.axiom.om.OMText; -import org.apache.tuscany.sca.host.embedded.SCADomain; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * This test verifies that the Endpoint URI specified in the wsdl takes precedence over the URI specified - * in binding. Ref: WS Binding Specification V1.00 - Section 2.1.1 - * - * @version $Rev$ $Date$ - */ -public class UriPrecedenceTestCase extends TestCase { - - private SCADomain domain; - private HelloWorldOM helloWorld; - - public void testUriPrecedence() throws Exception { - OMFactory fac = OMAbstractFactory.getOMFactory(); - OMElement requestOM = fac.createOMElement("getGreetings", "http://helloworld-prec", "helloworld"); - OMElement parmE = fac.createOMElement("name", "http://helloworld-prec", "helloworld"); - requestOM.addChild(parmE); - parmE.addChild(fac.createOMText("petra")); - try { - OMElement responseOM = helloWorld.getGreetings(requestOM); - OMElement child = (OMElement)responseOM.getFirstElement(); - Assert.assertEquals("Hello petra", ((OMText)child.getFirstOMChild()).getText()); - } catch (ServiceRuntimeException e) { - fail("Endpoint URI from wsdl did not take precedence over URI in binding."); - } - } - - @Override - protected void setUp() throws Exception { - domain = SCADomain.newInstance("org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-prec.composite"); - helloWorld = domain.getService(HelloWorldOM.class, "HelloWorldComponent"); - } - - @Override - protected void tearDown() throws Exception { - domain.close(); - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/AbstractHelloWorldOMTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/AbstractHelloWorldOMTestCase.java deleted file mode 100644 index 56d0537a44..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/AbstractHelloWorldOMTestCase.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2.itests.endpoints; - -import junit.framework.Assert; -import junit.framework.TestCase; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; -import org.apache.axiom.om.OMText; -import org.apache.tuscany.sca.binding.ws.axis2.itests.HelloWorldOM; -import org.apache.tuscany.sca.host.embedded.SCADomain; - -public abstract class AbstractHelloWorldOMTestCase extends TestCase { - - private SCADomain domain; - private HelloWorldOM helloWorld; - - public void testCalculator() throws Exception { - OMFactory fac = OMAbstractFactory.getOMFactory(); - OMElement requestOM = fac.createOMElement("getGreetings", "http://helloworld-om", "helloworld"); - OMElement parmE = fac.createOMElement("name", "http://helloworld-om", "helloworld"); - requestOM.addChild(parmE); - parmE.addChild(fac.createOMText("petra")); - OMElement responseOM = helloWorld.getGreetings(requestOM); - OMElement child = (OMElement)responseOM.getFirstElement(); - Assert.assertEquals("Hello petra", ((OMText)child.getFirstOMChild()).getText()); - } - - @Override - protected void setUp() throws Exception { - domain = SCADomain.newInstance(getCompositeName()); - helloWorld = domain.getService(HelloWorldOM.class, "HelloWorldComponent"); - } - - @Override - protected void tearDown() throws Exception { - domain.close(); - } - - protected String getCompositeName() { - String className = this.getClass().getName(); - return className.substring(0, className.length() - 8).replace('.', '/') + ".composite"; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/DefaultMultiServiceTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/DefaultMultiServiceTestCase.java deleted file mode 100644 index 661afdddad..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/DefaultMultiServiceTestCase.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.binding.ws.axis2.itests.endpoints; - -public class DefaultMultiServiceTestCase extends AbstractHelloWorldOMTestCase { - // super class does it all getting composite based on this class name -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/DefaultSingleServiceTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/DefaultSingleServiceTestCase.java deleted file mode 100644 index 9b2e0eafa0..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/DefaultSingleServiceTestCase.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.binding.ws.axis2.itests.endpoints; - -public class DefaultSingleServiceTestCase extends AbstractHelloWorldOMTestCase { - // super class does it all getting composite based on this class name -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/WSDLExplicitURITestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/WSDLExplicitURITestCase.java deleted file mode 100644 index 98d9a73926..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/WSDLExplicitURITestCase.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.binding.ws.axis2.itests.endpoints; - -public class WSDLExplicitURITestCase extends AbstractHelloWorldOMTestCase { - // super class does it all getting composite based on this class name -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/WSDLRelativeURITestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/WSDLRelativeURITestCase.java deleted file mode 100644 index 201d11a79f..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/WSDLRelativeURITestCase.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.binding.ws.axis2.itests.endpoints; - -public class WSDLRelativeURITestCase extends AbstractHelloWorldOMTestCase { - // super class does it all getting composite based on this class name -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/epr/HelloWorldTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/epr/HelloWorldTestCase.java deleted file mode 100644 index f5d87cdcee..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/epr/HelloWorldTestCase.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.binding.ws.axis2.itests.epr; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.binding.ws.axis2.itests.HelloWorld; -import org.apache.tuscany.sca.host.embedded.SCADomain; - -public class HelloWorldTestCase extends TestCase { - - private SCADomain domain; - private HelloWorld helloWorld; - - public void testCalculator() throws Exception { - assertEquals("Hello petra", helloWorld.getGreetings("petra")); - } - - @Override - protected void setUp() throws Exception { - domain = SCADomain.newInstance("org/apache/tuscany/sca/binding/ws/axis2/itests/epr/HelloWorld.composite"); - helloWorld = domain.getService(HelloWorld.class, "HelloWorldComponent"); - } - - @Override - protected void tearDown() throws Exception { - domain.close(); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferClient.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferClient.java deleted file mode 100644 index 5aefaac9ee..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferClient.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.ws.axis2.itests.mtom; - -import javax.activation.DataHandler; -import org.oasisopen.sca.annotation.Reference; - -/** - * This client program shows how to create an SCA runtime, start it, - * locate the FileTransfer service and invoke it. - */ -public class FileTransferClient implements FileTransferService { - - @Reference - public FileTransferService fileTransferWS; - - public String uploadFile(DataHandler attachment) throws Exception { - return fileTransferWS.uploadFile(attachment); - } -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferMTOMTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferMTOMTestCase.java deleted file mode 100644 index e592134037..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferMTOMTestCase.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.ws.axis2.itests.mtom; - -import javax.activation.DataHandler; -import javax.activation.FileDataSource; -import junit.framework.TestCase; -import org.apache.tuscany.sca.binding.ws.axis2.itests.mtom.FileTransferService; -import org.apache.tuscany.sca.host.embedded.SCADomain; - -public class FileTransferMTOMTestCase extends TestCase { - - private SCADomain domain; - - public void testFileTransfer() throws Exception { - // For testing purpose lets try uploading FileTransferClient.java file. - DataHandler dataHandler = new DataHandler(new FileDataSource("FileTransferClient.java")); - FileTransferService filetransfer = domain.getService(FileTransferService.class, "FileTransferServiceComponent"); - assertEquals("File uploaded Sucessfully", filetransfer.uploadFile(dataHandler)); - } - - @Override - protected void setUp() throws Exception { - domain = SCADomain.newInstance("org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/filetransferservice.composite"); - } - - @Override - protected void tearDown() throws Exception { - domain.close(); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferService.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferService.java deleted file mode 100644 index 457e80ebdb..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferService.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.binding.ws.axis2.itests.mtom; - -import org.oasisopen.sca.annotation.Remotable; -import javax.activation.DataHandler; - -/** - * This is the business interface of the HelloWorld greetings service. - */ -@Remotable -public interface FileTransferService { - - public String uploadFile(DataHandler attachment) throws Exception; -} - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferServiceImpl.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferServiceImpl.java deleted file mode 100644 index 8cc8daa9f7..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/FileTransferServiceImpl.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.binding.ws.axis2.itests.mtom; - -import org.oasisopen.sca.annotation.Service; -import javax.activation.DataHandler; -import java.io.File; -import java.io.FileOutputStream; - -/** - * This class implements the HelloWorld service. - */ -@Service(FileTransferService.class) -public class FileTransferServiceImpl implements FileTransferService { - - public String uploadFile(DataHandler attachment) throws Exception { - - //OMText binaryNode = (OMText) (attachment.getFirstElement()).getFirstOMChild(); - //DataHandler dataHandler = (DataHandler) binaryNode.getDataHandler(); - - // Use this code to save the file we have received. - /*DataHandler dataHandler = attachment; - - File file = new File("transferedfile.java"); - FileOutputStream fileOutputStream = new FileOutputStream(file); - dataHandler.writeTo(fileOutputStream); - fileOutputStream.flush(); - fileOutputStream.close();*/ - - System.out.println(attachment.getContentType()); - - return "File uploaded Sucessfully"; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/AbstractHelloWorldOMTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/AbstractHelloWorldOMTestCase.java deleted file mode 100644 index 6cdb12c221..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/AbstractHelloWorldOMTestCase.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2.itests.policy.configparams; - -import junit.framework.Assert; -import junit.framework.TestCase; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; -import org.apache.axiom.om.OMText; -import org.apache.tuscany.sca.binding.ws.axis2.itests.HelloWorldOM; -import org.apache.tuscany.sca.host.embedded.SCADomain; - -public abstract class AbstractHelloWorldOMTestCase extends TestCase { - - private SCADomain domain; - private HelloWorldOM helloWorld; - - public void testHelloWorld() throws Exception { - OMFactory fac = OMAbstractFactory.getOMFactory(); - OMElement requestOM = fac.createOMElement("getGreetings", "http://helloworld-om", "helloworld"); - OMElement parmE = fac.createOMElement("name", "http://helloworld-om", "helloworld"); - requestOM.addChild(parmE); - parmE.addChild(fac.createOMText("petra")); - OMElement responseOM = helloWorld.getGreetings(requestOM); - OMElement child = (OMElement)responseOM.getFirstElement(); - Assert.assertEquals("Hello petra", ((OMText)child.getFirstOMChild()).getText()); - } - - @Override - protected void setUp() throws Exception { - domain = SCADomain.newInstance(getCompositeName()); - helloWorld = domain.getService(HelloWorldOM.class, "HelloWorldComponent"); - } - - @Override - protected void tearDown() throws Exception { - domain.close(); - } - - protected String getCompositeName() { - String className = this.getClass().getName(); - return className.substring(0, className.length() - 8).replace('.', '/') + ".composite"; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/ClientPWCBHandler.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/ClientPWCBHandler.java deleted file mode 100644 index 67d6f1c56e..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/ClientPWCBHandler.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.ws.axis2.itests.policy.configparams; - -import java.io.IOException; - -import javax.security.auth.callback.Callback; -import javax.security.auth.callback.CallbackHandler; -import javax.security.auth.callback.UnsupportedCallbackException; - -import org.apache.ws.security.WSPasswordCallback; - -/** - * Sample userid passwd generation class - * - * @version $Rev$ $Date$ - */ -public class ClientPWCBHandler implements CallbackHandler { - - public void handle(Callback[] callbacks) throws IOException, - UnsupportedCallbackException { - for (int i = 0; i < callbacks.length; i++) { - System.out.println("*** Calling Client UserId/Password Handler .... "); - WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i]; - pwcb.setPassword("TuscanyWsUserPasswd"); - } - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/IntegrityPWCBHandler.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/IntegrityPWCBHandler.java deleted file mode 100644 index 45c5472100..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/IntegrityPWCBHandler.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.ws.axis2.itests.policy.configparams; - -import java.io.IOException; - -import javax.security.auth.callback.Callback; -import javax.security.auth.callback.CallbackHandler; -import javax.security.auth.callback.UnsupportedCallbackException; - -import org.apache.ws.security.WSPasswordCallback; - -/** - * Sample userid passwd generation class - * - * @version $Rev$ $Date$ - */ -public class IntegrityPWCBHandler implements CallbackHandler { - - public void handle(Callback[] callbacks) throws IOException, - UnsupportedCallbackException { - for (int i = 0; i < callbacks.length; i++) { - System.out.println("*** Calling Integrity Password Handler .... "); - WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i]; - pwcb.setPassword("TuscanyWsUserPasswd"); - } - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/ServerPWCBHandler.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/ServerPWCBHandler.java deleted file mode 100644 index 7a4b50cc2c..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/ServerPWCBHandler.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.ws.axis2.itests.policy.configparams; - -import java.io.IOException; - -import javax.security.auth.callback.Callback; -import javax.security.auth.callback.CallbackHandler; -import javax.security.auth.callback.UnsupportedCallbackException; - -import org.apache.ws.security.WSPasswordCallback; - -/** - * Sample userid passwd generation class - * - * @version $Rev$ $Date$ - */ -public class ServerPWCBHandler implements CallbackHandler { - - public void handle(Callback[] callbacks) throws IOException, - UnsupportedCallbackException { - for (int i = 0; i < callbacks.length; i++) { - System.out.println("*** Calling Server User/Passwd Handler...."); - WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i]; - pwcb.setPassword("TuscanyWsUserPasswd"); - } - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityAuthenticationTestCaseFIXME.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityAuthenticationTestCaseFIXME.java deleted file mode 100644 index 18a713a243..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityAuthenticationTestCaseFIXME.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.binding.ws.axis2.itests.policy.configparams; - -public class WSSecurityAuthenticationTestCaseFIXME extends AbstractHelloWorldOMTestCase { - // super class does it all getting composite based on this class name -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityConfidentialityTestCaseFIXBouncyCastleIssue.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityConfidentialityTestCaseFIXBouncyCastleIssue.java deleted file mode 100644 index 1fd1b8d48e..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityConfidentialityTestCaseFIXBouncyCastleIssue.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.binding.ws.axis2.itests.policy.configparams; - -import java.security.Provider; -import java.security.Security; - -public class WSSecurityConfidentialityTestCaseFIXBouncyCastleIssue extends AbstractHelloWorldOMTestCase { - - /** - * @see org.apache.tuscany.sca.binding.ws.axis2.itests.policy.configparams.AbstractHelloWorldOMTestCase#setUp() - */ - @Override - protected void setUp() throws Exception { - // Workaround an issue with IBM JDK - Provider jce = Security.getProvider("IBMJCE"); - if (jce != null) { - // Make sure IBMJCE is used first - Security.removeProvider("IBMJCE"); - Security.insertProviderAt(jce, 1); - } - super.setUp(); - } - // super class does it all getting composite based on this class name -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityIntegrityTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityIntegrityTestCase.java deleted file mode 100644 index 824132161c..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityIntegrityTestCase.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.binding.ws.axis2.itests.policy.configparams; - -public class WSSecurityIntegrityTestCase extends AbstractHelloWorldOMTestCase { - // super class does it all getting composite based on this class name -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/AbstractHelloWorldOMTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/AbstractHelloWorldOMTestCase.java deleted file mode 100644 index 458a472479..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/AbstractHelloWorldOMTestCase.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.ws.axis2.itests.policy.mixed; - -import junit.framework.Assert; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; -import org.apache.axiom.om.OMText; -import org.apache.tuscany.sca.binding.ws.axis2.itests.HelloWorldOM; -import org.apache.tuscany.sca.host.embedded.SCADomain; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -public abstract class AbstractHelloWorldOMTestCase { - - private SCADomain domain; - private HelloWorldOM helloWorld; - - @Test - public void testHelloWorld() throws Exception { - OMFactory fac = OMAbstractFactory.getOMFactory(); - OMElement requestOM = fac.createOMElement("getGreetings", "http://helloworld-om", "helloworld"); - OMElement parmE = fac.createOMElement("name", "http://helloworld-om", "helloworld"); - requestOM.addChild(parmE); - parmE.addChild(fac.createOMText("petra")); - OMElement responseOM = helloWorld.getGreetings(requestOM); - OMElement child = (OMElement)responseOM.getFirstElement(); - Assert.assertEquals("Hello petra", ((OMText)child.getFirstOMChild()).getText()); - } - - @Before - public void setUp() throws Exception { - domain = SCADomain.newInstance(getCompositeName()); - helloWorld = domain.getService(HelloWorldOM.class, "HelloWorldComponent"); - } - - @After - public void tearDown() throws Exception { - domain.close(); - } - - protected String getCompositeName() { - String className = this.getClass().getName(); - return className.substring(0, className.length() - 8).replace('.', '/') + ".composite"; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/ClientPWCBHandler.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/ClientPWCBHandler.java deleted file mode 100644 index 88fc0d63fa..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/ClientPWCBHandler.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.ws.axis2.itests.policy.mixed; - -import java.io.IOException; - -import javax.security.auth.callback.Callback; -import javax.security.auth.callback.CallbackHandler; -import javax.security.auth.callback.UnsupportedCallbackException; - -import org.apache.ws.security.WSPasswordCallback; - -/** - * Sample userid passwd generation class - * - * @version $Rev$ $Date$ - */ -public class ClientPWCBHandler implements CallbackHandler { - - public void handle(Callback[] callbacks) throws IOException, - UnsupportedCallbackException { - for (int i = 0; i < callbacks.length; i++) { - System.out.println("*** Calling Client UserId/Password Handler .... "); - WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i]; - - System.out.println(" **** 1. UserId : " + pwcb.getIdentifer()); - System.out.println(" **** 2. Passwd : " + pwcb.getPassword()); - System.out.println(" **** 3. Usage : " + pwcb.getUsage()); - - pwcb.setPassword("TuscanyWsUserPasswd"); - } - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/IntegrityPWCBHandler.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/IntegrityPWCBHandler.java deleted file mode 100644 index 0d8914156f..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/IntegrityPWCBHandler.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.ws.axis2.itests.policy.mixed; - -import java.io.IOException; - -import javax.security.auth.callback.Callback; -import javax.security.auth.callback.CallbackHandler; -import javax.security.auth.callback.UnsupportedCallbackException; - -import org.apache.ws.security.WSPasswordCallback; - -/** - * Sample userid passwd generation class - * - * @version $Rev$ $Date$ - */ -public class IntegrityPWCBHandler implements CallbackHandler { - - public void handle(Callback[] callbacks) throws IOException, - UnsupportedCallbackException { - for (int i = 0; i < callbacks.length; i++) { - System.out.println("*** Calling Integrity Password Handler .... "); - WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i]; - - System.out.println(" **** 1. UserId : " + pwcb.getIdentifer()); - System.out.println(" **** 2. Passwd : " + pwcb.getPassword()); - System.out.println(" **** 3. Usage : " + pwcb.getUsage()); - - pwcb.setPassword("TuscanyWsUserPasswd"); - } - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/ServerPWCBHandler.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/ServerPWCBHandler.java deleted file mode 100644 index 5840f71057..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/ServerPWCBHandler.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.ws.axis2.itests.policy.mixed; - -import java.io.IOException; - -import javax.security.auth.callback.Callback; -import javax.security.auth.callback.CallbackHandler; -import javax.security.auth.callback.UnsupportedCallbackException; - -import org.apache.ws.security.WSPasswordCallback; - -/** - * Sample userid passwd generation class - * - * @version $Rev$ $Date$ - */ -public class ServerPWCBHandler implements CallbackHandler { - - public void handle(Callback[] callbacks) throws IOException, - UnsupportedCallbackException { - for (int i = 0; i < callbacks.length; i++) { - System.out.println("*** Calling Server User/Passwd Handler...."); - WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i]; - System.out.println(" **** 1. UserId : " + pwcb.getIdentifer()); - System.out.println(" **** 2. Passwd : " + pwcb.getPassword()); - System.out.println(" **** 3. Usage : " + pwcb.getUsage()); - - pwcb.setPassword("TuscanyWsUserPasswd"); - } - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/WSSecurityMixedTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/WSSecurityMixedTestCase.java deleted file mode 100644 index db5b88f9ac..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/WSSecurityMixedTestCase.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.binding.ws.axis2.itests.policy.mixed; - -public class WSSecurityMixedTestCase extends AbstractHelloWorldOMTestCase { - // super class does it all getting composite based on this class name -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/AbstractHelloWorldOMTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/AbstractHelloWorldOMTestCase.java deleted file mode 100644 index 04de589fb1..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/AbstractHelloWorldOMTestCase.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2.itests.policy.wspolicy; - -import junit.framework.Assert; -import junit.framework.TestCase; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; -import org.apache.axiom.om.OMText; -import org.apache.tuscany.sca.binding.ws.axis2.itests.HelloWorldOM; -import org.apache.tuscany.sca.host.embedded.SCADomain; - -public abstract class AbstractHelloWorldOMTestCase extends TestCase { - - private SCADomain domain; - private HelloWorldOM helloWorld; - - public void testHelloWorld() throws Exception { - OMFactory fac = OMAbstractFactory.getOMFactory(); - OMElement requestOM = fac.createOMElement("getGreetings", "http://helloworld-om", "helloworld"); - OMElement parmE = fac.createOMElement("name", "http://helloworld-om", "helloworld"); - requestOM.addChild(parmE); - parmE.addChild(fac.createOMText("petra")); - OMElement responseOM = helloWorld.getGreetings(requestOM); - OMElement child = (OMElement)responseOM.getFirstElement(); - Assert.assertEquals("Hello petra", ((OMText)child.getFirstOMChild()).getText()); - } - - @Override - protected void setUp() throws Exception { - domain = SCADomain.newInstance(getCompositeName()); - helloWorld = domain.getService(HelloWorldOM.class, "HelloWorldComponent"); - } - - @Override - protected void tearDown() throws Exception { - domain.close(); - } - - protected String getCompositeName() { - String className = this.getClass().getName(); - return className.substring(0, className.length() - 8).replace('.', '/') + ".composite"; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/ClientPWCBHandler.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/ClientPWCBHandler.java deleted file mode 100644 index cf342653c7..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/ClientPWCBHandler.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.ws.axis2.itests.policy.wspolicy; - -import java.io.IOException; - -import javax.security.auth.callback.Callback; -import javax.security.auth.callback.CallbackHandler; -import javax.security.auth.callback.UnsupportedCallbackException; - -import org.apache.ws.security.WSPasswordCallback; - -/** - * Sample userid passwd generation class - * - * @version $Rev$ $Date$ - */ -public class ClientPWCBHandler implements CallbackHandler { - - public void handle(Callback[] callbacks) throws IOException, - UnsupportedCallbackException { - for (int i = 0; i < callbacks.length; i++) { - System.out.println("*** Calling Client UserId/Password Handler .... "); - WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i]; - pwcb.setPassword("TuscanyWsUserPasswd"); - } - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/IntegrityPWCBHandler.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/IntegrityPWCBHandler.java deleted file mode 100644 index 84b64d3902..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/IntegrityPWCBHandler.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.ws.axis2.itests.policy.wspolicy; - -import java.io.IOException; - -import javax.security.auth.callback.Callback; -import javax.security.auth.callback.CallbackHandler; -import javax.security.auth.callback.UnsupportedCallbackException; - -import org.apache.ws.security.WSPasswordCallback; - -/** - * Sample userid passwd generation class - * - * @version $Rev$ $Date$ - */ -public class IntegrityPWCBHandler implements CallbackHandler { - - public void handle(Callback[] callbacks) throws IOException, - UnsupportedCallbackException { - for (int i = 0; i < callbacks.length; i++) { - System.out.println("*** Calling Integrity Password Handler .... "); - WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i]; - pwcb.setPassword("TuscanyWsUserPasswd"); - } - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/ServerPWCBHandler.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/ServerPWCBHandler.java deleted file mode 100644 index 04825b6b56..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/ServerPWCBHandler.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.ws.axis2.itests.policy.wspolicy; - -import java.io.IOException; - -import javax.security.auth.callback.Callback; -import javax.security.auth.callback.CallbackHandler; -import javax.security.auth.callback.UnsupportedCallbackException; - -import org.apache.ws.security.WSPasswordCallback; - -/** - * Sample userid passwd generation class - * - * @version $Rev$ $Date$ - */ -public class ServerPWCBHandler implements CallbackHandler { - - public void handle(Callback[] callbacks) throws IOException, - UnsupportedCallbackException { - for (int i = 0; i < callbacks.length; i++) { - System.out.println("*** Calling Server User/Passwd Handler...."); - WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i]; - pwcb.setPassword("TuscanyWsUserPasswd"); - } - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityAuthenticationTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityAuthenticationTestCase.java deleted file mode 100644 index a439ff4c8f..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityAuthenticationTestCase.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.binding.ws.axis2.itests.policy.wspolicy; - -public class WSSecurityAuthenticationTestCase extends AbstractHelloWorldOMTestCase { - // super class does it all getting composite based on this class name -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityConfidentialityTestCaseFIXBouncyCastleIssue.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityConfidentialityTestCaseFIXBouncyCastleIssue.java deleted file mode 100644 index f37a8deeb7..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityConfidentialityTestCaseFIXBouncyCastleIssue.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.binding.ws.axis2.itests.policy.wspolicy; - -import java.security.Provider; -import java.security.Security; - -public class WSSecurityConfidentialityTestCaseFIXBouncyCastleIssue extends AbstractHelloWorldOMTestCase { - - /** - * @see org.apache.tuscany.sca.binding.ws.axis2.itests.policy.configparams.AbstractHelloWorldOMTestCase#setUp() - */ - @Override - protected void setUp() throws Exception { - // Workaround an issue with IBM JDK - Provider jce = Security.getProvider("IBMJCE"); - if (jce != null) { - // Make sure IBMJCE is used first - Security.removeProvider("IBMJCE"); - Security.insertProviderAt(jce, 1); - } - super.setUp(); - } - // super class does it all getting composite based on this class name -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityIntegrityTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityIntegrityTestCase.java deleted file mode 100644 index 18bbf98628..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityIntegrityTestCase.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.binding.ws.axis2.itests.policy.wspolicy; - -public class WSSecurityIntegrityTestCase extends AbstractHelloWorldOMTestCase { - // super class does it all getting composite based on this class name -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/HelloWorldSOAP12TestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/HelloWorldSOAP12TestCase.java deleted file mode 100644 index b2ccd7f97d..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/HelloWorldSOAP12TestCase.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2.itests.soap12 ; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.binding.ws.axis2.itests.HelloWorld; -import org.apache.tuscany.sca.host.embedded.SCADomain; - -public class HelloWorldSOAP12TestCase extends TestCase { - - private SCADomain domain; - - public void testHelloWorld() throws Exception { - HelloWorld helloWorld = domain.getService(HelloWorld.class, "HelloWorldClient"); - assertEquals("Hello petra", helloWorld.getGreetings("petra")); - } - public void testHelloWorldSOAP() throws Exception { - HelloWorld helloWorld = domain.getService(HelloWorld.class, "HelloWorldClientSOAP"); - assertEquals("Hello petra", helloWorld.getGreetings("petra")); - } - public void testHelloWorldSOAP11() throws Exception { - HelloWorld helloWorld = domain.getService(HelloWorld.class, "HelloWorldClientSOAP11"); - assertEquals("Hello petra", helloWorld.getGreetings("petra")); - } - public void testHelloWorldSOAP12() throws Exception { - HelloWorld helloWorld = domain.getService(HelloWorld.class, "HelloWorldClientSOAP12"); - assertEquals("Hello petra", helloWorld.getGreetings("petra")); - } - - @Override - protected void setUp() throws Exception { - domain = SCADomain.newInstance("org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/HelloWorldSOAP12.composite"); - } - - @Override - protected void tearDown() throws Exception { - domain.close(); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/QuestionMarkWSDLTestCase.java b/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/QuestionMarkWSDLTestCase.java deleted file mode 100644 index 8d378565d4..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/java/org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/QuestionMarkWSDLTestCase.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.axis2.itests.soap12; - -import java.util.List; - -import javax.wsdl.Definition; -import javax.wsdl.Port; -import javax.wsdl.Service; -import javax.wsdl.extensions.soap.SOAPAddress; -import javax.wsdl.extensions.soap12.SOAP12Address; -import javax.wsdl.factory.WSDLFactory; -import javax.wsdl.xml.WSDLReader; -import javax.xml.namespace.QName; - -import junit.framework.TestCase; - -import org.apache.axis2.transport.http.server.HttpUtils; -import org.apache.tuscany.sca.host.embedded.SCADomain; - -/** - * Test ?wsdl works and that the returned WSDL has the correct endpoint - * - * @version $Rev$ $Date$ - */ -public class QuestionMarkWSDLTestCase extends TestCase { - - private static boolean newGenerator = true; - private SCADomain domain; - - /** - * Tests ?wsdl returns a soap 1.1 port by default - */ - public void testSOAPDefault() throws Exception { - WSDLReader wsdlReader = WSDLFactory.newInstance().newWSDLReader(); - wsdlReader.setFeature("javax.wsdl.verbose",false); - wsdlReader.setFeature("javax.wsdl.importDocuments",true); - - Definition definition = wsdlReader.readWSDL("http://localhost:8085/ep1?wsdl"); - assertNotNull(definition); - Service service = definition.getService(new QName( - "http://itests.axis2.ws.binding.sca.tuscany.apache.org" + (newGenerator ? "/" : ""), - newGenerator ? "HelloWorldService" : "HelloWorld")); - Port port = service.getPort(newGenerator ? "HelloWorldPort" : "HelloWorldSOAP11port_http"); - - String endpoint = getSOAP11Endpoint(port); - String ip = HttpUtils.getIpAddress(); - assertEquals("http://" + ip + ":8085/ep1", endpoint); - } - - /** - * Tests ?wsdl returns a soap 1.1 port when binding uses requires="SOAP.1_1" - */ - public void testSOAP11Endpoint() throws Exception { - WSDLReader wsdlReader = WSDLFactory.newInstance().newWSDLReader(); - wsdlReader.setFeature("javax.wsdl.verbose",false); - wsdlReader.setFeature("javax.wsdl.importDocuments",true); - - Definition definition = wsdlReader.readWSDL("http://localhost:8085/ep2?wsdl"); - assertNotNull(definition); - Service service = definition.getService(new QName( - "http://itests.axis2.ws.binding.sca.tuscany.apache.org" + (newGenerator ? "/" : ""), - newGenerator ? "HelloWorldService" : "HelloWorld")); - Port port = service.getPort(newGenerator ? "HelloWorldPort" : "HelloWorldSOAP11port_http"); - - String endpoint = getSOAP11Endpoint(port); - String ip = HttpUtils.getIpAddress(); - assertEquals("http://" + ip + ":8085/ep2", endpoint); - } - - /** - * Tests ?wsdl returns a soap 1.2 port when binding uses requires="SOAP.1_2" - */ - public void testSOAP12Endpoint() throws Exception { - WSDLReader wsdlReader = WSDLFactory.newInstance().newWSDLReader(); - wsdlReader.setFeature("javax.wsdl.verbose",false); - wsdlReader.setFeature("javax.wsdl.importDocuments",true); - - Definition definition = wsdlReader.readWSDL("http://localhost:8085/ep3?wsdl"); - assertNotNull(definition); - Service service = definition.getService(new QName( - "http://itests.axis2.ws.binding.sca.tuscany.apache.org" + (newGenerator ? "/" : ""), - newGenerator ? "HelloWorldService" : "HelloWorld")); - Port port = service.getPort(newGenerator ? "HelloWorldPort" : "HelloWorldSOAP12port_http"); - - String endpoint = getSOAP12Endpoint(port); - String ip = HttpUtils.getIpAddress(); - assertEquals("http://" + ip + ":8085/ep3", endpoint); - } - - protected String getSOAP11Endpoint(Port port) { - List wsdlPortExtensions = port.getExtensibilityElements(); - for (final Object extension : wsdlPortExtensions) { - if (extension instanceof SOAPAddress) { - return ((SOAPAddress) extension).getLocationURI(); - } - } - throw new RuntimeException("no SOAPAddress"); - } - - protected String getSOAP12Endpoint(Port port) { - List wsdlPortExtensions = port.getExtensibilityElements(); - for (final Object extension : wsdlPortExtensions) { - if (extension instanceof SOAP12Address) { - return ((SOAP12Address) extension).getLocationURI(); - } - } - throw new RuntimeException("no SOAPAddress"); - } - - @Override - protected void setUp() throws Exception { - domain = SCADomain.newInstance("org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/questionmark-wsdl.composite"); - } - - @Override - protected void tearDown() throws Exception { - domain.close(); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler deleted file mode 100644 index 32b042402b..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/META-INF/services/org.apache.tuscany.sca.policy.util.PolicyHandler +++ /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. -# -# PolicyHandlerClasses to interpret specific PolicyModels against specific QoS infrastructures -# handler classname;qname=;model= -org.apache.tuscany.sca.policy.security.ws.Axis2ConfigParamPolicyHandler;intent=http://tuscany.apache.org/xmlns/sca/1.0#wsAuthentication,model=org.apache.tuscany.sca.policy.security.ws.Axis2ConfigParamPolicy diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorld.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorld.composite deleted file mode 100644 index 5cea469e3d..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorld.composite +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - http://localhost:8085/services/HelloWorldWebService - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldNoWSDL.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldNoWSDL.composite deleted file mode 100644 index b11c50b00c..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/HelloWorldNoWSDL.composite +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/customerdata.xsd b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/customerdata.xsd deleted file mode 100644 index f09ed09b6a..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/customerdata.xsd +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/customerdefs.xsd b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/customerdefs.xsd deleted file mode 100644 index ec67b84851..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/customerdefs.xsd +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/customerinfo.xsd b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/customerinfo.xsd deleted file mode 100644 index 7c903c6394..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/customerinfo.xsd +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/DefaultMultiService.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/DefaultMultiService.composite deleted file mode 100644 index 394bf05506..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/DefaultMultiService.composite +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/DefaultSingleService.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/DefaultSingleService.composite deleted file mode 100644 index c7081b9a72..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/DefaultSingleService.composite +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/WSDLExplicitURI.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/WSDLExplicitURI.composite deleted file mode 100644 index 7d3e1d1327..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/WSDLExplicitURI.composite +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/WSDLRelativeURI.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/WSDLRelativeURI.composite deleted file mode 100644 index c2cd598508..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/WSDLRelativeURI.composite +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/helloworld-om-relative-uri.wsdl b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/helloworld-om-relative-uri.wsdl deleted file mode 100644 index fe68755c47..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/endpoints/helloworld-om-relative-uri.wsdl +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/epr/HelloWorld.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/epr/HelloWorld.composite deleted file mode 100644 index 38a7c045be..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/epr/HelloWorld.composite +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - http://localhost:8085/myService - - - - - - - - - - - - - - - - - http://localhost:8085/myService - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om-binding.wsdl b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om-binding.wsdl deleted file mode 100644 index 7bf47bc412..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om-binding.wsdl +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om-merged.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om-merged.composite deleted file mode 100644 index dee0effd99..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om-merged.composite +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om-porttype.wsdl b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om-porttype.wsdl deleted file mode 100644 index c66fa51c34..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om-porttype.wsdl +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om-uri.wsdl b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om-uri.wsdl deleted file mode 100644 index baa223f41c..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om-uri.wsdl +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om.composite deleted file mode 100644 index 8fcbdef33d..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om.composite +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om.wsdl b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om.wsdl deleted file mode 100644 index 73ca02246d..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-om.wsdl +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-prec.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-prec.composite deleted file mode 100644 index c506b09bb2..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-prec.composite +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-prec.wsdl b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-prec.wsdl deleted file mode 100644 index 5908c43e7d..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld-prec.wsdl +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld.wsdl b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld.wsdl deleted file mode 100644 index 1a2272d7ee..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/helloworld.wsdl +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/filetransfer.wsdl b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/filetransfer.wsdl deleted file mode 100644 index 1c67a1b26a..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/filetransfer.wsdl +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/filetransferservice.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/filetransferservice.composite deleted file mode 100644 index 03a16d9433..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/mtom/filetransferservice.composite +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityAuthentication.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityAuthentication.composite deleted file mode 100644 index da5bab45e8..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityAuthentication.composite +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityConfidentiality.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityConfidentiality.composite deleted file mode 100644 index 13e002be1b..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityConfidentiality.composite +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityIntegrity.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityIntegrity.composite deleted file mode 100644 index 2f6fab0d07..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/WSSecurityIntegrity.composite +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/definitions.xml b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/definitions.xml deleted file mode 100644 index 8fa2d3b8c0..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/definitions.xml +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - UsernameToken - org.apache.tuscany.sca.binding.ws.axis2.itests.policy.configparams.ServerPWCBHandler - - - - - - - - - - UsernameToken - TuscanyWsUser - org.apache.tuscany.sca.binding.ws.axis2.itests.policy.configparams.ClientPWCBHandler" + - PasswordText - - - - - - - - - - Timestamp Signature - org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/security.properties - - - - - Timestamp Signature - TuscanyWsUser - org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/security.properties - org.apache.tuscany.sca.binding.ws.axis2.itests.policy.configparams.IntegrityPWCBHandler" + - DirectReference - - - - - - - - - - Timestamp Signature Encrypt - org.apache.tuscany.sca.binding.ws.axis2.itests.policy.configparams.IntegrityPWCBHandler - org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/security.properties - - - - - Timestamp Signature Encrypt - TuscanyWsUser - TuscanyWsUser - org.apache.tuscany.sca.binding.ws.axis2.itests.policy.configparams.IntegrityPWCBHandler - org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/security.properties - DirectReference - SKIKeyIdentifier - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/security.properties b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/security.properties deleted file mode 100644 index 592edf183b..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/security.properties +++ /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. -## --------------------------------------------------------------------------- -org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin -org.apache.ws.security.crypto.merlin.keystore.type=jks -org.apache.ws.security.crypto.merlin.keystore.password=TuscanyWsUserPasswd -org.apache.ws.security.crypto.merlin.file=org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/tuscanyKeys.jks \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/tuscanyKeys.jks b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/tuscanyKeys.jks deleted file mode 100644 index 307edb9b37..0000000000 Binary files a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/tuscanyKeys.jks and /dev/null differ diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/intent/definitions.xml b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/intent/definitions.xml deleted file mode 100644 index 65f8cb67d8..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/intent/definitions.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - Communitcation thro this binding required Authentication. - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/WSSecurityMixed.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/WSSecurityMixed.composite deleted file mode 100644 index 12b2b18e55..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/WSSecurityMixed.composite +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/definitions.xml b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/definitions.xml deleted file mode 100644 index 871e889835..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/definitions.xml +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - - - - - UsernameToken - org.apache.tuscany.sca.binding.ws.axis2.itests.policy.mixed.ServerPWCBHandler - - - - - - - - - - UsernameToken - TuscanyWsUser - org.apache.tuscany.sca.binding.ws.axis2.itests.policy.mixed.ClientPWCBHandler" + - PasswordText - - - - - - - - - - Signature - org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/security.properties - - - - - - - - - - Signature - TuscanyWsUser - org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/security.properties - org.apache.tuscany.sca.binding.ws.axis2.itests.policy.mixed.IntegrityPWCBHandler - DirectReference - - - - - - - - - - UsernameToken Signature - org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/security.properties - org.apache.tuscany.sca.binding.ws.axis2.itests.policy.mixed.ServerPWCBHandler - - - - - Signature - TuscanyWsUser - org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/security.properties - org.apache.tuscany.sca.binding.ws.axis2.itests.policy.mixed.ServerPWCBHandler - DirectReference - - - - - - - - - - Signature - org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/security.properties - - - - - UsernameToken Signature - TuscanyWsUser - org.apache.tuscany.sca.binding.ws.axis2.itests.policy.mixed.ClientPWCBHandler" + - org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/security.properties - PasswordText - DirectReference - - - - - - - - - - - - - - - - - TuscanyWsUser - - org.apache.tuscany.sca.binding.ws.axis2.itests.policy.mixed.ClientPWCBHandler - - - - - - - - - - - - - - - - - - org.apache.tuscany.sca.binding.ws.axis2.itests.policy.mixed.ServerPWCBHandler - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TuscanyWsUser - TuscanyWsUser - org.apache.tuscany.sca.binding.ws.axis2.itests.policy.wspolicy.IntegrityPWCBHandler - - - - JKS - org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/tuscanyKeys.jks - TuscanyWsUserPasswd - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/security.properties b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/security.properties deleted file mode 100644 index cb188e6676..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/security.properties +++ /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. -## --------------------------------------------------------------------------- -org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin -org.apache.ws.security.crypto.merlin.keystore.type=jks -org.apache.ws.security.crypto.merlin.keystore.password=TuscanyWsUserPasswd -org.apache.ws.security.crypto.merlin.file=org/apache/tuscany/sca/binding/ws/axis2/itests/policy/configparams/tuscanyKeys.jks \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/tuscanyKeys.jks b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/tuscanyKeys.jks deleted file mode 100644 index 307edb9b37..0000000000 Binary files a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/mixed/tuscanyKeys.jks and /dev/null differ diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityAuthentication.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityAuthentication.composite deleted file mode 100644 index 2a22a0905d..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityAuthentication.composite +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityConfidentiality.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityConfidentiality.composite deleted file mode 100644 index e6f999aad7..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityConfidentiality.composite +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityIntegrity.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityIntegrity.composite deleted file mode 100644 index d9e889768b..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/WSSecurityIntegrity.composite +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/definitions.xml b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/definitions.xml deleted file mode 100644 index d7f40ccf0e..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/definitions.xml +++ /dev/null @@ -1,203 +0,0 @@ - - - - - - - - - - - - - - - - - - TuscanyWsUser - PasswordText - org.apache.tuscany.sca.binding.ws.axis2.itests.policy.wspolicy.ClientPWCBHandler - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TuscanyWsUser - TuscanyWsUser - org.apache.tuscany.sca.binding.ws.axis2.itests.policy.wspolicy.IntegrityPWCBHandler - - - - JKS - org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/tuscanyKeys.jks - TuscanyWsUserPasswd - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TuscanyWsUser - TuscanyWsUser - org.apache.tuscany.sca.binding.ws.axis2.itests.policy.wspolicy.IntegrityPWCBHandler - - - JKS - org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/tuscanyKeys.jks - TuscanyWsUserPasswd - - - - - - JKS - org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/tuscanyKeys.jks - TuscanyWsUserPasswd - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/tuscanyKeys.jks b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/tuscanyKeys.jks deleted file mode 100644 index 307edb9b37..0000000000 Binary files a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/policy/wspolicy/tuscanyKeys.jks and /dev/null differ diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-import-nested.wsdl b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-import-nested.wsdl deleted file mode 100644 index 41a491361f..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-import-nested.wsdl +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-import.wsdl b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-import.wsdl deleted file mode 100644 index 99a8c6d81d..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-import.wsdl +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-include.wsdl b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-include.wsdl deleted file mode 100644 index 80e4b62801..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-include.wsdl +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-wsdl-import.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-wsdl-import.composite deleted file mode 100644 index 008d42d03d..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-wsdl-import.composite +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-wsdl-include.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-wsdl-include.composite deleted file mode 100644 index 7fff56377b..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-wsdl-include.composite +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-wsdl.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-wsdl.composite deleted file mode 100644 index c042ae5675..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/questionmark-wsdl.composite +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/HelloWorldSOAP12.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/HelloWorldSOAP12.composite deleted file mode 100644 index fbd4c66c45..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/HelloWorldSOAP12.composite +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/questionmark-wsdl.composite b/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/questionmark-wsdl.composite deleted file mode 100644 index 033a77eea6..0000000000 --- a/java/sca/contrib/modules/binding-ws-axis2/src/test/resources/org/apache/tuscany/sca/binding/ws/axis2/itests/soap12/questionmark-wsdl.composite +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-wsdlgen/LICENSE b/java/sca/contrib/modules/binding-ws-wsdlgen/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/binding-ws-wsdlgen/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/java/sca/contrib/modules/binding-ws-wsdlgen/NOTICE b/java/sca/contrib/modules/binding-ws-wsdlgen/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/binding-ws-wsdlgen/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-ws-wsdlgen/pom.xml b/java/sca/contrib/modules/binding-ws-wsdlgen/pom.xml deleted file mode 100644 index baea91ae3e..0000000000 --- a/java/sca/contrib/modules/binding-ws-wsdlgen/pom.xml +++ /dev/null @@ -1,108 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-binding-ws-wsdlgen - Apache Tuscany SCA Web Service binding WSDL Generator - - - - - org.apache.tuscany.sca - tuscany-binding-ws - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-interface-wsdl - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-interface-wsdl-xml - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-interface-java - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-interface-java-jaxws - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-xsd - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-xsd-xml - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-databinding - 2.0-SNAPSHOT - - - - junit - junit - 4.5 - test - - - org.apache.tuscany.sca - tuscany-core-databinding - 2.0-SNAPSHOT - test - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.ws.wsdlgen - ${pom.name} - org.apache.tuscany.sca.binding.ws.wsdlgen* - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/BindingWSDLGenerator.java b/java/sca/contrib/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/BindingWSDLGenerator.java deleted file mode 100644 index de1cab15d8..0000000000 --- a/java/sca/contrib/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/BindingWSDLGenerator.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.ws.wsdlgen; - -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; -import javax.wsdl.Definition; -import javax.wsdl.PortType; -import javax.wsdl.WSDLException; -import javax.wsdl.xml.WSDLWriter; -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.AbstractContract; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.Contract; -import org.apache.tuscany.sca.assembly.builder.BindingBuilderExtension; -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.contribution.resolver.ResolverExtension; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceContract; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterfaceContract; -import org.apache.tuscany.sca.interfacedef.wsdl.impl.InvalidWSDLException; -import org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLInterfaceIntrospectorImpl; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; -import org.apache.tuscany.sca.policy.Intent; -import org.apache.tuscany.sca.policy.IntentAttachPoint; -import org.apache.tuscany.sca.xsd.XSDFactory; - -/** - * @version $Rev$ $Date$ - */ -public class BindingWSDLGenerator { - private static final Logger logger = Logger.getLogger(BindingWSDLGenerator.class.getName()); - private static final QName SOAP12_INTENT = new QName("http://www.osoa.org/xmlns/sca/1.0", "SOAP.1_2"); - - public static boolean printWSDL; // external code sets this to print generated WSDL - - private BindingWSDLGenerator() { - // this class has static methods only and cannot be instantiated - } - - /** - * Log a warning message. - * @param problem - */ - private static void logWarning(Problem problem) { - Logger problemLogger = Logger.getLogger(problem.getSourceClassName(), problem.getBundleName()); - if (problemLogger != null){ - problemLogger.logp(Level.WARNING, problem.getSourceClassName(), null, problem.getMessageId(), problem.getMessageParams()); - } else { - logger.severe("Can't get logger " + problem.getSourceClassName()+ " with bundle " + problem.getBundleName()); - } - } - - /** - * Report a warning. - * @param message - * @param binding - * @param parameters - */ - private static void warning(Monitor monitor, String message, WebServiceBinding wsBinding, String... messageParameters) { - Problem problem = new ProblemImpl(BindingWSDLGenerator.class.getName(), "wsdlgen-validation-messages", Severity.WARNING, wsBinding, message, (Object[])messageParameters); - if (monitor != null) { - monitor.problem(problem); - } else { - logWarning(problem); - } - } - - /** - * Report an error. - * @param message - * @param binding - * @param parameters - */ - private static void error(Monitor monitor, String message, WebServiceBinding wsBinding, String... messageParameters) { - Problem problem = new ProblemImpl(BindingWSDLGenerator.class.getName(), "wsdlgen-validation-messages", Severity.ERROR, wsBinding, message, (Object[])messageParameters); - if (monitor != null) { - monitor.problem(problem); - } else { - throw new WSDLGenerationException(problem.toString(), null, problem); - } - } - - /** - * Report an exception error. - * @param message - * @param binding - * @param exception - */ - private static void error(Monitor monitor, String message, WebServiceBinding wsBinding, Exception ex) { - Problem problem = new ProblemImpl(BindingWSDLGenerator.class.getName(), "wsdlgen-validation-messages", Severity.ERROR, wsBinding, message, ex); - if (monitor != null) { - monitor.problem(problem); - } else { - throw new WSDLGenerationException(problem.toString(), ex, problem); - } - } - - /** - * Report a fatal error. - * @param message - * @param binding - * @param exception - */ - private static void fatal(Monitor monitor, String message, WebServiceBinding wsBinding, String... messageParameters) { - Problem problem = new ProblemImpl(BindingWSDLGenerator.class.getName(), "wsdlgen-validation-messages", Severity.ERROR,wsBinding, message, (Object[])messageParameters); - throw new WSDLGenerationException(problem.toString(), null, problem); - } - - /** - * Report a fatal exception error. - * @param message - * @param binding - * @param exception - */ - private static void fatal(Monitor monitor, String message, WebServiceBinding wsBinding, Exception ex) { - Problem problem = new ProblemImpl(BindingWSDLGenerator.class.getName(), "wsdlgen-validation-messages", Severity.ERROR, wsBinding, message, ex); - throw new WSDLGenerationException(problem.toString(), ex, problem); - } - - /** - * This method can be called from the binding builder or from the runtime. - * Report problems and exceptions in the most appropriate way for both - * of these cases. - */ - public static void generateWSDL(Component component, - AbstractContract contract, - WebServiceBinding wsBinding, - ExtensionPointRegistry extensionPoints, - Monitor monitor) { - try { - createWSDLDocument(component, contract, wsBinding, extensionPoints, monitor); - } catch (WSDLGenerationException ex) { - if (ex.getProblem() != null) { - warning(monitor, "WsdlGenProblem", wsBinding, component.getName(), contract.getName()); - if (monitor != null) { - monitor.problem(ex.getProblem()); - } else { - throw ex; - } - } else if (ex.getCause() instanceof Exception) { - warning(monitor, "WsdlGenException", wsBinding, component.getName(), contract.getName()); - error(monitor, "UnexpectedException", wsBinding, (Exception)ex.getCause()); - } else { // should never happen - throw new IllegalStateException(ex); - } - } catch (RuntimeException ex) { - warning(monitor, "WsdlGenException", wsBinding, component.getName(), contract.getName()); - error(monitor, "UnexpectedException", wsBinding, ex); - } - } - - private static void createWSDLDocument(Component component, - AbstractContract contract, - WebServiceBinding wsBinding, - ExtensionPointRegistry extensionPoints, - Monitor monitor) { - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - DataBindingExtensionPoint dataBindings = extensionPoints.getExtensionPoint(DataBindingExtensionPoint.class); - WSDLFactory wsdlFactory = modelFactories.getFactory(WSDLFactory.class); - XSDFactory xsdFactory = modelFactories.getFactory(XSDFactory.class); - - if (((Contract)contract).getInterfaceContract(wsBinding) == null) { - // can happen if incorrect component service name - fatal(monitor, "MissingInterfaceContract", wsBinding, component.getName(), contract.getName()); - } - - InterfaceContract icontract = wsBinding.getBindingInterfaceContract(); - if (icontract == null) { - icontract = ((Contract)contract).getInterfaceContract(wsBinding).makeUnidirectional(false); - if (icontract instanceof JavaInterfaceContract) { - ModelResolver resolver = component instanceof ResolverExtension ? - ((ResolverExtension)component).getModelResolver() : null; - icontract = createWSDLInterfaceContract( - (JavaInterfaceContract)icontract, - requiresSOAP12(wsBinding), - resolver, - dataBindings, - wsdlFactory, - xsdFactory, - monitor); - } else { - try { - //TUSCANY-2316 Cloning the Interface Contract to avoid overriding data binding information - icontract = (InterfaceContract)icontract.clone(); - } catch (Exception e) { - //ignore - } - } - wsBinding.setBindingInterfaceContract(icontract); - } - - // TODO - fix up the conversational flag and operation sequences in case the contract has come from WSDL - // as we don't yet support requires="conversational" or sca:endConversation annotations - // in WSDL interface descriptions (see section 1.5.4 of the Assembly Specification V1.0) - if (contract.getInterfaceContract().getInterface() != null ) { - icontract.getInterface().setConversational(contract.getInterfaceContract().getInterface().isConversational()); - - for (Operation operation : icontract.getInterface().getOperations()){ - Operation serviceOperation = null; - - for (Operation tmpOp : contract.getInterfaceContract().getInterface().getOperations()){ - if (operation.getName().equals(tmpOp.getName())) { - serviceOperation = tmpOp; - break; - } - } - - if (serviceOperation != null ){ - operation.setConversationSequence(serviceOperation.getConversationSequence()); - } - } - } - - /* - // Look at all the Web Service bindings of the SCA service to see if any - // of them have an existing generated WSDL definitions document. If found, - // use it for this binding as well. If not found, generate a new document. - Definition definition = null; - for (Binding binding : contract.getBindings()) { - if (binding instanceof WebServiceBinding) { - definition = ((WebServiceBinding)binding).getWSDLDocument(); - if (definition != null) { - wsBinding.setWSDLDocument(definition); - break; - } - } - } - */ - // The above code is currently not used. Instead, we only look - // for a WSDL definitions document in this binding and don't - // attempt to share the same document across multiple bindings. - - // generate a WSDL definitions document if needed - Definition definition = wsBinding.getWSDLDocument(); - if (definition == null) { - definition = WSDLServiceGenerator.configureWSDLDefinition(wsBinding, component, contract, monitor); - wsBinding.setWSDLDocument(definition); - } - } - - protected static boolean requiresSOAP12(WebServiceBinding wsBinding) { - if (wsBinding instanceof IntentAttachPoint) { - List intents = ((IntentAttachPoint)wsBinding).getRequiredIntents(); - for (Intent intent : intents) { - if (SOAP12_INTENT.equals(intent.getName())) { - return true; - } - } - } - return false; - } - - /** - * Create a WSDLInterfaceContract from a JavaInterfaceContract - */ - protected static WSDLInterfaceContract createWSDLInterfaceContract(JavaInterfaceContract contract, - boolean requiresSOAP12, - ModelResolver resolver, - DataBindingExtensionPoint dataBindings, - WSDLFactory wsdlFactory, - XSDFactory xsdFactory, - Monitor monitor) { - - WSDLInterfaceContract wsdlContract = wsdlFactory.createWSDLInterfaceContract(); - WSDLInterface wsdlInterface = wsdlFactory.createWSDLInterface(); - wsdlContract.setInterface(wsdlInterface); - - WSDLDefinition wsdlDefinition = wsdlFactory.createWSDLDefinition(); - JavaInterface iface = (JavaInterface)contract.getInterface(); - - Definition def = null; - try { - Interface2WSDLGenerator wsdlGenerator = - new Interface2WSDLGenerator(requiresSOAP12, resolver, dataBindings, xsdFactory, monitor); - def = wsdlGenerator.generate(iface, wsdlDefinition); - } catch (WSDLException e) { - throw new WSDLGenerationException(e); - } - - // for debugging - if (printWSDL) { - try { - System.out.println("Generated WSDL for Java interface " + iface.getName() + " class " + iface.getJavaClass().getName()); - WSDLWriter writer = javax.wsdl.factory.WSDLFactory.newInstance().newWSDLWriter(); - writer.writeWSDL(def, System.out); - } catch (WSDLException e) { - throw new WSDLGenerationException(e); - } - } - - wsdlDefinition.setDefinition(def); - wsdlInterface.setWsdlDefinition(wsdlDefinition); - wsdlInterface.setRemotable(true); - wsdlInterface.setConversational(contract.getInterface().isConversational()); - wsdlInterface.setUnresolved(false); - wsdlInterface.setRemotable(true); - PortType portType = (PortType)def.getAllPortTypes().values().iterator().next(); - wsdlInterface.setPortType(portType); - - try { - for (Operation op : iface.getOperations()) { - javax.wsdl.Operation wsdlOp = portType.getOperation(op.getName(), null, null); - wsdlInterface.getOperations().add(WSDLInterfaceIntrospectorImpl.getOperation( - wsdlOp, wsdlDefinition, resolver, xsdFactory)); - } - } catch (InvalidWSDLException e) { - throw new WSDLGenerationException(e); - } - - return wsdlContract; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGenerator.java b/java/sca/contrib/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGenerator.java deleted file mode 100644 index 933534cc79..0000000000 --- a/java/sca/contrib/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGenerator.java +++ /dev/null @@ -1,842 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.wsdlgen; - -import java.lang.reflect.Method; -import java.net.URI; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.wsdl.Binding; -import javax.wsdl.BindingOperation; -import javax.wsdl.Definition; -import javax.wsdl.Fault; -import javax.wsdl.Input; -import javax.wsdl.Message; -import javax.wsdl.OperationType; -import javax.wsdl.Output; -import javax.wsdl.Part; -import javax.wsdl.PortType; -import javax.wsdl.Types; -import javax.wsdl.WSDLException; -import javax.wsdl.extensions.schema.Schema; -import javax.wsdl.factory.WSDLFactory; -import javax.xml.namespace.QName; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; - -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.databinding.DataBinding; -import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint; -import org.apache.tuscany.sca.databinding.XMLTypeHelper; -import org.apache.tuscany.sca.databinding.jaxb.JAXBDataBinding; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Interface; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.interfacedef.java.JavaOperation; -import org.apache.tuscany.sca.interfacedef.util.ElementInfo; -import org.apache.tuscany.sca.interfacedef.util.JavaXMLMapper; -import org.apache.tuscany.sca.interfacedef.util.TypeInfo; -import org.apache.tuscany.sca.interfacedef.util.WrapperInfo; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; -import org.apache.tuscany.sca.xsd.XSDFactory; -import org.apache.tuscany.sca.xsd.XSDefinition; -import org.apache.ws.commons.schema.XmlSchema; -import org.apache.ws.commons.schema.XmlSchemaCollection; -import org.apache.ws.commons.schema.XmlSchemaException; -import org.apache.ws.commons.schema.utils.NamespaceMap; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -/** - * @version $Rev: 670103 $ $Date: 2008-06-21 01:35:00 +0100 (Sat, 21 Jun 2008) $ - */ -public class Interface2WSDLGenerator { - private static final Logger logger = Logger.getLogger(Interface2WSDLGenerator.class.getName()); - private static final String SCHEMA_NS = "http://www.w3.org/2001/XMLSchema"; - private static final String SCHEMA_NAME = "schema"; - private static final QName SCHEMA_QNAME = new QName(SCHEMA_NS, SCHEMA_NAME); - private static final String XMLNS_NS = "http://www.w3.org/2000/xmlns/"; - - private static final String ANYTYPE_NAME = "anyType"; - private static final QName ANYTYPE_QNAME = new QName(SCHEMA_NS, ANYTYPE_NAME); - - - private WSDLFactory factory; - private DataBindingExtensionPoint dataBindings; - private WSDLDefinitionGenerator definitionGenerator; - private boolean requiresSOAP12; - private ModelResolver resolver; - private XSDFactory xsdFactory; - private Monitor monitor; - - public Interface2WSDLGenerator(boolean requiresSOAP12, - ModelResolver resolver, - DataBindingExtensionPoint dataBindings, - XSDFactory xsdFactory, - Monitor monitor) throws WSDLException { - super(); - this.requiresSOAP12 = requiresSOAP12; - this.resolver = resolver; - definitionGenerator = new WSDLDefinitionGenerator(requiresSOAP12); - this.dataBindings = dataBindings; - this.xsdFactory = xsdFactory; - this.monitor = monitor; - this.factory = WSDLFactory.newInstance(); - } - - /** - * Log a warning message. - * @param problem - */ - private static void logWarning(Problem problem) { - Logger problemLogger = Logger.getLogger(problem.getSourceClassName(), problem.getBundleName()); - if (problemLogger != null){ - problemLogger.logp(Level.WARNING, problem.getSourceClassName(), null, problem.getMessageId(), problem.getMessageParams()); - } else { - logger.severe("Can't get logger " + problem.getSourceClassName()+ " with bundle " + problem.getBundleName()); - } - } - - /** - * Report a warning. - * @param message - * @param binding - * @param parameters - */ - private void warning(String message, Interface interfaze, String... messageParameters) { - Problem problem = new ProblemImpl(this.getClass().getName(), "wsdlgen-validation-messages", Severity.WARNING, interfaze, message, (Object[])messageParameters); - if (monitor != null) { - monitor.problem(problem); - } else { - logWarning(problem); - } - } - - /** - * Report a fatal error. - * @param message - * @param binding - * @param parameters - */ - private void fatal(String message, Interface interfaze, String... messageParameters) { - Problem problem = new ProblemImpl(this.getClass().getName(), "wsdlgen-validation-messages", Severity.ERROR, interfaze, message, (Object[])messageParameters); - throw new WSDLGenerationException(problem.toString(), null, problem); - } - - private XMLTypeHelper getTypeHelper(DataType type, Map helpers) { - if (type == null) { - return null; - } - String db = type.getDataBinding(); - if (db == null) { - return null; - } - if ("java:array".equals(db)) { - DataType dt = (DataType)type.getLogical(); - db = dt.getDataBinding(); - } - return helpers.get(db); - } - - private boolean inputTypesCompatible(DataType wrapperType, DataType> inputType, Map helpers) { - XMLTypeHelper wrapperHelper = getTypeHelper(wrapperType, helpers); - for (DataType dt : inputType.getLogical()) { - if (getTypeHelper(dt, helpers) != wrapperHelper) { - return false; - } - } - return true; - } - - private boolean outputTypeCompatible(DataType wrapperType, DataType outputType, Map helpers) { - if (getTypeHelper(outputType, helpers) != getTypeHelper(wrapperType, helpers)) { - return false; - } else { - return true; - } - } - - private void addDataType(Map> map, DataType type, Map helpers) { - if (type == null) { - return; - } - String db = type.getDataBinding(); - if (db == null) { - return; - } - if ("java:array".equals(db)) { - DataType dt = (DataType)type.getLogical(); - db = dt.getDataBinding(); - } - XMLTypeHelper helper = helpers.get(db); - List types = map.get(helper); - if (types == null) { - types = new ArrayList(); - map.put(helper, types); - } - types.add(type); - } - - private Map> getDataTypes(Interface intf, boolean useWrapper, Map helpers) { - Map> dataTypes = new HashMap>(); - for (Operation op : intf.getOperations()) { - WrapperInfo wrapper = op.getWrapper(); - DataType dt1 = null; - boolean useInputWrapper = useWrapper & wrapper != null; - if (useInputWrapper) { - dt1 = wrapper.getInputWrapperType(); - useInputWrapper &= inputTypesCompatible(dt1, op.getInputType(), helpers); - } - if (useInputWrapper) { - addDataType(dataTypes, dt1, helpers); - } else { - for (DataType dt : op.getInputType().getLogical()) { - addDataType(dataTypes, dt, helpers); - } - } - - DataType dt2 = null; - boolean useOutputWrapper = useWrapper & wrapper != null; - if (useOutputWrapper) { - dt2 = wrapper.getOutputWrapperType(); - useOutputWrapper &= outputTypeCompatible(dt2, op.getOutputType(), helpers); - } - if (useOutputWrapper) { - addDataType(dataTypes, dt2, helpers); - } else { - dt2 = op.getOutputType(); - addDataType(dataTypes, dt2, helpers); - } - - for (DataType dt3 : op.getFaultTypes()) { - DataType dt4 = dt3.getLogical(); - addDataType(dataTypes, dt4, helpers); - } - } - return dataTypes; - } - - - public Definition generate(Interface interfaze, WSDLDefinition wsdlDefinition) throws WSDLException { - if (interfaze == null) { - return null; - } - if (interfaze instanceof WSDLInterface) { - return ((WSDLInterface)interfaze).getWsdlDefinition().getDefinition(); - } - JavaInterface iface = (JavaInterface)interfaze; - if (!interfaze.isRemotable()) { - fatal("InterfaceNotRemotable", interfaze, iface.getName()); - } - QName name = getQName(iface); - Definition definition = factory.newDefinition(); - if (requiresSOAP12) { - definition.addNamespace("SOAP12", "http://schemas.xmlsoap.org/wsdl/soap12/"); - } else { - definition.addNamespace("SOAP", "http://schemas.xmlsoap.org/wsdl/soap/"); - } - definition.addNamespace("wsdl", "http://schemas.xmlsoap.org/wsdl/"); - definition.addNamespace("xs", SCHEMA_NS); - - String namespaceURI = name.getNamespaceURI(); - definition.setTargetNamespace(namespaceURI); - definition.setQName(new QName(namespaceURI, name.getLocalPart() + "Service", name.getPrefix())); - definition.addNamespace(name.getPrefix(), namespaceURI); - - PortType portType = definition.createPortType(); - portType.setQName(name); - Binding binding = definitionGenerator.createBinding(definition, portType); - Map helpers = new HashMap(); - Map> wrappers = new HashMap>(); - for (Operation op : interfaze.getOperations()) { - javax.wsdl.Operation operation = generateOperation(definition, op, helpers, wrappers); - portType.addOperation(operation); - String action = ((JavaOperation)op).getAction(); - if ((action == null || "".equals(action)) && !op.isWrapperStyle() && op.getWrapper() == null) { - // Bare style - action = "urn:" + op.getName(); - } - BindingOperation bindingOp = definitionGenerator.createBindingOperation(definition, operation, action); - binding.addBindingOperation(bindingOp); - } - portType.setUndefined(false); - definition.addPortType(portType); - binding.setUndefined(false); - definition.addBinding(binding); - wsdlDefinition.setBinding(binding); - - // call each helper in turn to populate the wsdl.types element - XmlSchemaCollection schemaCollection = new XmlSchemaCollection(); - - for (Map.Entry> en: getDataTypes(interfaze, false, helpers).entrySet()) { - XMLTypeHelper helper = en.getKey(); - if (helper == null) { - continue; - } - List xsDefinitions = helper.getSchemaDefinitions(xsdFactory, resolver, en.getValue()); - for (XSDefinition xsDef: xsDefinitions) { - addSchemaExtension(xsDef, schemaCollection, wsdlDefinition, definition); - } - } - - // remove global wrapper elements with schema definitions from generation list - for (QName wrapperName: new HashSet(wrappers.keySet())) { - if (wsdlDefinition.getXmlSchemaElement(wrapperName) != null) { - wrappers.remove(wrapperName); - } - } - - // generate schema elements for wrappers that aren't defined in the schemas - if (wrappers.size() > 0) { - int i = 0; - int index = 0; - Map wrapperXSDs = new HashMap(); - Map> prefixMaps = new HashMap>(); - for (Map.Entry> entry: wrappers.entrySet()) { - String targetNS = entry.getKey().getNamespaceURI(); - Document schemaDoc = null; - Element schema = null; - XSDefinition xsDef = wrapperXSDs.get(targetNS); - if (xsDef != null) { - schemaDoc = xsDef.getDocument(); - schema = schemaDoc.getDocumentElement(); - } else { - schemaDoc = createDocument(); - schema = schemaDoc.createElementNS(SCHEMA_NS, "xs:schema"); - // The elementFormDefault should be set to unqualified, see TUSCANY-2388 - schema.setAttribute("elementFormDefault", "unqualified"); - schema.setAttribute("attributeFormDefault", "qualified"); - schema.setAttribute("targetNamespace", targetNS); - schema.setAttributeNS(XMLNS_NS, "xmlns:xs", SCHEMA_NS); - schemaDoc.appendChild(schema); - Schema schemaExt = createSchemaExt(definition); - schemaExt.setElement(schema); - prefixMaps.put(schema, new HashMap()); - xsDef = xsdFactory.createXSDefinition(); - xsDef.setUnresolved(true); - xsDef.setNamespace(targetNS); - xsDef.setDocument(schemaDoc); - // TUSCANY-2465: Set the system id to avoid schema conflict - xsDef.setLocation(URI.create("xsd_" + index + ".xsd")); - index++; - wrapperXSDs.put(targetNS, xsDef); - } - Element wrapper = schemaDoc.createElementNS(SCHEMA_NS, "xs:element"); - schema.appendChild(wrapper); - wrapper.setAttribute("name", entry.getKey().getLocalPart()); - if (entry.getValue().size() == 1 && entry.getValue().get(0).getQName() == null) { - // special case for global fault element - QName typeName = entry.getValue().get(0).getType().getQName(); - String nsURI = typeName.getNamespaceURI(); - if ("".equals(nsURI)) { - wrapper.setAttribute("type", typeName.getLocalPart()); - addSchemaImport(schema, "", schemaDoc); - } else if (targetNS.equals(nsURI)) { - wrapper.setAttribute("type", typeName.getLocalPart()); - } else if (SCHEMA_NS.equals(nsURI)) { - wrapper.setAttribute("type", "xs:" + typeName.getLocalPart()); - } else { - Map prefixMap = prefixMaps.get(schema); - String prefix = prefixMap.get(nsURI); - if (prefix == null) { - prefix = "ns" + i++; - prefixMap.put(nsURI, prefix); - schema.setAttributeNS(XMLNS_NS, "xmlns:" + prefix, nsURI); - addSchemaImport(schema, nsURI, schemaDoc); - } - wrapper.setAttribute("type", prefix + ":" + typeName.getLocalPart()); - } - } else { - // normal wrapper containing type definition inline - Element complexType = schemaDoc.createElementNS(SCHEMA_NS, "xs:complexType"); - wrapper.appendChild(complexType); - if (entry.getValue().size() > 0) { - Element sequence = schemaDoc.createElementNS(SCHEMA_NS, "xs:sequence"); - complexType.appendChild(sequence); - for (ElementInfo element: entry.getValue()) { - Element xsElement = schemaDoc.createElementNS(SCHEMA_NS, "xs:element"); - if (element.isMany()) { - xsElement.setAttribute("maxOccurs", "unbounded"); - } - xsElement.setAttribute("minOccurs", "0"); - xsElement.setAttribute("name", element.getQName().getLocalPart()); - if (element.isNillable()) { - xsElement.setAttribute("nillable", "true"); - } - QName typeName = element.getType().getQName(); - String nsURI = typeName.getNamespaceURI(); - if ("".equals(nsURI)) { - xsElement.setAttribute("type", typeName.getLocalPart()); - addSchemaImport(schema, "", schemaDoc); - } else if (SCHEMA_NS.equals(nsURI)) { - xsElement.setAttribute("type", "xs:" + typeName.getLocalPart()); - } else { - Map prefixMap = prefixMaps.get(schema); - String prefix = prefixMap.get(nsURI); - if (prefix == null) { - if (targetNS.equals(nsURI)) { - prefix = "tns"; - } else { - prefix = "ns" + i++; - addSchemaImport(schema, nsURI, schemaDoc); - } - prefixMap.put(nsURI, prefix); - schema.setAttributeNS(XMLNS_NS, "xmlns:" + prefix, nsURI); - } - xsElement.setAttribute("type", prefix + ":" + typeName.getLocalPart()); - } - sequence.appendChild(xsElement); - } - } - } - } - - // resolve XSDefinitions containing generated wrappers - for (XSDefinition xsDef: wrapperXSDs.values()) { - loadXSD(schemaCollection, xsDef); - wsdlDefinition.getXmlSchemas().add(xsDef); - } - } - - return definition; - } - - private static void addSchemaImport(Element schema, String nsURI, Document schemaDoc) { - Element imp = schemaDoc.createElementNS(SCHEMA_NS, "xs:import"); - if (!"".equals(nsURI)) { - imp.setAttribute("namespace", nsURI); - } - NodeList childNodes = schema.getChildNodes(); - for (int i = 0; i < childNodes.getLength(); i++) { - Node childNode = childNodes.item(i); - if (childNode instanceof Element) { - schema.insertBefore(imp, childNode); - imp = null; - break; - } - } - if (imp != null) { - schema.appendChild(imp); - } - } - - private void addSchemaExtension(XSDefinition xsDef, - XmlSchemaCollection schemaCollection, - WSDLDefinition wsdlDefinition, - Definition definition) throws WSDLException { - if (xsDef.getAggregatedDefinitions() != null) { - for (XSDefinition xsd: xsDef.getAggregatedDefinitions()) { - addSchemaExtension(xsd, schemaCollection, wsdlDefinition, definition); - } - } else { - String nsURI = xsDef.getNamespace(); - Document document = xsDef.getDocument(); - if (document == null) { - try { - NamespaceMap prefixMap = new NamespaceMap(); - prefixMap.add("xs", SCHEMA_NS); - prefixMap.add("tns", nsURI); - XmlSchema schemaDef = xsDef.getSchema(); - schemaDef.setNamespaceContext(prefixMap); - Document[] docs = schemaDef.getAllSchemas(); - document = docs[docs.length-1]; - document.setDocumentURI(xsDef.getLocation().toString()); - xsDef.setDocument(document); - } catch (XmlSchemaException e) { - throw new RuntimeException(e); - } - } - loadXSD(schemaCollection, xsDef); - wsdlDefinition.getXmlSchemas().add(xsDef); - Element schema = document.getDocumentElement(); - Schema schemaExt = createSchemaExt(definition); - schemaExt.setDocumentBaseURI(document.getDocumentURI()); - schemaExt.setElement(schema); - } - } - - private static void loadXSD(XmlSchemaCollection schemaCollection, XSDefinition definition) { - if (definition.getSchema() != null) { - return; - } - if (definition.getDocument() != null) { - String uri = null; - if (definition.getLocation() != null) { - uri = definition.getLocation().toString(); - } - XmlSchema schema = schemaCollection.read(definition.getDocument(), uri, null); - if (definition.getSchemaCollection() == null) { - definition.setSchemaCollection(schemaCollection); - } - if (definition.getSchema() == null) { - definition.setSchema(schema); - } - } - } - - public Schema createSchemaExt(Definition definition) throws WSDLException { - Types types = definition.getTypes(); - if (types == null) { - types = definition.createTypes(); - definition.setTypes(types); - } - - Schema schemaExt = createSchema(definition); - types.addExtensibilityElement(schemaExt); - - return schemaExt; - } - - public Schema createSchema(Definition definition) throws WSDLException { - return (Schema)definition.getExtensionRegistry().createExtension(Types.class, SCHEMA_QNAME); - } - - private DocumentBuilderFactory documentBuilderFactory; - - public Document createDocument() { - Document document; - try { - if (documentBuilderFactory == null) { - documentBuilderFactory = DocumentBuilderFactory.newInstance(); - documentBuilderFactory.setNamespaceAware(true); - } - document = documentBuilderFactory.newDocumentBuilder().newDocument(); - } catch (ParserConfigurationException ex) { - throw new WSDLGenerationException(ex); - } - // document.setDocumentURI("http://"); - return document; - } - - protected QName getQName(Interface interfaze) { - JavaInterface iface = (JavaInterface)interfaze; - QName qname = iface.getQName(); - if (qname != null) { - return qname; - } else { - Class javaClass = iface.getJavaClass(); - return new QName(JavaXMLMapper.getNamespace(javaClass), javaClass.getSimpleName(), "tns"); - } - } - - public javax.wsdl.Operation generateOperation(Definition definition, - Operation op, - Map helpers, - Map> wrappers) - throws WSDLException { - javax.wsdl.Operation operation = definition.createOperation(); - operation.setName(op.getName()); - operation.setUndefined(false); - - Input input = definition.createInput(); - Message inputMsg = definition.createMessage(); - String namespaceURI = definition.getQName().getNamespaceURI(); - QName inputMsgName = new QName(namespaceURI, op.getName()); - inputMsg.setQName(inputMsgName); - inputMsg.setUndefined(false); - definition.addMessage(inputMsg); - - List elements = null; - // FIXME: By default, java interface is mapped to doc-lit-wrapper style WSDL - if (op.getWrapper() != null) { - // Generate doc-lit-wrapper style - inputMsg.addPart(generateWrapperPart(definition, op, helpers, wrappers, true)); - } else { - // Bare style - int i = 0; - for (DataType d : op.getInputType().getLogical()) { - inputMsg.addPart(generatePart(definition, d, "arg" + i)); - elements = new ArrayList(); - ElementInfo element = getElementInfo(d.getPhysical(), d, null, helpers); - elements.add(element); - QName elementName = ((XMLType)d.getLogical()).getElementName(); - wrappers.put(elementName, elements); - i++; - } - } - input.setMessage(inputMsg); - operation.setInput(input); - - if (!op.isNonBlocking()) { - Output output = definition.createOutput(); - Message outputMsg = definition.createMessage(); - QName outputMsgName = new QName(namespaceURI, op.getName() + "Response"); - outputMsg.setQName(outputMsgName); - outputMsg.setUndefined(false); - definition.addMessage(outputMsg); - - if (op.getWrapper() != null) { - outputMsg.addPart(generateWrapperPart(definition, op, helpers, wrappers, false)); - } else { - DataType outputType = op.getOutputType(); - outputMsg.addPart(generatePart(definition, outputType, "return")); - if (outputType != null) { - elements = new ArrayList(); - ElementInfo element = getElementInfo(outputType.getPhysical(), outputType, null, helpers); - elements.add(element); - QName elementName = ((XMLType)outputType.getLogical()).getElementName(); - wrappers.put(elementName, elements); - } - } - output.setMessage(outputMsg); - - operation.setOutput(output); - operation.setStyle(OperationType.REQUEST_RESPONSE); - } else { - operation.setStyle(OperationType.ONE_WAY); - } - - for (DataType faultType: op.getFaultTypes()) { - Fault fault = definition.createFault(); - QName faultName = ((XMLType)faultType.getLogical().getLogical()).getElementName(); - fault.setName(faultName.getLocalPart()); - Message faultMsg = definition.getMessage(faultName); - if (faultMsg == null) { - faultMsg = definition.createMessage(); - faultMsg.setQName(faultName); - faultMsg.setUndefined(false); - definition.addMessage(faultMsg); - faultMsg.addPart(generatePart(definition, faultType.getLogical(), faultName.getLocalPart())); - } - fault.setMessage(faultMsg); - operation.addFault(fault); - if (faultType.getLogical().getPhysical() != faultType.getPhysical()) { - // create special wrapper for type indirection to real fault bean - DataType logical = faultType.getLogical(); - elements = new ArrayList(); - elements.add(getElementInfo(logical.getPhysical(), logical, null, helpers)); - } else { - // convert synthesized fault bean to a wrapper type - for (DataType propDT: op.getFaultBeans().get(faultName)) { - XMLType logical = propDT.getLogical(); - elements = new ArrayList(); - elements.add(getElementInfo(propDT.getPhysical(), propDT, logical.getElementName(), helpers)); - } - } - wrappers.put(faultName, elements); - } - - operation.setUndefined(false); - return operation; - } - - public Part generatePart(Definition definition, DataType arg, String partName) { - Part part = definition.createPart(); - part.setName(partName); - if (arg != null && arg.getLogical() instanceof XMLType) { - XMLType xmlType = (XMLType)arg.getLogical(); - QName elementName = xmlType.getElementName(); - part.setElementName(elementName); - addNamespace(definition, elementName); - if (xmlType.getElementName() == null) { - QName typeName = xmlType.getTypeName(); - part.setTypeName(typeName); - addNamespace(definition, typeName); - } - } - return part; - } - - public Part generateWrapperPart(Definition definition, - Operation operation, - Map helpers, - Map> wrappers, - boolean input) throws WSDLException { - Part part = definition.createPart(); - String partName = input ? operation.getName() : (operation.getName() + "Response"); - part.setName(partName); - WrapperInfo opWrapper = operation.getWrapper(); - if (opWrapper != null) { - ElementInfo elementInfo = - input ? opWrapper.getInputWrapperElement() : opWrapper.getOutputWrapperElement(); - List elements = - input ? opWrapper.getInputChildElements() : opWrapper.getOutputChildElements(); - QName wrapperName = elementInfo.getQName(); - part.setElementName(wrapperName); - addNamespace(definition, wrapperName); - wrappers.put(wrapperName, elements); - - // FIXME: [rfeng] Ideally, we should try to register the wrappers only. But we are - // expriencing the problem that we cannot handle XSD imports - /* - Class wrapperClass = input ? opWrapper.getInputWrapperClass() : opWrapper.getOutputWrapperClass(); - DataType wrapperDT = input ? opWrapper.getInputWrapperType() : opWrapper.getOutputWrapperType(); - if (wrapperClass != null) { - getElementInfo(wrapperClass, wrapperDT, wrapperName, helpers); - return part; - } - */ - - Method method = ((JavaOperation)operation).getJavaMethod(); - if (input) { - Class[] paramTypes = method.getParameterTypes(); - for (int i = 0; i < paramTypes.length; i++) { - DataType dataType = operation.getInputType().getLogical().get(i); - elements.set(i, getElementInfo(paramTypes[i], dataType, elements.get(i).getQName(), helpers)); - } - } else { - Class returnType = method.getReturnType(); - if (returnType != Void.TYPE) { - DataType dataType = operation.getOutputType(); - elements.set(0, getElementInfo(returnType, dataType, elements.get(0).getQName(), helpers)); - } - } - } - return part; - } - - private ElementInfo getElementInfo(Class javaType, - DataType dataType, - QName name, - Map helpers) { - String db = dataType.getDataBinding(); - while ("java:array".equals(db)) { - dataType = (DataType)dataType.getLogical(); - db = dataType.getDataBinding(); - } - XMLTypeHelper helper = helpers.get(db); - if (helper == null) { - DataBinding dataBinding = dataBindings.getDataBinding(db); - if (dataBinding == null) { - QName element = name; - if (element == null || dataType.getLogical() instanceof XMLType) { - XMLType xmlType = (XMLType)dataType.getLogical(); - if (xmlType.getElementName() != null) { - element = xmlType.getElementName(); - } - } - return new ElementInfo(element, new TypeInfo(ANYTYPE_QNAME, false, null)); - // throw new ServiceRuntimeException("No data binding for " + db); - } - - helper = dataBinding.getXMLTypeHelper(); - if (helper == null) { - // Default to JAXB - helper = helpers.get(JAXBDataBinding.NAME); - if (helper == null) { - helper = dataBindings.getDataBinding(JAXBDataBinding.NAME).getXMLTypeHelper(); - helpers.put(JAXBDataBinding.NAME, helper); - } - } - helpers.put(db, helper); - } - TypeInfo typeInfo = helper.getTypeInfo(javaType.isArray() ? javaType.getComponentType() : javaType, - dataType.getLogical()); - ElementInfo element = new ElementInfo(name, typeInfo); - element.setMany(byte[].class != javaType && javaType.isArray()); - element.setNillable(!javaType.isPrimitive()); - return element; - } - - private static void addNamespace(Definition definition, QName name) { - String namespace = name.getNamespaceURI(); - if (definition.getPrefix(namespace) == null) { - definition.addNamespace("ns" + definition.getNamespaces().size(), namespace); - } - } - - /* - // currently not using the next three methods - public XmlSchemaType getXmlSchemaType(DataType type) { - return null; - } - - // FIXME: WE need to add databinding-specific Java2XSD generation - public Element generateXSD(DataType dataType) { - DataBinding dataBinding = dataBindings.getDataBinding(dataType.getDataBinding()); - if (dataBinding != null) { - // return dataBinding.generateSchema(dataType); - } - return null; - } - - public void generateWrapperElements(Operation op) { - XmlSchemaCollection collection = new XmlSchemaCollection(); - String ns = getQName(op.getInterface()).getNamespaceURI(); - XmlSchema schema = new XmlSchema(ns, collection); - schema.setAttributeFormDefault(new XmlSchemaForm(XmlSchemaForm.QUALIFIED)); - schema.setElementFormDefault(new XmlSchemaForm(XmlSchemaForm.QUALIFIED)); - - XmlSchemaElement inputElement = new XmlSchemaElement(); - inputElement.setQName(new QName(ns, op.getName())); - XmlSchemaComplexType inputType = new XmlSchemaComplexType(schema); - inputType.setName(""); - XmlSchemaSequence inputSeq = new XmlSchemaSequence(); - inputType.setParticle(inputSeq); - List argTypes = op.getInputType().getLogical(); - for (DataType argType : argTypes) { - XmlSchemaElement child = new XmlSchemaElement(); - Object logical = argType.getLogical(); - if (logical instanceof XMLType) { - child.setName(((XMLType)logical).getElementName().getLocalPart()); - XmlSchemaType type = getXmlSchemaType(argType); - child.setType(type); - } - inputSeq.getItems().add(child); - } - inputElement.setType(inputType); - - XmlSchemaElement outputElement = new XmlSchemaElement(); - outputElement.setQName(new QName(ns, op.getName() + "Response")); - XmlSchemaComplexType outputType = new XmlSchemaComplexType(schema); - outputType.setName(""); - XmlSchemaSequence outputSeq = new XmlSchemaSequence(); - outputType.setParticle(outputSeq); - DataType returnType = op.getOutputType(); - XmlSchemaElement child = new XmlSchemaElement(); - Object logical = returnType.getLogical(); - if (logical instanceof XMLType) { - child.setName(((XMLType)logical).getElementName().getLocalPart()); - XmlSchemaType type = getXmlSchemaType(returnType); - child.setType(type); - } - outputSeq.getItems().add(child); - outputElement.setType(outputType); - - schema.getElements().add(inputElement.getQName(), inputElement); - schema.getElements().add(outputElement.getQName(), outputElement); - - } - */ - - public WSDLFactory getFactory() { - return factory; - } - - public void setFactory(WSDLFactory factory) { - this.factory = factory; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WSDLDefinitionGenerator.java b/java/sca/contrib/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WSDLDefinitionGenerator.java deleted file mode 100644 index d0b79f9b0e..0000000000 --- a/java/sca/contrib/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WSDLDefinitionGenerator.java +++ /dev/null @@ -1,305 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.wsdlgen; - -import java.util.Iterator; - -import javax.wsdl.Binding; -import javax.wsdl.BindingFault; -import javax.wsdl.BindingInput; -import javax.wsdl.BindingOperation; -import javax.wsdl.BindingOutput; -import javax.wsdl.Definition; -import javax.wsdl.Fault; -import javax.wsdl.Input; -import javax.wsdl.Operation; -import javax.wsdl.Output; -import javax.wsdl.Port; -import javax.wsdl.PortType; -import javax.wsdl.Service; -import javax.wsdl.Types; -import javax.wsdl.WSDLException; -import javax.wsdl.extensions.ExtensibilityElement; -import javax.wsdl.extensions.soap.SOAPAddress; -import javax.wsdl.extensions.soap.SOAPBinding; -import javax.wsdl.extensions.soap.SOAPBody; -import javax.wsdl.extensions.soap.SOAPFault; -import javax.wsdl.extensions.soap.SOAPOperation; -import javax.wsdl.extensions.soap12.SOAP12Address; -import javax.wsdl.extensions.soap12.SOAP12Binding; -import javax.wsdl.extensions.soap12.SOAP12Body; -import javax.wsdl.extensions.soap12.SOAP12Fault; -import javax.wsdl.extensions.soap12.SOAP12Operation; -import javax.wsdl.factory.WSDLFactory; -import javax.wsdl.xml.WSDLReader; -import javax.xml.namespace.QName; - -import org.w3c.dom.Element; - -/** - * - * @version $Rev: 668025 $ $Date: 2008-06-16 01:06:34 +0100 (Mon, 16 Jun 2008) $ - */ -public class WSDLDefinitionGenerator { - private static final String SOAP_NS = "http://schemas.xmlsoap.org/wsdl/soap/"; - public static final QName SOAP_ADDRESS = new QName(SOAP_NS, "address"); - private static final QName SOAP_BINDING = new QName(SOAP_NS, "binding"); - private static final QName SOAP_BODY = new QName(SOAP_NS, "body"); - private static final QName SOAP_FAULT = new QName(SOAP_NS, "fault"); - private static final QName SOAP_OPERATION = new QName(SOAP_NS, "operation"); - private static final String SOAP12_NS = "http://schemas.xmlsoap.org/wsdl/soap12/"; - public static final QName SOAP12_ADDRESS = new QName(SOAP12_NS, "address"); - private static final QName SOAP12_BINDING = new QName(SOAP12_NS, "binding"); - private static final QName SOAP12_BODY = new QName(SOAP12_NS, "body"); - private static final QName SOAP12_FAULT = new QName(SOAP12_NS, "fault"); - private static final QName SOAP12_OPERATION = new QName(SOAP12_NS, "operation"); - - private static final String BINDING_SUFFIX = "Binding"; - private static final String SERVICE_SUFFIX = "Service"; - private static final String PORT_SUFFIX = "Port"; - - private boolean requiresSOAP12; - private QName soapAddress; - private QName soapBinding; - private QName soapBody; - private QName soapFault; - private QName soapOperation; - - public WSDLDefinitionGenerator(boolean requiresSOAP12) { - super(); - this.requiresSOAP12 = requiresSOAP12; - soapAddress = requiresSOAP12 ? SOAP12_ADDRESS : SOAP_ADDRESS; - soapBinding = requiresSOAP12 ? SOAP12_BINDING : SOAP_BINDING; - soapBody = requiresSOAP12 ? SOAP12_BODY : SOAP_BODY; - soapFault = requiresSOAP12 ? SOAP12_FAULT : SOAP_FAULT; - soapOperation = requiresSOAP12 ? SOAP12_OPERATION : SOAP_OPERATION; - } - - public Definition cloneDefinition(WSDLFactory factory, Definition definition) throws WSDLException { - Element root = definition.getDocumentationElement(); - root = (Element)root.cloneNode(true); - WSDLReader reader = factory.newWSDLReader(); - return reader.readWSDL(definition.getDocumentBaseURI(), root); - } - - public Types createTypes(Definition definition) { - Types types = definition.createTypes(); - definition.setTypes(types); - return types; - } - - public Binding createBinding(Definition definition, PortType portType) { - try { - Binding binding = definition.createBinding(); - binding.setPortType(portType); - configureBinding(definition, binding, portType); - ExtensibilityElement bindingExtension = - definition.getExtensionRegistry().createExtension(Binding.class, soapBinding); - if (requiresSOAP12) { - ((SOAP12Binding)bindingExtension).setStyle("document"); - ((SOAP12Binding)bindingExtension).setTransportURI("http://schemas.xmlsoap.org/soap/http"); - } else { - ((SOAPBinding)bindingExtension).setStyle("document"); - ((SOAPBinding)bindingExtension).setTransportURI("http://schemas.xmlsoap.org/soap/http"); - } - binding.addExtensibilityElement(bindingExtension); - return binding; - } catch (WSDLException e) { - throw new WSDLGenerationException(e); - } - } - - protected void configureBinding(Definition definition, Binding binding, PortType portType) throws WSDLException { - QName portTypeName = portType.getQName(); - if (portTypeName != null) { - // Choose Binding if available. If this name is in use, insert - // separating underscores until there is no clash. - for (String suffix = BINDING_SUFFIX; ; suffix = "_" + suffix) { - QName name = new QName(definition.getTargetNamespace(), portTypeName.getLocalPart() + suffix); - if (definition.getBinding(name) == null) { - binding.setQName(name); - break; - } - } - } - } - - @SuppressWarnings("unchecked") - public void createBindingOperations(Definition definition, Binding binding, PortType portType) { - try { - for (Iterator oi = portType.getOperations().iterator(); oi.hasNext();) { - Operation operation = (Operation)oi.next(); - BindingOperation bindingOperation = - createBindingOperation(definition, operation, "urn:" + operation.getName()); - binding.addBindingOperation(bindingOperation); - } - } catch (WSDLException e) { - throw new WSDLGenerationException(e); - } - } - - @SuppressWarnings("unchecked") - public BindingOperation createBindingOperation(Definition definition, Operation operation, String action) - throws WSDLException { - BindingOperation bindingOperation = definition.createBindingOperation(); - bindingOperation.setOperation(operation); - configureBindingOperation(bindingOperation, operation); - ExtensibilityElement operationExtension = - definition.getExtensionRegistry().createExtension(BindingOperation.class, soapOperation); - if (requiresSOAP12) { - ((SOAP12Operation)operationExtension).setSoapActionURI(action); - } else { - ((SOAPOperation)operationExtension).setSoapActionURI(action); - } - bindingOperation.addExtensibilityElement(operationExtension); - if (operation.getInput() != null) { - BindingInput bindingInput = definition.createBindingInput(); - configureBindingInput(bindingInput, operation.getInput()); - ExtensibilityElement inputExtension = - definition.getExtensionRegistry().createExtension(BindingInput.class, soapBody); - if (requiresSOAP12) { - ((SOAP12Body)inputExtension).setUse("literal"); - } else { - ((SOAPBody)inputExtension).setUse("literal"); - } - bindingInput.addExtensibilityElement(inputExtension); - bindingOperation.setBindingInput(bindingInput); - } - if (operation.getOutput() != null) { - BindingOutput bindingOutput = definition.createBindingOutput(); - configureBindingOutput(bindingOutput, operation.getOutput()); - ExtensibilityElement outputExtension = - definition.getExtensionRegistry().createExtension(BindingOutput.class, soapBody); - if (requiresSOAP12) { - ((SOAP12Body)outputExtension).setUse("literal"); - } else { - ((SOAPBody)outputExtension).setUse("literal"); - } - bindingOutput.addExtensibilityElement(outputExtension); - bindingOperation.setBindingOutput(bindingOutput); - } - for (Iterator fi = operation.getFaults().values().iterator(); fi.hasNext();) { - Fault fault = (Fault)fi.next(); - BindingFault bindingFault = definition.createBindingFault(); - ExtensibilityElement faultExtension = - definition.getExtensionRegistry().createExtension(BindingFault.class, soapFault); - configureBindingFault(bindingFault, faultExtension, fault); - bindingFault.addExtensibilityElement(faultExtension); - bindingOperation.addBindingFault(bindingFault); - } - return bindingOperation; - } - - protected void configureBindingOperation(BindingOperation bindingOperation, Operation operation) - throws WSDLException { - bindingOperation.setName(operation.getName()); - } - - protected void configureBindingInput(BindingInput bindingInput, Input input) throws WSDLException { - bindingInput.setName(input.getName()); - } - - protected void configureBindingOutput(BindingOutput bindingOutput, Output output) throws WSDLException { - bindingOutput.setName(output.getName()); - } - - protected void configureBindingFault(BindingFault bindingFault, - ExtensibilityElement faultExtension, - Fault fault) - throws WSDLException { - String faultName = fault.getName(); - bindingFault.setName(faultName); - if (requiresSOAP12) { - ((SOAP12Fault)faultExtension).setName(faultName); - ((SOAP12Fault)faultExtension).setUse("literal"); - } else { - ((SOAPFault)faultExtension).setName(faultName); - ((SOAPFault)faultExtension).setUse("literal"); - } - } - - public Service createService(Definition definition, PortType portType) { - try { - Service service = definition.createService(); - configureService(definition, service, portType); - // createPort(definition, binding, service); - definition.addService(service); - return service; - } catch (WSDLException e) { - throw new WSDLGenerationException(e); - } - } - - public Service createService(Definition definition, Binding binding) { - try { - Service service = definition.createService(); - configureService(definition, service, binding.getPortType()); - // createPort(definition, binding, service); - definition.addService(service); - return service; - } catch (WSDLException e) { - throw new WSDLGenerationException(e); - } - } - - protected void configureService(Definition definition, Service service, PortType portType) throws WSDLException { - QName portTypeName = portType.getQName(); - if (portTypeName != null) { - // Choose Service if available. If this name is in use, insert - // separating underscores until there is no clash. - for (String suffix = SERVICE_SUFFIX; ; suffix = "_" + suffix) { - QName name = new QName(definition.getTargetNamespace(), portTypeName.getLocalPart() + suffix); - if (definition.getService(name) == null) { - service.setQName(name); - break; - } - } - } - } - - public Port createPort(Definition definition, Binding binding, Service service, String uri) { - try { - Port port = definition.createPort(); - port.setBinding(binding); - configurePort(port, binding); - if (uri != null) { - ExtensibilityElement portExtension = - definition.getExtensionRegistry().createExtension(Port.class, soapAddress); - if (requiresSOAP12) { - ((SOAP12Address)portExtension).setLocationURI(uri); - } else { - ((SOAPAddress)portExtension).setLocationURI(uri); - } - port.addExtensibilityElement(portExtension); - } - service.addPort(port); - return port; - } catch (WSDLException e) { - throw new WSDLGenerationException(e); - } - } - - protected void configurePort(Port port, Binding binding) throws WSDLException { - if (binding.getPortType() != null && binding.getPortType().getQName() != null) { - port.setName(binding.getPortType().getQName().getLocalPart() + PORT_SUFFIX); - } - } - -} diff --git a/java/sca/contrib/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WSDLGenerationException.java b/java/sca/contrib/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WSDLGenerationException.java deleted file mode 100644 index 1a9b26d618..0000000000 --- a/java/sca/contrib/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WSDLGenerationException.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.ws.wsdlgen; - -import org.apache.tuscany.sca.monitor.Problem; -import org.oasisopen.sca.ServiceRuntimeException; - -public class WSDLGenerationException extends ServiceRuntimeException { - private static final long serialVersionUID = 1L; - private Problem problem; - - public WSDLGenerationException() { - super(); - } - - public WSDLGenerationException(String message, Throwable cause) { - super(message, cause); - } - - public WSDLGenerationException(String message) { - super(message); - } - - public WSDLGenerationException(Throwable cause) { - super(cause); - } - - public WSDLGenerationException(String message, Throwable cause, Problem problem) { - super(message, cause); - this.problem = problem; - } - - public Problem getProblem() { - return problem; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WSDLServiceGenerator.java b/java/sca/contrib/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WSDLServiceGenerator.java deleted file mode 100644 index bf3615c9f8..0000000000 --- a/java/sca/contrib/modules/binding-ws-wsdlgen/src/main/java/org/apache/tuscany/sca/binding/ws/wsdlgen/WSDLServiceGenerator.java +++ /dev/null @@ -1,513 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.wsdlgen; - -//FIXME: trim the import list down to what's really needed - - -import java.net.URI; -import java.net.URISyntaxException; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.wsdl.Binding; -import javax.wsdl.Definition; -import javax.wsdl.Import; -import javax.wsdl.Port; -import javax.wsdl.PortType; -import javax.wsdl.Service; -import javax.wsdl.WSDLException; -import javax.wsdl.extensions.ExtensibilityElement; -import javax.wsdl.extensions.soap.SOAPAddress; -import javax.wsdl.extensions.soap.SOAPBinding; -import javax.wsdl.extensions.soap12.SOAP12Address; -import javax.wsdl.extensions.soap12.SOAP12Binding; -import javax.wsdl.factory.WSDLFactory; -import javax.wsdl.xml.WSDLWriter; -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.AbstractContract; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.CompositeService; -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.interfacedef.Interface; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.w3c.dom.Text; - -/** - * WSDLServiceGenerator generates a binding WSDL service document. - * - * @version $Rev$ $Date$ - */ -public class WSDLServiceGenerator { - // the following switch is temporary for debugging - public static boolean printWSDL; // external code sets this to print generated WSDL - - private static final Logger logger = Logger.getLogger(WSDLServiceGenerator.class.getName()); - private static final QName TRANSPORT_JMS_QUALIFIED_INTENT = - new QName("http://www.osoa.org/xmlns/sca/1.0", "transport.jms"); - private static final String DEFAULT_QUEUE_CONNECTION_FACTORY = "TuscanyQueueConnectionFactory"; - private static final String ADDRESS = "Address"; - - private WSDLServiceGenerator() { - // this class has static methods only and cannot be instantiated - } - - /** - * Log a warning message. - * @param problem - */ - private static void logWarning(Problem problem) { - Logger problemLogger = Logger.getLogger(problem.getSourceClassName(), problem.getBundleName()); - if (problemLogger != null){ - problemLogger.logp(Level.WARNING, problem.getSourceClassName(), null, problem.getMessageId(), problem.getMessageParams()); - } else { - logger.severe("Can't get logger " + problem.getSourceClassName()+ " with bundle " + problem.getBundleName()); - } - } - - /** - * Report a warning. - * @param message - * @param binding - * @param parameters - */ - private static void warning(Monitor monitor, String message, WebServiceBinding wsBinding, String... messageParameters) { - Problem problem = new ProblemImpl(WSDLServiceGenerator.class.getName(), "wsdlgen-validation-messages", Severity.WARNING, wsBinding, message, (Object[])messageParameters); - if (monitor != null) { - monitor.problem(problem); - } else { - logWarning(problem); - } - } - - /** - * Report an error. - * @param message - * @param binding - * @param parameters - */ - private static void error(Monitor monitor, String message, WebServiceBinding wsBinding, String... messageParameters) { - Problem problem = new ProblemImpl(WSDLServiceGenerator.class.getName(), "wsdlgen-validation-messages", Severity.ERROR, wsBinding, message, (Object[])messageParameters); - if (monitor != null) { - monitor.problem(problem); - } else { - throw new WSDLGenerationException(problem.toString(), null, problem); - } - } - - /** - * Generate a suitably configured WSDL definition - */ - protected static Definition configureWSDLDefinition(WebServiceBinding wsBinding, - Component component, - AbstractContract contract, - Monitor monitor) { - - //[nash] changes to the builder sequence avoid calling this for a CompositeService - assert !(contract instanceof CompositeService); - /* - // For every promoted composite service, the underlying component - // gets a copy of the service with the name prefixed by "$promoted$." - String contractName = (contract instanceof CompositeService ? "$promoted$." : "") + contract.getName(); - */ - String contractName = contract.getName(); - - List ports = new ArrayList(); - WSDLDefinition wsdlDefinition = wsBinding.getWSDLDefinition(); - if (wsdlDefinition == null) { - error(monitor, "NoWsdlInterface", wsBinding, component.getName(), contract.getName()); - return null; - } - Definition def = wsdlDefinition.getDefinition(); - if (wsdlDefinition.getBinding() == null) { - // The WSDL document was provided by the user. Generate a new - // WSDL document with imports from the user-provided document. - WSDLFactory factory = null; - try { - factory = WSDLFactory.newInstance(); - } catch (WSDLException e) { - throw new WSDLGenerationException(e); - } - Definition newDef = factory.newDefinition(); - - // Construct a target namespace from the base URI of the user's - // WSDL document (is this what we should be using?) and a path - // computed according to the SCA Web Service binding spec. - String nsName = component.getName() + "/" + contractName; - String namespaceURI = null; - try { - URI userTNS = new URI(def.getTargetNamespace()); - namespaceURI = userTNS.resolve("/" + nsName).toString(); - } catch (URISyntaxException e1) { - throw new WSDLGenerationException(e1); - } catch (IllegalArgumentException e2) { - throw new WSDLGenerationException(e2); - } - - // set name and targetNamespace attributes on the definition - String defsName = component.getName() + "." + contractName; - newDef.setQName(new QName(namespaceURI, defsName)); - newDef.setTargetNamespace(namespaceURI); - newDef.addNamespace("tns", namespaceURI); - - // set wsdl namespace prefix on the definition - newDef.addNamespace("wsdl", "http://schemas.xmlsoap.org/wsdl/"); - - // import the service or reference interface portType - List imports = new ArrayList(); - Interface interfaze = wsBinding.getBindingInterfaceContract().getInterface(); - if (interfaze instanceof WSDLInterface) { - PortType portType = ((WSDLInterface)interfaze).getPortType(); - boolean ok = importPortType(portType, wsdlDefinition, newDef, imports); - if (!ok) { - error(monitor, "PortTypeNotFound", wsBinding, portType.getQName().toString(), - component.getName(), contract.getName()); - } - } - - // import an existing binding if specified - Binding binding = wsBinding.getBinding(); - if (binding != null) { - boolean ok = importBinding(binding, wsdlDefinition, newDef, imports); - if (ok) { - boolean ok2 = importPortType(binding.getPortType(), wsdlDefinition, newDef, imports); - if (!ok2) { - error(monitor, "PortTypeNotFound", wsBinding, binding.getPortType().getQName().toString(), - component.getName(), contract.getName()); - } - } else { - error(monitor, "BindingNotFound", wsBinding, binding.getQName().toString(), - component.getName(), contract.getName()); - } - } - - // import bindings and portTypes needed by services and ports - QName serviceQName = wsBinding.getServiceName(); - String portName = wsBinding.getPortName(); - if (serviceQName != null) { - Service service = def.getService(serviceQName); - if (portName != null) { - Port port = service.getPort(portName); - Port newPort = copyPort(newDef, port, wsBinding); - if (newPort != null) { - importBinding(port.getBinding(), wsdlDefinition, newDef, imports); - ports.add(newPort); - } else { - error(monitor, "InvalidPort", wsBinding, serviceQName.toString(), portName, - component.getName(), contract.getName()); - } - } else { - for (Object port : service.getPorts().values()) { - Port newPort = copyPort(newDef, (Port)port, wsBinding); - if (newPort != null) { - importBinding(((Port)port).getBinding(), wsdlDefinition, newDef, imports); - ports.add(newPort); - } else { - // not an error, just ignore the port - warning(monitor, "IgnoringPort", wsBinding, serviceQName.toString(), ((Port)port).getName(), - component.getName(), contract.getName()); - } - } - if (ports.size() == 0) { - error(monitor, "NoValidPorts", wsBinding, serviceQName.toString(), - component.getName(), contract.getName()); - } - } - } - - // replace original WSDL definition by the generated definition - def = newDef; - - } else { - // The WSDL definition was generated by Interface2WSDLGenerator. - // Reuse it instead of creating a new definition here. - } - - // add a service and ports to the generated definition - WSDLDefinitionGenerator helper = - new WSDLDefinitionGenerator(BindingWSDLGenerator.requiresSOAP12(wsBinding)); - WSDLInterface wi = (WSDLInterface)wsBinding.getBindingInterfaceContract().getInterface(); - PortType portType = wi.getPortType(); - Service service = helper.createService(def, portType); - if (wsBinding.getBinding() == null && ports.size() == 0) { - Binding binding = helper.createBinding(def, portType); - if (BindingWSDLGenerator.requiresSOAP12(wsBinding)) { - def.addNamespace("SOAP12", "http://schemas.xmlsoap.org/wsdl/soap12/"); - } else { - def.addNamespace("SOAP11", "http://schemas.xmlsoap.org/wsdl/soap/"); - } - helper.createBindingOperations(def, binding, portType); - binding.setUndefined(false); - def.addBinding(binding); - - String endpointURI = computeActualURI(wsBinding, null); - Port port = helper.createPort(def, binding, service, endpointURI); - wsBinding.setService(service); - wsBinding.setPort(port); - } else { - if (ports.size() > 0) { - // there are one or more user-specified valid ports - for (Port port : ports) { - service.addPort(port); - } - if (ports.size() == 1) { - // only one port, so use it - wsBinding.setPort(ports.get(0)); - } else { - // multiple ports, make them all available - wsBinding.setPort(null); - } - } else { - // no valid user-specified ports, so create a suitably configured port - String endpointURI = computeActualURI(wsBinding, null); - Port port = helper.createPort(def, wsBinding.getBinding(), service, endpointURI); - if (BindingWSDLGenerator.requiresSOAP12(wsBinding)) { - def.addNamespace("SOAP12", "http://schemas.xmlsoap.org/wsdl/soap12/"); - } else { - def.addNamespace("SOAP11", "http://schemas.xmlsoap.org/wsdl/soap/"); - } - wsBinding.setPort(port); - } - wsBinding.setService(service); - } - - // for debugging - if (printWSDL) { - try { - System.out.println("Generated WSDL for " + component.getName() + "/" + contractName); - WSDLWriter writer = javax.wsdl.factory.WSDLFactory.newInstance().newWSDLWriter(); - writer.writeWSDL(def, System.out); - } catch (WSDLException e) { - throw new WSDLGenerationException(e); - } - } - - return def; - } - - private static boolean importPortType(PortType portType, - WSDLDefinition wsdlDef, - Definition newDef, - List imports) { - return addImport(portType.getQName(), PortType.class, wsdlDef, newDef, imports); - } - - private static boolean importBinding(Binding binding, - WSDLDefinition wsdlDef, - Definition newDef, - List imports) { - boolean ok = addImport(binding.getQName(), Binding.class, wsdlDef, newDef, imports); - if (ok) { - List bindingExtensions = binding.getExtensibilityElements(); - for (final Object extension : bindingExtensions) { - if (extension instanceof SOAPBinding) { - newDef.addNamespace("SOAP11", "http://schemas.xmlsoap.org/wsdl/soap/"); - } - if (extension instanceof SOAP12Binding) { - newDef.addNamespace("SOAP12", "http://schemas.xmlsoap.org/wsdl/soap12/"); - } - } - } - return ok; - } - - private static boolean addImport(QName name, - Class type, - WSDLDefinition wsdlDef, - Definition newDef, - List imports) { - String namespace = name.getNamespaceURI(); - if (newDef.getImports(namespace) == null) { - WSDLDefinition impDef = findDefinition(wsdlDef, name, type); - if (impDef != null) { - Import imp = newDef.createImport(); - imp.setNamespaceURI(namespace); - imp.setLocationURI(impDef.getURI().toString()); - imp.setDefinition(impDef.getDefinition()); - newDef.addNamespace("ns" + imports.size(), namespace); - newDef.addImport(imp); - imports.add(impDef); - return true; - } else { - // import was not added because element not found - return false; - } - } - return true; - } - - private static WSDLDefinition findDefinition(WSDLDefinition wsdlDef, QName name, Class type) { - if (wsdlDef == null || name == null) { - return wsdlDef; - } - if (wsdlDef.getURI() != null) { // not a facade - Definition def = wsdlDef.getDefinition(); - Map types = type == PortType.class ? def.getPortTypes() : def.getBindings(); - if (types.get(name) != null) { - return wsdlDef; - } - } - for (WSDLDefinition impDef : wsdlDef.getImportedDefinitions()) { - WSDLDefinition d = findDefinition(impDef, name, type); - if (d != null) { - return d; - } - } - return null; - } - - private static Port copyPort(Definition def, Port port, WebServiceBinding wsBinding) { - Port newPort = def.createPort(); - newPort.setName(port.getName()); - newPort.setBinding(port.getBinding()); - List portExtensions = port.getExtensibilityElements(); - for (final Object extension : portExtensions) { - ExtensibilityElement newExt = null; - if (extension instanceof SOAPAddress) { - def.addNamespace("SOAP11", "http://schemas.xmlsoap.org/wsdl/soap/"); - try { - newExt = def.getExtensionRegistry().createExtension( - Port.class, WSDLDefinitionGenerator.SOAP_ADDRESS); - } catch (WSDLException e) { - } - String uri = computeActualURI(wsBinding, port); - ((SOAPAddress)newExt).setLocationURI(uri); - newPort.addExtensibilityElement(newExt); - } else if (extension instanceof SOAP12Address) { - def.addNamespace("SOAP12", "http://schemas.xmlsoap.org/wsdl/soap12/"); - try { - newExt = def.getExtensionRegistry().createExtension( - Port.class, WSDLDefinitionGenerator.SOAP12_ADDRESS); - } catch (WSDLException e) { - } - String uri = computeActualURI(wsBinding, port); - ((SOAP12Address)newExt).setLocationURI(uri); - newPort.addExtensibilityElement(newExt); - } else { - // we don't support ports with other extensibility elements such as HTTPAddress - return null; - } - } - return newPort; - } - - /** - * Compute the endpoint URI based on section 2.1.1 of the WS binding Specification 1. - * The URIs in the endpoint(s) of the referenced WSDL, which may be relative - * 2. The URI specified by the wsa:Address element of the - * wsa:EndpointReference, which may be relative 3. The explicitly stated URI - * in the "uri" attribute of the binding.ws element, which may be relative, - * 4. The implicit URI as defined by in section 1.7 in the SCA Assembly Specification - * If the has no wsdlElement but does have a uri attribute then - * the uri takes precedence over any implicitly used WSDL. - * - */ - private static String computeActualURI(WebServiceBinding wsBinding, Port port) { - - URI eprURI = null; - if (wsBinding.getEndPointReference() != null) { - eprURI = getEPR(wsBinding); - } - - URI wsdlURI = null; - if (wsBinding.getServiceName() != null && wsBinding.getBindingName() == null) { - // explicitly points at a WSDL port, may be a relative URI - wsdlURI = getEndpoint(port); - } - - // if the WSDL port/endpoint has an absolute URI use that - if (wsdlURI != null && wsdlURI.isAbsolute()) { - return wsdlURI.toString(); - } - - // if the wsa:EndpointReference has an address element with an absolute URI use that - if (eprURI != null && eprURI.isAbsolute()) { - return eprURI.toString(); - } - - // either there is no WSDL port endpoint URI or that URI is relative - String actualURI = wsBinding.getURI(); - if (eprURI != null && eprURI.toString().length() != 0) { - // there is a relative URI in the binding EPR - actualURI = actualURI + "/" + eprURI; - } - - if (wsdlURI != null && wsdlURI.toString().length() != 0) { - // there is a relative URI in the WSDL port - actualURI = actualURI + "/" + wsdlURI; - } - - if (actualURI != null) { - actualURI = URI.create(actualURI).normalize().toString(); - } - - return actualURI; - } - - private static URI getEPR(WebServiceBinding wsBinding) { - NodeList nodeList = wsBinding.getEndPointReference().getChildNodes(); - for (int i = 0; i < nodeList.getLength(); i++) { - Node childNode = nodeList.item(i); - if (childNode instanceof Element && ADDRESS.equals(childNode.getLocalName())) { - NodeList addrNodes = childNode.getChildNodes(); - for (int j = 0; j < addrNodes.getLength(); j++) { - Node addrNode = addrNodes.item(j); - if (addrNode instanceof Text) { - return URI.create(((Text)addrNode).getWholeText()); - } - } - } - } - return null; - } - - /** - * Returns the endpoint of a given port. - */ - private static URI getEndpoint(Port wsdlPort) { - if (wsdlPort != null) { - List wsdlPortExtensions = wsdlPort.getExtensibilityElements(); - for (Object extension : wsdlPortExtensions) { - if (extension instanceof SOAPAddress) { - String uri = ((SOAPAddress)extension).getLocationURI(); - return (uri == null || "".equals(uri)) ? null : URI.create(uri); - } - if (extension instanceof SOAP12Address) { - SOAP12Address address = (SOAP12Address)extension; - String uri = address.getLocationURI(); - return (uri == null || "".equals(uri)) ? null : URI.create(uri); - } - } - } - return null; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-wsdlgen/src/main/resources/wsdlgen-validation-messages.properties b/java/sca/contrib/modules/binding-ws-wsdlgen/src/main/resources/wsdlgen-validation-messages.properties deleted file mode 100644 index 4bfbdd2901..0000000000 --- a/java/sca/contrib/modules/binding-ws-wsdlgen/src/main/resources/wsdlgen-validation-messages.properties +++ /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. -# -# -WsdlGenProblem = Unable to generate WSDL for {0}/{1} -WsdlGenException = Exception while generating WSDL for {0}/{1} -UnexpectedException = Exception thrown was: {0} -MissingInterfaceContract = No interface contract for {0}/{1} -InterfaceNotRemotable = Interface not remotable: {0} -IgnoringPort = Port {0}/{1} in {2}/{3} is not supported and was ignored -PortTypeNotFound = PortType {0} in {1}/{2} was not found -BindingNotFound = Binding {0} in {1}/{2} was not found -InvalidPort = Port {0}/{1} in {2}/{3} is not supported -NoValidPorts = No valid ports for service {0} in {1}/{2} -NoWsdlInterface = No WSDL interface definition for {1}/{2} diff --git a/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/other/Other.java b/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/other/Other.java deleted file mode 100644 index 7e6a1de546..0000000000 --- a/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/other/Other.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.binding.ws.other; - -/** - * - * @version $Rev$ $Date$ - */ -public class Other { - private String name; - - public String getName() { - return name; - } - public void setName(String name ) { - this.name = name; - } -} diff --git a/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/other/package-info.java b/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/other/package-info.java deleted file mode 100644 index f10a2286e6..0000000000 --- a/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/other/package-info.java +++ /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. - */ -@javax.xml.bind.annotation.XmlSchema(namespace = "http://other.ws.binding.sca.tuscany.apache.org/") -package org.apache.tuscany.sca.binding.ws.other; - diff --git a/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/BindingWSDLGeneratorTestCase.java b/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/BindingWSDLGeneratorTestCase.java deleted file mode 100644 index 6890c238f3..0000000000 --- a/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/BindingWSDLGeneratorTestCase.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.ws.wsdlgen; - -import java.util.List; -import java.util.Map; - -import javax.wsdl.Definition; -import javax.wsdl.Operation; -import javax.wsdl.PortType; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.contribution.DefaultModelFactoryExtensionPoint; -import org.apache.tuscany.sca.core.databinding.processor.DataBindingJavaInterfaceProcessor; -import org.apache.tuscany.sca.databinding.DefaultDataBindingExtensionPoint; -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.jaxws.JAXWSFaultExceptionMapper; -import org.apache.tuscany.sca.interfacedef.java.jaxws.JAXWSJavaInterfaceProcessor; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterfaceContract; -import org.apache.tuscany.sca.xsd.XSDFactory; -import org.apache.tuscany.sca.xsd.xml.XSDModelResolver; -import org.oasisopen.sca.annotation.Remotable; - -/** - * - * @version $Rev$ $Date$ - */ -public class BindingWSDLGeneratorTestCase extends TestCase { - - public void testCreateWSDLInterfaceContract() throws InvalidInterfaceException { - DefaultModelFactoryExtensionPoint modelFactories = new DefaultModelFactoryExtensionPoint(); - WSDLFactory wsdlFactory = modelFactories.getFactory(WSDLFactory.class); - XSDFactory xsdFactory = modelFactories.getFactory(XSDFactory.class); - DefaultJavaInterfaceFactory factory = new DefaultJavaInterfaceFactory(); - JavaInterfaceContract javaIC = factory.createJavaInterfaceContract(); - JavaInterface iface = factory.createJavaInterface(HelloWorld.class); - DefaultDataBindingExtensionPoint dataBindings = new DefaultDataBindingExtensionPoint(); - JAXWSFaultExceptionMapper faultExceptionMapper = new JAXWSFaultExceptionMapper(dataBindings, null); - new JAXWSJavaInterfaceProcessor(dataBindings, faultExceptionMapper, null).visitInterface(iface); - new DataBindingJavaInterfaceProcessor(dataBindings).visitInterface(iface); - javaIC.setInterface(iface); - WSDLInterfaceContract wsdlIC = BindingWSDLGenerator.createWSDLInterfaceContract(javaIC, false, new XSDModelResolver(null, null), dataBindings, wsdlFactory, xsdFactory, null); - assertNotNull(wsdlIC); - WSDLInterface wsdlInterface = (WSDLInterface)wsdlIC.getInterface(); - assertNotNull(wsdlInterface); - assertEquals(1, wsdlInterface.getOperations().size()); - assertEquals("sayHello", wsdlInterface.getOperations().get(0).getName()); - assertNotNull(wsdlInterface.getPortType()); - - JavaInterfaceContract javaIC2 = factory.createJavaInterfaceContract(); - JavaInterface iface2 = factory.createJavaInterface(TestJavaInterface.class); - new JAXWSJavaInterfaceProcessor(dataBindings, faultExceptionMapper, null).visitInterface(iface2); - new DataBindingJavaInterfaceProcessor(dataBindings).visitInterface(iface2); - javaIC2.setInterface(iface2); - WSDLInterfaceContract wsdlIC2 = BindingWSDLGenerator.createWSDLInterfaceContract(javaIC2, false, new XSDModelResolver(null, null), dataBindings, wsdlFactory, xsdFactory, null); - assertNotNull(wsdlIC2); - } - -} - -@Remotable -interface HelloWorld { - String sayHello(String s); -} diff --git a/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGeneratorTestCase.java b/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGeneratorTestCase.java deleted file mode 100644 index f1e12f8ce0..0000000000 --- a/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/Interface2WSDLGeneratorTestCase.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.binding.ws.wsdlgen; - -import java.io.StringWriter; - -import javax.wsdl.Definition; -import javax.wsdl.xml.WSDLWriter; - -import org.apache.tuscany.sca.contribution.DefaultModelFactoryExtensionPoint; -import org.apache.tuscany.sca.core.databinding.processor.DataBindingJavaInterfaceProcessor; -import org.apache.tuscany.sca.databinding.DefaultDataBindingExtensionPoint; -import org.apache.tuscany.sca.interfacedef.java.DefaultJavaInterfaceFactory; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.interfacedef.java.jaxws.JAXWSFaultExceptionMapper; -import org.apache.tuscany.sca.interfacedef.java.jaxws.JAXWSJavaInterfaceProcessor; -import org.apache.tuscany.sca.interfacedef.wsdl.DefaultWSDLFactory; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition; -import org.apache.tuscany.sca.xsd.DefaultXSDFactory; -import org.apache.tuscany.sca.xsd.xml.XSDModelResolver; -import org.junit.Test; - -/** - * @version $Rev$ $Date$ - */ -public class Interface2WSDLGeneratorTestCase { - - @Test - public void testGenerate() throws Exception { - DefaultJavaInterfaceFactory iFactory = new DefaultJavaInterfaceFactory(); - JavaInterface iface = iFactory.createJavaInterface(TestJavaInterface.class); - DefaultDataBindingExtensionPoint dataBindings = new DefaultDataBindingExtensionPoint(); - JAXWSFaultExceptionMapper faultExceptionMapper = new JAXWSFaultExceptionMapper(dataBindings, null); - new JAXWSJavaInterfaceProcessor(dataBindings, faultExceptionMapper, null).visitInterface(iface); - new DataBindingJavaInterfaceProcessor(dataBindings).visitInterface(iface); - DefaultModelFactoryExtensionPoint modelFactories = new DefaultModelFactoryExtensionPoint(); - WSDLDefinition wsdlDefinition = new DefaultWSDLFactory(modelFactories).createWSDLDefinition(); - DefaultXSDFactory factory = new DefaultXSDFactory(); - Interface2WSDLGenerator generator = new Interface2WSDLGenerator(false, new XSDModelResolver(null, null), dataBindings, factory, null); - Definition definition = generator.generate(iface, wsdlDefinition); - - // print the generated WSDL file and inline schemas - WSDLWriter writer = generator.getFactory().newWSDLWriter(); - StringWriter sw = new StringWriter(); - writer.writeWSDL(definition, sw); - System.out.println(sw.toString()); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/TestException.java b/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/TestException.java deleted file mode 100644 index 1e4f802e01..0000000000 --- a/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/TestException.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.binding.ws.wsdlgen; - -/** - * - * @version $Rev$ $Date$ - */ -public class TestException extends Exception { - - private String userdata; - - public TestException(String message) { - super(message); - } - - public TestException(String message, String userdata) { - super(message); - this.userdata = userdata; - } - - public String getUserdata() { - return userdata; - } - - public void setUserdata(String userdata) { - this.userdata = userdata; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/TestFault.java b/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/TestFault.java deleted file mode 100644 index da2c285bac..0000000000 --- a/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/TestFault.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.ws.wsdlgen; - -import javax.xml.ws.WebFault; - -/** - * - * @version $Rev$ $Date$ - */ -@WebFault(faultBean="org.apache.tuscany.sca.binding.ws.wsdlgen.TestFaultBean") -public class TestFault extends Exception { - - private TestFaultBean bean; - - public TestFault(TestFaultBean bean, String message) { - super(message); - this.bean = bean; - } - - public TestFault(TestFaultBean bean, String message, Throwable cause) { - super(message, cause); - this.bean = bean; - } - - public TestFaultBean getFaultInfo() { - return bean; - } -} diff --git a/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/TestFaultBean.java b/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/TestFaultBean.java deleted file mode 100644 index 64cce0e49d..0000000000 --- a/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/TestFaultBean.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.ws.wsdlgen; - -/** - * - * @version $Rev$ $Date$ - */ -public class TestFaultBean { - private String lastName; - private String firstName; - private float age; - - public String getLastName() { - return lastName; - } - - public void setLastName(String lastName) { - this.lastName = lastName; - } - - public String getFirstName() { - return firstName; - } - - public void setFirstName(String firstName) { - this.firstName = firstName; - } - - public float getAge() { - return age; - } - - public void setAge(float age) { - this.age = age; - } -} diff --git a/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/TestJavaClass.java b/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/TestJavaClass.java deleted file mode 100644 index 3fd7361ae1..0000000000 --- a/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/TestJavaClass.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.binding.ws.wsdlgen; -import org.apache.tuscany.sca.binding.ws.other.Other; - -/** - * - * @version $Rev$ $Date$ - */ -public class TestJavaClass { - public Other other; - public String name; - public int number; - public float balance; -} diff --git a/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/TestJavaInterface.java b/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/TestJavaInterface.java deleted file mode 100644 index 5278a55d8a..0000000000 --- a/java/sca/contrib/modules/binding-ws-wsdlgen/src/test/java/org/apache/tuscany/sca/binding/ws/wsdlgen/TestJavaInterface.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.ws.wsdlgen; - -import javax.jws.WebMethod; -import javax.jws.WebService; - -import org.oasisopen.sca.annotation.OneWay; -import org.oasisopen.sca.annotation.Remotable; - -/** - * - * @version $Rev$ $Date$ - */ -@Remotable -@WebService -public interface TestJavaInterface { - String m1(String str); - - @OneWay - @WebMethod - void m2(int i); - - @WebMethod - String m3(); - - void m4(); - - @WebMethod - String m5(String str, int i); - - @WebMethod(exclude = true) - void dummy(); - - @WebMethod - void m6(TestJavaClass info) throws TestException; - - @WebMethod - void m7(TestJavaClass info) throws TestFault; -} diff --git a/java/sca/contrib/modules/binding-ws-xml/LICENSE b/java/sca/contrib/modules/binding-ws-xml/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/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/java/sca/contrib/modules/binding-ws-xml/NOTICE b/java/sca/contrib/modules/binding-ws-xml/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-ws-xml/pom.xml b/java/sca/contrib/modules/binding-ws-xml/pom.xml deleted file mode 100644 index 6e5b800105..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/pom.xml +++ /dev/null @@ -1,100 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-binding-ws-xml - Apache Tuscany SCA WS Binding XML Model - - - - org.apache.tuscany.sca - tuscany-contribution - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-contribution-impl - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-assembly-xml - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-ws - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-ws-wsdlgen - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-wsdl - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-sca - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-interface-wsdl-xml - 2.0-SNAPSHOT - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.ws.xml - ${pom.name} - org.apache.tuscany.sca.binding.ws.xml* - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/BindingBuilderImpl.java b/java/sca/contrib/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/BindingBuilderImpl.java deleted file mode 100644 index f2376231ab..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/BindingBuilderImpl.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.binding.ws.xml; - -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.binding.ws.wsdlgen.BindingWSDLGenerator; -import org.apache.tuscany.sca.assembly.AbstractContract; -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.builder.BindingBuilder; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.monitor.Monitor; - -/** - * A factory for the calculated WSDL document needed by Web Service bindings. - * - * @version $Rev$ $Date$ - */ -public class BindingBuilderImpl implements BindingBuilder { - - private ExtensionPointRegistry extensionPoints; - - public BindingBuilderImpl(ExtensionPointRegistry extensionPoints) { - this.extensionPoints = extensionPoints; - } - - /** - * Create a calculated WSDL document and save it in the Web Service binding. - */ - public void build(Component component, AbstractContract contract, Binding binding, Monitor monitor) { - BindingWSDLGenerator.generateWSDL(component, contract, (WebServiceBinding)binding, extensionPoints, monitor); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/EndPointReferenceHelper.java b/java/sca/contrib/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/EndPointReferenceHelper.java deleted file mode 100644 index ad2540e5fe..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/EndPointReferenceHelper.java +++ /dev/null @@ -1,230 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.xml; - -import static javax.xml.XMLConstants.XMLNS_ATTRIBUTE_NS_URI; - -import java.io.StringWriter; - -import javax.xml.namespace.QName; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamConstants; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; -import javax.xml.transform.Source; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -/** - * Helper methods to read and write a wsa:endpointReference - * TODO: almost direct copy of code for Assembly properties - * must be able to move to a common utility - * - * @version $Rev$ $Date$ - */ -public class EndPointReferenceHelper { - - /** - * Read a wsa:endpointReference into a DOM Element - */ - public static Element readEndPointReference(XMLStreamReader reader) { - try { - - return loadElement(reader); - - } catch (XMLStreamException e) { - throw new RuntimeException(e); - } catch (ParserConfigurationException e) { - throw new RuntimeException(e); - } - } - - /** - * Write a wsa:endpointReference from a DOM Element - */ - public static void writeEndPointReference(Element element, XMLStreamWriter writer) { - try { - - saveElement(element, writer); - - } catch (XMLStreamException e) { - throw new RuntimeException(e); - } - } - - private static Element loadElement(XMLStreamReader reader) throws XMLStreamException, ParserConfigurationException { - Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); - Node root = document; - Node current = root; - while (true) { - switch (reader.getEventType()) { - case XMLStreamConstants.START_ELEMENT: - QName name = reader.getName(); - Element child = createElement(document, name); - - // push the new element and make it the current one - current.appendChild(child); - current = child; - - int count = reader.getNamespaceCount(); - for (int i = 0; i < count; i++) { - String prefix = reader.getNamespacePrefix(i); - String ns = reader.getNamespaceURI(i); - declareNamespace(child, prefix, ns); - } - - if(!"".equals(name.getNamespaceURI())) - declareNamespace(child, name.getPrefix(), name.getNamespaceURI()); - - // add the attributes for this element - count = reader.getAttributeCount(); - for (int i = 0; i < count; i++) { - String ns = reader.getAttributeNamespace(i); - String prefix = reader.getAttributePrefix(i); - String qname = reader.getAttributeLocalName(i); - String value = reader.getAttributeValue(i); - if (prefix != null && prefix.length() != 0) { - qname = prefix + ":" + qname; - } - child.setAttributeNS(ns, qname, value); - if (ns != null) { - declareNamespace(child, prefix, ns); - } - } - - break; - case XMLStreamConstants.CDATA: - current.appendChild(document.createCDATASection(reader.getText())); - break; - case XMLStreamConstants.CHARACTERS: - current.appendChild(document.createTextNode(reader.getText())); - break; - case XMLStreamConstants.END_ELEMENT: - // if we are back at the root then we are done - if ("EndpointReference".equals(reader.getName().getLocalPart())) { - return document.getDocumentElement(); - } - - // pop the element off the stack - current = current.getParentNode(); - } - if ( reader.hasNext()) reader.next(); - } - } - - private static Element createElement(Document document, QName name) { - String prefix = name.getPrefix(); - String qname = - (prefix != null && prefix.length() > 0) ? prefix + ":" + name.getLocalPart() : name.getLocalPart(); - return document.createElementNS(name.getNamespaceURI(), qname); - } - - private static void declareNamespace(Element element, String prefix, String ns) { - if (ns == null) { - ns = ""; - } - if (prefix == null) { - prefix = ""; - } - String qname = null; - if ("".equals(prefix)) { - qname = "xmlns"; - } else { - qname = "xmlns:" + prefix; - } - Node node = element; - boolean declared = false; - while (node != null && node.getNodeType() == Node.ELEMENT_NODE) { - NamedNodeMap attrs = node.getAttributes(); - if (attrs == null) { - break; - } - Node attr = attrs.getNamedItem(qname); - if (attr != null) { - declared = ns.equals(attr.getNodeValue()); - break; - } - node = node.getParentNode(); - } - if (!declared) { - org.w3c.dom.Attr attr = element.getOwnerDocument().createAttributeNS(XMLNS_ATTRIBUTE_NS_URI, qname); - attr.setValue(ns); - element.setAttributeNodeNS(attr); - } - } - - private static void saveElement(Element element, XMLStreamWriter writer) throws XMLStreamException{ - - XMLStreamReader reader = - XMLInputFactory.newInstance().createXMLStreamReader(new DOMSource(element)); - - while (reader.hasNext()) { - switch (reader.next()) { - case XMLStreamConstants.START_ELEMENT: - QName name = reader.getName(); - writer.writeStartElement(name.getPrefix(), name.getLocalPart(), name.getNamespaceURI()); - - int namespaces = reader.getNamespaceCount(); - for (int i = 0; i < namespaces; i++) { - String prefix = reader.getNamespacePrefix(i); - String ns = reader.getNamespaceURI(i); - writer.writeNamespace(prefix, ns); - } - - if (!"".equals(name.getNamespaceURI())) { - writer.writeNamespace(name.getPrefix(), name.getNamespaceURI()); - } - - // add the attributes for this element - namespaces = reader.getAttributeCount(); - for (int i = 0; i < namespaces; i++) { - String ns = reader.getAttributeNamespace(i); - String prefix = reader.getAttributePrefix(i); - String qname = reader.getAttributeLocalName(i); - String value = reader.getAttributeValue(i); - - writer.writeAttribute(prefix, ns, qname, value); - } - - break; - case XMLStreamConstants.CDATA: - writer.writeCData(reader.getText()); - break; - case XMLStreamConstants.CHARACTERS: - writer.writeCharacters(reader.getText()); - break; - case XMLStreamConstants.END_ELEMENT: - writer.writeEndElement(); - break; - } - } - } -} diff --git a/java/sca/contrib/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java b/java/sca/contrib/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java deleted file mode 100644 index 15b58e499c..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceBindingProcessor.java +++ /dev/null @@ -1,410 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.xml; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; -import static javax.xml.stream.XMLStreamConstants.START_ELEMENT; - -import java.util.Map; -import javax.wsdl.Binding; -import javax.wsdl.Port; -import javax.wsdl.PortType; -import javax.wsdl.Service; -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.ConfiguredOperation; -import org.apache.tuscany.sca.assembly.OperationsConfigurator; -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.assembly.xml.ConfiguredOperationProcessor; -import org.apache.tuscany.sca.assembly.xml.Constants; -import org.apache.tuscany.sca.assembly.xml.PolicyAttachPointProcessor; -import org.apache.tuscany.sca.binding.ws.DefaultWebServiceBindingFactory; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory; -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.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLFactory; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterfaceContract; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLObject; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.MonitorFactory; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; -import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory; -import org.apache.tuscany.sca.policy.PolicyFactory; - -/** - * This is the StAXArtifactProcessor for the Web Services Binding. - * - * @version $Rev$ $Date$ - */ -public class WebServiceBindingProcessor implements StAXArtifactProcessor, WebServiceConstants { - - private ExtensionPointRegistry extensionPoints; - private WSDLFactory wsdlFactory; - private WebServiceBindingFactory wsFactory; - private PolicyFactory policyFactory; - private PolicyAttachPointProcessor policyProcessor; - private IntentAttachPointTypeFactory intentAttachPointTypeFactory; - private ConfiguredOperationProcessor configuredOperationProcessor; - private Monitor monitor; - - public WebServiceBindingProcessor(ExtensionPointRegistry extensionPoints) { - this.extensionPoints = extensionPoints; - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - this.policyFactory = modelFactories.getFactory(PolicyFactory.class); - this.wsFactory = new DefaultWebServiceBindingFactory(); - this.wsdlFactory = modelFactories.getFactory(WSDLFactory.class); - this.policyProcessor = new PolicyAttachPointProcessor(policyFactory); - this.intentAttachPointTypeFactory = modelFactories.getFactory(IntentAttachPointTypeFactory.class); - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class); - if (monitorFactory != null) { - this.monitor = monitorFactory.createMonitor(); - } - this.configuredOperationProcessor = new ConfiguredOperationProcessor(modelFactories, this.monitor); - } - - /** - * Report a warning. - * - * @param problems - * @param message - * @param model - */ - private void warning(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "binding-wsxml-validation-messages", Severity.WARNING, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "binding-wsxml-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - public WebServiceBinding read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - - // Read a - WebServiceBinding wsBinding = wsFactory.createWebServiceBinding(); - /*IntentAttachPointType bindingType = intentAttachPointTypeFactory.createBindingType(); - bindingType.setName(getArtifactType()); - bindingType.setUnresolved(true); - ((PolicySetAttachPoint)wsBinding).setType(bindingType);*/ - wsBinding.setUnresolved(true); - wsBinding.setBuilder(new BindingBuilderImpl(extensionPoints)); - - // Read policies - policyProcessor.readPolicies(wsBinding, reader); - - // Read the binding name - String name = reader.getAttributeValue(null, NAME); - if (name != null) { - wsBinding.setName(name); - } - - // Read URI - String uri = reader.getAttributeValue(null, URI); - if (uri != null) { - wsBinding.setURI(uri); - } - - // Read a qname in the form: - // namespace#wsdl.???(name) - Boolean wsdlElementIsBinding = null; - String wsdlElement = reader.getAttributeValue(null, WSDL_ELEMENT); - if (wsdlElement != null) { - int index = wsdlElement.indexOf('#'); - if (index == -1) { - error("InvalidWsdlElementAttr", reader, wsdlElement); - //throw new ContributionReadException("Invalid WebService binding wsdlElement attribute: " + wsdlElement); - return wsBinding; - } - String namespace = wsdlElement.substring(0, index); - wsBinding.setNamespace(namespace); - String localName = wsdlElement.substring(index + 1); - if (localName.startsWith("wsdl.service")) { - - // Read a wsdl.service - localName = localName.substring("wsdl.service(".length(), localName.length() - 1); - wsBinding.setServiceName(new QName(namespace, localName)); - - } else if (localName.startsWith("wsdl.port")) { - - // Read a wsdl.port - localName = localName.substring("wsdl.port(".length(), localName.length() - 1); - int s = localName.indexOf('/'); - if (s == -1) { - error("InvalidWsdlElementAttr", reader, wsdlElement); - //throw new ContributionReadException("Invalid WebService binding wsdlElement attribute: " + wsdlElement); - } else { - wsBinding.setServiceName(new QName(namespace, localName.substring(0, s))); - wsBinding.setPortName(localName.substring(s + 1)); - } - } else if (localName.startsWith("wsdl.endpoint")) { - - // Read a wsdl.endpoint - localName = localName.substring("wsdl.endpoint(".length(), localName.length() - 1); - int s = localName.indexOf('/'); - if (s == -1) { - error("InvalidWsdlElementAttr", reader, wsdlElement); - //throw new ContributionReadException("Invalid WebService binding wsdlElement attribute: " + wsdlElement); - } else { - wsBinding.setServiceName(new QName(namespace, localName.substring(0, s))); - wsBinding.setEndpointName(localName.substring(s + 1)); - } - } else if (localName.startsWith("wsdl.binding")) { - - // Read a wsdl.binding - localName = localName.substring("wsdl.binding(".length(), localName.length() - 1); - wsBinding.setBindingName(new QName(namespace, localName)); - - wsdlElementIsBinding = true; - - } else { - error("InvalidWsdlElementAttr", reader, wsdlElement); - //throw new ContributionReadException("Invalid WebService binding wsdlElement attribute: " + wsdlElement); - } - } - - // Read wsdlLocation - wsBinding.setLocation(reader.getAttributeValue(WSDLI_NS, WSDL_LOCATION)); - - ConfiguredOperation confOp = null; - // Skip to end element - while (reader.hasNext()) { - int event = reader.next(); - switch (event) { - case START_ELEMENT: { - if (END_POINT_REFERENCE.equals(reader.getName().getLocalPart())) { - if (wsdlElement != null && (wsdlElementIsBinding == null || !wsdlElementIsBinding)) { - error("MustUseWsdlBinding", reader, wsdlElement); - throw new ContributionReadException(wsdlElement + " must use wsdl.binding when using wsa:EndpointReference"); - } - wsBinding.setEndPointReference(EndPointReferenceHelper.readEndPointReference(reader)); - } else if (Constants.OPERATION_QNAME.equals(reader.getName())) { - confOp = configuredOperationProcessor.read(reader); - if (confOp != null) { - ((OperationsConfigurator)wsBinding).getConfiguredOperations().add(confOp); - } - } - } - break; - - } - - if (event == END_ELEMENT && BINDING_WS_QNAME.equals(reader.getName())) { - break; - } - } - return wsBinding; - } - - protected void processEndPointReference(XMLStreamReader reader, WebServiceBinding wsBinding) { - } - - public void write(WebServiceBinding wsBinding, XMLStreamWriter writer) throws ContributionWriteException, - XMLStreamException { - - // Write a - policyProcessor.writePolicyPrefixes(wsBinding, writer); - writer.writeStartElement(Constants.SCA10_NS, BINDING_WS); - policyProcessor.writePolicyAttributes(wsBinding, writer); - - // Write binding name - if (wsBinding.getName() != null) { - writer.writeAttribute(NAME, wsBinding.getName()); - } - - // Write binding URI - if (wsBinding.getURI() != null) { - writer.writeAttribute(URI, wsBinding.getURI()); - } - - // Write wsdlElement attribute - if (wsBinding.getPortName() != null) { - - // Write namespace#wsdl.port(service/port) - String wsdlElement = - wsBinding.getServiceName().getNamespaceURI() + "#wsdl.port(" - + wsBinding.getServiceName().getLocalPart() - + "/" - + wsBinding.getPortName() - + ")"; - writer.writeAttribute(WSDL_ELEMENT, wsdlElement); - - } else if (wsBinding.getEndpointName() != null) { - - // Write namespace#wsdl.endpoint(service/endpoint) - String wsdlElement = - wsBinding.getServiceName().getNamespaceURI() + "#wsdl.endpoint(" - + wsBinding.getServiceName().getLocalPart() - + "/" - + wsBinding.getEndpointName() - + ")"; - writer.writeAttribute(WSDL_ELEMENT, wsdlElement); - - } else if (wsBinding.getBindingName() != null) { - - // Write namespace#wsdl.binding(binding) - String wsdlElement = - wsBinding.getBindingName().getNamespaceURI() + "#wsdl.binding(" - + wsBinding.getBindingName().getLocalPart() - + ")"; - writer.writeAttribute(WSDL_ELEMENT, wsdlElement); - - } else if (wsBinding.getServiceName() != null) { - - // Write namespace#wsdl.service(service) - String wsdlElement = - wsBinding.getServiceName().getNamespaceURI() + "#wsdl.service(" - + wsBinding.getServiceName().getLocalPart() - + ")"; - writer.writeAttribute(WSDL_ELEMENT, wsdlElement); - } - - // Write location - if (wsBinding.getLocation() != null) { - writer.writeAttribute(WSDLI_NS, WSDL_LOCATION, wsBinding.getLocation()); - } - - if (wsBinding.getEndPointReference() != null) { - EndPointReferenceHelper.writeEndPointReference(wsBinding.getEndPointReference(), writer); - } - - writer.writeEndElement(); - } - - public void resolve(WebServiceBinding model, ModelResolver resolver) throws ContributionResolveException { - - if (model == null || !model.isUnresolved()) - return; - - WSDLDefinition wsdlDefinition = wsdlFactory.createWSDLDefinition(); - wsdlDefinition.setUnresolved(true); - wsdlDefinition.setNamespace(model.getNamespace()); - WSDLDefinition resolved = resolver.resolveModel(WSDLDefinition.class, wsdlDefinition); - - if (!resolved.isUnresolved()) { - wsdlDefinition.setDefinition(resolved.getDefinition()); - wsdlDefinition.setLocation(resolved.getLocation()); - wsdlDefinition.setURI(resolved.getURI()); - wsdlDefinition.getImportedDefinitions().addAll(resolved.getImportedDefinitions()); - wsdlDefinition.getXmlSchemas().addAll(resolved.getXmlSchemas()); - wsdlDefinition.setUnresolved(false); - model.setDefinition(wsdlDefinition); - if (model.getBindingName() != null) { - WSDLObject binding = wsdlDefinition.getWSDLObject(Binding.class, model.getBindingName()); - if (binding != null) { - wsdlDefinition.setDefinition(binding.getDefinition()); - model.setBinding(binding.getElement()); - } else { - warning("WsdlBindingDoesNotMatch", wsdlDefinition, model.getBindingName()); - } - } - if (model.getServiceName() != null) { - WSDLObject service = wsdlDefinition.getWSDLObject(Service.class, model.getServiceName()); - if (service != null) { - wsdlDefinition.setDefinition(service.getDefinition()); - model.setService(service.getElement()); - if (model.getPortName() != null) { - Port port = service.getElement().getPort(model.getPortName()); - if (port != null) { - model.setPort(port); - model.setBinding(port.getBinding()); - } else { - warning("WsdlPortTypeDoesNotMatch", wsdlDefinition, model.getPortName()); - } - } - } else { - warning("WsdlServiceDoesNotMatch", wsdlDefinition, model.getServiceName()); - } - } - - PortType portType = getPortType(model); - if (portType != null) { - WSDLInterfaceContract interfaceContract = wsdlFactory.createWSDLInterfaceContract(); - WSDLInterface wsdlInterface = null; - try { - wsdlInterface = wsdlFactory.createWSDLInterface(portType, wsdlDefinition, resolver); - } catch (InvalidInterfaceException e) { - warning("InvalidInterfaceException", wsdlFactory, model.getName()); - } - interfaceContract.setInterface(wsdlInterface); - model.setBindingInterfaceContract(interfaceContract); - } - } - policyProcessor.resolvePolicies(model, resolver); - OperationsConfigurator opCongigurator = (OperationsConfigurator)model; - for (ConfiguredOperation confOp : opCongigurator.getConfiguredOperations()) { - policyProcessor.resolvePolicies(confOp, resolver); - } - } - - private PortType getPortType(WebServiceBinding model) { - PortType portType = null; - if (model.getPort() != null) { - portType = model.getPort().getBinding().getPortType(); - } else if (model.getEndpoint() != null) { - portType = model.getPort().getBinding().getPortType(); - } else if (model.getBinding() != null) { - portType = model.getBinding().getPortType(); - } else if (model.getService() != null) { - // FIXME: How to find the compatible port? - Map ports = model.getService().getPorts(); - if (!ports.isEmpty()) { - Port port = (Port)ports.values().iterator().next(); - portType = port.getBinding().getPortType(); - } - } - return portType; - } - - public QName getArtifactType() { - return WebServiceConstants.BINDING_WS_QNAME; - } - - public Class getModelType() { - return WebServiceBinding.class; - } - -} diff --git a/java/sca/contrib/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceConstants.java b/java/sca/contrib/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceConstants.java deleted file mode 100644 index 03c84a6b41..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/src/main/java/org/apache/tuscany/sca/binding/ws/xml/WebServiceConstants.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.ws.xml; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.xml.Constants; - -/** - * Constants for the Web Services Binding. - * - * @version $Rev$ $Date$ - */ -public interface WebServiceConstants { - - String BINDING_WS = "binding.ws"; - QName BINDING_WS_QNAME = new QName(Constants.SCA10_NS, BINDING_WS); - String WSDL_ELEMENT = "wsdlElement"; - QName WSDL_ELEMENT_QNAME = new QName(Constants.SCA10_NS, WSDL_ELEMENT); - String WSDL_LOCATION = "wsdlLocation"; - String WSDLI_NS = "http://www.w3.org/2004/08/wsdl-instance"; - QName WSDL_LOCATION_QNAME = new QName(WSDLI_NS, WSDL_LOCATION); - String NAME = "name"; - String URI = "uri"; - String END_POINT_REFERENCE = "EndpointReference"; - - -} diff --git a/java/sca/contrib/modules/binding-ws-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/binding-ws-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index cb982e8647..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/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.binding.ws.xml.WebServiceBindingProcessor;qname=http://www.osoa.org/xmlns/sca/1.0#binding.ws,model=org.apache.tuscany.sca.binding.ws.WebServiceBinding diff --git a/java/sca/contrib/modules/binding-ws-xml/src/main/resources/binding-wsxml-validation-messages.properties b/java/sca/contrib/modules/binding-ws-xml/src/main/resources/binding-wsxml-validation-messages.properties deleted file mode 100644 index 2dfa5e6133..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/src/main/resources/binding-wsxml-validation-messages.properties +++ /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. -# -# -InvalidWsdlElementAttr = Invalid WebService binding wsdlElement attribute: {0} -MustUseWsdlBinding = {0} must use wsdl.binding when using wsa:EndpointReference -InvalidInterfaceException = Exception creating interface from WSDL for binding: {0} -WsdlBindingDoesNotMatch = The #wsdl.binding({0}) does not match with the WSDL Definitions -WsdlServiceDoesNotMatch = The #wsdl.service({0}) does not match with the WSDL Definitions -WsdlPortTypeDoesNotMatch = The #wsdl.port({0}) does not match with the WSDL Definitions - - diff --git a/java/sca/contrib/modules/binding-ws-xml/src/test/java/org/apache/tuscany/sca/binding/ws/xml/ReadTestCase.java b/java/sca/contrib/modules/binding-ws-xml/src/test/java/org/apache/tuscany/sca/binding/ws/xml/ReadTestCase.java deleted file mode 100644 index ef955254c1..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/src/test/java/org/apache/tuscany/sca/binding/ws/xml/ReadTestCase.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.binding.ws.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.ComponentType; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.OperationsConfigurator; -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.contribution.service.ContributionReadException; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl; -import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory; - -/** - * Test reading WSDL interfaces. - * - * @version $Rev$ $Date$ - */ -public class ReadTestCase extends TestCase { - - private XMLInputFactory inputFactory; - private StAXArtifactProcessor 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); - } - - @Override - public void tearDown() throws Exception { - } - - public void testReadComponentType() throws Exception { - InputStream is = getClass().getResourceAsStream("CalculatorImpl.componentType"); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - ComponentType componentType = (ComponentType)staxProcessor.read(reader); - assertNotNull(componentType); - } - - public void testReadComposite() throws Exception { - InputStream is = getClass().getResourceAsStream("Calculator.composite"); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - Composite composite = (Composite)staxProcessor.read(reader); - assertNotNull(composite); - - compositeBuilder.build(composite); - } - - public void testReadPolicies() throws Exception { - InputStream is = getClass().getResourceAsStream("PoliciedCalculator.composite"); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - Composite composite = (Composite)staxProcessor.read(reader); - assertNotNull(composite); - - compositeBuilder.build(composite); - - assertEquals(((OperationsConfigurator)composite.getServices().get(0).getBindings().get(0)) - .getConfiguredOperations().get(0).getRequiredIntents().size(), 2); - } - - /** - * This test makes sure that an exception is thrown when a bad wsdlElement is present along with EndpointReference. - * - * Ref: Web Service Binding Specification v1.0 - Sec 2.1 - Lines 61 to 65. - * When an EndpointReference is present along with the wsdlElement attribute on the parent element, the wsdlElement attribute value MUST - * be of the 'Binding' form. - */ - public void testReadBadWsdlElement() throws Exception { - InputStream is = getClass().getResourceAsStream("Calculator-bad-wsdlElement.composite"); - XMLStreamReader reader = inputFactory.createXMLStreamReader(is); - try { - staxProcessor.read(reader); - fail("ContributionReadException expected."); - } catch(ContributionReadException e) { - // Expected - assertNotSame(-1, e.getMessage().indexOf("must use wsdl.binding when using wsa:EndpointReference")); - } - } -} diff --git a/java/sca/contrib/modules/binding-ws-xml/src/test/java/org/apache/tuscany/sca/binding/ws/xml/WriteTestCase.java b/java/sca/contrib/modules/binding-ws-xml/src/test/java/org/apache/tuscany/sca/binding/ws/xml/WriteTestCase.java deleted file mode 100644 index 0e519af9d3..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/src/test/java/org/apache/tuscany/sca/binding/ws/xml/WriteTestCase.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.binding.ws.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.ComponentType; -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 WSDL interfaces. - * - * @version $Rev$ $Date$ - */ -public class WriteTestCase extends TestCase { - - private XMLInputFactory inputFactory; - private XMLOutputFactory outputFactory; - private StAXArtifactProcessor 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 testReadWriteComponentType() throws Exception { - InputStream is = getClass().getResourceAsStream("CalculatorImpl.componentType"); - ComponentType componentType = (ComponentType)staxProcessor.read(inputFactory.createXMLStreamReader(is)); - assertNotNull(componentType); - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - staxProcessor.write(componentType, outputFactory.createXMLStreamWriter(bos)); - } -*/ - - public void testReadWriteComposite() throws Exception { - InputStream is = getClass().getResourceAsStream("Calculator.composite"); - Composite composite = (Composite)staxProcessor.read(inputFactory.createXMLStreamReader(is)); - assertNotNull(composite); - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - staxProcessor.write(composite, outputFactory.createXMLStreamWriter(bos)); - System.out.println(bos.toString()); - } - -} diff --git a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/Calculator-bad-wsdlElement.composite b/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/Calculator-bad-wsdlElement.composite deleted file mode 100644 index d8d1b3401e..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/Calculator-bad-wsdlElement.composite +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - http://localhost:8085/Calculator - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/Calculator.composite b/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/Calculator.composite deleted file mode 100644 index f7460813cd..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/Calculator.composite +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - http://localhost:8085/services/HelloWorldWebService - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/CalculatorImpl.componentType b/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/CalculatorImpl.componentType deleted file mode 100644 index 959802af43..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/CalculatorImpl.componentType +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - myURI - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/PoliciedCalculator.composite b/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/PoliciedCalculator.composite deleted file mode 100644 index 37c80aa910..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/PoliciedCalculator.composite +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/example.wsdl b/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/example.wsdl deleted file mode 100644 index 5e8e5dad0d..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/example.wsdl +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/invalid-stockquote.wsdl b/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/invalid-stockquote.wsdl deleted file mode 100644 index ad81fc7867..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/invalid-stockquote.wsdl +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/ipo.xsd b/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/ipo.xsd deleted file mode 100644 index 241ec15d36..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/ipo.xsd +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - International Purchase order schema for Example.com - Copyright 2000 Example.com. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/stockquote.wsdl b/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/stockquote.wsdl deleted file mode 100644 index 39cd5547d9..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/stockquote.wsdl +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/test1.wsdl b/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/test1.wsdl deleted file mode 100644 index 8e26f7b4b5..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/test1.wsdl +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/test1.xsd b/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/test1.xsd deleted file mode 100644 index c2210f4a94..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/test1.xsd +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/test2.wsdl b/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/test2.wsdl deleted file mode 100644 index 529b395fd5..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/test2.wsdl +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/unwrapped-stockquote.wsdl b/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/unwrapped-stockquote.wsdl deleted file mode 100644 index 666a7e4069..0000000000 --- a/java/sca/contrib/modules/binding-ws-xml/src/test/resources/org/apache/tuscany/sca/binding/ws/xml/unwrapped-stockquote.wsdl +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/binding-ws/LICENSE b/java/sca/contrib/modules/binding-ws/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/binding-ws/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/java/sca/contrib/modules/binding-ws/NOTICE b/java/sca/contrib/modules/binding-ws/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/binding-ws/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/binding-ws/pom.xml b/java/sca/contrib/modules/binding-ws/pom.xml deleted file mode 100644 index 2792f5a850..0000000000 --- a/java/sca/contrib/modules/binding-ws/pom.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-binding-ws - Apache Tuscany SCA WS Binding Model - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-wsdl - 2.0-SNAPSHOT - - - - wsdl4j - wsdl4j - 1.6.2 - - - - - - - apache.ws.zone - Apache WS Zone Repository - http://ws.zones.apache.org/repository2 - - true - - - false - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.binding.ws - ${pom.name} - org.apache.tuscany.sca.binding.ws* - - - - - - - diff --git a/java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/DefaultWebServiceBindingFactory.java b/java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/DefaultWebServiceBindingFactory.java deleted file mode 100644 index 2ccaa5dc58..0000000000 --- a/java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/DefaultWebServiceBindingFactory.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.ws; - -import org.apache.tuscany.sca.binding.ws.impl.WebServiceBindingFactoryImpl; - -/** - * A factory for the Web Service binding model. - * - * @version $Rev$ $Date$ - */ -@Deprecated -public class DefaultWebServiceBindingFactory extends WebServiceBindingFactoryImpl implements WebServiceBindingFactory { - -} diff --git a/java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/WebServiceBinding.java b/java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/WebServiceBinding.java deleted file mode 100644 index 0d07a55a14..0000000000 --- a/java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/WebServiceBinding.java +++ /dev/null @@ -1,214 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws; - -import javax.wsdl.Definition; -import javax.wsdl.Port; -import javax.wsdl.Service; -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.builder.BindingBuilderExtension; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition; -import org.w3c.dom.Element; - - -/** - * Represents a WebService binding. - * - * @version $Rev$ $Date$ - */ -public interface WebServiceBinding extends Binding, BindingBuilderExtension { - - /** - * Sets the WSDL location. - * @param location the WSDL location - */ - void setLocation(String location); - - /** - * Returns the WSDL location - * @return the WSDL location - */ - String getLocation(); - - /** - * Returns the name of the WSDL service. - * - * @return the name of the WSDL service - */ - QName getServiceName(); - - /** - * Sets the name of the WSDL service. - * - * @param serviceName the name of the WSDL service - */ - void setServiceName(QName serviceName); - - /** - * Returns the name of the WSDL port. - * - * @return the name of the WSDL port - */ - String getPortName(); - - /** - * Sets the name of the WSDL port. - * - * @param portName the name of the WSDL port - */ - void setPortName(String portName); - - /** - * Returns the name of the WSDL binding. - * - * @return the name of the WSDL binding - */ - QName getBindingName(); - - /** - * Sets the name of the WSDL binding. - * - * @param bindingName the name of the WSDL binding - */ - void setBindingName(QName bindingName); - - /** - * Returns the name of the WSDL endpoint. - * - * @return the name of the WSDL endpoint - */ - String getEndpointName(); - - /** - * Sets the name of the WSDL endpoint. - * - * @param endpointName the name of the WSDL endpoint - */ - void setEndpointName(String endpointName); - - /** - * Returns the WSDL service - * @return the WSDL service - */ - Service getService(); - - /** - * Sets the WSDL service. - * @param service the WSDL service - */ - void setService(Service service); - - /** - * Returns the WSDL port - * @return the WSDL port - */ - Port getPort(); - - /** - * Sets the WSDL endpoint - * @param endpoint the WSDL endpoint - */ - void setEndpoint(Port endpoint); - - /** - * Returns the WSDL endpoint - * @return the WSDL endpoint - */ - Port getEndpoint(); - - /** - * Sets the WSDL port - * @param port the WSDL port - */ - void setPort(Port port); - - /** - * Returns the WSDL binding. - * @return the WSDL binding - */ - javax.wsdl.Binding getBinding(); - - /** - * Sets the WSDL binding - * @param binding the WSDL binding - */ - void setBinding(javax.wsdl.Binding binding); - - /** - * Returns the WSDL definition. - * @return the WSDL definition - */ - WSDLDefinition getWSDLDefinition(); - - /** - * Sets the WSDL definition. - * @param wsdlDefinition the WSDL definition - */ - void setDefinition(WSDLDefinition wsdlDefinition); - - /** - * Returns the WSDL namespace. - * @return the WSDL namespace - */ - String getNamespace(); - - /** - * Sets the WSDL namespace - * @param namespace the WSDL namespace - */ - void setNamespace(String namespace); - - /** - * Returns true if the model element is unresolved. - * - * @return true if the model element is unresolved. - */ - boolean isUnresolved(); - - /** - * Sets whether the model element is unresolved. - * - * @param unresolved whether the model element is unresolved - */ - void setUnresolved(boolean unresolved); - - InterfaceContract getBindingInterfaceContract(); - - void setBindingInterfaceContract(InterfaceContract bindingInterfaceContract); - - Element getEndPointReference(); - - void setEndPointReference(Element element); - - /** - * Returns the generated WSDL definitions document. - * @return the generated WSDL definitions document - */ - Definition getWSDLDocument(); - - /** - * Sets the generated WSDL definitions document. - * @param definition the generated WSDL definitions document - */ - void setWSDLDocument(Definition definition); - -} diff --git a/java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/WebServiceBindingFactory.java b/java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/WebServiceBindingFactory.java deleted file mode 100644 index 1ad38c69e4..0000000000 --- a/java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/WebServiceBindingFactory.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.ws; - -/** - * Factory for the Web Service binding model. - * - * @version $Rev$ $Date$ - */ -public interface WebServiceBindingFactory { - - /** - * Creates a new WebService binding. - * - * @return a new WebService binding - */ - WebServiceBinding createWebServiceBinding(); - -} diff --git a/java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/addressing/EndPointReference.java b/java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/addressing/EndPointReference.java deleted file mode 100644 index a13584a3c2..0000000000 --- a/java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/addressing/EndPointReference.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.ws.addressing; - -import java.net.URI; -import java.util.List; - -import javax.xml.namespace.QName; - -/** - * Defines a model for WS-Addressing - * <wsa:EndpointReference> - * <wsa:Address>xs:anyURI</wsa:Address> - * <wsa:ReferenceProperties>... </wsa:ReferenceProperties> ? - * <wsa:ReferenceParameters>... </wsa:ReferenceParameters> ? - * <wsa:PortType>xs:QName</wsa:PortType> ? - * <wsa:ServiceName PortName="xs:NCName"?>xs:QName</wsa:ServiceName> ? - * <wsp:Policy> ... </wsp:Policy>* - * </wsa:EndpointReference> - * @version $Rev$ $Date$ - */ -public interface EndPointReference { - URI getAddress(); - - void setAddress(URI address); - - QName getPortType(); - - void setPortType(QName portType); - - QName getServiceName(); - - void setServiceName(QName serviceName); - - QName getPortName(); - - void setPortName(QName portName); - - List getReferenceProperties(); - - List getReferenceParameters(); - - List getPolicies(); - -} diff --git a/java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/impl/WebServiceBindingFactoryImpl.java b/java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/impl/WebServiceBindingFactoryImpl.java deleted file mode 100644 index 055e2012dc..0000000000 --- a/java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/impl/WebServiceBindingFactoryImpl.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.ws.impl; - -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory; - -/** - * A factory for the WSDL model. - * - * @version $Rev$ $Date$ - */ -public class WebServiceBindingFactoryImpl implements WebServiceBindingFactory { - - public WebServiceBinding createWebServiceBinding() { - return new WebServiceBindingImpl(); - } - -} diff --git a/java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/impl/WebServiceBindingImpl.java b/java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/impl/WebServiceBindingImpl.java deleted file mode 100644 index d816c2c9c6..0000000000 --- a/java/sca/contrib/modules/binding-ws/src/main/java/org/apache/tuscany/sca/binding/ws/impl/WebServiceBindingImpl.java +++ /dev/null @@ -1,316 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.ws.impl; - -import java.util.ArrayList; -import java.util.List; - -import javax.wsdl.Binding; -import javax.wsdl.Definition; -import javax.wsdl.Port; -import javax.wsdl.Service; -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.ConfiguredOperation; -import org.apache.tuscany.sca.assembly.Extensible; -import org.apache.tuscany.sca.assembly.OperationsConfigurator; -import org.apache.tuscany.sca.assembly.builder.BindingBuilder; -import org.apache.tuscany.sca.binding.ws.WebServiceBinding; -import org.apache.tuscany.sca.interfacedef.Interface; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLDefinition; -import org.apache.tuscany.sca.interfacedef.wsdl.WSDLInterface; -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; -import org.w3c.dom.Element; - -/** - * Represents a WebService binding. - * - * @version $Rev$ $Date$ - */ -class WebServiceBindingImpl implements WebServiceBinding, PolicySetAttachPoint, Extensible, OperationsConfigurator { - private String name; - private String uri; - private boolean unresolved; - private List extensions = new ArrayList(); - private List requiredIntents = new ArrayList(); - private List policySets = new ArrayList(); - private IntentAttachPointType intentAttachPointType; - private List configuredOperations = new ArrayList(); - private List applicablePolicySets = new ArrayList(); - private String location; - private Binding binding; - private Service service; - private Port port; - private Port endpoint; - private QName bindingName; - private String portName; - private QName serviceName; - private String endpointName; - private WSDLDefinition wsdlDefinition; - private String wsdlNamespace; - private InterfaceContract bindingInterfaceContract; - private Element endPointReference; - private Definition generatedWSDLDocument; - private BindingBuilder builder; - - protected WebServiceBindingImpl() { - } - - 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 unresolved; - } - - public void setUnresolved(boolean unresolved) { - this.unresolved = unresolved; - } - - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - - public List getExtensions() { - return extensions; - } - - public String getLocation() { - return location; - } - - public void setLocation(String location) { - this.location = location; - } - - public Binding getBinding() { - if (binding == null) { - if (getWSDLDefinition() != null && wsdlDefinition.getBinding() != null) { - binding = wsdlDefinition.getBinding(); - } - } - return binding; - } - - public QName getBindingName() { - if (isUnresolved()) { - return bindingName; - } else if (binding != null) { - return binding.getQName(); - } else { - return null; - } - } - - public String getEndpointName() { - if (isUnresolved()) { - return endpointName; - } else if (endpoint != null) { - //TODO support WSDL 2.0 - return endpoint.getName(); - } else { - return null; - } - } - - public Port getEndpoint() { - return endpoint; - } - - public Port getPort() { - return port; - } - - public String getPortName() { - if (isUnresolved()) { - return portName; - } else if (port != null) { - return port.getName(); - } else { - return null; - } - } - - public Service getService() { - return service; - } - - public QName getServiceName() { - if (isUnresolved()) { - return serviceName; - } else if (service != null) { - return service.getQName(); - } else { - return null; - } - } - - public void setBinding(Binding binding) { - this.binding = binding; - } - - public void setBindingName(QName bindingName) { - if (!isUnresolved()) { - throw new IllegalStateException(); - } - this.bindingName = bindingName; - } - - public void setEndpoint(Port endpoint) { - this.endpoint = endpoint; - } - - public void setEndpointName(String endpointName) { - if (!isUnresolved()) { - throw new IllegalStateException(); - } - this.endpointName = endpointName; - } - - public void setPort(Port port) { - this.port = port; - } - - public void setPortName(String portName) { - if (!isUnresolved()) { - throw new IllegalStateException(); - } - this.portName = portName; - } - - public void setService(Service service) { - this.service = service; - } - - public void setServiceName(QName serviceName) { - if (!isUnresolved()) { - throw new IllegalStateException(); - } - this.serviceName = serviceName; - } - - public WSDLDefinition getWSDLDefinition() { - if (wsdlDefinition == null) { - Interface iface = bindingInterfaceContract.getInterface(); - if (iface instanceof WSDLInterface) { - wsdlDefinition = ((WSDLInterface) iface).getWsdlDefinition(); - } - } - return wsdlDefinition; - } - - public void setDefinition(WSDLDefinition wsdlDefinition) { - this.wsdlDefinition = wsdlDefinition; - } - - public String getNamespace() { - return wsdlNamespace; - } - - public void setNamespace(String namespace) { - this.wsdlNamespace = namespace; - } - - public InterfaceContract getBindingInterfaceContract() { - return bindingInterfaceContract; - } - - public void setBindingInterfaceContract(InterfaceContract bindingInterfaceContract) { - this.bindingInterfaceContract = bindingInterfaceContract; - } - - public List getPolicySets() { - return policySets; - } - - public List getRequiredIntents() { - return requiredIntents; - } - - public IntentAttachPointType getType() { - return intentAttachPointType; - } - - public void setType(IntentAttachPointType intentAttachPointType) { - this.intentAttachPointType = intentAttachPointType; - } - - public Element getEndPointReference() { - return endPointReference; - } - - public void setEndPointReference(Element epr) { - this.endPointReference = epr; - } - - public Definition getWSDLDocument() { - return generatedWSDLDocument; - } - - public void setWSDLDocument(Definition definition) { - this.generatedWSDLDocument = definition; - } - - public BindingBuilder getBuilder() { - return builder; - } - - public void setBuilder(BindingBuilder builder) { - this.builder = builder; - } - - public void setPolicySets(List policySets) { - this.policySets = policySets; - } - - public void setRequiredIntents(List intents) { - this.requiredIntents = intents; - } - - public List getConfiguredOperations() { - return configuredOperations; - } - - public void setConfiguredOperations(List configuredOperations) { - this.configuredOperations = configuredOperations; - } - - public List getApplicablePolicySets() { - return applicablePolicySets; - } -} diff --git a/java/sca/contrib/modules/binding-ws/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory b/java/sca/contrib/modules/binding-ws/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory deleted file mode 100644 index 6d50a24b93..0000000000 --- a/java/sca/contrib/modules/binding-ws/src/main/resources/META-INF/services/org.apache.tuscany.sca.binding.ws.WebServiceBindingFactory +++ /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.ws.impl.WebServiceBindingFactoryImpl \ No newline at end of file diff --git a/java/sca/contrib/modules/contribution-groovy/LICENSE b/java/sca/contrib/modules/contribution-groovy/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/contribution-groovy/NOTICE b/java/sca/contrib/modules/contribution-groovy/NOTICE deleted file mode 100644 index 917b66ba7f..0000000000 --- a/java/sca/contrib/modules/contribution-groovy/NOTICE +++ /dev/null @@ -1,8 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 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/java/sca/contrib/modules/contribution-groovy/pom.xml b/java/sca/contrib/modules/contribution-groovy/pom.xml deleted file mode 100644 index 8d90752993..0000000000 --- a/java/sca/contrib/modules/contribution-groovy/pom.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - - tuscany-contribution-groovy - Apache Tuscany SCA Groovy contributions - - - - org.apache.tuscany.sca - tuscany-contribution - 2.0-SNAPSHOT - - - org.codehaus.groovy - groovy-all-minimal - 1.5.4 - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - test - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - test - - - - junit - junit - 4.5 - test - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.contribution.groovy - ${pom.name} - org.apache.tuscany.sca.contribution.groovy* - - - - - - - diff --git a/java/sca/contrib/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifact.java b/java/sca/contrib/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifact.java deleted file mode 100644 index 77dab193b9..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifactProcessor.java b/java/sca/contrib/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyArtifactProcessor.java deleted file mode 100644 index 4b7df4d9f8..0000000000 --- a/java/sca/contrib/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 { - - 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 getModelType() { - return GroovyArtifact.class; - } - - public void resolve(GroovyArtifact groovyModel, ModelResolver arg1) throws ContributionResolveException { - } - -} diff --git a/java/sca/contrib/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyModelResolver.java b/java/sca/contrib/modules/contribution-groovy/src/main/java/org/apache/tuscany/sca/contribution/groovy/GroovyModelResolver.java deleted file mode 100644 index 82fe0326df..0000000000 --- a/java/sca/contrib/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 resolveModel(Class arg0, T arg1) { - return null; - } -} diff --git a/java/sca/contrib/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor b/java/sca/contrib/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor deleted file mode 100644 index f9dbee53bb..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver b/java/sca/contrib/modules/contribution-groovy/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver deleted file mode 100644 index 86434ac4bf..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorld.java b/java/sca/contrib/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorld.java deleted file mode 100644 index 788c42f07d..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorldTestCase.java b/java/sca/contrib/modules/contribution-groovy/src/test/java/org/apache/tuscany/sca/contribution/groovy/HelloWorldTestCase.java deleted file mode 100644 index 02be3acd23..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/HelloWorld.groovy b/java/sca/contrib/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/HelloWorld.groovy deleted file mode 100644 index c172528538..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/helloworld.composite b/java/sca/contrib/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/helloworld.composite deleted file mode 100644 index 0d4c17a15b..0000000000 --- a/java/sca/contrib/modules/contribution-groovy/src/test/resources/org/apache/tuscany/sca/contribution/groovy/helloworld.composite +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - diff --git a/java/sca/contrib/modules/contribution-impl/LICENSE b/java/sca/contrib/modules/contribution-impl/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/contribution-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/java/sca/contrib/modules/contribution-impl/NOTICE b/java/sca/contrib/modules/contribution-impl/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/contribution-impl/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/contribution-impl/pom.xml b/java/sca/contrib/modules/contribution-impl/pom.xml deleted file mode 100644 index ee25cafc12..0000000000 --- a/java/sca/contrib/modules/contribution-impl/pom.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-contribution-impl - Apache Tuscany SCA Contribution Model Implementation - - - - org.apache.tuscany.sca - tuscany-contribution - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-contribution-xml - 2.0-SNAPSHOT - - - - org.codehaus.woodstox - wstx-asl - 3.2.4 - runtime - - - stax - stax-api - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.contribution.impl - ${pom.name} - org.apache.tuscany.sca.contribution* - - - - - - - diff --git a/java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/FolderContributionProcessor.java b/java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/FolderContributionProcessor.java deleted file mode 100644 index ab056e3214..0000000000 --- a/java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/FolderContributionProcessor.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.processor.impl; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -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.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.contribution.PackageType; -import org.apache.tuscany.sca.contribution.processor.PackageProcessor; -import org.apache.tuscany.sca.contribution.service.ContributionException; -import org.apache.tuscany.sca.contribution.service.ContributionReadException; - -/** - * Folder contribution package processor. - * - * @version $Rev$ $Date$ - */ -public class FolderContributionProcessor implements PackageProcessor { - - public FolderContributionProcessor() { - } - - public String getPackageType() { - return PackageType.FOLDER; - } - - /** - * Recursively traverse a root directory - * - * @param fileList - * @param file - * @param root - * @throws IOException - */ - private static void traverse(List fileList, final File file, final File root) throws IOException { - // Allow privileged access to test file. Requires FilePermissions in security policy file. - Boolean isFile = AccessController.doPrivileged(new PrivilegedAction() { - public Boolean run() { - return file.isFile(); - } - }); - if (isFile) { - fileList.add(AccessController.doPrivileged(new PrivilegedAction() { - public URI run() { - return root.toURI().relativize(file.toURI()); - } - })); - } else { - // Allow privileged access to test file. Requires FilePermissions in security policy - // file. - Boolean isDirectory = AccessController.doPrivileged(new PrivilegedAction() { - public Boolean run() { - return file.isDirectory(); - } - }); - if (isDirectory) { - String uri = AccessController.doPrivileged(new PrivilegedAction() { - public URI run() { - return root.toURI().relativize(file.toURI()); - } - }).toString(); - - if (uri.endsWith("/")) { - uri = uri.substring(0, uri.length() - 1); - } - fileList.add(URI.create(uri)); - - // Allow privileged access to list files. Requires FilePermission in security - // policy. - File[] files = AccessController.doPrivileged(new PrivilegedAction() { - public File[] run() { - return file.listFiles(); - } - }); - for (File f : files) { - if (!f.getName().startsWith(".")) { - traverse(fileList, f, root); - } - } - } - } - } - - public URL getArtifactURL(URL sourceURL, URI artifact) throws MalformedURLException { - return new URL(sourceURL, artifact.toString()); - } - - public List getArtifacts(URL packageSourceURL, InputStream inputStream) throws ContributionException, - IOException { - if (packageSourceURL == null) { - throw new IllegalArgumentException("Invalid null package source URL."); - } - - List artifacts = new ArrayList(); - - try { - // Assume the root is a jar file - final File rootFolder = new File(packageSourceURL.toURI()); - // Allow privileged access to test file. Requires FilePermissions in security policy - // file. - Boolean isDirectory = AccessController.doPrivileged(new PrivilegedAction() { - public Boolean run() { - return rootFolder.isDirectory(); - } - }); - if (isDirectory) { - // Allow privileged access to test file. Requires FilePermissions in security policy - // file. - Boolean folderExists = AccessController.doPrivileged(new PrivilegedAction() { - public Boolean run() { - return rootFolder.exists(); - } - }); - if (!folderExists) { - throw new ContributionReadException(rootFolder.getAbsolutePath()); - } - - // Security consideration. This method gathers URIs of enclosed - // artifacts. The URIs are protected by the policy when a user - // yries to open those URLs. - traverse(artifacts, rootFolder, rootFolder); - } - - } catch (URISyntaxException e) { - throw new ContributionReadException(packageSourceURL.toExternalForm(), e); - } - - return artifacts; - } -} diff --git a/java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/JarContributionProcessor.java b/java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/JarContributionProcessor.java deleted file mode 100644 index 3df275a7a1..0000000000 --- a/java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/processor/impl/JarContributionProcessor.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.contribution.processor.impl; - -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URL; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.jar.JarEntry; -import java.util.jar.JarInputStream; - -import org.apache.tuscany.sca.contribution.PackageType; -import org.apache.tuscany.sca.contribution.processor.PackageProcessor; -import org.apache.tuscany.sca.contribution.service.ContributionException; - -/** - * Jar Contribution package processor. - * - * @version $Rev$ $Date$ - */ -public class JarContributionProcessor implements PackageProcessor { - - public JarContributionProcessor() { - } - - public String getPackageType() { - return PackageType.JAR; - } - - public URL getArtifactURL(URL sourceURL, URI artifact) throws MalformedURLException { - if (sourceURL.toString().startsWith("jar:")) { - return new URL(sourceURL, artifact.toString()); - } else { - return new URL("jar:" + sourceURL.toExternalForm() + "!/" + artifact); - } - } - - public List getArtifacts(URL packageSourceURL, InputStream inputStream) throws ContributionException, - IOException { - if (packageSourceURL == null) { - throw new IllegalArgumentException("Invalid null package source URL."); - } - - if (inputStream == null) { - throw new IllegalArgumentException("Invalid null source inputstream."); - } - - // Assume the root is a jar file - JarInputStream jar = new JarInputStream(inputStream); - try { - Set names = new HashSet(); - while (true) { - JarEntry entry = jar.getNextJarEntry(); - if (entry == null) { - // EOF - break; - } - - // FIXME: Maybe we should externalize the filter as a property - String name = entry.getName(); - if (!name.startsWith(".")) { - - // Trim trailing / - if (name.endsWith("/")) { - name = name.substring(0, name.length() - 1); - } - - // Add the entry name - if (!names.contains(name)) { - names.add(name); - - // Add parent folder names to the list too - for (;;) { - int s = name.lastIndexOf('/'); - if (s == -1) { - name = ""; - } else { - name = name.substring(0, s); - } - if (!names.contains(name)) { - names.add(name); - } else { - break; - } - } - } - } - } - - // Return list of URIs - List artifacts = new ArrayList(); - for (String name: names) { - artifacts.add(URI.create(name)); - } - return artifacts; - - } finally { - jar.close(); - } - } -} diff --git a/java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionRepositoryImpl.java b/java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionRepositoryImpl.java deleted file mode 100644 index 9375cb917f..0000000000 --- a/java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionRepositoryImpl.java +++ /dev/null @@ -1,399 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.service.impl; - -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStreamWriter; -import java.io.PrintWriter; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URL; -import java.net.URLConnection; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamConstants; -import javax.xml.stream.XMLStreamReader; - -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.service.ContributionRepository; -import org.apache.tuscany.sca.contribution.service.util.FileHelper; -import org.apache.tuscany.sca.contribution.service.util.IOHelper; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * The default implementation of ContributionRepository - * - * @version $Rev$ $Date$ - */ -public class ContributionRepositoryImpl implements ContributionRepository { - private static final String NS = "http://tuscany.apache.org/xmlns/1.0-SNAPSHOT"; - private static final String DOMAIN_INDEX_FILENAME = "sca-domain.xml"; - private final File rootFile; - private Map contributionLocations = new HashMap(); - - private Map contributionMap = new HashMap(); - private List contributions = new ArrayList(); - - private URI domain; - private XMLInputFactory factory; - private Monitor monitor; - - /** - * Marshals warnings into the monitor - * - * @param message - * @param model - * @param messageParameters - */ - protected void warning(String message, Object model, String... messageParameters) { - if (monitor != null){ - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-impl-validation-messages", Severity.WARNING, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Marshals errors into the monitor - * - * @param problems - * @param message - * @param model - */ - protected void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-impl-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Marshals exceptions into the monitor - * - * @param problems - * @param message - * @param model - */ - protected void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-impl-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - /** - * Constructor with repository root - * - * @param repository - * @param factory - */ - public ContributionRepositoryImpl(final String repository, XMLInputFactory factory, Monitor monitor) throws IOException { - this.monitor = monitor; - String root = repository; - if (repository == null) { - root = AccessController.doPrivileged(new PrivilegedAction() { - public String run() { - // Default to /.tuscany/domains/local/ - String userHome = System.getProperty("user.home"); - String slash = File.separator; - return userHome + slash + ".tuscany" + slash + "domains" + slash + "local" + slash; - } - }); - } - - // Allow privileged access to File. Requires FilePermission in security policy file. - final String finalRoot = root; - this.rootFile = AccessController.doPrivileged(new PrivilegedAction() { - public File run() { - return new File(finalRoot); - } - }); - - // Allow privileged access to File. Requires FilePermission in security policy file. - this.domain = AccessController.doPrivileged(new PrivilegedAction() { - public URI run() { - return rootFile.toURI(); - } - }); - - // Allow privileged access to mkdir. Requires FilePermission in security policy file. - try { - AccessController.doPrivileged(new PrivilegedExceptionAction() { - public Object run() throws IOException { - FileHelper.forceMkdir(rootFile); - return null; - } - }); - } catch (PrivilegedActionException e) { - error("PrivilegedActionException", rootFile, (IOException)e.getException()); - throw (IOException)e.getException(); - } - - // Allow privileged access to test file. Requires FilePermissions in security policy file. - Boolean notDirectory = AccessController.doPrivileged(new PrivilegedAction() { - public Boolean run() { - return (!rootFile.exists() || !rootFile.isDirectory() || !rootFile.canRead()); - } - }); - if (notDirectory) { - error("RootNotDirectory", rootFile, repository); - throw new IOException("The root is not a directory: " + repository); - } - this.factory = factory; - } - - public URI getDomain() { - return domain; - } - - /** - * Resolve contribution location in the repository -> root repository / - * contribution file -> contribution group id / artifact id / version - * - * @param contribution - * @return - */ - private File mapToFile(URL sourceURL) { - String fileName = FileHelper.toFile(sourceURL).getName(); - return new File(rootFile, "contributions" + File.separator + fileName); - } - - /** - * Write a specific source InputStream to a file on disk - * - * @param source contents of the file to be written to disk - * @param target file to be written - * @throws IOException - */ - public static void copy(InputStream source, File target) throws IOException { - BufferedOutputStream out = null; - BufferedInputStream in = null; - - try { - out = new BufferedOutputStream(new FileOutputStream(target)); - in = new BufferedInputStream(source); - IOHelper.copy(in, out); - } finally { - IOHelper.closeQuietly(out); - IOHelper.closeQuietly(in); - } - } - - public URL store(final String contribution, URL sourceURL, InputStream contributionStream) throws IOException { - // where the file should be stored in the repository - final File location = mapToFile(sourceURL); - FileHelper.forceMkdir(location.getParentFile()); - - copy(contributionStream, location); - - // add contribution to repositoryContent - // Allow ability to read user.dir property. Requires PropertyPermission in security policy. - URL contributionURL; - try { - contributionURL= AccessController.doPrivileged(new PrivilegedExceptionAction() { - public URL run() throws IOException { - URL contributionURL = location.toURL(); - URI relative = rootFile.toURI().relativize(location.toURI()); - contributionLocations.put(contribution, relative.toString()); - return contributionURL; - } - }); - } catch (PrivilegedActionException e) { - error("PrivilegedActionException", location, (IOException)e.getException()); - throw (IOException)e.getException(); - } - saveMap(); - - return contributionURL; - } - - public URL store(String contribution, URL sourceURL) throws IOException { - // where the file should be stored in the repository - File location = mapToFile(sourceURL); - File source = FileHelper.toFile(sourceURL); - if (source == null || source.isFile()) { - URLConnection connection = sourceURL.openConnection(); - connection.setUseCaches(false); - InputStream is = connection.getInputStream(); - try { - return store(contribution, sourceURL, is); - } finally { - IOHelper.closeQuietly(is); - } - } - - FileHelper.forceMkdir(location); - FileHelper.copyDirectory(source, location); - - // add contribution to repositoryContent - URI relative = rootFile.toURI().relativize(location.toURI()); - contributionLocations.put(contribution, relative.toString()); - saveMap(); - - return location.toURL(); - } - - public URL find(String contribution) { - if (contribution == null) { - return null; - } - String location = contributionLocations.get(contribution); - if (location == null) { - return null; - } - try { - return new File(rootFile, location).toURL(); - } catch (MalformedURLException e) { - // Should not happen - error("MalformedURLException", location, new AssertionError(e)); - throw new AssertionError(e); - } - } - - public void remove(String contribution) { - URL contributionURL = this.find(contribution); - if (contributionURL != null) { - // remove - try { - FileHelper.forceDelete(FileHelper.toFile(contributionURL)); - this.contributionLocations.remove(contribution); - saveMap(); - } catch (IOException ioe) { - // handle file could not be removed - } - } - } - - public List list() { - return new ArrayList(contributionLocations.keySet()); - } - - public void init() { - File domainFile = new File(rootFile, "sca-domain.xml"); - if (!domainFile.isFile()) { - return; - } - FileInputStream is; - try { - is = new FileInputStream(domainFile); - } catch (FileNotFoundException e) { - warning("DomainFileNotFound", domainFile, domainFile.getAbsolutePath()); - return; - } - try { - XMLStreamReader reader = factory.createXMLStreamReader(new InputStreamReader(is, "UTF-8")); - while (reader.hasNext()) { - switch (reader.getEventType()) { - case XMLStreamConstants.START_ELEMENT: - String name = reader.getName().getLocalPart(); - if ("domain".equals(name)) { - String uri = reader.getAttributeValue(null, "uri"); - if (uri != null) { - domain = URI.create(uri); - } - } - if ("contribution".equals(name)) { - String uri = reader.getAttributeValue(null, "uri"); - String location = reader.getAttributeValue(null, "location"); - contributionLocations.put(uri, location); - } - break; - default: - break; - } - reader.next(); - } - } catch (Exception e) { - // Ignore - } finally { - IOHelper.closeQuietly(is); - } - } - - private void saveMap() { - File domainFile = new File(rootFile, DOMAIN_INDEX_FILENAME); - FileOutputStream os = null; - try { - os = new FileOutputStream(domainFile); - PrintWriter writer = new PrintWriter(new OutputStreamWriter(os, "UTF-8")); - writer.println(""); - writer.println(""); - for (Map.Entry e : contributionLocations.entrySet()) { - writer.println(" "); - } - writer.println(""); - writer.flush(); - } catch (IOException e) { - IllegalArgumentException ae = new IllegalArgumentException(e); - error("IllegalArgumentException", os, ae); - throw ae; - } finally { - IOHelper.closeQuietly(os); - } - } - - public void destroy() { - } - - public void addContribution(Contribution contribution) { - contributionMap.put(contribution.getURI(), contribution); - contributions.add(contribution); - } - - public void removeContribution(Contribution contribution) { - contributionMap.remove(contribution.getURI()); - contributions.remove(contribution); - } - - public void updateContribution(Contribution contribution) { - Contribution oldContribution = contributionMap.remove(contribution.getURI()); - contributions.remove(oldContribution); - contributionMap.put(contribution.getURI(), contribution); - contributions.add(contribution); - } - - public Contribution getContribution(String uri) { - return contributionMap.get(uri); - } - - public List getContributions() { - return Collections.unmodifiableList(contributions); - } - -} diff --git a/java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java b/java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java deleted file mode 100644 index 7b8b12ca9d..0000000000 --- a/java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java +++ /dev/null @@ -1,584 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.service.impl; - -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URL; -import java.net.URLClassLoader; -import java.net.URLConnection; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; -import java.util.ArrayList; -import java.util.List; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamException; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.contribution.Artifact; -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.ContributionFactory; -import org.apache.tuscany.sca.contribution.ContributionMetadata; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.PackageProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.ExtensibleModelResolver; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint; -import org.apache.tuscany.sca.contribution.service.ContributionException; -import org.apache.tuscany.sca.contribution.service.ContributionRepository; -import org.apache.tuscany.sca.contribution.service.ContributionService; -import org.apache.tuscany.sca.contribution.service.ExtensibleContributionListener; -import org.apache.tuscany.sca.contribution.service.util.IOHelper; -import org.apache.tuscany.sca.contribution.xml.ContributionMetadataDocumentProcessor; -import org.apache.tuscany.sca.definitions.SCADefinitions; -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.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * Service interface that manages artifacts contributed to a Tuscany runtime. - * - * @version $Rev$ $Date$ - */ -public class ContributionServiceImpl implements ContributionService { - - /** - * Repository where contributions are stored. Usually set by injection. - */ - private ContributionRepository contributionRepository; - - /** - * Registry of available package processors. - */ - private PackageProcessor packageProcessor; - - /** - * Registry of available artifact processors - */ - - private URLArtifactProcessor artifactProcessor; - - /** - * Registry of available StAX processors, - * used for loading contribution metadata in a extensible way - */ - private StAXArtifactProcessor staxProcessor; - - /** - * Event listener for contribution operations - */ - private ExtensibleContributionListener contributionListener; - - /** - * Registry of available model resolvers - */ - - private ModelResolverExtensionPoint modelResolvers; - - /** - * Model factory extension point - */ - - private ModelFactoryExtensionPoint modelFactories; - - /** - * XML factory used to create reader instance to load contribution metadata - */ - private XMLInputFactory xmlFactory; - - /** - * Assembly factory - */ - private AssemblyFactory assemblyFactory; - - /** - * Contribution model factory - */ - private ContributionFactory contributionFactory; - - - private ModelResolver policyDefinitionsResolver; - - private List policyDefinitions; - - private Monitor monitor; - - private String COMPOSITE_FILE_EXTN = ".composite"; - - public ContributionServiceImpl(ContributionRepository repository, - PackageProcessor packageProcessor, - URLArtifactProcessor documentProcessor, - StAXArtifactProcessor staxProcessor, - ExtensibleContributionListener contributionListener, - ModelResolver policyDefinitionsResolver, - ModelResolverExtensionPoint modelResolvers, - ModelFactoryExtensionPoint modelFactories, - AssemblyFactory assemblyFactory, - ContributionFactory contributionFactory, - XMLInputFactory xmlFactory, - List policyDefinitions, - Monitor monitor) { - super(); - this.contributionRepository = repository; - this.packageProcessor = packageProcessor; - this.artifactProcessor = documentProcessor; - this.staxProcessor = staxProcessor; - this.contributionListener = contributionListener; - this.modelResolvers = modelResolvers; - this.modelFactories = modelFactories; - this.xmlFactory = xmlFactory; - this.assemblyFactory = assemblyFactory; - this.contributionFactory = contributionFactory; - this.policyDefinitionsResolver = policyDefinitionsResolver; - this.policyDefinitions = policyDefinitions; - this.monitor = monitor; - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-impl-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - public Contribution contribute(String contributionURI, URL sourceURL, boolean storeInRepository) - throws ContributionException, IOException { - if (contributionURI == null) { - error("ContributionURINull", contributionURI); - throw new IllegalArgumentException("URI for the contribution is null"); - } - if (sourceURL == null) { - error("SourceURLNull", sourceURL); - throw new IllegalArgumentException("Source URL for the contribution is null"); - } - return addContribution(contributionURI, sourceURL, null, null, storeInRepository); - } - - public Contribution contribute(String contributionURI, - URL sourceURL, - ModelResolver modelResolver, - boolean storeInRepository) throws ContributionException, IOException { - if (contributionURI == null) { - error("ContributionURINull", contributionURI); - throw new IllegalArgumentException("URI for the contribution is null"); - } - if (sourceURL == null) { - error("SourceURLNull", sourceURL); - throw new IllegalArgumentException("Source URL for the contribution is null"); - } - - return addContribution(contributionURI, sourceURL, null, modelResolver, storeInRepository); - } - - public Contribution contribute(String contributionURI, URL sourceURL, InputStream input) - throws ContributionException, IOException { - - return addContribution(contributionURI, sourceURL, input, null, true); - } - - public Contribution contribute(String contributionURI, URL sourceURL, InputStream input, ModelResolver modelResolver) - throws ContributionException, IOException { - - return addContribution(contributionURI, sourceURL, input, modelResolver, true); - } - - public Contribution getContribution(String uri) { - return this.contributionRepository.getContribution(uri); - } - - /** - * Remove a contribution and notify listener that contribution was removed - */ - public void remove(String uri) throws ContributionException { - Contribution contribution = contributionRepository.getContribution(uri); - this.contributionRepository.removeContribution(contribution); - this.contributionListener.contributionRemoved(this.contributionRepository, contribution); - } - - /** - * Add a composite model to the contribution - */ - public void addDeploymentComposite(Contribution contribution, Composite composite) throws ContributionException { - Artifact artifact = this.contributionFactory.createArtifact(); - artifact.setURI(composite.getURI()); - artifact.setModel(composite); - - contribution.getArtifacts().add(artifact); - - contribution.getDeployables().add(composite); - } - - /** - * Utility/Helper methods for contribution service - */ - - /** - * Perform read of the contribution metadata loader (sca-contribution.xml and sca-contribution-generated.xml) - * When the two metadata files are available, the information provided are merged, and the sca-contribution has priorities - * - * @param sourceURL - * @return Contribution - * @throws ContributionException - */ - private Contribution readContributionMetadata(URL sourceURL) throws ContributionException { - Contribution contributionMetadata = contributionFactory.createContribution(); - - ContributionMetadataDocumentProcessor metadataDocumentProcessor = - new ContributionMetadataDocumentProcessor(modelFactories, staxProcessor, monitor); - - final URL[] urls = {sourceURL}; - // Allow access to create classloader. Requires RuntimePermission in security policy. - URLClassLoader cl = AccessController.doPrivileged(new PrivilegedAction() { - public URLClassLoader run() { - return new URLClassLoader(urls, null); - } - }); - for (String path: new String[]{ - Contribution.SCA_CONTRIBUTION_GENERATED_META, - Contribution.SCA_CONTRIBUTION_META}) { - URL url = cl.getResource(path); - if (url != null) { - ContributionMetadata contribution = metadataDocumentProcessor.read(sourceURL, URI.create(path), url); - contributionMetadata.getImports().addAll(contribution.getImports()); - contributionMetadata.getExports().addAll(contribution.getExports()); - contributionMetadata.getDeployables().addAll(contribution.getDeployables()); - } - } - - // For debugging purposes, write it back to XML - // if (contributionMetadata != null) { - // try { - // ByteArrayOutputStream bos = new ByteArrayOutputStream(); - // XMLOutputFactory outputFactory = XMLOutputFactory.newInstance(); - // outputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, Boolean.TRUE); - // staxProcessor.write(contributionMetadata, outputFactory.createXMLStreamWriter(bos)); - // Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new ByteArrayInputStream(bos.toByteArray())); - // OutputFormat format = new OutputFormat(); - // format.setIndenting(true); - // format.setIndent(2); - // XMLSerializer serializer = new XMLSerializer(System.out, format); - // serializer.serialize(document); - // } catch (Exception e) { - // e.printStackTrace(); - // } - // } - - return contributionMetadata; - } - - /** - * Note: - * - * @param contributionURI ContributionID - * @param sourceURL contribution location - * @param contributionStream contribution content - * @param storeInRepository flag if we store the contribution into the - * repository or not - * @return the contribution model representing the contribution - * @throws IOException - * @throws DeploymentException - */ - private Contribution addContribution(String contributionURI, - URL sourceURL, - InputStream contributionStream, - ModelResolver modelResolver, - boolean storeInRepository) throws IOException, ContributionException { - - if (contributionStream == null && sourceURL == null) { - error("ContributionContentNull", contributionStream); - throw new IllegalArgumentException("The content of the contribution is null."); - } - - // store the contribution in the contribution repository - URL locationURL = sourceURL; - if (contributionRepository != null && storeInRepository) { - if (contributionStream == null) { - locationURL = contributionRepository.store(contributionURI, sourceURL); - } else { - locationURL = contributionRepository.store(contributionURI, sourceURL, contributionStream); - } - } - - //initialize contribution based on it's metadata if available - Contribution contribution = readContributionMetadata(locationURL); - - // Create contribution model resolver - if (modelResolver == null) { - //FIXME Remove this domain resolver, visibility of policy declarations should be handled by - // the contribution import/export mechanism instead of this domainResolver hack. - modelResolver = new ExtensibleModelResolver(contribution, modelResolvers, modelFactories, policyDefinitionsResolver); - } - - //set contribution initial information - contribution.setURI(contributionURI); - contribution.setLocation(locationURL.toString()); - contribution.setModelResolver(modelResolver); - - List contributionArtifacts = null; - - //NOTE: if a contribution is stored on the repository - //the stream would be consumed at this point - if (storeInRepository || contributionStream == null) { - URLConnection connection = sourceURL.openConnection(); - connection.setUseCaches(false); - // Allow access to open URL stream. Add FilePermission to added to security policy file. - final URLConnection finalConnection = connection; - try { - contributionStream = AccessController.doPrivileged(new PrivilegedExceptionAction() { - public InputStream run() throws IOException { - return finalConnection.getInputStream(); - } - }); - } catch (PrivilegedActionException e) { - throw (IOException)e.getException(); - } - - try { - // process the contribution - contributionArtifacts = this.packageProcessor.getArtifacts(locationURL, contributionStream); - } finally { - IOHelper.closeQuietly(contributionStream); - contributionStream = null; - } - } else { - // process the contribution - contributionArtifacts = this.packageProcessor.getArtifacts(locationURL, contributionStream); - } - - // Read all artifacts in the contribution - try { - // Allow access to read system properties. Requires PropertyPermission in security policy. - // Any security exceptions are caught and wrapped as ContributionException. - processReadPhase(contribution, contributionArtifacts); - } catch ( Exception e ) { - throw new ContributionException(e); - } - - // - this.contributionListener.contributionAdded(this.contributionRepository, contribution); - - // Resolve them - processResolvePhase(contribution); - - // Add all composites under META-INF/sca-deployables to the - // list of deployables - String prefix = Contribution.SCA_CONTRIBUTION_DEPLOYABLES; - for (Artifact artifact : contribution.getArtifacts()) { - if (artifact.getModel() instanceof Composite) { - if (artifact.getURI().startsWith(prefix)) { - Composite composite = (Composite)artifact.getModel(); - if (!contribution.getDeployables().contains(composite)) { - contribution.getDeployables().add(composite); - } - } - } - } - - processApplicationComposite(contribution); - - // store the contribution on the registry - this.contributionRepository.addContribution(contribution); - - return contribution; - } - - /** - * Process any application composite (eg see 5.1.3 of SCA JEE spec) - * TODO: see TUSCANY-2581 - */ - private void processApplicationComposite(Contribution contribution) { - - Composite composite = findComposite("web-inf/web.composite", contribution); - if (composite != null) { - if (!contribution.getDeployables().contains(composite)) { - contribution.getDeployables().add(createDeploymentComposite(composite)); - } - } - } - - /** - * Create a deployment composite for the composite - * See line 247 section 5.1.3 of SCA JEE spec - */ - private Composite createDeploymentComposite(Composite composite) { - // TODO: for now just use as-is - return composite; - } - - private Composite findComposite(String name, Contribution contribution) { - for (Artifact artifact : contribution.getArtifacts()) { - if (artifact.getModel() instanceof Composite) { - if (name.equalsIgnoreCase(artifact.getURI())) { - return (Composite)artifact.getModel(); - } - } - } - return null; - } - - /** - * This utility method process each artifact and delegates to proper - * artifactProcessor to read the model and generate the in-memory representation - * - * @param contribution - * @param artifacts - * @throws ContributionException - * @throws MalformedURLException - */ - private void processReadPhase(Contribution contribution, List artifacts) throws ContributionException, - MalformedURLException, XMLStreamException { - - ModelResolver modelResolver = contribution.getModelResolver(); - URL contributionURL = new URL(contribution.getLocation()); - - List compositeUris = new ArrayList(); - - Object model = null; - for (URI anArtifactUri : artifacts) { - if ( anArtifactUri.toString().endsWith(COMPOSITE_FILE_EXTN)) { - compositeUris.add(anArtifactUri); - } else { - URL artifactURL = packageProcessor.getArtifactURL(new URL(contribution.getLocation()), anArtifactUri); - - // Add the deployed artifact model to the resolver - Artifact artifact = this.contributionFactory.createArtifact(); - artifact.setURI(anArtifactUri.toString()); - artifact.setLocation(artifactURL.toString()); - contribution.getArtifacts().add(artifact); - modelResolver.addModel(artifact); - - model = this.artifactProcessor.read(contributionURL, anArtifactUri, artifactURL); - - if (model != null) { - artifact.setModel(model); - - // Add the loaded model to the model resolver - modelResolver.addModel(model); - - // Add policy definitions to the list of policy definitions - if (model instanceof SCADefinitions) { - policyDefinitions.add(model); - - SCADefinitions definitions = (SCADefinitions)model; - for (Intent intent : definitions.getPolicyIntents() ) { - policyDefinitionsResolver.addModel(intent); - } - - for (PolicySet policySet : definitions.getPolicySets() ) { - policyDefinitionsResolver.addModel(policySet); - } - - for (IntentAttachPointType attachPointType : definitions.getBindingTypes() ) { - policyDefinitionsResolver.addModel(attachPointType); - } - - for (IntentAttachPointType attachPointType : definitions.getImplementationTypes() ) { - policyDefinitionsResolver.addModel(attachPointType); - } - for (Object binding : definitions.getBindings() ) { - policyDefinitionsResolver.addModel(binding); - } - } - } - } - } - - for (URI anArtifactUri : compositeUris) { - URL artifactURL = packageProcessor.getArtifactURL(new URL(contribution.getLocation()), anArtifactUri); - - // Add the deployed artifact model to the resolver - Artifact artifact = this.contributionFactory.createArtifact(); - artifact.setURI(anArtifactUri.toString()); - artifact.setLocation(artifactURL.toString()); - contribution.getArtifacts().add(artifact); - modelResolver.addModel(artifact); - - model = this.artifactProcessor.read(contributionURL, anArtifactUri, artifactURL); - if (model != null) { - artifact.setModel(model); - // Add the loaded model to the model resolver - modelResolver.addModel(model); - } - } - } - - /** - * This utility method process each artifact and delegates to proper - * artifactProcessor to resolve the model references - * - * @param contribution - * @throws ContributionException - */ - @SuppressWarnings("unchecked") - private void processResolvePhase(Contribution contribution) throws ContributionException { - List composites = new ArrayList(); - - // for each artifact that was processed on the contribution - for (Artifact artifact : contribution.getArtifacts()) { - //leave the composites to be resolved at the end - if (artifact.getURI().endsWith(".composite")) { - composites.add(artifact); - } else { - // resolve the model object - if (artifact.getModel() != null) { - // System.out.println("Processing Resolve Phase : " + artifact.getURI()); - this.artifactProcessor.resolve(artifact.getModel(), contribution.getModelResolver()); - } - } - } - - //process each composite file - for (Artifact artifact : composites) { - // resolve the model object - if (artifact.getModel() != null) { - this.artifactProcessor.resolve(artifact.getModel(), contribution.getModelResolver()); - } - } - - //resolve deployables from contribution metadata - List resolvedDeployables = new ArrayList(); - for (Composite deployableComposite : contribution.getDeployables()) { - Composite resolvedDeployable = - contribution.getModelResolver().resolveModel(Composite.class, deployableComposite); - - resolvedDeployables.add(resolvedDeployable); - } - contribution.getDeployables().clear(); - contribution.getDeployables().addAll(resolvedDeployables); - } -} diff --git a/java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/PackageTypeDescriberImpl.java b/java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/PackageTypeDescriberImpl.java deleted file mode 100644 index 110450c469..0000000000 --- a/java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/PackageTypeDescriberImpl.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.contribution.service.impl; - -import java.io.File; -import java.io.IOException; -import java.net.URL; -import java.net.URLConnection; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.sca.contribution.PackageType; -import org.apache.tuscany.sca.contribution.service.TypeDescriber; -import org.apache.tuscany.sca.contribution.service.util.FileHelper; - -/** - * Implementation of the content describer for contribution packages - * - * @version $Rev$ $Date$ - */ -public class PackageTypeDescriberImpl implements TypeDescriber { - private final Map contentTypeRegistry = new HashMap(); - - public PackageTypeDescriberImpl() { - super(); - init(); - } - - /** - * Initialize contentType registry with know types based on known file extensions - */ - private void init() { - contentTypeRegistry.put("JAR", PackageType.JAR); - contentTypeRegistry.put("WAR", PackageType.JAR); - contentTypeRegistry.put("ZIP", PackageType.ZIP); - } - - protected String resolveContentyTypeByExtension(URL resourceURL) { - String artifactExtension = FileHelper.getExtension(resourceURL.getPath()); - if (artifactExtension == null) { - return null; - } - return contentTypeRegistry.get(artifactExtension.toUpperCase()); - } - - /** - * Build contentType for a specific resource. We first check if the file is a supported one - * (looking into our registry based on resource extension) If not found, we try to check file - * contentType Or we return defaultContentType provided - * - * @param resourceURL The artifact URL - * @param defaultContentType The default content type if we can't find the correct one - * @return The content type - */ - public String getType(URL resourceURL, String defaultContentType) { - URLConnection connection = null; - String contentType = defaultContentType; - final String urlProtocol = resourceURL.getProtocol(); - - if (urlProtocol.equals("file")) { - final File fileOrDir = FileHelper.toFile(resourceURL); - // Allow privileged access to test file. Requires FilePermissions in security policy. - Boolean isDirectory = AccessController.doPrivileged(new PrivilegedAction() { - public Boolean run() { - return fileOrDir.isDirectory(); - } - }); - if (isDirectory) { - // Special case : contribution is a folder - contentType = PackageType.FOLDER; - } - - String type = resolveContentyTypeByExtension(resourceURL); - if (type != null) { - return type; - } - } else if (urlProtocol.equals("bundle") || urlProtocol.equals("bundleresource")) { - contentType = PackageType.BUNDLE; - } else { - contentType = resolveContentyTypeByExtension(resourceURL); - if (contentType == null) { - try { - connection = resourceURL.openConnection(); - connection.setUseCaches(false); - contentType = connection.getContentType(); - - if (contentType == null || contentType.equals("content/unknown")) { - // here we couldn't figure out from our registry or from URL and it's not a - // special file - // return defaultContentType if provided - contentType = defaultContentType; - } - } catch (IOException io) { - // could not access artifact, just ignore and we will return - // null contentType - } - } - } - return contentType == null ? defaultContentType : contentType; - } - -} diff --git a/java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/util/FileHelper.java b/java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/util/FileHelper.java deleted file mode 100644 index cd5e87ca42..0000000000 --- a/java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/util/FileHelper.java +++ /dev/null @@ -1,701 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.service.util; - -import java.io.File; -import java.io.FileFilter; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.net.URL; -import java.util.regex.Pattern; - -public class FileHelper { - /** - * The extension separator character. - */ - private static final char EXTENSION_SEPARATOR = '.'; - - /** - * The Unix separator character. - */ - private static final char UNIX_SEPARATOR = '/'; - - /** - * The Windows separator character. - */ - private static final char WINDOWS_SEPARATOR = '\\'; - - /** - * Returns the index of the last directory separator character. - *

- * This method will handle a file in either Unix or Windows format. The - * position of the last forward or backslash is returned. - *

- * The output will be the same irrespective of the machine that the code is - * running on. - * - * @param filename the filename to find the last path separator in, null - * returns -1 - * @return the index of the last separator character, or -1 if there is no - * such character - */ - public static int indexOfLastSeparator(String filename) { - if (filename == null) { - return -1; - } - int lastUnixPos = filename.lastIndexOf(UNIX_SEPARATOR); - int lastWindowsPos = filename.lastIndexOf(WINDOWS_SEPARATOR); - return Math.max(lastUnixPos, lastWindowsPos); - } - - /** - * Returns the index of the last extension separator character, which is a - * dot. - *

- * This method also checks that there is no directory separator after the - * last dot. To do this it uses {@link #indexOfLastSeparator(String)} which - * will handle a file in either Unix or Windows format. - *

- * The output will be the same irrespective of the machine that the code is - * running on. - * - * @param filename the filename to find the last path separator in, null - * returns -1 - * @return the index of the last separator character, or -1 if there is no - * such character - */ - public static int indexOfExtension(String filename) { - if (filename == null) { - return -1; - } - int extensionPos = filename.lastIndexOf(EXTENSION_SEPARATOR); - int lastSeparator = indexOfLastSeparator(filename); - return lastSeparator > extensionPos ? -1 : extensionPos; - } - - /** - * Gets the name minus the path from a full filename. - *

- * This method will handle a file in either Unix or Windows format. The text - * after the last forward or backslash is returned. - * - *

-     * a/b/c.txt --> c.txt
-     * a.txt     --> a.txt
-     * a/b/c     --> c
-     * a/b/c/    --> ""
-     * 
- * - *

- * The output will be the same irrespective of the machine that the code is - * running on. - * - * @param fileName the filename to query, null returns null - * @return the name of the file without the path, or an empty string if none - * exists - */ - public static String getName(String fileName) { - if (fileName == null) { - return null; - } - int index = indexOfLastSeparator(fileName); - return fileName.substring(index + 1); - } - - /** - * Gets the extension of a filename. - *

- * This method returns the textual part of the filename after the last dot. - * There must be no directory separator after the dot. - * - *

-     * foo.txt      --> "txt"
-     * a/b/c.jpg    --> "jpg"
-     * a/b.txt/c    --> ""
-     * a/b/c        --> ""
-     * 
- * - *

- * The output will be the same irrespective of the machine that the code is - * running on. - * - * @param filename the filename to retrieve the extension of. - * @return the extension of the file or an empty string if none exists. - */ - public static String getExtension(String filename) { - if (filename == null) { - return null; - } - int index = indexOfExtension(filename); - if (index == -1) { - return ""; - } else { - return filename.substring(index + 1); - } - } - - /** - * Make a directory, including any necessary but nonexistent parent - * directories. If there already exists a file with specified name or the - * directory cannot be created then an exception is thrown. - * - * @param directory directory to create, not null - * @throws NullPointerException if the directory is null - * @throws IOException if the directory cannot be created - */ - public static void forceMkdir(File directory) throws IOException { - if (directory.exists()) { - if (directory.isFile()) { - String message = - "File " + directory + " exists and is " + "not a directory. Unable to create directory."; - throw new IOException(message); - } - } else { - if (!directory.mkdirs()) { - String message = "Unable to create directory " + directory; - throw new IOException(message); - } - } - } - - /** - * Delete a file. If file is a directory, delete it and all sub-directories. - *

- * The difference between File.delete() and this method are: - *

    - *
  • A directory to be deleted does not have to be empty.
  • - *
  • You get exceptions when a file or directory cannot be deleted. - * (java.io.File methods returns a boolean)
  • - *
- * - * @param file file or directory to delete, not null - * @throws NullPointerException if the directory is null - * @throws IOException in case deletion is unsuccessful - */ - public static void forceDelete(File file) throws IOException { - if (file.isDirectory()) { - deleteDirectory(file); - } else { - if (!file.exists()) { - throw new FileNotFoundException("File does not exist: " + file); - } - if (!file.delete()) { - String message = "Unable to delete file: " + file; - throw new IOException(message); - } - } - } - - /** - * Convert from a URL to a File. - *

- * From version 1.1 this method will decode the URL. Syntax such as - * file:///my%20docs/file.txt will be correctly decoded to - * /my docs/file.txt. - * - * @param url the file URL to convert, null returns null - * @return the equivalent File object, or null - * if the URL's protocol is not file - * @throws IllegalArgumentException if the file is incorrectly encoded - */ - public 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) { // NOPMD - 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); - } - } - - public static FileFilter getFileFilter(String regExp, boolean ignoreCase) { - return new RegExpFilter(regExp, ignoreCase); - } - - /** - * A regular-expression based resource filter - */ - public static class RegExpFilter implements FileFilter { - private Pattern pattern; - - public RegExpFilter(Pattern pattern) { - this.pattern = pattern; - } - - public RegExpFilter(String patternStr, boolean ignoreCase) { - this.pattern = Pattern.compile(patternStr, ignoreCase ? Pattern.CASE_INSENSITIVE : 0); - } - - public boolean accept(File file) { - return pattern.matcher(file.getName()).matches(); - } - - /** - * Convert wildcard into a regex pattern - * - * @param str - * @return - */ - public static RegExpFilter getWildcardFilter(String str, boolean ignoreCase) { - StringBuffer buffer = new StringBuffer(); - for (int i = 0; i < str.length(); i++) { - char ch = str.charAt(i); - if (ch == '?') { - buffer.append('.'); - } else if (ch == '*') { - buffer.append(".*"); - } else { - buffer.append(ch); - } - } - return new RegExpFilter(buffer.toString(), ignoreCase); - } - - } - - /** - * Clean a directory without deleting it. - * - * @param directory directory to clean - * @throws IOException in case cleaning is unsuccessful - */ - public static void cleanDirectory(File directory) throws IOException { - if (!directory.exists()) { - String message = directory + " does not exist"; - throw new IllegalArgumentException(message); - } - - if (!directory.isDirectory()) { - String message = directory + " is not a directory"; - throw new IllegalArgumentException(message); - } - - File[] files = directory.listFiles(); - if (files == null) { // null if security restricted - throw new IOException("Failed to list contents of " + directory); - } - - IOException exception = null; - for (int i = 0; i < files.length; i++) { - File file = files[i]; - try { - forceDelete(file); - } catch (IOException ioe) { - exception = ioe; - } - } - - if (null != exception) { - throw exception; - } - } - - /** - * Clean a directory without deleting it. - * - * @param directory directory to clean, must not be null - * @throws NullPointerException if the directory is null - * @throws IOException in case cleaning is unsuccessful - */ - private static void cleanDirectoryOnExit(File directory) throws IOException { - if (!directory.exists()) { - String message = directory + " does not exist"; - throw new IllegalArgumentException(message); - } - - if (!directory.isDirectory()) { - String message = directory + " is not a directory"; - throw new IllegalArgumentException(message); - } - - File[] files = directory.listFiles(); - if (files == null) { // null if security restricted - throw new IOException("Failed to list contents of " + directory); - } - - IOException exception = null; - for (int i = 0; i < files.length; i++) { - File file = files[i]; - try { - forceDeleteOnExit(file); - } catch (IOException ioe) { - exception = ioe; - } - } - - if (null != exception) { - throw exception; - } - } - - /** - * Copies a whole directory to a new location preserving the file dates. - *

- * This method copies the specified directory and all its child directories - * and files to the specified destination. The destination is the new - * location and name of the directory. - *

- * The destination directory is created if it does not exist. If the - * destination directory did exist, then this method merges the source with - * the destination, with the source taking precedence. - * - * @param srcDir an existing directory to copy, must not be - * null - * @param destDir the new directory, must not be null - * @throws NullPointerException if source or destination is - * null - * @throws IOException if source or destination is invalid - * @throws IOException if an IO error occurs during copying - * @since Commons IO 1.1 - */ - public static void copyDirectory(File srcDir, File destDir) throws IOException { - copyDirectory(srcDir, destDir, true); - } - - /** - * Copies a whole directory to a new location. - *

- * This method copies the contents of the specified source directory to - * within the specified destination directory. - *

- * The destination directory is created if it does not exist. If the - * destination directory did exist, then this method merges the source with - * the destination, with the source taking precedence. - * - * @param srcDir an existing directory to copy, must not be - * null - * @param destDir the new directory, must not be null - * @param preserveFileDate true if the file date of the copy should be the - * same as the original - * @throws NullPointerException if source or destination is - * null - * @throws IOException if source or destination is invalid - * @throws IOException if an IO error occurs during copying - * @since Commons IO 1.1 - */ - public static void copyDirectory(File srcDir, File destDir, boolean preserveFileDate) throws IOException { - if (srcDir == null) { - throw new NullPointerException("Source must not be null"); - } - if (destDir == null) { - throw new NullPointerException("Destination must not be null"); - } - if (!srcDir.exists()) { - throw new FileNotFoundException("Source '" + srcDir + "' does not exist"); - } - if (!srcDir.isDirectory()) { - throw new IOException("Source '" + srcDir + "' exists but is not a directory"); - } - if (srcDir.getCanonicalPath().equals(destDir.getCanonicalPath())) { - throw new IOException("Source '" + srcDir + "' and destination '" + destDir + "' are the same"); - } - doCopyDirectory(srcDir, destDir, preserveFileDate); - } - - // ----------------------------------------------------------------------- - /** - * Copies a directory to within another directory preserving the file dates. - *

- * This method copies the source directory and all its contents to a - * directory of the same name in the specified destination directory. - *

- * The destination directory is created if it does not exist. If the - * destination directory did exist, then this method merges the source with - * the destination, with the source taking precedence. - * - * @param srcDir an existing directory to copy, must not be - * null - * @param destDir the directory to place the copy in, must not be - * null - * @throws NullPointerException if source or destination is - * null - * @throws IOException if source or destination is invalid - * @throws IOException if an IO error occurs during copying - * @since Commons IO 1.2 - */ - public static void copyDirectoryToDirectory(File srcDir, File destDir) throws IOException { - if (srcDir == null) { - throw new NullPointerException("Source must not be null"); - } - if (!(srcDir.exists() && srcDir.isDirectory())) { - throw new IllegalArgumentException("Source '" + destDir + "' is not a directory"); - } - if (destDir == null) { - throw new NullPointerException("Destination must not be null"); - } - if (!(destDir.exists() && destDir.isDirectory())) { - throw new IllegalArgumentException("Destination '" + destDir + "' is not a directory"); - } - copyDirectory(srcDir, new File(destDir, srcDir.getName()), true); - } - - /** - * Copies a file to a new location preserving the file date. - *

- * This method copies the contents of the specified source file to the - * specified destination file. The directory holding the destination file is - * created if it does not exist. If the destination file exists, then this - * method will overwrite it. - * - * @param srcFile an existing file to copy, must not be null - * @param destFile the new file, must not be null - * @throws NullPointerException if source or destination is - * null - * @throws IOException if source or destination is invalid - * @throws IOException if an IO error occurs during copying - * @see #copyFileToDirectory(File, File) - */ - public static void copyFile(File srcFile, File destFile) throws IOException { - copyFile(srcFile, destFile, true); - } - - /** - * Copies a file to a new location. - *

- * This method copies the contents of the specified source file to the - * specified destination file. The directory holding the destination file is - * created if it does not exist. If the destination file exists, then this - * method will overwrite it. - * - * @param srcFile an existing file to copy, must not be null - * @param destFile the new file, must not be null - * @param preserveFileDate true if the file date of the copy should be the - * same as the original - * @throws NullPointerException if source or destination is - * null - * @throws IOException if source or destination is invalid - * @throws IOException if an IO error occurs during copying - * @see #copyFileToDirectory(File, File, boolean) - */ - public static void copyFile(File srcFile, File destFile, boolean preserveFileDate) throws IOException { - if (srcFile == null) { - throw new NullPointerException("Source must not be null"); - } - if (destFile == null) { - throw new NullPointerException("Destination must not be null"); - } - if (!srcFile.exists()) { - throw new FileNotFoundException("Source '" + srcFile + "' does not exist"); - } - if (srcFile.isDirectory()) { - throw new IOException("Source '" + srcFile + "' exists but is a directory"); - } - if (srcFile.getCanonicalPath().equals(destFile.getCanonicalPath())) { - throw new IOException("Source '" + srcFile + "' and destination '" + destFile + "' are the same"); - } - if (!(destFile.getParentFile() != null && destFile.getParentFile().exists())) { - if (!destFile.getParentFile().mkdirs()) { //NOPMD - throw new IOException("Destination '" + destFile + "' directory cannot be created"); - } - } - if (!(destFile.exists() && destFile.canWrite())) { - throw new IOException("Destination '" + destFile + "' exists but is read-only"); - } - doCopyFile(srcFile, destFile, preserveFileDate); - } - - // ----------------------------------------------------------------------- - /** - * Copies a file to a directory preserving the file date. - *

- * This method copies the contents of the specified source file to a file of - * the same name in the specified destination directory. The destination - * directory is created if it does not exist. If the destination file - * exists, then this method will overwrite it. - * - * @param srcFile an existing file to copy, must not be null - * @param destDir the directory to place the copy in, must not be - * null - * @throws NullPointerException if source or destination is null - * @throws IOException if source or destination is invalid - * @throws IOException if an IO error occurs during copying - * @see #copyFile(File, File, boolean) - */ - public static void copyFileToDirectory(File srcFile, File destDir) throws IOException { - copyFileToDirectory(srcFile, destDir, true); - } - - /** - * Copies a file to a directory optionally preserving the file date. - *

- * This method copies the contents of the specified source file to a file of - * the same name in the specified destination directory. The destination - * directory is created if it does not exist. If the destination file - * exists, then this method will overwrite it. - * - * @param srcFile an existing file to copy, must not be null - * @param destDir the directory to place the copy in, must not be - * null - * @param preserveFileDate true if the file date of the copy should be the - * same as the original - * @throws NullPointerException if source or destination is - * null - * @throws IOException if source or destination is invalid - * @throws IOException if an IO error occurs during copying - * @see #copyFile(File, File, boolean) - * @since Commons IO 1.3 - */ - public static void copyFileToDirectory(File srcFile, File destDir, boolean preserveFileDate) throws IOException { - if (destDir == null) { - throw new NullPointerException("Destination must not be null"); - } - if (!(destDir.exists() && destDir.isDirectory())) { - throw new IllegalArgumentException("Destination '" + destDir + "' is not a directory"); - } - copyFile(srcFile, new File(destDir, srcFile.getName()), preserveFileDate); - } - - // ----------------------------------------------------------------------- - /** - * Recursively delete a directory. - * - * @param directory directory to delete - * @throws IOException in case deletion is unsuccessful - */ - public static void deleteDirectory(File directory) throws IOException { - if (!directory.exists()) { - return; - } - - cleanDirectory(directory); - if (!directory.delete()) { - String message = "Unable to delete directory " + directory + "."; - throw new IOException(message); - } - } - - /** - * Recursively schedule directory for deletion on JVM exit. - * - * @param directory directory to delete, must not be null - * @throws NullPointerException if the directory is null - * @throws IOException in case deletion is unsuccessful - */ - private static void deleteDirectoryOnExit(File directory) throws IOException { - if (!directory.exists()) { - return; - } - - cleanDirectoryOnExit(directory); - directory.deleteOnExit(); - } - - /** - * Internal copy directory method. - * - * @param srcDir the validated source directory, must not be - * null - * @param destDir the validated destination directory, must not be - * null - * @param preserveFileDate whether to preserve the file date - * @throws IOException if an error occurs - * @since Commons IO 1.1 - */ - private static void doCopyDirectory(File srcDir, File destDir, boolean preserveFileDate) throws IOException { - if (destDir.exists()) { - if (!destDir.isDirectory()) { - throw new IOException("Destination '" + destDir + "' exists but is not a directory"); - } - } else { - if (!destDir.mkdirs()) { - throw new IOException("Destination '" + destDir + "' directory cannot be created"); - } - if (preserveFileDate) { - destDir.setLastModified(srcDir.lastModified()); - } - } - if (!destDir.canWrite()) { - throw new IOException("Destination '" + destDir + "' cannot be written to"); - } - // recurse - File[] files = srcDir.listFiles(); - if (files == null) { // null if security restricted - throw new IOException("Failed to list contents of " + srcDir); - } - for (int i = 0; i < files.length; i++) { - File copiedFile = new File(destDir, files[i].getName()); - if (files[i].isDirectory()) { - doCopyDirectory(files[i], copiedFile, preserveFileDate); - } else { - doCopyFile(files[i], copiedFile, preserveFileDate); - } - } - } - - /** - * Internal copy file method. - * - * @param srcFile the validated source file, must not be null - * @param destFile the validated destination file, must not be - * null - * @param preserveFileDate whether to preserve the file date - * @throws IOException if an error occurs - */ - private static void doCopyFile(File srcFile, File destFile, boolean preserveFileDate) throws IOException { - if (destFile.exists() && destFile.isDirectory()) { - throw new IOException("Destination '" + destFile + "' exists but is a directory"); - } - - FileInputStream input = new FileInputStream(srcFile); - try { - FileOutputStream output = new FileOutputStream(destFile); - try { - IOHelper.copy(input, output); - } finally { - IOHelper.closeQuietly(output); - } - } finally { - IOHelper.closeQuietly(input); - } - - if (srcFile.length() != destFile.length()) { - throw new IOException("Failed to copy full contents from '" + srcFile + "' to '" + destFile + "'"); - } - if (preserveFileDate) { - destFile.setLastModified(srcFile.lastModified()); - } - } - - /** - * Schedule a file to be deleted when JVM exits. If file is directory delete - * it and all sub-directories. - * - * @param file file or directory to delete, must not be null - * @throws NullPointerException if the file is null - * @throws IOException in case deletion is unsuccessful - */ - public static void forceDeleteOnExit(File file) throws IOException { - if (file.isDirectory()) { - deleteDirectoryOnExit(file); - } else { - file.deleteOnExit(); - } - } - -} diff --git a/java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/util/IOHelper.java b/java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/util/IOHelper.java deleted file mode 100644 index 630d1f6bf4..0000000000 --- a/java/sca/contrib/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/util/IOHelper.java +++ /dev/null @@ -1,190 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.service.util; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.JarURLConnection; -import java.net.URL; -import java.net.URLConnection; -import java.util.jar.JarFile; - -public class IOHelper { - /** - * The default buffer size to use. - */ - private static final int DEFAULT_BUFFER_SIZE = 1024 * 4; - - /** - * Unconditionally close an InputStream. - *

- * Equivalent to {@link InputStream#close()}, except any exceptions will be ignored. - * This is typically used in finally blocks. - * - * @param input the InputStream to close, may be null or already closed - */ - public static void closeQuietly(InputStream input) { - try { - if (input != null) { - input.close(); - } - } catch (IOException ioe) { - // ignore - } - } - - /** - * Unconditionally close an OutputStream. - *

- * Equivalent to {@link OutputStream#close()}, except any exceptions will be ignored. - * This is typically used in finally blocks. - * - * @param output the OutputStream to close, may be null or already closed - */ - public static void closeQuietly(OutputStream output) { - try { - if (output != null) { - output.close(); - } - } catch (IOException ioe) { - // ignore - } - } - - /** - * Copy bytes from an InputStream to an - * OutputStream. - *

- * This method buffers the input internally, so there is no need to use a - * BufferedInputStream. - * - * @param input the InputStream to read from - * @param output the OutputStream to write to - * @return the number of bytes copied - * @throws NullPointerException if the input or output is null - * @throws IOException if an I/O error occurs - * @since Commons IO 1.1 - */ - public static int copy(InputStream input, OutputStream output) throws IOException { - byte[] buffer = new byte[DEFAULT_BUFFER_SIZE]; - int count = 0; - int n = 0; - while (-1 != (n = input.read(buffer))) { // NOPMD - output.write(buffer, 0, n); - count += n; - } - return count; - } - - public static InputStream getInputStream(URL url) throws IOException { - return new SafeURLInputStream(url); - } - - /** - * This class is a workaround for URL stream issue as illustrated below. - * InputStream is=url.getInputStream(); is.close(); // This line doesn't close - * the JAR file if the URL is a jar entry like "jar:file:/a.jar!/my.composite" We - * also need to turn off the JarFile cache. - * - * @see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4950148 - * - * @version $Rev$ $Date$ - */ - public static class SafeURLInputStream extends InputStream { - private JarFile jarFile; - private InputStream is; - - public SafeURLInputStream(URL url) throws IOException { - String protocol = url.getProtocol(); - if (protocol != null && (protocol.equals("jar"))) { - JarURLConnection connection = (JarURLConnection)url.openConnection(); - // We cannot use cache - connection.setUseCaches(false); - try { - is = connection.getInputStream(); - } catch (IOException e) { - throw e; - } - jarFile = connection.getJarFile(); - } else { - URLConnection connection = url.openConnection(); - connection.setUseCaches(false); - is = connection.getInputStream(); - } - } - - public SafeURLInputStream(JarURLConnection connection) throws IOException { - // We cannot use cache - connection.setUseCaches(false); - is = connection.getInputStream(); - jarFile = connection.getJarFile(); - } - - @Override - public int available() throws IOException { - return is.available(); - } - - @Override - public void close() throws IOException { - is.close(); - // We need to close the JAR file - if (jarFile != null) { - jarFile.close(); - } - } - - @Override - public synchronized void mark(int readlimit) { - is.mark(readlimit); - } - - @Override - public boolean markSupported() { - return is.markSupported(); - } - - @Override - public int read() throws IOException { - return is.read(); - } - - @Override - public int read(byte[] b, int off, int len) throws IOException { - return is.read(b, off, len); - } - - @Override - public int read(byte[] b) throws IOException { - return is.read(b); - } - - @Override - public synchronized void reset() throws IOException { - is.reset(); - } - - @Override - public long skip(long n) throws IOException { - return is.skip(n); - } - } -} \ No newline at end of file diff --git a/java/sca/contrib/modules/contribution-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor b/java/sca/contrib/modules/contribution-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor deleted file mode 100644 index b644709266..0000000000 --- a/java/sca/contrib/modules/contribution-impl/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor +++ /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. - -org.apache.tuscany.sca.contribution.processor.impl.FolderContributionProcessor;type=application/vnd.tuscany.folder -org.apache.tuscany.sca.contribution.processor.impl.JarContributionProcessor;type=application/x-compressed diff --git a/java/sca/contrib/modules/contribution-impl/src/main/resources/contribution-impl-validation-messages.properties b/java/sca/contrib/modules/contribution-impl/src/main/resources/contribution-impl-validation-messages.properties deleted file mode 100644 index 158ee2102d..0000000000 --- a/java/sca/contrib/modules/contribution-impl/src/main/resources/contribution-impl-validation-messages.properties +++ /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. -# -# -ContributionURINull =URI for the contribution is null -SourceURLNull = Source URL for the contribution is null -ContributionContentNull = The content of the contribution is null -PrivilegedActionException = Exception occured due to FilePermissions in security policy file -RootNotDirectory = The root is not a directory {0} -IllegalArgumentException = IllegalArgumentException occured due to : -DomainFileNotFound = Domain file "sca-domain.xml" not found ({0}) -MalformedURLException = MalformedURLException occured due to : \ No newline at end of file diff --git a/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/processor/FolderContributionPackageProcessorTestCase.java b/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/processor/FolderContributionPackageProcessorTestCase.java deleted file mode 100644 index c33b31b550..0000000000 --- a/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/processor/FolderContributionPackageProcessorTestCase.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.contribution.processor; - -import java.io.File; -import java.net.URI; -import java.net.URL; -import java.util.List; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.contribution.processor.impl.FolderContributionProcessor; - -/** - * Folder Package Processor test case - * Verifies proper handle of File System structured contributions - * - * @version $Rev$ $Date$ - */ -public class FolderContributionPackageProcessorTestCase extends TestCase { - private static final String FOLDER_CONTRIBUTION = "."; - - public final void testProcessPackageArtifacts() throws Exception { - FolderContributionProcessor folderProcessor = new FolderContributionProcessor(); - URL contributionURL = new File(FOLDER_CONTRIBUTION).toURL().toURI().toURL(); - - List artifacts = folderProcessor.getArtifacts(contributionURL, null); - assertNotNull(artifacts); - } -} diff --git a/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/processor/JarContributionPackageProcessorTestCase.java b/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/processor/JarContributionPackageProcessorTestCase.java deleted file mode 100644 index 9b3dce7029..0000000000 --- a/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/processor/JarContributionPackageProcessorTestCase.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.processor; - -import java.io.InputStream; -import java.net.URI; -import java.net.URL; -import java.util.List; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.contribution.processor.impl.JarContributionProcessor; -import org.apache.tuscany.sca.contribution.service.util.IOHelper; - -/** - * JAR Package Processor test case - * Verifies proper handle of JAR Archives contributions - * - * @version $Rev$ $Date$ - */ - -public class JarContributionPackageProcessorTestCase extends TestCase { - private static final String JAR_CONTRIBUTION = "/repository/sample-calculator.jar"; - - public final void testProcessPackageArtifacts() throws Exception { - JarContributionProcessor jarProcessor = new JarContributionProcessor(); - - URL jarURL = getClass().getResource(JAR_CONTRIBUTION); - InputStream jarStream = jarURL.openStream(); - List artifacts = null; - try { - artifacts = jarProcessor.getArtifacts(jarURL, jarStream); - } finally { - IOHelper.closeQuietly(jarStream); - } - - assertNotNull(artifacts); - } -} diff --git a/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/processor/URLartifactProcessorExtensionPointTestCase.java b/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/processor/URLartifactProcessorExtensionPointTestCase.java deleted file mode 100644 index 46b4183380..0000000000 --- a/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/processor/URLartifactProcessorExtensionPointTestCase.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.processor; - -import java.net.URI; -import java.net.URL; - -import junit.framework.TestCase; - -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.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; - - -/** - * URL Artifact Processor Extension Point test case - * Verifies the right registration and lookup for processors that handle filename and file types - * - * @version $Rev$ $Date$ - */ -public class URLartifactProcessorExtensionPointTestCase extends TestCase { - - private URLArtifactProcessorExtensionPoint artifactProcessors; - - @Override - protected void setUp() throws Exception { - ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - artifactProcessors = new DefaultURLArtifactProcessorExtensionPoint(extensionPoints); - artifactProcessors.addArtifactProcessor(new FileTypeArtifactProcessor()); - artifactProcessors.addArtifactProcessor(new FileNameArtifactProcessor()); - } - - - public final void testFileTypeProcessor() { - assertNotNull(artifactProcessors.getProcessor(".m1")); - } - - - public final void testFileNameProcessor() { - assertNotNull(artifactProcessors.getProcessor("file.m2")); - - } - - /** - * Internal mock classes - * - */ - - private class M1 { - } - - private class M2 { - } - - private class FileTypeArtifactProcessor implements URLArtifactProcessor { - public FileTypeArtifactProcessor() { - } - - public M1 read(URL contributionURL, URI uri, URL url) throws ContributionReadException { - return null; - } - - public void resolve(M1 m1, ModelResolver resolver) throws ContributionResolveException { - } - - public String getArtifactType() { - return ".m1"; - } - - public Class getModelType() { - return M1.class; - } - } - - private class FileNameArtifactProcessor implements URLArtifactProcessor { - public FileNameArtifactProcessor() { - } - - public M2 read(URL contributionURL, URI uri, URL url) throws ContributionReadException { - return null; - } - - public void resolve(M2 m2, ModelResolver resolver) throws ContributionResolveException { - } - - public String getArtifactType() { - return "file.m2"; - } - - public Class getModelType() { - return M2.class; - } - } - -} diff --git a/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverTestCase.java b/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverTestCase.java deleted file mode 100644 index 98852e951c..0000000000 --- a/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverTestCase.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.contribution.resolver; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.contribution.Artifact; -import org.apache.tuscany.sca.contribution.ContributionFactory; -import org.apache.tuscany.sca.contribution.DefaultContributionFactory; - -/** - * Test the default model resolver implementation. - * - * @version $Rev$ $Date$ - */ -public class DefaultModelResolverTestCase extends TestCase { - - private ModelResolver resolver; - private ContributionFactory factory; - - @Override - protected void setUp() throws Exception { - resolver = new DefaultModelResolver(); - factory = new DefaultContributionFactory(); - } - - public void testResolved() { - Model a = new Model("a"); - resolver.addModel(a); - Model x = new Model("a"); - x = resolver.resolveModel(Model.class, x); - assertTrue(x == a); - } - - public void testUnresolved() { - Model x = new Model("a"); - Model y = resolver.resolveModel(Model.class, x); - assertTrue(x == y); - } - - public void testResolvedArtifact() { - Artifact artifact = factory.createArtifact(); - artifact.setURI("foo/bar"); - resolver.addModel(artifact); - Artifact x = factory.createArtifact(); - x.setURI("foo/bar"); - x = resolver.resolveModel(Artifact.class, x); - assertTrue(x == artifact); - } - - class Model { - private String name; - - Model(String name) { - this.name = name; - } - - @Override - public int hashCode() { - return name.hashCode(); - } - - @Override - public boolean equals(Object obj) { - return name.equals(((Model)obj).name); - } - } - -} diff --git a/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolverTestCase.java b/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolverTestCase.java deleted file mode 100644 index 01083cc6a6..0000000000 --- a/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolverTestCase.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.contribution.resolver; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.contribution.Artifact; -import org.apache.tuscany.sca.contribution.ContributionFactory; -import org.apache.tuscany.sca.contribution.DefaultContributionFactory; -import org.apache.tuscany.sca.contribution.DefaultModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; - -/** - * Test DefaultArtifactResolver. - * - * @version $Rev$ $Date$ - */ -public class ExtensibleModelResolverTestCase extends TestCase { - private ExtensibleModelResolver resolver; - - private ContributionFactory factory; - - @Override - protected void setUp() throws Exception { - - ModelResolverExtensionPoint resolvers = new DefaultModelResolverExtensionPoint(); - resolvers.addResolver(Model.class, TestModelResolver.class); - - ModelFactoryExtensionPoint factories = new DefaultModelFactoryExtensionPoint(); - - resolver = new ExtensibleModelResolver(null, resolvers, factories, null); - - factory = new DefaultContributionFactory(); - } - - public void testResolvedDefault() { - OtherModel a = new OtherModel("a"); - resolver.addModel(a); - OtherModel x = new OtherModel("a"); - x = resolver.resolveModel(OtherModel.class, x); - assertTrue(x == a); - } - - public void testResolvedRegisteredClass() { - Model a = new Model("a"); - resolver.addModel(a); - Model x = new Model("a"); - x = resolver.resolveModel(Model.class, x); - assertTrue(x == a); - } - - public void testUnresolvedDefault() { - OtherModel x = new OtherModel("a"); - OtherModel y = resolver.resolveModel(OtherModel.class, x); - assertTrue(x == y); - } - - public void testUnresolved() { - Model x = new Model("a"); - Model y = resolver.resolveModel(Model.class, x); - assertTrue(x == y); - } - - public void testResolvedArtifact() { - Artifact artifact = factory.createArtifact(); - artifact.setURI("foo/bar"); - resolver.addModel(artifact); - Artifact x = factory.createArtifact(); - x.setURI("foo/bar"); - x = resolver.resolveModel(Artifact.class, x); - assertTrue(x == artifact); - } - - private class Model { - private String name; - - Model(String name) { - this.name = name; - } - - @Override - public int hashCode() { - return name.hashCode(); - } - - @Override - public boolean equals(Object obj) { - return name.equals(((Model)obj).name); - } - } - - private class OtherModel { - private String name; - - OtherModel(String name) { - this.name = name; - } - - @Override - public int hashCode() { - return name.hashCode(); - } - - @Override - public boolean equals(Object obj) { - return name.equals(((OtherModel)obj).name); - } - } -} diff --git a/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/TestModelResolver.java b/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/TestModelResolver.java deleted file mode 100644 index 66ecd33da6..0000000000 --- a/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/TestModelResolver.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.resolver; - -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; - -/** - * A test implementation of a model resolver, based on a map. - * - * @version $Rev$ $Date$ - */ -public class TestModelResolver implements ModelResolver { - - private Map map = new HashMap(); - - public TestModelResolver(Contribution contribution, ModelFactoryExtensionPoint modelFactories) { - } - - public T resolveModel(Class modelClass, T unresolved) { - Object resolved = map.get(unresolved); - if (resolved != null) { - // Return the resolved object - return modelClass.cast(resolved); - } - // 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/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/services/ContributionRepositoryTestCase.java b/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/services/ContributionRepositoryTestCase.java deleted file mode 100644 index 2e5354fb96..0000000000 --- a/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/services/ContributionRepositoryTestCase.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.contribution.services; - -import java.io.File; -import java.io.InputStream; -import java.net.URL; - -import javax.xml.stream.XMLInputFactory; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.contribution.service.impl.ContributionRepositoryImpl; -import org.apache.tuscany.sca.contribution.service.util.FileHelper; - -public class ContributionRepositoryTestCase extends TestCase { - private ContributionRepositoryImpl repository; - - @Override - protected void setUp() throws Exception { - // create repository (this should re-create the root directory) - this.repository = new ContributionRepositoryImpl("target/repository/", XMLInputFactory.newInstance(), null); - repository.init(); - } - - public void testStore() throws Exception { - String resourceLocation = "/repository/sample-calculator.jar"; - String contribution = "sample-calculator.jar"; - URL contributionLocation = getClass().getResource(resourceLocation); - InputStream contributionStream = getClass().getResourceAsStream(resourceLocation); - repository.store(contribution, contributionLocation, contributionStream); - - URL contributionURL = repository.find(contribution); - assertNotNull(contributionURL); - } - - public void testRemove() throws Exception { - String resourceLocation = "/repository/sample-calculator.jar"; - String contribution = "sample-calculator.jar"; - URL contributionLocation = getClass().getResource(resourceLocation); - InputStream contributionStream = getClass().getResourceAsStream(resourceLocation); - repository.store(contribution, contributionLocation, contributionStream); - - repository.remove(contribution); - URL contributionURL = repository.find(contribution); - assertNull(contributionURL); - } - - public void testList() throws Exception { - String resourceLocation = "/repository/sample-calculator.jar"; - String contribution = "sample-calculator.jar"; - URL contributionLocation = getClass().getResource(resourceLocation); - InputStream contributionStream = getClass().getResourceAsStream(resourceLocation); - repository.store(contribution, contributionLocation, contributionStream); - - assertEquals(1, repository.list().size()); - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - FileHelper.deleteDirectory(new File("target/repository")); - } -} diff --git a/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/services/PackageTypeDescriberImplTestCase.java b/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/services/PackageTypeDescriberImplTestCase.java deleted file mode 100644 index dfb600153e..0000000000 --- a/java/sca/contrib/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/services/PackageTypeDescriberImplTestCase.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.services; - -import java.net.URL; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.contribution.PackageType; -import org.apache.tuscany.sca.contribution.service.impl.PackageTypeDescriberImpl; - -public class PackageTypeDescriberImplTestCase extends TestCase { - private PackageTypeDescriberImpl packageTypeDescriber; - - public void testResolveArchivePackageType() throws Exception { - URL artifactURL = getClass().getResource("/deployables/sample-calculator.jar"); - assertEquals(PackageType.JAR, this.packageTypeDescriber.getType(artifactURL, null)); - } - - public void testResolveFolderPackageType() throws Exception { - URL artifactURL = getClass().getResource("/deployables/"); - assertEquals(PackageType.FOLDER, this.packageTypeDescriber.getType(artifactURL, null)); - } - - public void testResolveFolder2PackageType() throws Exception { - URL artifactURL = getClass().getResource("/deployables"); - assertEquals(PackageType.FOLDER, this.packageTypeDescriber.getType(artifactURL, null)); - } - - - public void testResolveUnknownPackageType() throws Exception { - URL artifactURL = getClass().getResource("/test.ext"); - assertNull(this.packageTypeDescriber.getType(artifactURL, null)); - } - - public void testDefaultPackageType() throws Exception { - URL artifactURL = getClass().getResource("/test.ext"); - assertEquals("application/vnd.tuscany.ext", - packageTypeDescriber.getType(artifactURL, "application/vnd.tuscany.ext")); - } - - @Override - protected void setUp() throws Exception { - packageTypeDescriber = new PackageTypeDescriberImpl(); - } - -} diff --git a/java/sca/contrib/modules/contribution-impl/src/test/resources/deployables/sample-calculator.jar b/java/sca/contrib/modules/contribution-impl/src/test/resources/deployables/sample-calculator.jar deleted file mode 100644 index 0ca3a1b781..0000000000 Binary files a/java/sca/contrib/modules/contribution-impl/src/test/resources/deployables/sample-calculator.jar and /dev/null differ diff --git a/java/sca/contrib/modules/contribution-impl/src/test/resources/repository/sample-calculator.jar b/java/sca/contrib/modules/contribution-impl/src/test/resources/repository/sample-calculator.jar deleted file mode 100644 index 9c46c679d2..0000000000 Binary files a/java/sca/contrib/modules/contribution-impl/src/test/resources/repository/sample-calculator.jar and /dev/null differ diff --git a/java/sca/contrib/modules/contribution-impl/src/test/resources/test.composite b/java/sca/contrib/modules/contribution-impl/src/test/resources/test.composite deleted file mode 100644 index 1e09549194..0000000000 --- a/java/sca/contrib/modules/contribution-impl/src/test/resources/test.composite +++ /dev/null @@ -1,22 +0,0 @@ - - - - This file just needs to exist - \ No newline at end of file diff --git a/java/sca/contrib/modules/contribution-impl/src/test/resources/test.ext b/java/sca/contrib/modules/contribution-impl/src/test/resources/test.ext deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/java/sca/contrib/modules/contribution-java/LICENSE b/java/sca/contrib/modules/contribution-java/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/contribution-java/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/java/sca/contrib/modules/contribution-java/META-INF/MANIFEST.MF b/java/sca/contrib/modules/contribution-java/META-INF/MANIFEST.MF deleted file mode 100644 index 5ffdfc3b0a..0000000000 --- a/java/sca/contrib/modules/contribution-java/META-INF/MANIFEST.MF +++ /dev/null @@ -1,28 +0,0 @@ -Manifest-Version: 1.0 -Export-Package: org.apache.tuscany.sca.contribution.java;uses:="org.ap - ache.tuscany.sca.contribution";version="2.0" -Private-Package: org.apache.tuscany.sca.contribution.java.impl;version - ="2.0" -Tool: Bnd-0.0.255 -Bundle-Name: Apache Tuscany SCA Java Import/Export Model -Created-By: 1.6.0_07 (Sun Microsystems Inc.) -Bundle-Vendor: The Apache Software Foundation -DynamicImport-Package: org.apache.tuscany.sca.contribution.osgi.impl -Bundle-Version: 2.0 -Bnd-LastModified: 1225397112984 -Bundle-ManifestVersion: 2 -Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt -Bundle-Description: Apache Tuscany SCA Java Import/Export Model -Import-Package: javax.xml.namespace, - javax.xml.stream, - org.apache.tuscany.sca.assembly;version="2.0.0", - org.apache.tuscany.sca.contribution;version="2.0", - org.apache.tuscany.sca.contribution.java;version="2.0", - org.apache.tuscany.sca.contribution.processor;version="2.0", - org.apache.tuscany.sca.contribution.resolver;version="2.0", - org.apache.tuscany.sca.core;version="2.0", - org.apache.tuscany.sca.extensibility;version="2.0", - org.apache.tuscany.sca.monitor;version="2.0" -Bundle-SymbolicName: org.apache.tuscany.sca.contribution.java -Bundle-DocURL: http://www.apache.org/ - diff --git a/java/sca/contrib/modules/contribution-java/NOTICE b/java/sca/contrib/modules/contribution-java/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/contribution-java/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/contribution-java/pom.xml b/java/sca/contrib/modules/contribution-java/pom.xml deleted file mode 100644 index 5a63f16ee0..0000000000 --- a/java/sca/contrib/modules/contribution-java/pom.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-contribution-java - Apache Tuscany SCA Java Import/Export Model - - - - org.apache.tuscany.sca - tuscany-contribution - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.codehaus.woodstox - wstx-asl - 3.2.4 - runtime - - - stax - stax-api - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.contribution.java - ${pom.name} - org.apache.tuscany.sca.contribution.java* - org.apache.tuscany.sca.contribution.osgi.impl - - - - - - - diff --git a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/DefaultJavaImportExportFactory.java b/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/DefaultJavaImportExportFactory.java deleted file mode 100644 index 886c61c00a..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/DefaultJavaImportExportFactory.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.java; - -import org.apache.tuscany.sca.contribution.java.impl.JavaImportExportFactoryImpl; - -/** - * Default Java Import/Export Factory implementation - * - * @version $Rev$ $Date$ - */ -public class DefaultJavaImportExportFactory extends JavaImportExportFactoryImpl implements JavaImportExportFactory { -} diff --git a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/JavaExport.java b/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/JavaExport.java deleted file mode 100644 index 41e93ec148..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/JavaExport.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.contribution.java; - -import org.apache.tuscany.sca.contribution.Export; - -/** - * Base Java Export model interface - * - * @version $Rev$ $Date$ - */ -public interface JavaExport extends Export { - /** - * Get java package that identifies the import - * - * @return The package name - */ - String getPackage(); - - /** - * Set java package that identifies the import - * - * @param packageName The package name - */ - void setPackage(String packageName); -} diff --git a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/JavaImport.java b/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/JavaImport.java deleted file mode 100644 index d3568f6283..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/JavaImport.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.java; - -import org.apache.tuscany.sca.contribution.Import; - -/** - * Base Java Import model interface - * - * @version $Rev$ $Date$ - */ -public interface JavaImport extends Import { - - /** - * Get the location used to resolve the definitions for this import - * - * @return The import location - */ - String getLocation(); - - /** - * Set the location used to resolve the definitions for this import - * - * @param location The import location - */ - void setLocation(String location); - - /** - * Get java package that identifies the import - * - * @return The package name - */ - String getPackage(); - - /** - * Set java package that identifies the import - * - * @param packageName The package name - */ - void setPackage(String packageName); -} diff --git a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/JavaImportExportFactory.java b/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/JavaImportExportFactory.java deleted file mode 100644 index af2ca9cd57..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/JavaImportExportFactory.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.contribution.java; - -/** - * Base Java Import/Export model factory - * - * @version $Rev$ $Date$ - */ -public interface JavaImportExportFactory { - - /** - * Create a java import model object - * - * @return The new JavaImport model object - */ - JavaImport createJavaImport(); - - /** - * Create a java export model object - * - * @return The new JavaExport model object - */ - JavaExport createJavaExport(); -} diff --git a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ClassLoaderModelResolver.java b/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ClassLoaderModelResolver.java deleted file mode 100644 index 61c73bf2f8..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ClassLoaderModelResolver.java +++ /dev/null @@ -1,161 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.java.impl; - -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLClassLoader; -import java.security.AccessController; -import java.security.PrivilegedAction; -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 org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.Import; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.java.JavaImport; -import org.apache.tuscany.sca.contribution.resolver.ClassReference; -import org.apache.tuscany.sca.contribution.resolver.DefaultDelegatingModelResolver; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; - -/** - * A Model Resolver for ClassReferences. - * - * @version $Rev$ $Date$ - */ -public class ClassLoaderModelResolver extends URLClassLoader implements ModelResolver { - private Contribution contribution; - private Map importResolvers = new HashMap(); - - private static ClassLoader parentClassLoader() { - ClassLoader parentClassLoader = ServiceDiscovery.getInstance().getServiceDiscoverer().getClass().getClassLoader(); - return parentClassLoader; - } - - public ClassLoaderModelResolver(final Contribution contribution, ModelFactoryExtensionPoint modelFactories) throws MalformedURLException { - super(new URL[] {new URL(contribution.getLocation())}, parentClassLoader()); - this.contribution = contribution; - - // Index Java import resolvers by package name - Map> resolverMap = new HashMap>(); - for (Import import_: this.contribution.getImports()) { - if (import_ instanceof JavaImport) { - JavaImport javaImport = (JavaImport)import_; - List resolvers = resolverMap.get(javaImport.getPackage()); - if (resolvers == null) { - resolvers = new ArrayList(); - resolverMap.put(javaImport.getPackage(), resolvers); - } - resolvers.add(javaImport.getModelResolver()); - } - } - - // Create a delegating model resolver for each imported package - for (Map.Entry> entry: resolverMap.entrySet()) { - importResolvers.put(entry.getKey(), new DefaultDelegatingModelResolver(entry.getValue())); - } - } - - public void addModel(Object resolved) { - throw new IllegalStateException(); - } - - public Object removeModel(Object resolved) { - throw new IllegalStateException(); - } - - public T resolveModel(Class modelClass, T unresolved) { - if (!(unresolved instanceof ClassReference)) { - return unresolved; - } - - try { - - // Load the class and return a class reference for it - String className = ((ClassReference)unresolved).getClassName(); - Class clazz = Class.forName(className, true, this); - return modelClass.cast(new ClassReference(clazz)); - - } catch (ClassNotFoundException e) { - return unresolved; - } catch (NoClassDefFoundError e) { - return unresolved; - } - } - - @Override - public URL findResource(String name) { - - //TODO delegate to the Java import resolvers - - URL url = super.findResource(name); - return url; - } - - @Override - public Enumeration findResources(String name) throws IOException { - - //TODO delegate to the Java import resolvers - //Enumeration importedResources; - - Enumeration resources = super.findResources(name); - List allResources = new ArrayList(); - //for (; importedResources.hasMoreElements(); ) { - // allResources.add(importedResources.nextElement()); - //} - for (; resources.hasMoreElements(); ) { - allResources.add(resources.nextElement()); - } - return Collections.enumeration(allResources); - } - - @Override - protected Class findClass(String name) throws ClassNotFoundException { - - // Extract the package name - int d = name.lastIndexOf('.'); - String packageName; - if (d != -1) { - packageName = name.substring(0, d); - } else { - packageName = null; - } - - // First try to load the class using the Java import resolvers - ModelResolver importResolver = importResolvers.get(packageName); - if (importResolver != null) { - ClassReference classReference = importResolver.resolveModel(ClassReference.class, new ClassReference(name)); - if (!classReference.isUnresolved()) { - return classReference.getJavaClass(); - } - } - - // Next, try to load the class from the current contribution - Class clazz = super.findClass(name); - return clazz; - } - -} diff --git a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ClassReferenceModelResolver.java b/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ClassReferenceModelResolver.java deleted file mode 100644 index 962512a745..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ClassReferenceModelResolver.java +++ /dev/null @@ -1,158 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.java.impl; - -import java.lang.ref.WeakReference; -import java.lang.reflect.Constructor; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.resolver.ClassReference; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; - -/** - * A Model Resolver for ClassReferences. - * - * @version $Rev: 557916 $ $Date: 2007-07-20 01:04:40 -0700 (Fri, 20 Jul 2007) $ - */ -public class ClassReferenceModelResolver implements ModelResolver { - private Contribution contribution; - private WeakReference classLoader; - private Map map = new HashMap(); - - private ModelResolver osgiResolver; - - public ClassReferenceModelResolver(final Contribution contribution, ModelFactoryExtensionPoint modelFactories) { - this.contribution = contribution; - if (this.contribution != null) { - // Allow privileged access to get ClassLoader. Requires RuntimePermission in security policy. - // ClassLoader cl = contribution.getClassLoader(); - ClassLoader cl = AccessController.doPrivileged(new PrivilegedAction() { - public ClassLoader run() { - return contribution.getClassLoader(); - } - }); - - if (cl == null) { - // Allow privileged access to get ClassLoader. Requires RuntimePermission in security policy. - //ClassLoader contextClassLoader = AccessController.doPrivileged(new PrivilegedAction() { - // public ClassLoader run() { - // return Thread.currentThread().getContextClassLoader(); - // } - //}); - ClassLoader contextClassLoader = ServiceDiscovery.getInstance().getServiceDiscoverer().getClass().getClassLoader(); - cl = new ContributionClassLoader(contribution, contextClassLoader); - contribution.setClassLoader(cl); - } - this.classLoader = new WeakReference(cl); - } else { - // This path should be used only for unit testing. - // Allow privileged access to get ClassLoader. Requires RuntimePermission in security policy. - // this.classLoader = new WeakReference(this.getClass().getClassLoader()); - ClassLoader cl = AccessController.doPrivileged(new PrivilegedAction() { - public ClassLoader run() { - return this.getClass().getClassLoader(); - } - }); - this.classLoader = new WeakReference( cl ); - } - - try { - Class osgiResolverClass = - Class.forName("org.apache.tuscany.sca.contribution.osgi.impl.OSGiClassReferenceModelResolver"); - if (osgiResolverClass != null) { - Constructor constructor = - osgiResolverClass.getConstructor(Contribution.class, ModelFactoryExtensionPoint.class); - this.osgiResolver = (ModelResolver)constructor.newInstance(contribution, modelFactories); - } - } catch (Throwable e) { - // Ignore error, non-OSGi classloading is used in this case - } - } - - public void addModel(Object resolved) { - ClassReference clazz = (ClassReference)resolved; - map.put(clazz.getClassName(), clazz); - } - - public Object removeModel(Object resolved) { - return map.remove(((ClassReference)resolved).getClassName()); - } - - - - public T resolveModel(Class modelClass, T unresolved) { - if (!(unresolved instanceof ClassReference)) { - return unresolved; - } - Object resolved = map.get(((ClassReference)unresolved).getClassName()); - - if (resolved != null) { - return modelClass.cast(resolved); - } - - //Load a class on demand - Class clazz = null; - - if (osgiResolver != null) { - resolved = osgiResolver.resolveModel(modelClass, unresolved); - clazz = ((ClassReference)resolved).getJavaClass(); - } - - if (clazz == null) { - try { - // Search contribution ClassLoader (which has visibility of classes in the contribution - // as well as explicitly imported packages from other contributions) - clazz = Class.forName(((ClassReference)unresolved).getClassName(), true, classLoader.get()); - } catch (ClassNotFoundException e) { - } catch (NoClassDefFoundError e) { - } - } - - if (clazz != null) { - //if we load the class - // Store a new ClassReference wrapping the loaded class - ClassReference classReference = new ClassReference(clazz); - map.put(clazz.getName(), classReference); - - // Return the resolved ClassReference - return modelClass.cast(classReference); - } else { - return unresolved; - } - - } - - - /*************** - * Helper methods - ***************/ - - private String getPackageName(ClassReference clazz) { - int pos = clazz.getClassName().lastIndexOf("."); - return clazz.getClassName().substring(0, pos); - } - -} diff --git a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ContributionClassLoader.java b/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ContributionClassLoader.java deleted file mode 100644 index aa68925376..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/ContributionClassLoader.java +++ /dev/null @@ -1,385 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.java.impl; - -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLClassLoader; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.Collection; -import java.util.Collections; -import java.util.Enumeration; -import java.util.HashSet; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.Export; -import org.apache.tuscany.sca.contribution.Import; -import org.apache.tuscany.sca.contribution.java.JavaImport; - - -public class ContributionClassLoader extends URLClassLoader { -// public class ContributionClassLoader { - - private Contribution contribution; - // private b urlClassLoader; - - /** - * Constructor for contribution ClassLoader - * - * @param contribution - * @param parent - * @throws MalformedURLException - */ - public ContributionClassLoader(Contribution contribution, final ClassLoader parent) { - super(new URL[0], parent); - // Note that privileged use of getContextClassLoader have been promoted to callers. - // super(new URL[0], parent == null?Thread.currentThread().getContextClassLoader(): null); - this.contribution = contribution; - if (contribution.getLocation() != null) { - try { - this.addURL(new URL(contribution.getLocation())); - } catch (MalformedURLException e) { - throw new RuntimeException(e); - } - } - } - - /* - * Return the ClassLoader corresponding to a contribution providing an export - * Create a new ClassLoader for the contribution if one does not exist - */ - private ClassLoader getExportClassLoader(Contribution exportingContribution) { - ClassLoader cl = exportingContribution.getClassLoader(); - if (!(cl instanceof ContributionClassLoader)) { - if (cl == null) { - cl = getParent(); - } - - cl = new ContributionClassLoader(exportingContribution, cl); - exportingContribution.setClassLoader(cl); - } - return cl; - } - - /* (non-Javadoc) - * @see java.net.URLClassLoader#findClass(java.lang.String) - * - * Search path for class: - * This contribution - * Imported contributions - */ - @Override - protected Class findClass(String className) throws ClassNotFoundException { - - Class clazz = null; - try { - clazz = findClassFromContribution(className); - } catch (ClassNotFoundException e) { - - for (Import import_ : this.contribution.getImports()) { - if (classNameMatchesImport(className, import_)) { - // Delegate the resolution to the imported contribution - for (Contribution exportingContribution : ((JavaImportModelResolver)import_.getModelResolver()).getExportContributions()) { - - ClassLoader exportClassLoader = getExportClassLoader(exportingContribution); - if (exportClassLoader instanceof ContributionClassLoader) { - - for (Export export : exportingContribution.getExports()) { - try { - if (import_.match(export)) { - clazz = ((ContributionClassLoader)exportClassLoader).findClassFromContribution(className); - break; - } - } catch (ClassNotFoundException e1) { - continue; - } - - } - if (clazz != null) break; - } - } - if (clazz != null) break; - } - } - - if (clazz == null) throw e; - } - return clazz; - } - - - /* (non-Javadoc) - * @see java.lang.ClassLoader#loadClass(java.lang.String, boolean) - * - * Search path for class: - * Parent ClassLoader - * This contribution - * Imported contributions - * - */ - @Override - protected synchronized Class loadClass(String className, boolean resolveClass) - throws ClassNotFoundException { - - Class clazz = null; - try { - - if (this.getParent() != null) - clazz = this.getParent().loadClass(className); - - } catch (ClassNotFoundException e) { - } - - if (clazz == null) - clazz = findClass(className); - - - if (resolveClass) - this.resolveClass(clazz); - return clazz; - - } - - - - /* - * (non-Javadoc) - * - * @see java.net.URLClassLoader#findResource(java.lang.String) - */ - @Override - public URL findResource(String name) { - - URL url = findResourceFromContribution(name); - - if (url == null) { - for (Import import_ : this.contribution.getImports()) { - if (resourceNameMatchesImport(name, import_)) { - // Delegate the resolution to the imported contribution - for (Contribution exportingContribution : ((JavaImportModelResolver)import_.getModelResolver()).getExportContributions()) { - - ClassLoader exportClassLoader = getExportClassLoader(exportingContribution); - if (exportClassLoader instanceof ContributionClassLoader) { - - for (Export export : exportingContribution.getExports()) { - if (import_.match(export)) { - url = ((ContributionClassLoader)exportClassLoader).findResourceFromContribution(name); - if (url != null) break; - } - } - if (url != null) break; - } - } - if (url != null) break; - } - } - - } - return url; - } - - - /* (non-Javadoc) - * @see java.net.URLClassLoader#findResources(java.lang.String) - */ - @Override - public Enumeration findResources(String name) throws IOException { - - return Collections.enumeration(findResourceSet(name)); - } - - - - - /* (non-Javadoc) - * @see java.lang.ClassLoader#getResource(java.lang.String) - * - * Find a resource. - * Search path for resource: - * Parent ClassLoader - * This contribution - * Imported contributions - */ - @Override - public URL getResource(String resName) { - - URL resource = null; - - if (this.getParent() != null) { - resource = this.getParent().getResource(resName); - } - if (resource == null) - resource = findResource(resName); - - return resource; - } - - - - /* (non-Javadoc) - * @see java.lang.ClassLoader#getResources(java.lang.String) - * - * Return list of resources from this contribution, resources - * imported through imported contributions and resources from parent - * ClassLoader. - */ - @Override - public Enumeration getResources(String resName) throws IOException { - - HashSet resourceSet = findResourceSet(resName); - addEnumerationToCollection(resourceSet, super.getResources(resName)); - - return Collections.enumeration(resourceSet); - } - - - /* - * Find set of resources - */ - private HashSet findResourceSet(String name) throws IOException { - - HashSet resources = new HashSet(); - - addEnumerationToCollection(resources, super.findResources(name)); - - for (Import import_ : this.contribution.getImports()) { - if (!(import_ instanceof JavaImport)) { - continue; - } - if (resourceNameMatchesImport(name, import_)) { - // Delegate the resolution to the imported contribution - for (Contribution exportingContribution : ((JavaImportModelResolver)import_.getModelResolver()).getExportContributions()) { - - ClassLoader exportClassLoader = getExportClassLoader(exportingContribution); - if (exportClassLoader instanceof ContributionClassLoader) { - - for (Export export : exportingContribution.getExports()) { - if (import_.match(export)) { - addEnumerationToCollection(resources, - ((ContributionClassLoader)exportClassLoader).findResources(name)); - } - } - } - } - } - } - - return resources; - } - - - /* - * Find class from contribution. If class has already been loaded, return loaded class. - */ - private Class findClassFromContribution(String className) throws ClassNotFoundException { - - Class clazz = findLoadedClass(className); - if (clazz == null) - clazz = super.findClass(className); - return clazz; - - } - - /* - * Find resource from contribution. - */ - private URL findResourceFromContribution(String name) { - - return super.findResource(name); - } - - /** - * Check if a class name matches an import statement. - * Class matches if the package name used in matches - * - * @param name Name of class - * @param import_ SCA contribution import - * @return true if this is a matching import - */ - private boolean classNameMatchesImport(String name, Import import_) { - - if (import_ instanceof JavaImport && name != null && name.lastIndexOf('.') > 0) { - JavaImport javaImport = (JavaImport) import_; - - String packageName = name.substring(0, name.lastIndexOf('.')); - if (javaImport.getPackage().endsWith(".*")) { - String prefix = javaImport.getPackage().substring(0, javaImport.getPackage().length() -1); - if (packageName.startsWith(prefix)) { - return true; - } - } else { - return packageName.equals(javaImport.getPackage()); - } - } - - return false; - } - - /** - * Check if a resource name matches an import statement. - * Resource matches if package/namespace match the directory of resource. - * - * @param name Name of resource - * @param import_ SCA contribution import - * @return true if this is a matching import - */ - private boolean resourceNameMatchesImport(String name, Import import_) { - - - if (name == null || name.lastIndexOf('/') <= 0) - return false; - else if (import_ instanceof JavaImport) { - JavaImport javaImport = (JavaImport) import_; - - if (javaImport.getPackage().endsWith(".*")) { - String packageName = name.substring(0, name.lastIndexOf('/')).replace('/', '.'); - String prefix = javaImport.getPackage().substring(0, javaImport.getPackage().length() -1); - if (packageName.startsWith(prefix)) { - return true; - } - } else { - // 'name' is a resource : contains "/" as separators - // Get package name from resource name - String packageName = name.substring(0, name.lastIndexOf('/')); - return packageName.equals(javaImport.getPackage().replaceAll("\\.", "/")); - } - } - return false; - } - - /* - * Add an enumeration to a Collection - */ - private void addEnumerationToCollection(Collection collection, Enumeration enumeration) { - - while (enumeration.hasMoreElements()) - collection.add(enumeration.nextElement()); - } - - - @Override - public String toString() { - return "SCA Contribution ClassLoader location: " + contribution.getLocation() + " parent ClassLoader: " + getParent(); - } - - -} diff --git a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportImpl.java b/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportImpl.java deleted file mode 100644 index f35f35ac4c..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportImpl.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.java.impl; - -import org.apache.tuscany.sca.contribution.java.JavaExport; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * Implementation of a Java Import model - * - * @version $Rev$ $Date$ - */ -public class JavaExportImpl implements JavaExport { - private ModelResolver modelResolver; - - /** - * Java package being exported - */ - private String packageName; - - public JavaExportImpl() { - super(); - } - - public String getPackage() { - return this.packageName; - } - - public void setPackage(String packageName) { - this.packageName = packageName; - } - - public ModelResolver getModelResolver() { - return modelResolver; - } - - public void setModelResolver(ModelResolver modelResolver) { - this.modelResolver = modelResolver; - } - -} diff --git a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportModelResolver.java b/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportModelResolver.java deleted file mode 100644 index 8d5412f6d7..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportModelResolver.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.contribution.java.impl; - -import org.apache.tuscany.sca.contribution.java.JavaExport; -import org.apache.tuscany.sca.contribution.resolver.ClassReference; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * A model resolver for Java exports. - * - * @version $Rev$ $Date$ - */ -public class JavaExportModelResolver implements ModelResolver { - - private JavaExport export; - private ModelResolver resolver; - - public JavaExportModelResolver(JavaExport export, ModelResolver resolver) { - this.export = export; - this.resolver = resolver; - } - - public void addModel(Object resolved) { - throw new IllegalStateException(); - } - - public Object removeModel(Object resolved) { - throw new IllegalStateException(); - } - - public T resolveModel(Class modelClass, T unresolved) { - if (!(unresolved instanceof ClassReference)) { - return unresolved; - } - - // Filter package name - ClassReference classReference = (ClassReference)unresolved; - String className = classReference.getClassName(); - int d = className.lastIndexOf('.'); - String packageName; - if (d != -1) { - packageName = className.substring(0, d); - } else { - packageName = ""; - } - if (export.getPackage().equals(packageName)) { - - // Package matches the exported package, delegate to the - // contribution's resolver - return resolver.resolveModel(modelClass, unresolved); - } else { - - // Package is not exported, return the unresolved object - return unresolved; - } - } - -} diff --git a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportProcessor.java b/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportProcessor.java deleted file mode 100644 index d7c3817b68..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportProcessor.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.java.impl; - -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; - -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.java.JavaExport; -import org.apache.tuscany.sca.contribution.java.JavaImportExportFactory; -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.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * Artifact processor for Java Export - * - * @version $Rev$ $Date$ - */ -public class JavaExportProcessor implements StAXArtifactProcessor { - private static final String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0"; - - private static final QName EXPORT_JAVA = new QName(SCA10_NS, "export.java"); - - private static final String PACKAGE = "package"; - - private final JavaImportExportFactory factory; - private final Monitor monitor; - - public JavaExportProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - super(); - this.factory = modelFactories.getFactory(JavaImportExportFactory.class); - this.monitor = monitor; - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-java-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Report a exception. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-java-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - public QName getArtifactType() { - return EXPORT_JAVA; - } - - public Class getModelType() { - return JavaExport.class; - } - - /** - * Process - */ - public JavaExport read(XMLStreamReader reader) throws ContributionReadException { - JavaExport javaExport = this.factory.createJavaExport(); - QName element = null; - - try { - while (reader.hasNext()) { - int event = reader.getEventType(); - switch (event) { - case START_ELEMENT: - element = reader.getName(); - - // Read - if (EXPORT_JAVA.equals(element)) { - String packageName = reader.getAttributeValue(null, PACKAGE); - if (packageName == null) { - error("AttributePackageMissing", reader); - //throw new ContributionReadException("Attribute 'package' is missing"); - } else - javaExport.setPackage(packageName); - } - break; - case XMLStreamConstants.END_ELEMENT: - if (EXPORT_JAVA.equals(reader.getName())) { - return javaExport; - } - break; - } - - //Read the next element - if (reader.hasNext()) { - reader.next(); - } - } - } - catch (XMLStreamException e) { - ContributionReadException ex = new ContributionReadException(e); - error("XMLStreamException", reader, ex); - } - - return javaExport; - } - - public void write(JavaExport javaExport, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - - // Write - writer.writeStartElement(EXPORT_JAVA.getNamespaceURI(), EXPORT_JAVA.getLocalPart()); - - if (javaExport.getPackage() != null) { - writer.writeAttribute(PACKAGE, javaExport.getPackage()); - } - - writer.writeEndElement(); - } - - public void resolve(JavaExport javaExport, ModelResolver resolver) throws ContributionResolveException { - - if (javaExport.getPackage() != null) - // Initialize the export resolver - javaExport.setModelResolver(new JavaExportModelResolver(javaExport, resolver)); - } -} diff --git a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportExportFactoryImpl.java b/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportExportFactoryImpl.java deleted file mode 100644 index e5dc397f4e..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportExportFactoryImpl.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.java.impl; - -import org.apache.tuscany.sca.contribution.java.JavaExport; -import org.apache.tuscany.sca.contribution.java.JavaImport; -import org.apache.tuscany.sca.contribution.java.JavaImportExportFactory; - -/** - * Java Import/Export Factory implementation - * - * @version $Rev$ $Date$ - */ -public class JavaImportExportFactoryImpl implements JavaImportExportFactory { - - public JavaImport createJavaImport() { - return new JavaImportImpl(); - } - - public JavaExport createJavaExport() { - return new JavaExportImpl(); - } - -} diff --git a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportExportListener.java b/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportExportListener.java deleted file mode 100644 index 47cdc9767b..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportExportListener.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.java.impl; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import org.apache.tuscany.sca.contribution.Artifact; -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.ContributionFactory; -import org.apache.tuscany.sca.contribution.Export; -import org.apache.tuscany.sca.contribution.Import; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.java.JavaExport; -import org.apache.tuscany.sca.contribution.java.JavaImport; -import org.apache.tuscany.sca.contribution.resolver.DefaultImportAllModelResolver; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.contribution.service.ContributionListener; -import org.apache.tuscany.sca.contribution.service.ContributionRepository; - -/** - * Java Import/Export contribution listener - * The listener would process all import/export from a given contribution - * and initialize the model resolvers properly - * - * @version $Rev$ $Date$ - */ -public class JavaImportExportListener implements ContributionListener { - - private ContributionFactory contributionFactory; - - /** - * Constructs a new JavaImportExportListener - */ - public JavaImportExportListener(ModelFactoryExtensionPoint modelFactories) { - contributionFactory = modelFactories.getFactory(ContributionFactory.class); - } - - /** - * Initialize the import/export model resolvers - * Export model resolvers are same as Contribution model resolver - * Import model resolvers are matched to a specific contribution if a location URI is specified, - * otherwise it try to resolve against all the other contributions - * Also set the exporting contributions used by contribution ClassLoaders to - * match import/export for class loading. - */ - public void contributionAdded(ContributionRepository repository, Contribution contribution) { - - // If the contribution does not contain sca-contribution.xml metadata - // (for example it's an existing JAR developed before SCA existed) - // export all its Java packages - ModelResolver modelResolver = contribution.getModelResolver(); - - // Look for META-INF/sca-contribution.xml - Artifact artifact = contributionFactory.createArtifact(); - artifact.setURI(Contribution.SCA_CONTRIBUTION_META); - artifact = modelResolver.resolveModel(Artifact.class, artifact); - if (artifact.getLocation() == null) { - - // Look for META-INF/sca-contribution-generated.xml - artifact.setURI(Contribution.SCA_CONTRIBUTION_GENERATED_META); - artifact = modelResolver.resolveModel(Artifact.class, artifact); - if (artifact.getLocation() == null) { - - // No contribution metadata file was found, default to export all the - // Java packages found in the contribution - Set packages = new HashSet(); - for (Artifact a: contribution.getArtifacts()) { - String uri = a.getURI(); - if (uri.endsWith(".class")) { - uri = uri.substring(0, uri.length() - 6); - int d = uri.lastIndexOf('/'); - if (d != -1) { - packages.add(uri.substring(0, d).replace('/', '.')); - } - } - } - - // Add Java export model objects for all the packages we found - for (String pkg: packages) { - JavaExport export = new JavaExportImpl(); - export.setPackage(pkg); - contribution.getExports().add(export); - } - } - } - - // Initialize the contribution exports - for (Export export: contribution.getExports()) { - export.setModelResolver(contribution.getModelResolver()); - } - - // Initialize the contribution imports - for (Import import_: contribution.getImports()) { - boolean initialized = false; - - if(import_ instanceof JavaImport) { - JavaImport javaImport = (JavaImport) import_; - - //Find a matching contribution - if(javaImport.getLocation() != null) { - Contribution targetContribution = repository.getContribution(javaImport.getLocation()); - if (targetContribution != null) { - - // Find a matching contribution export - for (Export export: targetContribution.getExports()) { - if (export instanceof JavaExport) { - JavaExport javaExport = (JavaExport)export; - if (javaImport.getPackage().equals(javaExport.getPackage())) { - List exportingContributions = new ArrayList(); - exportingContributions.add(targetContribution); - javaImport.setModelResolver(new JavaImportModelResolver(exportingContributions, javaExport.getModelResolver())); - initialized = true; - break; - } - } - } - } - } - - //if no location was specified, try to resolve with any contribution - if (!initialized) { - //Use a resolver that will consider all contributions - import_.setModelResolver(new JavaImportModelResolver(repository.getContributions(), new DefaultImportAllModelResolver(import_, repository.getContributions()))); - } - } - } - } - - public void contributionRemoved(ContributionRepository repository, Contribution contribution) { - - } - - public void contributionUpdated(ContributionRepository repository, Contribution oldContribution, Contribution contribution) { - - } - -} diff --git a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportImpl.java b/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportImpl.java deleted file mode 100644 index cc18d5f798..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportImpl.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.contribution.java.impl; - -import java.util.List; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.Export; -import org.apache.tuscany.sca.contribution.java.JavaExport; -import org.apache.tuscany.sca.contribution.java.JavaImport; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * Implementation of a Java Import model - * - * @version $Rev$ $Date$ - */ -public class JavaImportImpl implements JavaImport { - private ModelResolver modelResolver; - private List contributions; - /** - * Java package name being imported - */ - private String packageName; - /** - * Contribution URI where the artifact is imported from - */ - private String location; - - public JavaImportImpl() { - super(); - } - - public String getLocation() { - return this.location; - } - - public void setLocation(String location) { - this.location = location; - } - - public String getPackage() { - return this.packageName; - } - - public void setPackage(String packageName) { - this.packageName = packageName; - } - - public ModelResolver getModelResolver() { - return this.modelResolver; - } - - public void setModelResolver(ModelResolver modelResolver) { - this.modelResolver = modelResolver; - } - public List getExportContributions() { - return contributions; - } - - public void setExportContributions(List contributions) { - this.contributions = contributions; - } - - /** - * Match a JavaImport to a given JavaExport based on : - * location is not provided - * import and export packages match - */ - public boolean match(Export export) { - if(export instanceof JavaExport) { - JavaExport javaExport = (JavaExport)export; - String exportedPackage = javaExport.getPackage(); - if (packageName.equals(exportedPackage)) { - return true; - } else { - if (packageName.endsWith(".*")) { - String prefix = packageName.substring(0, packageName.length() - 1); - if (exportedPackage.startsWith(prefix)) { - return true; - } - } - } - } - - return false; - } - - @Override - public String toString() { - return String.valueOf(packageName); - } -} diff --git a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportModelResolver.java b/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportModelResolver.java deleted file mode 100644 index 484eddd222..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportModelResolver.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.contribution.java.impl; - -import java.util.List; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * A JavaImport specific model resolver. This model resolver is temporary - * and provides the ContributionClassLoader with the list of exporting - * contributions that it currently needs. - * - * FIXME Remove this class after the ContributionClassLoader is simplified - * and cleaned up. - * - * @version $Rev$ $Date$ - */ -public class JavaImportModelResolver implements ModelResolver { - - private ModelResolver modelResolver; - private List contributions; - - public JavaImportModelResolver(List contributions, ModelResolver modelResolver) { - this.modelResolver = modelResolver; - this.contributions = contributions; - } - - public List getExportContributions() { - return contributions; - } - - public void addModel(Object resolved) { - modelResolver.addModel(resolved); - } - - public Object removeModel(Object resolved) { - return modelResolver.removeModel(resolved); - } - - public T resolveModel(Class modelClass, T unresolved) { - return modelResolver.resolveModel(modelClass, unresolved); - } -} diff --git a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportProcessor.java b/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportProcessor.java deleted file mode 100644 index 7812c25c1c..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/main/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportProcessor.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.contribution.java.impl; - -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; - -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.java.JavaImport; -import org.apache.tuscany.sca.contribution.java.JavaImportExportFactory; -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.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * Artifact Processor for Java Imports - * - * @version $Rev$ $Date$ - */ -public class JavaImportProcessor implements StAXArtifactProcessor { - private static final String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0"; - - private static final QName IMPORT_JAVA = new QName(SCA10_NS, "import.java"); - - private static final String PACKAGE = "package"; - private static final String LOCATION = "location"; - - private final JavaImportExportFactory factory; - private final Monitor monitor; - - public JavaImportProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - super(); - this.factory = modelFactories.getFactory(JavaImportExportFactory.class); - this.monitor = monitor; - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-java-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Report a exception. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-java-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - public QName getArtifactType() { - return IMPORT_JAVA; - } - - public Class getModelType() { - return JavaImport.class; - } - - /** - * Process - */ - public JavaImport read(XMLStreamReader reader) throws ContributionReadException { - JavaImport javaImport = this.factory.createJavaImport(); - QName element = null; - - try { - while (reader.hasNext()) { - int event = reader.getEventType(); - switch (event) { - case START_ELEMENT: - element = reader.getName(); - - // Read - if (IMPORT_JAVA.equals(element)) { - String packageName = reader.getAttributeValue(null, PACKAGE); - if (packageName == null) { - error("AttributePackageMissing", reader); - //throw new ContributionReadException("Attribute 'package' is missing"); - } else - javaImport.setPackage(packageName); - - String location = reader.getAttributeValue(null, LOCATION); - javaImport.setLocation(location); - } - break; - case XMLStreamConstants.END_ELEMENT: - if (IMPORT_JAVA.equals(reader.getName())) { - return javaImport; - } - break; - } - - // Read the next element - if (reader.hasNext()) { - reader.next(); - } - } - } - catch (XMLStreamException e) { - ContributionReadException ex = new ContributionReadException(e); - error("XMLStreamException", reader, ex); - } - - return javaImport; - } - - public void write(JavaImport javaImport, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - - // Write - writer.writeStartElement(IMPORT_JAVA.getNamespaceURI(), IMPORT_JAVA.getLocalPart()); - - if (javaImport.getPackage() != null) { - writer.writeAttribute(PACKAGE, javaImport.getPackage()); - } - if (javaImport.getLocation() != null) { - writer.writeAttribute(LOCATION, javaImport.getLocation()); - } - - writer.writeEndElement(); - } - - - public void resolve(JavaImport model, ModelResolver resolver) throws ContributionResolveException { - - } -} diff --git a/java/sca/contrib/modules/contribution-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.java.JavaImportExportFactory b/java/sca/contrib/modules/contribution-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.java.JavaImportExportFactory deleted file mode 100644 index a293330a57..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.java.JavaImportExportFactory +++ /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.java.impl.JavaImportExportFactoryImpl diff --git a/java/sca/contrib/modules/contribution-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/contribution-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index ac1fa9aade..0000000000 --- a/java/sca/contrib/modules/contribution-java/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. - -org.apache.tuscany.sca.contribution.java.impl.JavaImportProcessor;qname=http://www.osoa.org/xmlns/sca/1.0#import.java,model=org.apache.tuscany.sca.contribution.java.JavaImport -org.apache.tuscany.sca.contribution.java.impl.JavaExportProcessor;qname=http://www.osoa.org/xmlns/sca/1.0#export.java,model=org.apache.tuscany.sca.contribution.java.JavaExport diff --git a/java/sca/contrib/modules/contribution-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver b/java/sca/contrib/modules/contribution-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver deleted file mode 100644 index c69eb40636..0000000000 --- a/java/sca/contrib/modules/contribution-java/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.java.impl.ClassReferenceModelResolver;model=org.apache.tuscany.sca.contribution.resolver.ClassReference diff --git a/java/sca/contrib/modules/contribution-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener b/java/sca/contrib/modules/contribution-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener deleted file mode 100644 index 7debb3d3c6..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener +++ /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.java.impl.JavaImportExportListener diff --git a/java/sca/contrib/modules/contribution-java/src/main/resources/contribution-java-validation-messages.properties b/java/sca/contrib/modules/contribution-java/src/main/resources/contribution-java-validation-messages.properties deleted file mode 100644 index 09fc3e9fff..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/main/resources/contribution-java-validation-messages.properties +++ /dev/null @@ -1,23 +0,0 @@ -# -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# -# -AttributePackageMissing = Attribute 'package' is missing -XMLStreamException = XMLStreamException occured due to : {0} - diff --git a/java/sca/contrib/modules/contribution-java/src/test/java/org/apache/tuscany/sca/contribution/java/impl/ClassReferenceArtifactResolverTestCase.java b/java/sca/contrib/modules/contribution-java/src/test/java/org/apache/tuscany/sca/contribution/java/impl/ClassReferenceArtifactResolverTestCase.java deleted file mode 100644 index 1405ad4bd5..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/test/java/org/apache/tuscany/sca/contribution/java/impl/ClassReferenceArtifactResolverTestCase.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.contribution.java.impl; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.resolver.ClassReference; -import org.apache.tuscany.sca.contribution.resolver.ExtensibleModelResolver; -import org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; - -/** - * Test ClassReferenceArtifactResolver. - * - * @version $Rev: 560435 $ $Date: 2007-07-27 18:26:55 -0700 (Fri, 27 Jul 2007) $ - */ -public class ClassReferenceArtifactResolverTestCase extends TestCase { - private ExtensibleModelResolver resolver; - - @Override - protected void setUp() throws Exception { - ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - - ModelResolverExtensionPoint resolvers = extensionPoints.getExtensionPoint(ModelResolverExtensionPoint.class); - resolvers.addResolver(ClassReference.class, ClassReferenceModelResolver.class); - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - resolver = new ExtensibleModelResolver(null, resolvers, modelFactories); - } - - /** - * Test ClassReference resolution - * - */ - public void testResolveClass() { - ClassReference ref = new ClassReference(getClass().getName()); - ClassReference clazz = resolver.resolveModel(ClassReference.class, ref); - assertFalse(clazz.isUnresolved()); - assertTrue(clazz.getJavaClass() == getClass()); - } - - /** - * Test ClassReference resolution of inexistent class - * - */ - public void testUnresolvedClass() { - ClassReference ref = new ClassReference("NonExistentClass"); - ClassReference clazz = resolver.resolveModel(ClassReference.class, ref); - assertTrue(clazz.isUnresolved()); - assertTrue(clazz.getJavaClass() == null); - } -} diff --git a/java/sca/contrib/modules/contribution-java/src/test/java/org/apache/tuscany/sca/contribution/java/impl/ContributionClassLoaderTestCase.java b/java/sca/contrib/modules/contribution-java/src/test/java/org/apache/tuscany/sca/contribution/java/impl/ContributionClassLoaderTestCase.java deleted file mode 100644 index 3ae161642d..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/test/java/org/apache/tuscany/sca/contribution/java/impl/ContributionClassLoaderTestCase.java +++ /dev/null @@ -1,262 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.java.impl; - -import java.io.File; -import java.net.MalformedURLException; -import java.net.URL; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.ArrayList; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.ContributionFactory; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.java.JavaExport; -import org.apache.tuscany.sca.contribution.java.JavaImport; -import org.apache.tuscany.sca.contribution.java.JavaImportExportFactory; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; - - -/** - * Test ContributionClassLoader. - * - */ -public class ContributionClassLoaderTestCase { - - private ContributionFactory contributionFactory; - private JavaImportExportFactory javaImportExportFactory; - - @Before - public void setUp() throws Exception { - ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - contributionFactory = modelFactories.getFactory(ContributionFactory.class); - javaImportExportFactory = modelFactories.getFactory(JavaImportExportFactory.class); - } - - private Contribution createContribution(String fileName) throws MalformedURLException { - Contribution contrib = contributionFactory.createContribution(); - File contribDir = new File(fileName); - contrib.setLocation(contribDir.toURI().toURL().toString()); - ClassLoader contextClassLoader = AccessController.doPrivileged(new PrivilegedAction() { - public ClassLoader run() { - return Thread.currentThread().getContextClassLoader(); - } - }); - contrib.setClassLoader(new ContributionClassLoader(contrib, contextClassLoader)); - return contrib; - } - - - @Test - public void testClassLoadingFromContribution() throws ClassNotFoundException, MalformedURLException { - - Contribution contribA = createContribution("target/test-classes"); - Contribution contribB = createContribution("target"); - Contribution contribC = createContribution("target/test-classes/deployables/sample-calculator.jar"); - - // Class present in contribution, also in parent. Class is loaded from parent - Class testClassA = contribA.getClassLoader().loadClass(this.getClass().getName()); - Assert.assertNotNull(testClassA); - Assert.assertSame(this.getClass(), testClassA); - - // Class not present in contribution, but present in parent ClassLoader - Class testClassB = contribB.getClassLoader().loadClass(this.getClass().getName()); - Assert.assertNotNull(testClassB); - Assert.assertSame(this.getClass(), testClassB); - - // Class present in contribution, but not in parent - Class testClassC = contribC.getClassLoader().loadClass("calculator.AddService"); - Assert.assertNotNull(testClassC); - - // Class not present in contribution or in parent - try { - contribA.getClassLoader().loadClass("NonExistent"); - - Assert.assertTrue("ClassNotFoundException not thrown as expected", false); - - } catch (ClassNotFoundException e) { - } - - - - } - - @Test - public void testResourceLoadingFromContribution() throws ClassNotFoundException, MalformedURLException { - - Contribution contribA = createContribution("target/test-classes"); - Contribution contribB = createContribution("target"); - Contribution contribC = createContribution("target/test-classes/deployables/sample-calculator.jar"); - - // Resource present in contribution, and in parent - URL resA = contribA.getClassLoader().getResource("deployables/sample-calculator.jar"); - Assert.assertNotNull(resA); - - // Resource not present in contribution, but present in parent ClassLoader - URL resB = contribB.getClassLoader().getResource("deployables/sample-calculator.jar"); - Assert.assertNotNull(resB); - - // Resource present in contribution, but not in parent - URL resC = contribC.getClassLoader().getResource("calculator/AddService.class"); - Assert.assertNotNull(resC); - - // Load Java class as resource from parent - String classResName = this.getClass().getName().replaceAll("\\.", "/") + ".class"; - URL classResA = contribA.getClassLoader().getResource(classResName); - Assert.assertNotNull(classResA); - - // Non-existent resource - URL res = contribA.getClassLoader().getResource("deployables/NonExistent"); - Assert.assertNull(res); - - } - - private static String getPackageName(Class cls) { - String name = cls.getName(); - int index = name.lastIndexOf('.'); - return index == -1 ? "" : name.substring(0, index); - } - - @Test - public void testClassLoadingFromImportedContribution() throws ClassNotFoundException, MalformedURLException { - - Contribution contribA = createContribution("target/test-classes"); - Contribution contribB = createContribution("target"); - Contribution contribC = createContribution("target/test-classes/deployables/sample-calculator.jar"); - ArrayList exportContribList = new ArrayList(); - exportContribList.add(contribA); - exportContribList.add(contribC); - - JavaImport import_ = javaImportExportFactory.createJavaImport(); - import_.setPackage(getPackageName(getClass())); - import_.setModelResolver(new JavaImportModelResolver(exportContribList, null)); - contribB.getImports().add(import_); - import_ = javaImportExportFactory.createJavaImport(); - import_.setPackage("calculator"); - import_.setModelResolver(new JavaImportModelResolver(exportContribList, null)); - contribB.getImports().add(import_); - - JavaExport export = javaImportExportFactory.createJavaExport(); - export.setPackage(getPackageName(getClass())); - contribA.getExports().add(export); - export = javaImportExportFactory.createJavaExport(); - export.setPackage("calculator"); - contribC.getExports().add(export); - - // Load class from parent, class is also present in imported contribution. Class should - // be loaded from parent - Class testClassB = contribB.getClassLoader().loadClass(this.getClass().getName()); - Assert.assertNotNull(testClassB); - Assert.assertSame(this.getClass(), testClassB); - - // Load class from parent, class is also present in parent. Class should be loaded - // from parent. - Class testClassA = contribA.getClassLoader().loadClass(this.getClass().getName()); - Assert.assertNotNull(testClassA); - Assert.assertSame(this.getClass(), testClassA); - - // Imported class should be the same as the one loaded by the exporting contribution - Assert.assertSame(testClassA, testClassB); - - // Load class from imported contribution, class is not present in parent - Class testClassB1 = contribB.getClassLoader().loadClass("calculator.AddService"); - Assert.assertNotNull(testClassB1); - - // Imported class should be the same as the one loaded by the exporting contribution - Class testClassC = contribC.getClassLoader().loadClass("calculator.AddService"); - Assert.assertNotNull(testClassC); - Assert.assertSame(testClassC, testClassB1); - - - // Try to load class from package which is not explicitly imported - should throw ClassNotFoundException - try { - contribA.getClassLoader().loadClass("calculator.AddService"); - - Assert.assertTrue("ClassNotFoundException not thrown as expected", false); - - } catch (ClassNotFoundException e) { - } - - // Try to load non-existent class from imported package - should throw ClassNotFoundException - try { - contribB.getClassLoader().loadClass(getPackageName(getClass()) + ".NonExistentClass"); - - Assert.assertTrue("ClassNotFoundException not thrown as expected", false); - - } catch (ClassNotFoundException e) { - } - - } - - @Test - public void testResourceLoadingFromImportedContribution() throws ClassNotFoundException, MalformedURLException { - - Contribution contribA = createContribution("target/test-classes"); - Contribution contribB = createContribution("target"); - Contribution contribC = createContribution("target/test-classes/deployables/sample-calculator.jar"); - - ArrayList exportContribList = new ArrayList(); - exportContribList.add(contribA); - exportContribList.add(contribC); - - JavaImport import_ = javaImportExportFactory.createJavaImport(); - import_.setPackage(getPackageName(getClass())); - import_.setModelResolver(new JavaImportModelResolver(exportContribList, null)); - contribB.getImports().add(import_); - JavaImport import1_ = javaImportExportFactory.createJavaImport(); - import1_.setPackage("calculator"); - import1_.setModelResolver(new JavaImportModelResolver(exportContribList, null)); - contribB.getImports().add(import1_); - - JavaExport export = javaImportExportFactory.createJavaExport(); - export.setPackage(getPackageName(getClass())); - contribA.getExports().add(export); - JavaExport export1 = javaImportExportFactory.createJavaExport(); - export1.setPackage("calculator"); - contribC.getExports().add(export1); - - - // Load resource from parent - URL resB = contribB.getClassLoader().getResource("deployables/sample-calculator.jar"); - Assert.assertNotNull(resB); - - // Load Java class as resource from imported contribution with JavaImport - String classResName = this.getClass().getName().replaceAll("\\.", "/") + ".class"; - URL classResB = contribB.getClassLoader().getResource(classResName); - Assert.assertNotNull(classResB); - - // Load Java class as resource from imported contribution with JavaImport - URL classResB1 = contribB.getClassLoader().getResource("calculator/AddService.class"); - Assert.assertNotNull(classResB1); - - // Try to load resource not explicitly imported by contribution - URL classResA1 = contribA.getClassLoader().getResource("calculator/AddService.class"); - Assert.assertNull(classResA1); - - - } - -} diff --git a/java/sca/contrib/modules/contribution-java/src/test/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportProcessorTestCase.java b/java/sca/contrib/modules/contribution-java/src/test/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportProcessorTestCase.java deleted file mode 100644 index 0ec5bfba39..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/test/java/org/apache/tuscany/sca/contribution/java/impl/JavaExportProcessorTestCase.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.java.impl; - -import java.io.StringReader; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamReader; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.contribution.java.JavaExport; -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.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.MonitorFactory; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.impl.DefaultMonitorFactoryImpl; -import org.apache.tuscany.sca.monitor.impl.DefaultMonitorImpl; - -/** - * Test JavaExportProcessorTestCase - * - * @version $Rev$ $Date$ - */ -public class JavaExportProcessorTestCase extends TestCase { - - private static final String VALID_XML = - "" - + ""; - - private static final String INVALID_XML = - "" - + ""; - - private XMLInputFactory inputFactory; - private StAXArtifactProcessor staxProcessor; - private Monitor monitor; - - @Override - protected void setUp() throws Exception { - ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - inputFactory = XMLInputFactory.newInstance(); - // Create a monitor - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - MonitorFactory monitorFactory = new DefaultMonitorFactoryImpl(); - if (monitorFactory != null) { - monitor = monitorFactory.createMonitor(); - utilities.addUtility(monitorFactory); - } - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null); - } - - /** - * Test loading a valid export element from a contribution metadata stream - * @throws Exception - */ - public void testLoad() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(VALID_XML)); - JavaExport javaExport = (JavaExport)staxProcessor.read(reader); - assertEquals("org.apache.tuscany.sca.contribution.java", javaExport.getPackage()); - } - - /** - * Test loading an INVALID export element from a contribution metadata stream - * @throws Exception - */ - public void testLoadInvalid() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(INVALID_XML)); - /*try { - staxProcessor.read(reader); - fail("readerException should have been thrown"); - } catch (ContributionReadException e) { - assertTrue(true); - }*/ - staxProcessor.read(reader); - Problem problem = ((DefaultMonitorImpl)monitor).getLastLoggedProblem(); - assertNotNull(problem); - assertEquals("AttributePackageMissing", problem.getMessageId()); - } -} diff --git a/java/sca/contrib/modules/contribution-java/src/test/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportProcessorTestCase.java b/java/sca/contrib/modules/contribution-java/src/test/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportProcessorTestCase.java deleted file mode 100644 index 9e43b744cf..0000000000 --- a/java/sca/contrib/modules/contribution-java/src/test/java/org/apache/tuscany/sca/contribution/java/impl/JavaImportProcessorTestCase.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.java.impl; - -import java.io.StringReader; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamReader; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.contribution.java.JavaImport; -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.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.MonitorFactory; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.impl.DefaultMonitorFactoryImpl; -import org.apache.tuscany.sca.monitor.impl.DefaultMonitorImpl; - -/** - * Test JavaImportProcessorTestCase - * - * @version $Rev$ $Date$ - */ -public class JavaImportProcessorTestCase extends TestCase { - - private static final String VALID_XML = - "" - + ""; - - private static final String INVALID_XML = - "" - + ""; - - private XMLInputFactory inputFactory; - private StAXArtifactProcessor staxProcessor; - private Monitor monitor; - - @Override - protected void setUp() throws Exception { - ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - inputFactory = XMLInputFactory.newInstance(); - // Create a monitor - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - MonitorFactory monitorFactory = new DefaultMonitorFactoryImpl(); - if (monitorFactory != null) { - monitor = monitorFactory.createMonitor(); - utilities.addUtility(monitorFactory); - } - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null); - } - - /** - * Test loading a valid import element from a contribution metadata stream - * @throws Exception - */ - public void testLoad() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(VALID_XML)); - JavaImport javaImport = (JavaImport)staxProcessor.read(reader); - - assertEquals("org.apache.tuscany.sca.contribution.java", javaImport.getPackage()); - assertEquals("sca://contributions/001", javaImport.getLocation()); - } - - /** - * Test loading a INVALID import element from a contribution metadata stream - * @throws Exception - */ - public void testLoadInvalid() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(INVALID_XML)); - /*try { - staxProcessor.read(reader); - fail("readerException should have been thrown"); - } catch (ContributionReadException e) { - assertTrue(true); - }*/ - staxProcessor.read(reader); - Problem problem = ((DefaultMonitorImpl)monitor).getLastLoggedProblem(); - assertNotNull(problem); - assertEquals("AttributePackageMissing", problem.getMessageId()); - } -} diff --git a/java/sca/contrib/modules/contribution-java/src/test/resources/deployables/sample-calculator.jar b/java/sca/contrib/modules/contribution-java/src/test/resources/deployables/sample-calculator.jar deleted file mode 100644 index 0ca3a1b781..0000000000 Binary files a/java/sca/contrib/modules/contribution-java/src/test/resources/deployables/sample-calculator.jar and /dev/null differ diff --git a/java/sca/contrib/modules/contribution-jee/LICENSE b/java/sca/contrib/modules/contribution-jee/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/contribution-jee/NOTICE b/java/sca/contrib/modules/contribution-jee/NOTICE deleted file mode 100644 index 51042eab05..0000000000 --- a/java/sca/contrib/modules/contribution-jee/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/contribution-jee/pom.xml b/java/sca/contrib/modules/contribution-jee/pom.xml deleted file mode 100644 index dec945d60c..0000000000 --- a/java/sca/contrib/modules/contribution-jee/pom.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-contribution-jee - Apache Tuscany SCA Java EE - - - - org.apache.tuscany.sca - tuscany-contribution - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-contribution-impl - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-java - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-java-xml - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-ejb - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-web - 2.0-SNAPSHOT - - - - - org.apache.tuscany.sca - tuscany-implementation-jee - 2.0-SNAPSHOT - - - - org.apache.openejb - openejb-core - 3.0 - - - org.apache.openejb - openejb-jee - 3.0 - - - - org.codehaus.woodstox - wstx-asl - 3.2.1 - runtime - - - stax - stax-api - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.contribution.jee - ${pom.name} - org.apache.tuscany.sca.contribution.jee* - org.apache.tuscany.sca.contribution.osgi.impl - - - - - - - diff --git a/java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/AssemblyHelper.java b/java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/AssemblyHelper.java deleted file mode 100644 index 547ba52e74..0000000000 --- a/java/sca/contrib/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 ALLOWED_ENV_ENTRY_TYPES; - public static final Intent CONVERSATIONAL_INTENT; - public static final Intent EJB_INTENT; - static { - ALLOWED_ENV_ENTRY_TYPES = new HashMap(); - 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/java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessor.java b/java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessor.java deleted file mode 100644 index 37ae53a38a..0000000000 --- a/java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessor.java +++ /dev/null @@ -1,406 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.EjbRefType; -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> intfToBean = new HashMap>(); - private List statefulBeans = new ArrayList(); - - 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 getEjbComponentTypes() throws ContributionException { - intfToBean.clear(); - statefulBeans.clear(); - Map ejbComponentTypes = new HashMap(); - - EjbJar ejbJar = ejbModule.getEjbJar(); - if (!ejbJar.getVersion().startsWith("3")) { - // Not an EJB3 module - // TODO: should throw an exception - } - - Map beansMap = ejbJar.getEnterpriseBeansByEjbName(); - for (Map.Entry 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; - } - if (ct != null) { - // Bean is an EJB3 bean - ejbComponentTypes.put(bean.getEjbName(), ct); - } - } - - // Adjust the references to STATEFUL beans - for (Map.Entry 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 ejbComponentTypes = getEjbComponentTypes(); - - for (Map.Entry 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 ejbComponentTypes = getEjbComponentTypes(); - - ModelFactoryExtensionPoint mfep = new DefaultModelFactoryExtensionPoint(); - EJBImplementationFactory eif = mfep.getFactory(EJBImplementationFactory.class); - - for (Map.Entry 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 { - if(bean.getBusinessRemote().size() == 0 && bean.getBusinessLocal().size() == 0) { - // Not an EJB3 Session bean - return null; - } - 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 beansList = intfToBean.get(intfName); - if (beansList == null) { - beansList = new ArrayList(); - 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 entry : bean.getEjbRefMap().entrySet()) { - EjbRef ejbRef = entry.getValue(); - if(ejbRef.getHome() != null) { - // References to only EJB3 beans need to be considered. - // Skip the current on as it is not a reference to an EJB3 bean. - continue; - } - if (ejbRef.getRefType().compareTo(EjbReference.Type.REMOTE) != 0) { - // Only Remote EJB references need to be considered. - // Skip the current one as it is not a remote reference. - continue; - } - //FIXME: ejbRef.getEjbRefType() is null sometimes. Need a different way to figure the type. - if(ejbRef.getEjbRefType() != null && ejbRef.getEjbRefType().compareTo(EjbRefType.SESSION) != 0) { - // Only references to Session beans need to be considered. - // Skip the current one as it is not a Session bean. - 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 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 { - try { - if(javax.ejb.MessageDrivenBean.class.isAssignableFrom(cl.loadClass(bean.getEjbClass()))) { - // Not an EJB3 bean - return null; - } - } catch (ClassNotFoundException ignored) { - // Should not happen - } - ComponentType componentType = helper.createComponentType(); - - // Process Remote EJB References - for (Map.Entry entry : bean.getEjbRefMap().entrySet()) { - EjbRef ejbRef = entry.getValue(); - if(ejbRef.getHome() != null) { - // References to only EJB3 beans need to be considered. - // Skip the current on as it is not a reference to an EJB3 bean. - continue; - } - if (ejbRef.getRefType().compareTo(EjbReference.Type.REMOTE) != 0) { - // Only Remote EJB references need to be considered. - // Skip the current one as it is not a remote reference. - continue; - } - //FIXME: ejbRef.getEjbRefType() is null sometimes. Need a different way to figure the type. - if(ejbRef.getEjbRefType() != null && ejbRef.getEjbRefType().compareTo(EjbRefType.SESSION) != 0) { - // Only references to Session beans need to be considered. - // Skip the current one as it is not a Session bean. - 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 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/java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationProcessor.java b/java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationProcessor.java deleted file mode 100644 index 2ecabb9a23..0000000000 --- a/java/sca/contrib/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 ejbComponentTypes = emp.getEjbComponentTypes(); - for(Map.Entry 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/java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEModuleHelper.java b/java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/JavaEEModuleHelper.java deleted file mode 100644 index 1187d1ed00..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessor.java b/java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessor.java deleted file mode 100644 index deb9d9e755..0000000000 --- a/java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessor.java +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.EjbRefType; -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 entry : webApp.getEjbRefMap().entrySet()) { - EjbRef ejbRef = entry.getValue(); - if(ejbRef.getHome() != null) { - // References to only EJB3 beans need to be considered. - // Skip the current on as it is not a reference to an EJB3 bean. - continue; - } - if (ejbRef.getRefType().compareTo(EjbReference.Type.REMOTE) != 0) { - // Only Remote EJB references need to be considered. - // Skip the current one as it is not a remote reference. - continue; - } - //FIXME: ejbRef.getEjbRefType() is null sometimes. Need a different way to figure the type. - if(ejbRef.getEjbRefType() != null && ejbRef.getEjbRefType().compareTo(EjbRefType.SESSION) != 0) { - // Only references to Session beans need to be considered. - // Skip the current one as it is not a Session bean. - 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 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/java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EarContributionProcessor.java b/java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EarContributionProcessor.java deleted file mode 100644 index 3a80c1dd3b..0000000000 --- a/java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/EarContributionProcessor.java +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URL; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.jar.JarEntry; -import java.util.jar.JarInputStream; - -import org.apache.tuscany.sca.contribution.PackageType; -import org.apache.tuscany.sca.contribution.processor.PackageProcessor; -import org.apache.tuscany.sca.contribution.processor.impl.JarContributionProcessor; -import org.apache.tuscany.sca.contribution.service.ContributionException; - -/** - * Ear Contribution package processor. - * - * @version $Rev$ $Date$ - */ -public class EarContributionProcessor implements PackageProcessor { - - public URL getArtifactURL(URL packageSourceURL, URI artifact) - throws MalformedURLException { - if (packageSourceURL.toString().startsWith("archive:")) { - return new URL(packageSourceURL, artifact.toString()); - } else { - return new URL("archive:" + packageSourceURL.toExternalForm() + "!/" + artifact); - } - } - - public List getArtifacts(URL packageSourceURL, InputStream inputStream) throws ContributionException, IOException { - if (packageSourceURL == null) { - throw new IllegalArgumentException("Invalid null package source URL."); - } - - if (inputStream == null) { - throw new IllegalArgumentException("Invalid null source inputstream."); - } - - // The root is a jar file - JarInputStream jar = new JarInputStream(inputStream); - try { - Set names = new HashSet(); - while (true) { - JarEntry entry = jar.getNextJarEntry(); - if (entry == null) { - // EOF - break; - } - - String name = entry.getName(); - if (!name.startsWith(".")) { - - // Trim trailing / - if (name.endsWith("/")) { - name = name.substring(0, name.length() - 1); - } - - // Add the entry name - if (!names.contains(name)) { - names.add(name); - - // Add parent folder names to the list too - for (;;) { - int s = name.lastIndexOf('/'); - if (s == -1) { - name = ""; - } else { - name = name.substring(0, s); - } - if (!names.contains(name)) { - names.add(name); - } else { - break; - } - } - } - } - if(entry.getName().indexOf("/") == -1 && (entry.getName().toLowerCase().endsWith(".war") || entry.getName().toLowerCase().endsWith(".jar"))) { - // A WAR or an EJB JAR file in the root of the archive. - // Get entries from the nested archive. - ByteArrayOutputStream bout = new ByteArrayOutputStream(); - int b; - while((b = jar.read()) != -1) { - bout.write(b); - } - bout.close(); - ByteArrayInputStream bin = new ByteArrayInputStream(bout.toByteArray()); - - PackageProcessor archiveProcessor = entry.getName().toLowerCase().endsWith(".war") ? new WarContributionProcessor() : new JarContributionProcessor(); - List artifacts = archiveProcessor.getArtifacts(packageSourceURL, bin); - bin.close(); - for(URI artifact : artifacts) { - names.add(entry.getName()+"!/"+artifact); - } - } - } - - // Return list of URIs - List artifacts = new ArrayList(); - for (String name: names) { - artifacts.add(URI.create(name)); - } - return artifacts; - - } finally { - jar.close(); - } - } - - public String getPackageType() { - return PackageType.EAR; - } -} diff --git a/java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WarContributionProcessor.java b/java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WarContributionProcessor.java deleted file mode 100644 index 17974e831f..0000000000 --- a/java/sca/contrib/modules/contribution-jee/src/main/java/org/apache/tuscany/sca/contribution/jee/impl/WarContributionProcessor.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.contribution.jee.impl; - -import org.apache.tuscany.sca.contribution.PackageType; -import org.apache.tuscany.sca.contribution.processor.PackageProcessor; -import org.apache.tuscany.sca.contribution.processor.impl.JarContributionProcessor; - -/** - * War Contribution package processor. - * - * @version $Rev$ $Date$ - */ -public class WarContributionProcessor extends JarContributionProcessor implements PackageProcessor { - @Override - public String getPackageType() { - return PackageType.WAR; - } -} diff --git a/java/sca/contrib/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor b/java/sca/contrib/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor deleted file mode 100644 index 88c69658f6..0000000000 --- a/java/sca/contrib/modules/contribution-jee/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor +++ /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. - -org.apache.tuscany.sca.contribution.jee.impl.EarContributionProcessor;type=application/ear -org.apache.tuscany.sca.contribution.jee.impl.WarContributionProcessor;type=application/war diff --git a/java/sca/contrib/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessorTestCase.java b/java/sca/contrib/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/EJBModuleProcessorTestCase.java deleted file mode 100644 index b062187afb..0000000000 --- a/java/sca/contrib/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 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 serviceNames = new HashSet(); - 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/java/sca/contrib/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/EarContributionProcessorTestCase.java b/java/sca/contrib/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/EarContributionProcessorTestCase.java deleted file mode 100644 index 9495df70b7..0000000000 --- a/java/sca/contrib/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/EarContributionProcessorTestCase.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.jee; - -import java.io.InputStream; -import java.net.URI; -import java.net.URL; -import java.util.List; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.contribution.jee.impl.EarContributionProcessor; -import org.apache.tuscany.sca.contribution.service.util.IOHelper; -import org.junit.Test; - -/** - * Ear Contribution package processor test case. - * Verifies proper handling of EAR contributions. - * - * @version $Rev$ $Date$ - */ -public class EarContributionProcessorTestCase { - private static final String EAR_CONTRIBUTION = "/ejb-injection-sample.ear"; - - @Test - public void testProcessPackageArtifacts() throws Exception { - EarContributionProcessor earProcessor = new EarContributionProcessor(); - - URL earURL = getClass().getResource(EAR_CONTRIBUTION); - InputStream earStream = earURL.openStream(); - List artifacts = null; - try { - artifacts = earProcessor.getArtifacts(earURL, earStream); - } finally { - IOHelper.closeQuietly(earStream); - } - - Assert.assertNotNull(artifacts); - } -} diff --git a/java/sca/contrib/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationProcessorTestCase.java b/java/sca/contrib/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/JavaEEApplicationProcessorTestCase.java deleted file mode 100644 index 85b5e87e7f..0000000000 --- a/java/sca/contrib/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 expectedServiceNames = new HashSet(); - 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 serviceNames = new HashSet(); - for(Service service : ct.getServices()) { - serviceNames.add(service.getName()); - } - - Assert.assertEquals(expectedServiceNames, serviceNames); - - // Check the references - Assert.assertEquals(1, ct.getReferences().size()); - - Set expectedReferenceNames = new HashSet(); - expectedReferenceNames.add("BankBean_simple.BankBean_converter"); - - Set referenceNames = new HashSet(); - for (Reference r : ct.getReferences()) { - referenceNames.add(r.getName()); - } - - Assert.assertEquals(expectedReferenceNames, referenceNames); - } -} diff --git a/java/sca/contrib/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/WarContributionProcessorTestCase.java b/java/sca/contrib/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/WarContributionProcessorTestCase.java deleted file mode 100644 index e315c417b9..0000000000 --- a/java/sca/contrib/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/WarContributionProcessorTestCase.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.jee; - -import java.io.InputStream; -import java.net.URI; -import java.net.URL; -import java.util.List; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.contribution.jee.impl.WarContributionProcessor; -import org.apache.tuscany.sca.contribution.service.util.IOHelper; -import org.junit.Test; - -/** - * War Contribution package processor test case. - * Verifies proper handling of WAR contributions. - * - * @version $Rev$ $Date$ - */ -public class WarContributionProcessorTestCase { - private static final String WAR_CONTRIBUTION = "/sample-web-app.war"; - - @Test - public void testProcessPackageArtifacts() throws Exception { - WarContributionProcessor warProcessor = new WarContributionProcessor(); - - URL warURL = getClass().getResource(WAR_CONTRIBUTION); - InputStream warStream = warURL.openStream(); - List artifacts = null; - try { - artifacts = warProcessor.getArtifacts(warURL, warStream); - } finally { - IOHelper.closeQuietly(warStream); - } - - Assert.assertNotNull(artifacts); - } -} diff --git a/java/sca/contrib/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessorTestCase.java b/java/sca/contrib/modules/contribution-jee/src/test/java/org/apache/tuscany/sca/contribution/jee/WebModuleProcessorTestCase.java deleted file mode 100644 index 030fdc3d19..0000000000 --- a/java/sca/contrib/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 referenceNames = new HashSet(); - 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/java/sca/contrib/modules/contribution-jee/src/test/resources/ejb-injection-sample.ear b/java/sca/contrib/modules/contribution-jee/src/test/resources/ejb-injection-sample.ear deleted file mode 100644 index 3efdd206c7..0000000000 Binary files a/java/sca/contrib/modules/contribution-jee/src/test/resources/ejb-injection-sample.ear and /dev/null differ diff --git a/java/sca/contrib/modules/contribution-jee/src/test/resources/ejb-injection-sample.jar b/java/sca/contrib/modules/contribution-jee/src/test/resources/ejb-injection-sample.jar deleted file mode 100644 index 4b9e3b79f4..0000000000 Binary files a/java/sca/contrib/modules/contribution-jee/src/test/resources/ejb-injection-sample.jar and /dev/null differ diff --git a/java/sca/contrib/modules/contribution-jee/src/test/resources/sample-web-app.war b/java/sca/contrib/modules/contribution-jee/src/test/resources/sample-web-app.war deleted file mode 100644 index 681b203fab..0000000000 Binary files a/java/sca/contrib/modules/contribution-jee/src/test/resources/sample-web-app.war and /dev/null differ diff --git a/java/sca/contrib/modules/contribution-namespace/LICENSE b/java/sca/contrib/modules/contribution-namespace/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/contribution-namespace/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/java/sca/contrib/modules/contribution-namespace/META-INF/MANIFEST.MF b/java/sca/contrib/modules/contribution-namespace/META-INF/MANIFEST.MF deleted file mode 100644 index 4f03eaebb5..0000000000 --- a/java/sca/contrib/modules/contribution-namespace/META-INF/MANIFEST.MF +++ /dev/null @@ -1,25 +0,0 @@ -Manifest-Version: 1.0 -Export-Package: org.apache.tuscany.sca.contribution.namespace;uses:="o - rg.apache.tuscany.sca.contribution";version="2.0" -Private-Package: org.apache.tuscany.sca.contribution.namespace.impl;ve - rsion="2.0" -Tool: Bnd-0.0.255 -Bundle-Name: Apache Tuscany SCA Namespace Import/Export Model -Created-By: 1.6.0_07 (Sun Microsystems Inc.) -Bundle-Vendor: The Apache Software Foundation -Bundle-Version: 2.0 -Bnd-LastModified: 1225397110468 -Bundle-ManifestVersion: 2 -Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt -Bundle-Description: Apache Tuscany SCA Namespace Import/Export Model -Import-Package: javax.xml.namespace, - javax.xml.stream, - org.apache.tuscany.sca.contribution;version="2.0", - org.apache.tuscany.sca.contribution.namespace;version="2.0", - org.apache.tuscany.sca.contribution.processor;version="2.0", - org.apache.tuscany.sca.contribution.resolver;version="2.0", - org.apache.tuscany.sca.core;version="2.0", - org.apache.tuscany.sca.monitor;version="2.0" -Bundle-SymbolicName: org.apache.tuscany.sca.contribution.namespace -Bundle-DocURL: http://www.apache.org/ - diff --git a/java/sca/contrib/modules/contribution-namespace/NOTICE b/java/sca/contrib/modules/contribution-namespace/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/contribution-namespace/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/contribution-namespace/pom.xml b/java/sca/contrib/modules/contribution-namespace/pom.xml deleted file mode 100644 index 33ed92b32d..0000000000 --- a/java/sca/contrib/modules/contribution-namespace/pom.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-contribution-namespace - Apache Tuscany SCA Namespace Import/Export Model - - - - org.apache.tuscany.sca - tuscany-contribution - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.codehaus.woodstox - wstx-asl - 3.2.4 - runtime - - - stax - stax-api - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.contribution.namespace - ${pom.name} - org.apache.tuscany.sca.contribution.namespace* - - - - - - - diff --git a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/DefaultNamespaceImportExportFactory.java b/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/DefaultNamespaceImportExportFactory.java deleted file mode 100644 index a71fa61a54..0000000000 --- a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/DefaultNamespaceImportExportFactory.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.namespace; - -import org.apache.tuscany.sca.contribution.namespace.impl.NamespaceImportExportFactoryImpl; - -/** - * Default Namespace Import/Export model factory implementation - * - * @version $Rev$ $Date$ - */ -public class DefaultNamespaceImportExportFactory extends NamespaceImportExportFactoryImpl implements NamespaceImportExportFactory { -} diff --git a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceExport.java b/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceExport.java deleted file mode 100644 index c68aee8521..0000000000 --- a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceExport.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.contribution.namespace; - -import org.apache.tuscany.sca.contribution.Export; - - -/** - * The representation of an XML namespace export. - * - * @version $Rev$ $Date$ - */ -public interface NamespaceExport extends Export { - - /** - * Get Namespace that identifies the export - * - * @return The exported namespace - */ - String getNamespace(); - - /** - * Set Namespace that identifies the export - * - * @param namespace The exported namespace - */ - void setNamespace(String namespace); - -} diff --git a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceImport.java b/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceImport.java deleted file mode 100644 index 8af36d7da0..0000000000 --- a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceImport.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.contribution.namespace; - -import org.apache.tuscany.sca.contribution.Import; - -/** - * The representation of an XML namespace import. - * - * @version $Rev$ $Date$ - */ -public interface NamespaceImport extends Import { - - /** - * Get the location used to resolve the definitions for this import - * - * @return The import location - */ - String getLocation(); - - /** - * Set the location used to resolve the definitions for this import - * - * @param location The import location - */ - void setLocation(String location); - - /** - * Get Namespace that identifies the import - * - * @return The namespace - */ - String getNamespace(); - - /** - * Set Namespace that identifies the import - * - * @param namespace The namespace - */ - void setNamespace(String namespace); - -} \ No newline at end of file diff --git a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceImportExportFactory.java b/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceImportExportFactory.java deleted file mode 100644 index cfbac8bb1f..0000000000 --- a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/NamespaceImportExportFactory.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.contribution.namespace; - -/** - * Base Namespace import/export model factory - * - * @version $Rev$ $Date$ - */ -public interface NamespaceImportExportFactory { - - /** - * Create a namespace import model object - * - * @return The new NamespaceImport model object - */ - NamespaceImport createNamespaceImport(); - - /** - * Create a namespace export model object - * - * @return The new NamespaceExport model object - */ - NamespaceExport createNamespaceExport(); -} diff --git a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportImpl.java b/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportImpl.java deleted file mode 100644 index 8991585d32..0000000000 --- a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportImpl.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.contribution.namespace.impl; - -import org.apache.tuscany.sca.contribution.namespace.NamespaceExport; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * The representation of an export for the contribution - * - * @version $Rev$ $Date$ - */ -public class NamespaceExportImpl implements NamespaceExport { - private String namespace; - private ModelResolver modelResolver; - - protected NamespaceExportImpl() { - super(); - } - - public String getNamespace() { - return namespace; - } - - public void setNamespace(String namespace) { - this.namespace = namespace; - } - - public ModelResolver getModelResolver() { - return modelResolver; - } - - public void setModelResolver(ModelResolver modelResolver) { - this.modelResolver = modelResolver; - } - -} diff --git a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportModelResolver.java b/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportModelResolver.java deleted file mode 100644 index 5c5ae22f77..0000000000 --- a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportModelResolver.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.contribution.namespace.impl; - -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * A model resolver for namespace exports. - * - * @version $Rev$ $Date$ - */ -public class NamespaceExportModelResolver implements ModelResolver { - - private ModelResolver resolver; - - public NamespaceExportModelResolver(ModelResolver resolver) { - this.resolver = resolver; - } - - public void addModel(Object resolved) { - throw new IllegalStateException(); - } - - public Object removeModel(Object resolved) { - throw new IllegalStateException(); - } - - public T resolveModel(Class modelClass, T unresolved) { - - // Just delegate to the contribution's model resolver, namespace - // based filtering is implemented in the model specific model - // resolver, which know how to get the namespace of the particular - // type of model that they handle - return resolver.resolveModel(modelClass, unresolved); - } - -} diff --git a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportProcessor.java b/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportProcessor.java deleted file mode 100644 index a316818b0f..0000000000 --- a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportProcessor.java +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.namespace.impl; - -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; - -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.namespace.NamespaceExport; -import org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory; -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.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * Artifact processor for Namespace export - * - * @version $Rev$ $Date$ - */ -public class NamespaceExportProcessor implements StAXArtifactProcessor { - - private static final String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0"; - private static final QName EXPORT = new QName(SCA10_NS, "export"); - private static final String NAMESPACE = "namespace"; - - private final NamespaceImportExportFactory factory; - private final Monitor monitor; - - public NamespaceExportProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - this.factory = modelFactories.getFactory(NamespaceImportExportFactory.class); - this.monitor = monitor; - } - - /** - * Report a warning. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-namespace-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Report a exception. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-namespace-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - public QName getArtifactType() { - return EXPORT; - } - - public Class getModelType() { - return NamespaceExport.class; - } - - /** - * Process - */ - public NamespaceExport read(XMLStreamReader reader) throws ContributionReadException { - NamespaceExport namespaceExport = this.factory.createNamespaceExport(); - QName element = null; - - try { - while (reader.hasNext()) { - int event = reader.getEventType(); - switch (event) { - case START_ELEMENT: - element = reader.getName(); - - // Read - if (EXPORT.equals(element)) { - String ns = reader.getAttributeValue(null, NAMESPACE); - if (ns == null) { - error("AttributeNameSpaceMissing", reader); - //throw new ContributionReadException("Attribute 'namespace' is missing"); - } else - namespaceExport.setNamespace(ns); - } - - break; - case XMLStreamConstants.END_ELEMENT: - if (EXPORT.equals(reader.getName())) { - return namespaceExport; - } - break; - } - - // Read the next element - if (reader.hasNext()) { - reader.next(); - } - } - } - catch (XMLStreamException e) { - ContributionReadException ex = new ContributionReadException(e); - error("XMLStreamException", reader, ex); - } - - return namespaceExport; - } - - public void write(NamespaceExport namespaceExport, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - - // Write - writer.writeStartElement(EXPORT.getNamespaceURI(), EXPORT.getLocalPart()); - - if (namespaceExport.getNamespace() != null) { - writer.writeAttribute(NAMESPACE, namespaceExport.getNamespace()); - } - - writer.writeEndElement(); - } - - public void resolve(NamespaceExport namespaceExport, ModelResolver resolver) throws ContributionResolveException { - - if (namespaceExport.getNamespace() != null) - // Initialize the export's resolver - namespaceExport.setModelResolver(new NamespaceExportModelResolver(resolver)); - } -} diff --git a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportExportFactoryImpl.java b/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportExportFactoryImpl.java deleted file mode 100644 index 1146e593a9..0000000000 --- a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportExportFactoryImpl.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.namespace.impl; - -import org.apache.tuscany.sca.contribution.namespace.NamespaceExport; -import org.apache.tuscany.sca.contribution.namespace.NamespaceImport; -import org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory; - -/** - * Namespace Import/Export model factory implementation - * - * @version $Rev$ $Date$ - */ -public class NamespaceImportExportFactoryImpl implements NamespaceImportExportFactory { - - public NamespaceImport createNamespaceImport() { - return new NamespaceImportImpl(); - } - - public NamespaceExport createNamespaceExport() { - return new NamespaceExportImpl(); - } - -} diff --git a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportExportListener.java b/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportExportListener.java deleted file mode 100644 index 7ea09a47c7..0000000000 --- a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportExportListener.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.namespace.impl; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.Export; -import org.apache.tuscany.sca.contribution.Import; -import org.apache.tuscany.sca.contribution.namespace.NamespaceExport; -import org.apache.tuscany.sca.contribution.namespace.NamespaceImport; -import org.apache.tuscany.sca.contribution.resolver.DefaultImportAllModelResolver; -import org.apache.tuscany.sca.contribution.service.ContributionListener; -import org.apache.tuscany.sca.contribution.service.ContributionRepository; - -/** - * Namespace Import/Export contribution listener - * The listener would process all import/export from a given contribution - * and initialize the model resolvers properly - * - * @version $Rev$ $Date$ - */ -public class NamespaceImportExportListener implements ContributionListener { - - /** - * Initialize the import/export model resolvers - * Export model resolvers are same as Contribution model resolver - * Import model resolvers are matched to a specific contribution if a location URI is specified, - * otherwise it try to resolve against all the other contributions - * Also set the exporting contributions used by contribution ClassLoaders to - * match import/export for class loading. - */ - public void contributionAdded(ContributionRepository repository, Contribution contribution) { - // Initialize the contribution exports - for (Export export: contribution.getExports()) { - export.setModelResolver(contribution.getModelResolver()); - } - - // Initialize the contribution imports - for (Import import_: contribution.getImports()) { - boolean initialized = false; - - if (import_ instanceof NamespaceImport) { - NamespaceImport namespaceImport = (NamespaceImport)import_; - - // Find a matching contribution - if (namespaceImport.getLocation() != null) { - Contribution targetContribution = repository.getContribution(namespaceImport.getLocation()); - if (targetContribution != null) { - - // Find a matching contribution export - for (Export export: targetContribution.getExports()) { - if (export instanceof NamespaceExport) { - NamespaceExport namespaceExport = (NamespaceExport)export; - if (namespaceImport.getNamespace().equals(namespaceExport.getNamespace())) { - namespaceImport.setModelResolver(namespaceExport.getModelResolver()); - initialized = true; - break; - } - } - } - } - } - - //if no location was specified, try to resolve with any contribution - if( !initialized ) { - // Use a resolver that will consider all contributions - import_.setModelResolver(new DefaultImportAllModelResolver(import_, repository.getContributions())); - } - } - } - - } - - public void contributionRemoved(ContributionRepository repository, Contribution contribution) { - - } - - public void contributionUpdated(ContributionRepository repository, Contribution oldContribution, Contribution contribution) { - - } - -} diff --git a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportImpl.java b/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportImpl.java deleted file mode 100644 index 6d2a31f702..0000000000 --- a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportImpl.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.namespace.impl; - -import org.apache.tuscany.sca.contribution.Export; -import org.apache.tuscany.sca.contribution.namespace.NamespaceExport; -import org.apache.tuscany.sca.contribution.namespace.NamespaceImport; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * The representation of an import for the contribution - * - * @version $Rev$ $Date$ - */ -public class NamespaceImportImpl implements NamespaceImport { - private ModelResolver modelResolver; - - /** - * The namespace to be imported - */ - private String namespace; - /** - * Optional location URI pointing to a Contribution that exports the namespace - */ - private String location; - - - protected NamespaceImportImpl() { - super(); - } - - public String getLocation() { - return location; - } - - public void setLocation(String location) { - this.location = location; - } - - public String getNamespace() { - return namespace; - } - - public void setNamespace(String namespace) { - this.namespace = namespace; - } - - public ModelResolver getModelResolver() { - return modelResolver; - } - - public void setModelResolver(ModelResolver modelResolver) { - this.modelResolver = modelResolver; - } - - - /** - * Match a NamespaceImport to a given NamespaceExport based on : - * location is not provided - * import and export namespaces match - */ - public boolean match(Export export) { - if (export instanceof NamespaceExport) { - if (this.getNamespace().equals(((NamespaceExport)export).getNamespace())) { - return true; - } - } - return false; - } - - @Override - public String toString() { - return String.valueOf(namespace); - } -} diff --git a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportProcessor.java b/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportProcessor.java deleted file mode 100644 index a364823256..0000000000 --- a/java/sca/contrib/modules/contribution-namespace/src/main/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportProcessor.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.contribution.namespace.impl; - -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; - -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.namespace.NamespaceImport; -import org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory; -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.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * Artifact processor for Namespace import - * - * @version $Rev$ $Date$ - */ -public class NamespaceImportProcessor implements StAXArtifactProcessor { - private static final String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0"; - - private static final QName IMPORT = new QName(SCA10_NS, "import"); - - private static final String NAMESPACE = "namespace"; - private static final String LOCATION = "location"; - - private final NamespaceImportExportFactory factory; - private final Monitor monitor; - - public NamespaceImportProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - this.factory = modelFactories.getFactory(NamespaceImportExportFactory.class); - this.monitor = monitor; - } - - /** - * Report a warning. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-namespace-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Report a exception. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-namespace-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - public QName getArtifactType() { - return IMPORT; - } - - public Class getModelType() { - return NamespaceImport.class; - } - - /** - * Process - */ - public NamespaceImport read(XMLStreamReader reader) throws ContributionReadException { - NamespaceImport namespaceImport = this.factory.createNamespaceImport(); - QName element; - - try { - while (reader.hasNext()) { - int event = reader.getEventType(); - switch (event) { - case START_ELEMENT: - element = reader.getName(); - - // Read - if (IMPORT.equals(element)) { - String ns = reader.getAttributeValue(null, NAMESPACE); - if (ns == null) { - error("AttributeNameSpaceMissing", reader); - //throw new ContributionReadException("Attribute 'namespace' is missing"); - } else - namespaceImport.setNamespace(ns); - - String location = reader.getAttributeValue(null, LOCATION); - if (location != null) { - namespaceImport.setLocation(location); - } - } - break; - case XMLStreamConstants.END_ELEMENT: - if (IMPORT.equals(reader.getName())) { - return namespaceImport; - } - break; - } - - // Read the next element - if (reader.hasNext()) { - reader.next(); - } - } - } - catch (XMLStreamException e) { - ContributionReadException ex = new ContributionReadException(e); - error("XMLStreamException", reader, ex); - } - - return namespaceImport; - } - - public void write(NamespaceImport namespaceImport, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - - // Write - writer.writeStartElement(IMPORT.getNamespaceURI(), IMPORT.getLocalPart()); - - if (namespaceImport.getNamespace() != null) { - writer.writeAttribute(NAMESPACE, namespaceImport.getNamespace()); - } - if (namespaceImport.getLocation() != null) { - writer.writeAttribute(LOCATION, namespaceImport.getLocation()); - } - - writer.writeEndElement(); - } - - - public void resolve(NamespaceImport model, ModelResolver resolver) throws ContributionResolveException { - } -} diff --git a/java/sca/contrib/modules/contribution-namespace/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory b/java/sca/contrib/modules/contribution-namespace/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory deleted file mode 100644 index 095866fb6f..0000000000 --- a/java/sca/contrib/modules/contribution-namespace/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.namespace.NamespaceImportExportFactory +++ /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.namespace.impl.NamespaceImportExportFactoryImpl diff --git a/java/sca/contrib/modules/contribution-namespace/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/contribution-namespace/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index 86f199368b..0000000000 --- a/java/sca/contrib/modules/contribution-namespace/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. - -org.apache.tuscany.sca.contribution.namespace.impl.NamespaceImportProcessor;qname=http://www.osoa.org/xmlns/sca/1.0#import,model=org.apache.tuscany.sca.contribution.namespace.NamespaceImport -org.apache.tuscany.sca.contribution.namespace.impl.NamespaceExportProcessor;qname=http://www.osoa.org/xmlns/sca/1.0#export,model=org.apache.tuscany.sca.contribution.namespace.NamespaceExport diff --git a/java/sca/contrib/modules/contribution-namespace/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener b/java/sca/contrib/modules/contribution-namespace/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener deleted file mode 100644 index cdf16a383f..0000000000 --- a/java/sca/contrib/modules/contribution-namespace/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener +++ /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.namespace.impl.NamespaceImportExportListener diff --git a/java/sca/contrib/modules/contribution-namespace/src/main/resources/contribution-namespace-validation-messages.properties b/java/sca/contrib/modules/contribution-namespace/src/main/resources/contribution-namespace-validation-messages.properties deleted file mode 100644 index c1cbd06e7f..0000000000 --- a/java/sca/contrib/modules/contribution-namespace/src/main/resources/contribution-namespace-validation-messages.properties +++ /dev/null @@ -1,23 +0,0 @@ -# -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# -# -AttributeNameSpaceMissing = Attribute 'namespace' is missing -XMLStreamException = XMLStreamException occured due to : {0} - diff --git a/java/sca/contrib/modules/contribution-namespace/src/test/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportProcessorTestCase.java b/java/sca/contrib/modules/contribution-namespace/src/test/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportProcessorTestCase.java deleted file mode 100644 index 1f508d6a4a..0000000000 --- a/java/sca/contrib/modules/contribution-namespace/src/test/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceExportProcessorTestCase.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.namespace.impl; - -import java.io.StringReader; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamReader; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.contribution.namespace.NamespaceExport; -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.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.MonitorFactory; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.impl.DefaultMonitorFactoryImpl; -import org.apache.tuscany.sca.monitor.impl.DefaultMonitorImpl; - -/** - * Test NamespaceExportProcessorTestCase - * - * @version $Rev$ $Date$ - */ -public class NamespaceExportProcessorTestCase extends TestCase { - - private static final String VALID_XML = - "" - + ""; - - private static final String INVALID_XML = - "" - + ""; - - private XMLInputFactory inputFactory; - private StAXArtifactProcessor staxProcessor; - private Monitor monitor; - - @Override - protected void setUp() throws Exception { - ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - inputFactory = XMLInputFactory.newInstance(); - // Create a monitor - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - MonitorFactory monitorFactory = new DefaultMonitorFactoryImpl(); - if (monitorFactory != null) { - monitor = monitorFactory.createMonitor(); - utilities.addUtility(monitorFactory); - } - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, monitor); - } - - /** - * Test loading a valid export element from a contribution metadata stream - * @throws Exception - */ - public void testLoad() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(VALID_XML)); - NamespaceExport namespaceExport = (NamespaceExport)staxProcessor.read(reader); - assertEquals("http://foo", namespaceExport.getNamespace()); - } - - /** - * Test loading an INVALID export element from a contribution metadata stream - * @throws Exception - */ - public void testLoadInvalid() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(INVALID_XML)); - /*try { - staxProcessor.read(reader); - fail("readerException should have been thrown"); - } catch (ContributionReadException e) { - assertTrue(true); - }*/ - staxProcessor.read(reader); - Problem problem = ((DefaultMonitorImpl)monitor).getLastLoggedProblem(); - assertNotNull(problem); - assertEquals("AttributeNameSpaceMissing", problem.getMessageId()); - } -} diff --git a/java/sca/contrib/modules/contribution-namespace/src/test/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportProcessorTestCase.java b/java/sca/contrib/modules/contribution-namespace/src/test/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportProcessorTestCase.java deleted file mode 100644 index 71ac33bf68..0000000000 --- a/java/sca/contrib/modules/contribution-namespace/src/test/java/org/apache/tuscany/sca/contribution/namespace/impl/NamespaceImportProcessorTestCase.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.contribution.namespace.impl; - - - -import java.io.StringReader; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamReader; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.contribution.namespace.NamespaceImport; -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.contribution.service.ContributionReadException; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.MonitorFactory; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.impl.DefaultMonitorFactoryImpl; -import org.apache.tuscany.sca.monitor.impl.DefaultMonitorImpl; - -/** - * Test NamespaceImportProcessorTestCase - * - * @version $Rev$ $Date$ - */ -public class NamespaceImportProcessorTestCase extends TestCase { - - private static final String VALID_XML = - "" - + ""; - - private static final String INVALID_XML = - "" - + ""; - - private XMLInputFactory inputFactory; - private StAXArtifactProcessor staxProcessor; - private Monitor monitor; - - @Override - protected void setUp() throws Exception { - ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - inputFactory = XMLInputFactory.newInstance(); - // Create a monitor - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - MonitorFactory monitorFactory = new DefaultMonitorFactoryImpl(); - if (monitorFactory != null) { - monitor = monitorFactory.createMonitor(); - utilities.addUtility(monitorFactory); - } - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, monitor); - } - - /** - * Test loading a valid import element from a contribution metadata stream - * @throws Exception - */ - public void testLoad() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(VALID_XML)); - NamespaceImport namespaceImport = (NamespaceImport)staxProcessor.read(reader); - - assertEquals("http://foo", namespaceImport.getNamespace()); - assertEquals("sca://contributions/001", namespaceImport.getLocation()); - } - - /** - * Test loading a INVALID import element from a contribution metadata stream - * @throws Exception - */ - public void testLoadInvalid() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(INVALID_XML)); - /*try { - staxProcessor.read(reader); - fail("readerException should have been thrown"); - } catch (ContributionReadException e) { - assertTrue(true); - }*/ - staxProcessor.read(reader); - Problem problem = ((DefaultMonitorImpl)monitor).getLastLoggedProblem(); - assertNotNull(problem); - assertEquals("AttributeNameSpaceMissing", problem.getMessageId()); - } -} diff --git a/java/sca/contrib/modules/contribution-osgi/LICENSE b/java/sca/contrib/modules/contribution-osgi/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/contribution-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/java/sca/contrib/modules/contribution-osgi/NOTICE b/java/sca/contrib/modules/contribution-osgi/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/contribution-osgi/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/contribution-osgi/pom.xml b/java/sca/contrib/modules/contribution-osgi/pom.xml deleted file mode 100644 index 798eb562d1..0000000000 --- a/java/sca/contrib/modules/contribution-osgi/pom.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-contribution-osgi - Apache Tuscany SCA Contribution Service OSGi - - - - org.apache.tuscany.sca - tuscany-contribution - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-osgi-runtime - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-contribution-java - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.apache.felix - org.apache.felix.main - 1.0.4 - - - - - - org.codehaus.woodstox - wstx-asl - 3.2.4 - runtime - - - stax - stax-api - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.contribution.osgi - ${pom.name} - org.apache.tuscany.sca.contribution.osgi* - - - - - - - diff --git a/java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/BundleReference.java b/java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/BundleReference.java deleted file mode 100644 index 0bbb8b707a..0000000000 --- a/java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/BundleReference.java +++ /dev/null @@ -1,161 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.osgi; - - -/** - * A weak reference to a class, which should be used to register classes - * with an ArtifactResolver and resolve these classes later. - * - * @version $Rev$ $Date$ - */ -public class BundleReference { - - /** - * The bundle. - */ - private Object bundle; - - /** - * The bundle name. - */ - private String bundleName; - - /** - * The bundle version. - */ - private String bundleVersion; - - /** - * The bundle name and version. - */ - private String bundleUniqueName; - - /** - * The bundle relative path. - */ - private String bundleRelativePath; - - /** - * Constructs a new BundleReference. - * - * @param bundle The bundle reference - * @param bundleName The bundle name - * @param bundleVersion The bundle version - * @param bundleRelativePath The relative path for the bundle - */ - public BundleReference(Object bundle, String bundleName, String bundleVersion, String bundleRelativePath) { - this.bundle = bundle; - this.bundleName = bundleName; - this.bundleVersion = bundleVersion; - this.bundleRelativePath = bundleRelativePath; - this.bundleUniqueName = bundleName + "(" + (bundleVersion == null?"0.0.0":bundleVersion) + ")"; - } - - /** - * Constructs a new BundleReference. - * - * @param bundleName The bundle name - * @param bundleVersion The bundle version - */ - public BundleReference(String bundleName, String bundleVersion) { - this.bundleName = bundleName; - this.bundleVersion = bundleVersion; - this.bundleUniqueName = bundleName + "(" + (bundleVersion == null?"0.0.0":bundleVersion) + ")"; - } - - /** - * Get the referenced bundle. - * - * @return The referenced bundle - */ - public Object getBundle() { - return bundle; - } - - /** - * Get the referenced bundle name. - * - * @return The bundle name - */ - public String getBundleName() { - return bundleName; - } - - /** - * Get the referenced bundle version. - * - * @return The bundle version - */ - public String getBundleVersion() { - return bundleVersion; - } - - /** - * Get the referenced bundle name and version. - * - * @return The bundle name - */ - public String getBundleUniqueName() { - return bundleUniqueName; - } - - /** - * Get the relative location of the bundle inside its contribution. - * - * @return The bundle path - */ - public String getBundleRelativePath() { - return bundleRelativePath; - } - - - - /** - * Returns true if the bundle reference is unresolved. - * - * @return Whether or not the bundle has been resolved - */ - public boolean isUnresolved() { - return bundle == null; - } - - @Override - public int hashCode() { - return bundleUniqueName.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } else { - if (obj instanceof BundleReference) { - BundleReference ref = (BundleReference)obj; - return bundleName.equals(ref.bundleName) && - (bundleVersion == null || ref.bundleVersion == null || - bundleVersion.equals(ref.bundleVersion)); - } else { - return false; - } - } - } - -} diff --git a/java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleContributionProcessor.java b/java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleContributionProcessor.java deleted file mode 100644 index 5033d7eefc..0000000000 --- a/java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleContributionProcessor.java +++ /dev/null @@ -1,161 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.osgi.impl; - -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URL; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.jar.JarEntry; -import java.util.jar.JarInputStream; - -import org.apache.tuscany.sca.contribution.PackageType; -import org.apache.tuscany.sca.contribution.processor.PackageProcessor; -import org.apache.tuscany.sca.contribution.service.ContributionException; -import org.apache.tuscany.sca.osgi.runtime.OSGiRuntime; -import org.osgi.framework.Bundle; - -/** - * Bundle Contribution package processor. - * - * @version $Rev$ $Date$ - */ -public class OSGiBundleContributionProcessor implements PackageProcessor { - - public OSGiBundleContributionProcessor() { - } - - public String getPackageType() { - return PackageType.BUNDLE; - } - - public URL getArtifactURL(URL sourceURL, URI artifact) throws MalformedURLException { - Bundle bundle = null; - try { - bundle = OSGiRuntime.findInstalledBundle(sourceURL); - if (bundle != null) { - URL url = bundle.getResource(artifact.getPath()); - if (url == null) - System.out.println("Could not load resource " + artifact); - return url; - } - } catch (Exception e) { - } - return null; - } - - public List getJarArtifacts(URL packageSourceURL, InputStream inputStream) throws ContributionException, - IOException { - if (packageSourceURL == null) { - throw new IllegalArgumentException("Invalid null package source URL."); - } - - if (inputStream == null) { - throw new IllegalArgumentException("Invalid null source inputstream."); - } - - // Assume the root is a jar file - JarInputStream jar = new JarInputStream(inputStream); - try { - Set names = new HashSet(); - while (true) { - JarEntry entry = jar.getNextJarEntry(); - if (entry == null) { - // EOF - break; - } - - // FIXME: Maybe we should externalize the filter as a property - String name = entry.getName(); - if (!name.startsWith(".") && !entry.isDirectory()) { - - // Trim trailing / - if (name.endsWith("/")) { - name = name.substring(0, name.length() - 1); - } - - // Add the entry name - if (!names.contains(name) && name.length() > 0) { - names.add(name); - - } - } - } - - // Return list of URIs - List artifacts = new ArrayList(); - for (String name: names) { - artifacts.add(URI.create(name)); - } - return artifacts; - - } finally { - jar.close(); - } -} - - public List getArtifacts(URL packageSourceURL, InputStream inputStream) throws ContributionException, - IOException { - - Bundle bundle = null; - try { - bundle = OSGiRuntime.findInstalledBundle(packageSourceURL); - } catch (Exception e) { - } - - if (bundle == null) { - throw new IllegalArgumentException("Could not find OSGi bundle " + packageSourceURL); - } - - if (packageSourceURL == null) { - throw new IllegalArgumentException("Invalid null package source URL."); - } - - List artifacts = new ArrayList(); - - try { - Enumeration entries = bundle.findEntries("/", "*", true); - while (entries.hasMoreElements()) { - URL entry = (URL)entries.nextElement(); - String entryName = entry.getPath(); - if (entryName.startsWith("/")) - entryName = entryName.substring(1); - artifacts.add(new URI(entryName)); - - if (entryName.endsWith(".jar")) { - - URL jarResource = bundle.getResource(entryName); - artifacts.addAll(getJarArtifacts(jarResource, jarResource.openStream())); - } - - } - } catch (Exception e) { - throw new RuntimeException(e); - } - - return artifacts; - } -} diff --git a/java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleProcessor.java b/java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleProcessor.java deleted file mode 100644 index b3c2302f60..0000000000 --- a/java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleProcessor.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.osgi.impl; - -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.util.List; -import java.util.jar.Attributes; -import java.util.jar.JarInputStream; -import java.util.jar.Manifest; - -import org.apache.tuscany.sca.contribution.Artifact; -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.osgi.BundleReference; -import org.apache.tuscany.sca.osgi.runtime.OSGiRuntime; - -/** - * OSGi bundle processor - * - * @version $Rev$ $Date$ - */ -public class OSGiBundleProcessor { - - private boolean initializedOSGi; - private OSGiRuntime osgiRuntime; - - public OSGiBundleProcessor() { - } - - public Object installContributionBundle(Contribution contribution) { - - JarInputStream jar = null; - Object bundle = null; - - try { - - URL contribURL = new URL(contribution.getLocation()); - jar = new JarInputStream(contribURL.openStream()); - - Manifest manifest = jar.getManifest(); - if (manifest != null && manifest.getMainAttributes() - .containsKey(new Attributes.Name("Bundle-SymbolicName"))) { - - initialize(); - if (osgiRuntime != null) - bundle = osgiRuntime.installBundle(contribURL.toString(), null); - } - } catch (Exception e) { - // If OSGi cannot process the jar, treat the bundle as a plain jar file. - } finally { - - try { - if (jar != null) - jar.close(); - } catch (IOException e) { - } - } - - return bundle; - } - - public BundleReference installNestedBundle(Contribution contribution, - String bundleSymbolicName, - String bundleVersion) { - - BundleReference bundleReference = null; - - initialize(); - if (osgiRuntime == null) - return null; - - List artifacts = contribution.getArtifacts(); - for (Artifact a : artifacts) { - if (a.getURI().endsWith(".jar")) { - - InputStream stream; - JarInputStream jar = null; - Object name; - Object version; - try { - - URL artifactURL = new URL(a.getLocation()); - stream = artifactURL.openStream(); - jar = new JarInputStream(artifactURL.openStream()); - Manifest manifest = jar.getManifest(); - name = manifest.getMainAttributes().get(new Attributes.Name("Bundle-SymbolicName")); - version = manifest.getMainAttributes().get(new Attributes.Name("Bundle-Version")); - - if (bundleSymbolicName.equals(name) && (bundleVersion == null || version == null || bundleVersion - .equals(version))) { - - Object bundle = osgiRuntime.installBundle(a.getLocation(), stream); - - bundleReference = new BundleReference(bundle, bundleSymbolicName, bundleVersion, a.getURI()); - - break; - } - - } catch (Exception e) { - - // If OSGi cannot process the jar, treat the bundle as a plain jar file. - } finally { - try { - if (jar != null) - jar.close(); - } catch (IOException e) { - } - } - } - } - return bundleReference; - } - - private void initialize() { - try { - if (!initializedOSGi) { - initializedOSGi = true; - osgiRuntime = OSGiRuntime.getRuntime(); - } - } catch (Exception e) { - } - } -} diff --git a/java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleReferenceModelResolver.java b/java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleReferenceModelResolver.java deleted file mode 100644 index 07e80f66f3..0000000000 --- a/java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiBundleReferenceModelResolver.java +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.osgi.impl; - -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.Import; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.osgi.BundleReference; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.osgi.runtime.OSGiRuntime; -import org.osgi.framework.Bundle; - -/** - * A Model Resolver for BundleReferences. - * - * @version $Rev$ $Date$ - */ -public class OSGiBundleReferenceModelResolver implements ModelResolver { - private Contribution contribution; - private Map map = new HashMap(); - - OSGiRuntime osgiRuntime; - private OSGiBundleProcessor bundleProcessor; - - public OSGiBundleReferenceModelResolver(Contribution contribution, ModelFactoryExtensionPoint modelFactories) { - this.contribution = contribution; - this.bundleProcessor = new OSGiBundleProcessor(); - } - - public void addModel(Object resolved) { - BundleReference bundleRef = (BundleReference)resolved; - map.put(bundleRef.getBundleUniqueName(), bundleRef); - } - - public Object removeModel(Object resolved) { - return map.remove(((BundleReference)resolved).getBundleUniqueName()); - } - - /** - * Handle artifact resolution when the specific class reference is imported from another contribution - * @param unresolved - * @return - */ - private BundleReference resolveImportedModel(BundleReference unresolved) { - BundleReference resolved = unresolved; - - if( this.contribution != null) { - for (Import import_ : this.contribution.getImports()) { - - resolved = import_.getModelResolver().resolveModel(BundleReference.class, unresolved); - if (resolved != unresolved) - break; - } - - } - return resolved; - } - - - public T resolveModel(Class modelClass, T unresolved) { - Object resolved = map.get(unresolved); - - if (resolved != null ){ - return modelClass.cast(resolved); - } - - try { - if (osgiRuntime == null) - osgiRuntime = OSGiRuntime.getRuntime(); - } catch (Exception e) { - } - if (osgiRuntime == null) - return unresolved; - - //Load a class on demand - Object bundle = null; - String bundleName = ((BundleReference)unresolved).getBundleName(); - String bundleVersion = ((BundleReference)unresolved).getBundleVersion(); - - bundle = osgiRuntime.findBundle(bundleName, bundleVersion); - BundleReference bundleReference; - - if (bundle == null) - bundleReference = bundleProcessor.installNestedBundle(contribution, bundleName, bundleVersion); - else { - bundleReference = new BundleReference(bundle, - ((BundleReference)unresolved).getBundleName(), - bundleVersion, - getBundleFileName(bundle) - ); - } - - - if (bundleReference != null) { - //if we load the class - - map.put(((BundleReference)unresolved).getBundleUniqueName(), bundleReference); - - // Return the resolved BundleReference - return modelClass.cast(bundleReference); - } else { - //delegate resolution of the class - resolved = this.resolveImportedModel((BundleReference)unresolved); - return modelClass.cast(resolved); - } - - - } - - - private String getBundleFileName(Object bundle) { - if (bundle instanceof Bundle) { - String path = ((Bundle)bundle).getLocation(); - if (path.endsWith("/")) - path = path.substring(0, path.length()-1); - if (path.startsWith(contribution.getLocation())) { - if (path.equals(contribution.getLocation())) { - int index = path.lastIndexOf('/'); - if (index > 0 && index < path.length()-1) - path = path.substring(index+1); - } else { - path = path.substring(contribution.getLocation().length()); - if (path.startsWith("/")) - path = path.substring(1); - } - } else if (path.lastIndexOf('/') >= 0) - path = path.substring(path.lastIndexOf('/')+1); - return path; - } - return null; - - } - -} diff --git a/java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiClassReferenceModelResolver.java b/java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiClassReferenceModelResolver.java deleted file mode 100644 index 528a287328..0000000000 --- a/java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiClassReferenceModelResolver.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.osgi.impl; - -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.Import; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.resolver.ClassReference; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.osgi.runtime.OSGiRuntime; -import org.osgi.framework.Bundle; - -/** - * A Model Resolver for ClassReferences. - * - * @version $Rev$ $Date$ - */ -public class OSGiClassReferenceModelResolver implements ModelResolver { - private Contribution contribution; - private Map map = new HashMap(); - private Bundle bundle; - private boolean initialized; - private boolean useOSGi; - - public OSGiClassReferenceModelResolver(Contribution contribution, ModelFactoryExtensionPoint modelFactories) { - this.contribution = contribution; - } - - public void addModel(Object resolved) { - ClassReference clazz = (ClassReference)resolved; - map.put(clazz.getClassName(), clazz); - } - - public Object removeModel(Object resolved) { - return map.remove(((ClassReference)resolved).getClassName()); - } - - /** - * Handle artifact resolution when the specific class reference is imported from another contribution - * @param unresolved - * @return - */ - private ClassReference resolveImportedModel(ClassReference unresolved) { - ClassReference resolved = unresolved; - - if (this.contribution != null) { - for (Import import_ : this.contribution.getImports()) { - - if (resolved == unresolved && bundle != null) { - resolved = import_.getModelResolver().resolveModel(ClassReference.class, unresolved); - if (resolved != unresolved) - break; - } - } - - } - return resolved; - } - - public T resolveModel(Class modelClass, T unresolved) { - Object resolved = map.get(unresolved); - - if (resolved != null) { - return modelClass.cast(resolved); - } - initialize(); - if (!useOSGi) - return unresolved; - - //Load a class on demand - Class clazz = null; - if (bundle != null) { - try { - clazz = bundle.loadClass(((ClassReference)unresolved).getClassName()); - } catch (Exception e) { - // we will later try to delegate to imported model resolvers - } - } - - if (clazz != null) { - //if we load the class - // Store a new ClassReference wrapping the loaded class - ClassReference classReference = new ClassReference(clazz); - map.put(getPackageName(classReference), classReference); - - // Return the resolved ClassReference - return modelClass.cast(classReference); - } else { - //delegate resolution of the class - resolved = this.resolveImportedModel((ClassReference)unresolved); - return modelClass.cast(resolved); - } - - } - - /*************** - * Helper methods - ***************/ - - private String getPackageName(ClassReference clazz) { - int pos = clazz.getClassName().lastIndexOf("."); - return clazz.getClassName().substring(0, pos - 1); - } - - private void initialize() { - if (initialized) - return; - - initialized = true; - try { - bundle = OSGiRuntime.findInstalledBundle(contribution.getLocation()); - useOSGi = bundle != null; - } catch (Throwable e) { - // Ignore errors, default to ClassReferenceModelResolver - } - } -} diff --git a/java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiImportExportListener.java b/java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiImportExportListener.java deleted file mode 100644 index 15ad0bd948..0000000000 --- a/java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiImportExportListener.java +++ /dev/null @@ -1,215 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.osgi.impl; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.net.URL; -import java.util.HashSet; -import java.util.jar.JarOutputStream; -import java.util.jar.Manifest; -import java.util.zip.ZipEntry; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.Export; -import org.apache.tuscany.sca.contribution.Import; -import org.apache.tuscany.sca.contribution.java.JavaExport; -import org.apache.tuscany.sca.contribution.java.JavaImport; -import org.apache.tuscany.sca.contribution.service.ContributionListener; -import org.apache.tuscany.sca.contribution.service.ContributionRepository; -import org.apache.tuscany.sca.osgi.runtime.OSGiRuntime; - -/** - * Namespace Import/Export contribution listener - * The listener would process all import/export from a given contribution - * and initialize the model resolvers properly - * - * @version $Rev$ $Date$ - */ -public class OSGiImportExportListener implements ContributionListener { - - private OSGiBundleProcessor bundleProcessor; - - public OSGiImportExportListener() { - bundleProcessor = new OSGiBundleProcessor(); - } - - /** - * Initialize the import/export model resolvers - * Export model resolvers are same as Contribution model resolver - * Import model resolvers are matched to a specific contribution if a location URI is specified, - * otherwise it try to resolve against all the other contributions - */ - public void contributionAdded(ContributionRepository repository, Contribution contribution) { - - OSGiRuntime osgiRuntime = null; - try { - if (bundleProcessor.installContributionBundle(contribution) == null) { - return; - } else { - osgiRuntime = OSGiRuntime.getRuntime(); - } - } catch (Exception e) { - return; - } - - HashSet bundlesToInstall = new HashSet(); - // Initialize the contribution imports - for (Import import_ : contribution.getImports()) { - boolean initialized = false; - - if (import_ instanceof JavaImport) { - JavaImport javaImport = (JavaImport)import_; - String packageName = javaImport.getPackage(); - - //Find a matching contribution - if (javaImport.getLocation() != null) { - Contribution targetContribution = repository.getContribution(javaImport.getLocation()); - if (targetContribution != null) { - - // Find a matching contribution export - for (Export export : targetContribution.getExports()) { - if (export instanceof JavaExport) { - JavaExport javaExport = (JavaExport)export; - if (packageName.equals(javaExport.getPackage())) { - - if (osgiRuntime.findBundle(targetContribution.getLocation()) == null) - bundlesToInstall.add(targetContribution); - - initialized = true; - - } - } - if (initialized) - break; - } - } - } - } - if (!initialized) { - for (Contribution c : repository.getContributions()) { - - // Go over all exports in the contribution - for (Export export : c.getExports()) { - // If the export matches our namespace, try to the resolve the model object - if (import_.match(export) && osgiRuntime.findBundle(c.getLocation()) == null) { - bundlesToInstall.add(c); - } - } - } - } - } - for (Contribution c : bundlesToInstall) { - try { - installDummyBundle(osgiRuntime, c); - } catch (Exception e) { - } - } - - } - - public void contributionRemoved(ContributionRepository repository, Contribution contribution) { - - } - - public void contributionUpdated(ContributionRepository repository, - Contribution oldContribution, - Contribution contribution) { - - } - - private void installDummyBundle(OSGiRuntime osgiRuntime, Contribution contribution) throws Exception { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - - String EOL = System.getProperty("line.separator"); - - String bundleName = contribution.getURI(); - URL contribURL = new URL(contribution.getLocation()); - String contribName = contribURL.getPath(); - if (contribName.endsWith("/")) - contribName = contribName.substring(0, contribName.length()-1); - if (contribName.lastIndexOf("/") >= 0) - contribName = contribName.substring(contribName.lastIndexOf("/")+1); - - StringBuffer exportPackageNames = new StringBuffer(); - for (Export export : contribution.getExports()) { - if (export instanceof JavaExport) { - if (exportPackageNames.length() > 0) - exportPackageNames.append(","); - exportPackageNames.append(((JavaExport)export).getPackage()); - } - } - StringBuffer importPackageNames = new StringBuffer(); - for (Import import_ : contribution.getImports()) { - if (import_ instanceof JavaImport) { - if (importPackageNames.length() > 0) - importPackageNames.append(","); - importPackageNames.append(((JavaImport)import_).getPackage()); - } - } - - String manifestStr = - "Manifest-Version: 1.0" + EOL - + "Bundle-ManifestVersion: 2" - + EOL - + "Bundle-Name: " - + bundleName - + EOL - + "Bundle-SymbolicName: " - + bundleName - + EOL - + "Bundle-Version: " - + "1.0.0" - + EOL - + "Bundle-Localization: plugin" - + EOL; - - StringBuilder manifestBuf = new StringBuilder(); - manifestBuf.append(manifestStr); - manifestBuf.append("Export-Package: " + exportPackageNames + EOL); - manifestBuf.append("Import-Package: " + importPackageNames + EOL); - manifestBuf.append("Bundle-ClassPath: .," + contribName + EOL); - - ByteArrayInputStream manifestStream = new ByteArrayInputStream(manifestBuf.toString().getBytes()); - Manifest manifest = new Manifest(); - manifest.read(manifestStream); - - JarOutputStream jarOut = new JarOutputStream(out, manifest); - - ZipEntry ze = new ZipEntry(contribName); - jarOut.putNextEntry(ze); - InputStream stream = contribURL.openStream(); - - byte[] bytes = new byte[stream.available()]; - stream.read(bytes); - jarOut.write(bytes); - stream.close(); - - jarOut.close(); - out.close(); - - ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()); - - osgiRuntime.installBundle("file://" + bundleName + ".jar", in); - - } - -} diff --git a/java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiModelResolverImpl.java b/java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiModelResolverImpl.java deleted file mode 100644 index e624b1d3b5..0000000000 --- a/java/sca/contrib/modules/contribution-osgi/src/main/java/org/apache/tuscany/sca/contribution/osgi/impl/OSGiModelResolverImpl.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.contribution.osgi.impl; - -import java.util.Collection; -import java.util.HashMap; -import java.util.Hashtable; -import java.util.Map; - -import org.apache.tuscany.sca.contribution.osgi.BundleReference; -import org.apache.tuscany.sca.contribution.resolver.ClassReference; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.osgi.framework.Bundle; - -/** - * An implementation of an artifact resolver for OSGi bundles. - * - * @version $Rev$ $Date$ - */ -public class OSGiModelResolverImpl implements ModelResolver { - private static final long serialVersionUID = -7826976465762296634L; - - private Map map = new HashMap(); - - private Hashtable bundles; - public OSGiModelResolverImpl(Hashtable bundles) { - this.bundles = bundles; - } - - - public T resolveModel(Class 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 = null; - for (Bundle bundle : bundles.values()) { - try { - clazz = bundle.loadClass(classReference.getClassName()); - } catch (ClassNotFoundException e) { - continue; - } - break; - } - if (clazz == null) { - - // 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 if (unresolved instanceof BundleReference) { - for (String bundlePath: bundles.keySet()) { - Bundle bundle = bundles.get(bundlePath); - BundleReference bundleRef = (BundleReference)unresolved; - String bundleVersion = (String)bundle.getHeaders().get("Bundle-Version"); - if (bundle.getSymbolicName().equals(bundleRef.getBundleName())&& - (bundleVersion == null || bundleRef.getBundleVersion() == null || - bundleVersion.equals(bundleRef.getBundleVersion()))) { - - resolved = new BundleReference(bundle, - bundle.getSymbolicName(), - bundleVersion, - bundlePath); - map.put(resolved, resolved); - - // Return the resolved BundleReference - return modelClass.cast(resolved); - - } - } - } - - // Return the unresolved object - return unresolved; - } - - public void addModel(Object resolved) { - map.put(resolved, resolved); - } - - public Object removeModel(Object resolved) { - return map.remove(resolved); - } - - public Collection getModels() { - return map.values(); - } - -} diff --git a/java/sca/contrib/modules/contribution-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor b/java/sca/contrib/modules/contribution-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor deleted file mode 100644 index 632d135cb5..0000000000 --- a/java/sca/contrib/modules/contribution-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessor +++ /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.osgi.impl.OSGiBundleContributionProcessor;type=application/osgi.bundle diff --git a/java/sca/contrib/modules/contribution-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver b/java/sca/contrib/modules/contribution-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver deleted file mode 100644 index 02e8b411eb..0000000000 --- a/java/sca/contrib/modules/contribution-osgi/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.osgi.impl.OSGiBundleReferenceModelResolver;model=org.apache.tuscany.sca.contribution.osgi.BundleReference diff --git a/java/sca/contrib/modules/contribution-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener b/java/sca/contrib/modules/contribution-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener deleted file mode 100644 index 8dec190930..0000000000 --- a/java/sca/contrib/modules/contribution-osgi/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener +++ /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.osgi.impl.OSGiImportExportListener diff --git a/java/sca/contrib/modules/contribution-resource/pom.xml b/java/sca/contrib/modules/contribution-resource/pom.xml deleted file mode 100644 index 34b5bb5902..0000000000 --- a/java/sca/contrib/modules/contribution-resource/pom.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-contribution-resource - Apache Tuscany SCA Resource Import/Export Model - - - - org.apache.tuscany.sca - tuscany-contribution - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.codehaus.woodstox - wstx-asl - 3.2.4 - runtime - - - stax - stax-api - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.contribution.resource - ${pom.name} - org.apache.tuscany.sca.contribution.resource* - - - - - - - diff --git a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceExport.java b/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceExport.java deleted file mode 100644 index 0bd30c19dd..0000000000 --- a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceExport.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.contribution.resource; - -import org.apache.tuscany.sca.contribution.Export; - - -/** - * The representation of an resource export. - * - * @version $Rev$ $Date$ - */ -public interface ResourceExport extends Export { - - /** - * Get Resource URI that identifies the export. - * - * @return The exported resource URI - */ - String getURI(); - - /** - * Set Resource URI that identifies the export. - * - * @param uri The exported resource URI - */ - void setURI(String uri); - -} diff --git a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceImport.java b/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceImport.java deleted file mode 100644 index 07eac9d843..0000000000 --- a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceImport.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.contribution.resource; - -import org.apache.tuscany.sca.contribution.Import; - -/** - * The representation of an resource import. - * - * @version $Rev$ $Date$ - */ -public interface ResourceImport extends Import { - - /** - * Get the location used to resolve the definitions for this import - * - * @return The import location - */ - String getLocation(); - - /** - * Set the location used to resolve the definitions for this import - * - * @param location The import location - */ - void setLocation(String location); - - /** - * Get URI that identifies the resource import - * - * @return The URI - */ - String getURI(); - - /** - * Set URI that identifies the resource import - * - * @param uri The resource URI - */ - void setURI(String uri); - -} \ No newline at end of file diff --git a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceImportExportFactory.java b/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceImportExportFactory.java deleted file mode 100644 index 4119c344ce..0000000000 --- a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/ResourceImportExportFactory.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.contribution.resource; - -/** - * Base Resource import/export model factory - * - * @version $Rev$ $Date$ - */ -public interface ResourceImportExportFactory { - - /** - * Create a resource import model object - * - * @return The new ResourceImport model object - */ - ResourceImport createResourceImport(); - - /** - * Create a resource export model object - * - * @return The new ResourceExport model object - */ - ResourceExport createResourceExport(); -} diff --git a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ArtifactModelResolver.java b/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ArtifactModelResolver.java deleted file mode 100644 index e614b47fc7..0000000000 --- a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ArtifactModelResolver.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.contribution.resource.impl; - -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.sca.contribution.Artifact; -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.Import; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.contribution.resource.ResourceImport; - -/** - * A Model Resolver for contribution artifacts. - * - * @version $Rev$ $Date$ - */ -public class ArtifactModelResolver implements ModelResolver { - private Contribution contribution; - private Map map = new HashMap(); - - public ArtifactModelResolver(Contribution contribution, ModelFactoryExtensionPoint modelFactories) { - this.contribution = contribution; - } - - public void addModel(Object resolved) { - Artifact artifact = (Artifact)resolved; - map.put(artifact.getURI(), artifact); - } - - public Object removeModel(Object resolved) { - return map.remove(((Artifact)resolved).getURI()); - } - - public T resolveModel(Class modelClass, T unresolved) { - - // Get the artifact URI - String uri = ((Artifact)unresolved).getURI(); - if (uri == null) { - return (T)unresolved; - } - - // Lookup the artifact - Artifact resolved = (Artifact) map.get(uri); - if (resolved != null) { - return modelClass.cast(resolved); - } - - // If not found, delegate the resolution to the imports (in this case based on the resource imports) - for (Import import_ : this.contribution.getImports()) { - if (import_ instanceof ResourceImport) { - ResourceImport resourceImport = (ResourceImport)import_; - //check the import location against the computed package name from the componentType URI - if (resourceImport.getURI().equals(uri)) { - // Delegate the resolution to the import resolver - resolved = resourceImport.getModelResolver().resolveModel(Artifact.class, (Artifact)unresolved); - if (!resolved.isUnresolved()) { - return modelClass.cast(resolved); - } - } - } - } - - return (T)unresolved; - } - -} diff --git a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportImpl.java b/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportImpl.java deleted file mode 100644 index c2d525dfef..0000000000 --- a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportImpl.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.resource.impl; - -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.contribution.resource.ResourceExport; - -/** - * The representation of an export for the contribution - * - * @version $Rev$ $Date$ - */ -public class ResourceExportImpl implements ResourceExport { - /** - * The resource URI to be exported - */ - private String uri; - - private ModelResolver modelResolver; - - protected ResourceExportImpl() { - super(); - } - - public String getURI() { - return uri; - } - - public void setURI(String uri) { - this.uri = uri; - } - - public ModelResolver getModelResolver() { - return modelResolver; - } - - public void setModelResolver(ModelResolver modelResolver) { - this.modelResolver = modelResolver; - } - -} diff --git a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportModelResolver.java b/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportModelResolver.java deleted file mode 100644 index fd568e533d..0000000000 --- a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportModelResolver.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.contribution.resource.impl; - -import org.apache.tuscany.sca.contribution.Artifact; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.contribution.resource.ResourceExport; - -/** - * A model resolver for resource exports. - * - * @version $Rev$ $Date$ - */ -public class ResourceExportModelResolver implements ModelResolver { - - private ResourceExport export; - private ModelResolver resolver; - - public ResourceExportModelResolver(ResourceExport export, ModelResolver resolver) { - this.export = export; - this.resolver = resolver; - } - - public void addModel(Object resolved) { - throw new IllegalStateException(); - } - - public Object removeModel(Object resolved) { - throw new IllegalStateException(); - } - - public T resolveModel(Class modelClass, T unresolved) { - - // Filter based on the artifact URI - Artifact artifact = (Artifact)unresolved; - if (export.getURI().equals(artifact.getURI())) { - - // The artifact URI matches the exported URI, delegate to the - // contribution's resolver - return resolver.resolveModel(modelClass, unresolved); - } else { - - // The artifact URI is not exported, return the unresolved object - return unresolved; - } - } - -} diff --git a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessor.java b/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessor.java deleted file mode 100644 index cf99aee389..0000000000 --- a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessor.java +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.resource.impl; - -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; - -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -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.resource.ResourceExport; -import org.apache.tuscany.sca.contribution.resource.ResourceImportExportFactory; -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.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * Artifact processor for Resource export - * - * @version $Rev$ $Date$ - */ -public class ResourceExportProcessor implements StAXArtifactProcessor { - - private static final String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0"; - private static final QName EXPORT_RESOURCE = new QName(SCA10_NS, "export.resource"); - private static final String URI = "uri"; - - private final ResourceImportExportFactory factory; - private final Monitor monitor; - - public ResourceExportProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - this.factory = modelFactories.getFactory(ResourceImportExportFactory.class); - this.monitor = monitor; - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-resource-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Report a exception. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-resource-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - public QName getArtifactType() { - return EXPORT_RESOURCE; - } - - public Class getModelType() { - return ResourceExport.class; - } - - /** - * Process - */ - public ResourceExport read(XMLStreamReader reader) throws ContributionReadException { - ResourceExport resourceExport = this.factory.createResourceExport(); - QName element = null; - - try { - while (reader.hasNext()) { - int event = reader.getEventType(); - switch (event) { - case START_ELEMENT: - element = reader.getName(); - - // Read - if (EXPORT_RESOURCE.equals(element)) { - String uri = reader.getAttributeValue(null, URI); - if (uri == null) { - error("AttributeURIMissing", reader); - //throw new ContributionReadException("Attribute 'uri' is missing"); - } else - resourceExport.setURI(uri); - } - - break; - case XMLStreamConstants.END_ELEMENT: - if (EXPORT_RESOURCE.equals(reader.getName())) { - return resourceExport; - } - break; - } - - // Read the next element - if (reader.hasNext()) { - reader.next(); - } - } - } - catch (XMLStreamException e) { - ContributionReadException ex = new ContributionReadException(e); - error("XMLStreamException", reader, ex); - } - - return resourceExport; - } - - public void write(ResourceExport resourceExport, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - - // Write - writer.writeStartElement(EXPORT_RESOURCE.getNamespaceURI(), EXPORT_RESOURCE.getLocalPart()); - - if (resourceExport.getURI() != null) { - writer.writeAttribute(URI, resourceExport.getURI()); - } - - writer.writeEndElement(); - } - - public void resolve(ResourceExport resourceExport, ModelResolver resolver) throws ContributionResolveException { - - if (resourceExport.getURI() != null) - // Initialize the export's model resolver - resourceExport.setModelResolver(new ResourceExportModelResolver(resourceExport, resolver)); - } -} diff --git a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportExportFactoryImpl.java b/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportExportFactoryImpl.java deleted file mode 100644 index 880f5f5786..0000000000 --- a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportExportFactoryImpl.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.resource.impl; - -import org.apache.tuscany.sca.contribution.resource.ResourceExport; -import org.apache.tuscany.sca.contribution.resource.ResourceImport; -import org.apache.tuscany.sca.contribution.resource.ResourceImportExportFactory; - -/** - * Resource Import/Export model factory implementation - * - * @version $Rev$ $Date$ - */ -public class ResourceImportExportFactoryImpl implements ResourceImportExportFactory { - - public ResourceImport createResourceImport() { - return new ResourceImportImpl(); - } - - public ResourceExport createResourceExport() { - return new ResourceExportImpl(); - } - -} diff --git a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportExportListener.java b/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportExportListener.java deleted file mode 100644 index e7aecad786..0000000000 --- a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportExportListener.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.contribution.resource.impl; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.Export; -import org.apache.tuscany.sca.contribution.Import; -import org.apache.tuscany.sca.contribution.resolver.DefaultImportAllModelResolver; -import org.apache.tuscany.sca.contribution.resource.ResourceExport; -import org.apache.tuscany.sca.contribution.resource.ResourceImport; -import org.apache.tuscany.sca.contribution.service.ContributionListener; -import org.apache.tuscany.sca.contribution.service.ContributionRepository; - -/** - * Resource Import/Export contribution listener - * The listener would process all import/export from a given contribution - * and initialize the model resolvers properly - * - * @version $Rev$ $Date$ - */ -public class ResourceImportExportListener implements ContributionListener { - - /** - * Initialize the import/export model resolvers - * Export model resolvers are same as Contribution model resolver - * Import model resolvers are matched to a specific contribution if a location URI is specified, - * otherwise it try to resolve against all the other contributions - * Also set the exporting contributions used by contribution ClassLoaders to - * match import/export for class loading. - */ - public void contributionAdded(ContributionRepository repository, Contribution contribution) { - // Initialize the contribution exports - for (Export export: contribution.getExports()) { - export.setModelResolver(contribution.getModelResolver()); - } - - // Initialize the contribution imports - for (Import import_: contribution.getImports()) { - boolean initialized = false; - - if (import_ instanceof ResourceImport) { - ResourceImport resourceImport = (ResourceImport)import_; - - // Find a matching contribution - if (resourceImport.getLocation() != null) { - Contribution targetContribution = repository.getContribution(resourceImport.getLocation()); - if (targetContribution != null) { - - // Find a matching contribution export - for (Export export: targetContribution.getExports()) { - if (export instanceof ResourceExport) { - ResourceExport resourceExport = (ResourceExport)export; - if (resourceImport.getURI().equals(resourceExport.getURI())) { - resourceImport.setModelResolver(resourceExport.getModelResolver()); - initialized = true; - break; - } - } - } - } - } - - //if no location was specified, try to resolve with any contribution - if( !initialized ) { - // Use a resolver that will consider all contributions - import_.setModelResolver(new DefaultImportAllModelResolver(import_, repository.getContributions())); - } - } - } - } - - public void contributionRemoved(ContributionRepository repository, Contribution contribution) { - - } - - public void contributionUpdated(ContributionRepository repository, Contribution oldContribution, Contribution contribution) { - - } - -} diff --git a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportImpl.java b/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportImpl.java deleted file mode 100644 index cd33f1290f..0000000000 --- a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportImpl.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.resource.impl; - -import java.util.List; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.Export; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.contribution.resource.ResourceExport; -import org.apache.tuscany.sca.contribution.resource.ResourceImport; - -/** - * The representation of an import for the contribution - * - * @version $Rev$ $Date$ - */ -public class ResourceImportImpl implements ResourceImport { - /** - * The resource URI to be imported - */ - private String uri; - - private ModelResolver modelResolver; - private List exportContributions; - - /** - * Optional location URI pointing to a Contribution that exports the resource - */ - private String location; - - - protected ResourceImportImpl() { - super(); - } - - public String getLocation() { - return location; - } - - public void setLocation(String location) { - this.location = location; - } - - public String getURI() { - return uri; - } - - public void setURI(String uri) { - this.uri = uri; - } - - public ModelResolver getModelResolver() { - return modelResolver; - } - - public void setModelResolver(ModelResolver modelResolver) { - this.modelResolver = modelResolver; - } - - public List getExportContributions() { - return exportContributions; - } - - public void setExportContributions(List contributions) { - this.exportContributions = contributions; - } - - /** - * Match a ResourceImport to a given ResourceExport based on : - * location is not provided - * import and export resource URI match - */ - public boolean match(Export export) { - if (export instanceof ResourceExport) { - if (this.getLocation() == null || this.getLocation().length() == 0) { - if (this.getURI().equals(((ResourceExport)export).getURI())) { - return true; - } - } - - } - return false; - } - - @Override - public String toString() { - return String.valueOf(uri); - } -} diff --git a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessor.java b/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessor.java deleted file mode 100644 index bc3fb7fa5f..0000000000 --- a/java/sca/contrib/modules/contribution-resource/src/main/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessor.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.contribution.resource.impl; - -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; - -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -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.resource.ResourceImport; -import org.apache.tuscany.sca.contribution.resource.ResourceImportExportFactory; -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.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * Artifact processor for Namespace import - * - * @version $Rev$ $Date$ - */ -public class ResourceImportProcessor implements StAXArtifactProcessor { - private static final String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0"; - - private static final QName IMPORT_RESOURCE = new QName(SCA10_NS, "import.resource"); - - private static final String URI = "uri"; - private static final String LOCATION = "location"; - - private final ResourceImportExportFactory factory; - private final Monitor monitor; - - public ResourceImportProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - this.factory = modelFactories.getFactory(ResourceImportExportFactory.class); - this.monitor = monitor; - } - - /** - * Report a warning. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-resource-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Report a exception. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-resource-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - public QName getArtifactType() { - return IMPORT_RESOURCE; - } - - public Class getModelType() { - return ResourceImport.class; - } - - /** - * Process - */ - public ResourceImport read(XMLStreamReader reader) throws ContributionReadException { - ResourceImport resourceImport = this.factory.createResourceImport(); - QName element; - - try { - while (reader.hasNext()) { - int event = reader.getEventType(); - switch (event) { - case START_ELEMENT: - element = reader.getName(); - - // Read - if (IMPORT_RESOURCE.equals(element)) { - String uri = reader.getAttributeValue(null, URI); - if (uri == null) { - error("AttributeURIMissing", reader); - //throw new ContributionReadException("Attribute 'uri' is missing"); - } else - resourceImport.setURI(uri); - - String location = reader.getAttributeValue(null, LOCATION); - if (location != null) { - resourceImport.setLocation(location); - } - } - break; - case XMLStreamConstants.END_ELEMENT: - if (IMPORT_RESOURCE.equals(reader.getName())) { - return resourceImport; - } - break; - } - - // Read the next element - if (reader.hasNext()) { - reader.next(); - } - } - } - catch (XMLStreamException e) { - ContributionReadException ex = new ContributionReadException(e); - error("XMLStreamException", reader, ex); - } - - return resourceImport; - } - - public void write(ResourceImport resourceImport, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - - // Write - writer.writeStartElement(IMPORT_RESOURCE.getNamespaceURI(), IMPORT_RESOURCE.getLocalPart()); - - if (resourceImport.getURI() != null) { - writer.writeAttribute(URI, resourceImport.getURI()); - } - if (resourceImport.getLocation() != null) { - writer.writeAttribute(LOCATION, resourceImport.getLocation()); - } - - writer.writeEndElement(); - } - - - public void resolve(ResourceImport model, ModelResolver resolver) throws ContributionResolveException { - } -} diff --git a/java/sca/contrib/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index 14eb81546d..0000000000 --- a/java/sca/contrib/modules/contribution-resource/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. - -org.apache.tuscany.sca.contribution.resource.impl.ResourceImportProcessor;qname=http://www.osoa.org/xmlns/sca/1.0#import.resource,model=org.apache.tuscany.sca.contribution.resource.ResourceImport -org.apache.tuscany.sca.contribution.resource.impl.ResourceExportProcessor;qname=http://www.osoa.org/xmlns/sca/1.0#export.resource,model=org.apache.tuscany.sca.contribution.resource.ResourceExport diff --git a/java/sca/contrib/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver b/java/sca/contrib/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver deleted file mode 100644 index 08d2b1c338..0000000000 --- a/java/sca/contrib/modules/contribution-resource/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.resource.impl.ArtifactModelResolver;model=org.apache.tuscany.sca.contribution.Artifact \ No newline at end of file diff --git a/java/sca/contrib/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resource.ResourceImportExportFactory b/java/sca/contrib/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resource.ResourceImportExportFactory deleted file mode 100644 index d39a5065c2..0000000000 --- a/java/sca/contrib/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resource.ResourceImportExportFactory +++ /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.resource.impl.ResourceImportExportFactoryImpl diff --git a/java/sca/contrib/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener b/java/sca/contrib/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener deleted file mode 100644 index f4751db9aa..0000000000 --- a/java/sca/contrib/modules/contribution-resource/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListener +++ /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.resource.impl.ResourceImportExportListener diff --git a/java/sca/contrib/modules/contribution-resource/src/main/resources/contribution-resource-validation-messages.properties b/java/sca/contrib/modules/contribution-resource/src/main/resources/contribution-resource-validation-messages.properties deleted file mode 100644 index 9df66cce52..0000000000 --- a/java/sca/contrib/modules/contribution-resource/src/main/resources/contribution-resource-validation-messages.properties +++ /dev/null @@ -1,23 +0,0 @@ -# -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# -# -AttributeURIMissing = Attribute 'uri' is missing -XMLStreamException = XMLStreamException occured due to : {0} - diff --git a/java/sca/contrib/modules/contribution-resource/src/test/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessorTestCase.java b/java/sca/contrib/modules/contribution-resource/src/test/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessorTestCase.java deleted file mode 100644 index ea44cb506b..0000000000 --- a/java/sca/contrib/modules/contribution-resource/src/test/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceExportProcessorTestCase.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.resource.impl; - - -import java.io.StringReader; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamReader; - -import junit.framework.TestCase; - -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.contribution.resource.ResourceExport; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.MonitorFactory; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.impl.DefaultMonitorFactoryImpl; -import org.apache.tuscany.sca.monitor.impl.DefaultMonitorImpl; - -/** - * Test NamespaceExportProcessorTestCase - * - * @version $Rev$ $Date$ - */ -public class ResourceExportProcessorTestCase extends TestCase { - - private static final String VALID_XML = - "" - + ""; - - private static final String INVALID_XML = - "" - + ""; - - private XMLInputFactory inputFactory; - private StAXArtifactProcessor staxProcessor; - private Monitor monitor; - - @Override - protected void setUp() throws Exception { - ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - inputFactory = XMLInputFactory.newInstance(); - // Create a monitor - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - MonitorFactory monitorFactory = new DefaultMonitorFactoryImpl(); - if (monitorFactory != null) { - monitor = monitorFactory.createMonitor(); - utilities.addUtility(monitorFactory); - } - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null); - } - - /** - * Test loading a valid export element from a contribution metadata stream - * @throws Exception - */ - public void testLoad() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(VALID_XML)); - ResourceExport resourceExport = (ResourceExport)staxProcessor.read(reader); - assertEquals("helloworld/HelloWorldService.componentType", resourceExport.getURI()); - } - - /** - * Test loading an INVALID export element from a contribution metadata stream - * @throws Exception - */ - public void testLoadInvalid() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(INVALID_XML)); - /*try { - staxProcessor.read(reader); - fail("readerException should have been thrown"); - } catch (ContributionReadException e) { - assertTrue(true); - }*/ - staxProcessor.read(reader); - Problem problem = ((DefaultMonitorImpl)monitor).getLastLoggedProblem(); - assertNotNull(problem); - assertEquals("AttributeURIMissing", problem.getMessageId()); - } -} diff --git a/java/sca/contrib/modules/contribution-resource/src/test/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessorTestCase.java b/java/sca/contrib/modules/contribution-resource/src/test/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessorTestCase.java deleted file mode 100644 index 1ff931c162..0000000000 --- a/java/sca/contrib/modules/contribution-resource/src/test/java/org/apache/tuscany/sca/contribution/resource/impl/ResourceImportProcessorTestCase.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.contribution.resource.impl; - - - -import java.io.StringReader; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamReader; - -import junit.framework.TestCase; - -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.contribution.resource.ResourceImport; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.MonitorFactory; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.impl.DefaultMonitorFactoryImpl; -import org.apache.tuscany.sca.monitor.impl.DefaultMonitorImpl; - -/** - * Test NamespaceImportProcessorTestCase - * - * @version $Rev$ $Date$ - */ -public class ResourceImportProcessorTestCase extends TestCase { - - private static final String VALID_XML = - "" - + ""; - - private static final String INVALID_XML = - "" - + ""; - - private XMLInputFactory inputFactory; - private StAXArtifactProcessor staxProcessor; - private Monitor monitor; - - @Override - protected void setUp() throws Exception { - ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - inputFactory = XMLInputFactory.newInstance(); - // Create a monitor - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - MonitorFactory monitorFactory = new DefaultMonitorFactoryImpl(); - if (monitorFactory != null) { - monitor = monitorFactory.createMonitor(); - utilities.addUtility(monitorFactory); - } - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null); - } - - /** - * Test loading a valid import element from a contribution metadata stream - * @throws Exception - */ - public void testLoad() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(VALID_XML)); - ResourceImport namespaceImport = (ResourceImport)staxProcessor.read(reader); - assertEquals("helloworld/HelloWorldService.componentType", namespaceImport.getURI()); - assertEquals("sca://contributions/001", namespaceImport.getLocation()); - } - - /** - * Test loading a INVALID import element from a contribution metadata stream - * @throws Exception - */ - public void testLoadInvalid() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(INVALID_XML)); - /*try { - staxProcessor.read(reader); - fail("readerException should have been thrown"); - } catch (ContributionReadException e) { - assertTrue(true); - }*/ - staxProcessor.read(reader); - Problem problem = ((DefaultMonitorImpl)monitor).getLastLoggedProblem(); - assertNotNull(problem); - assertEquals("AttributeURIMissing", problem.getMessageId()); - } -} diff --git a/java/sca/contrib/modules/contribution-updater-impl/LICENSE b/java/sca/contrib/modules/contribution-updater-impl/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/contribution-updater-impl/NOTICE b/java/sca/contrib/modules/contribution-updater-impl/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/contribution-updater-impl/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/contribution-updater-impl/pom.xml b/java/sca/contrib/modules/contribution-updater-impl/pom.xml deleted file mode 100644 index 22d3f3d14f..0000000000 --- a/java/sca/contrib/modules/contribution-updater-impl/pom.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-contribution-updater-impl - Apache Tuscany SCA Contribution Updater Implementation - - - - org.apache.tuscany.sca - tuscany-contribution - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-assembly-xml - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-contribution-java - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-contribution-namespace - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-contribution-updater - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-java - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core - 2.0-SNAPSHOT - - - - org.codehaus.woodstox - wstx-asl - 3.2.1 - runtime - - - stax - stax-api - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.contribution.updater.impl - ${pom.name} - org.apache.tuscany.sca.contribution.updater.impl* - - - - - - - diff --git a/java/sca/contrib/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ArtifactsFinder.java b/java/sca/contrib/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ArtifactsFinder.java deleted file mode 100644 index a23bf6f8cd..0000000000 --- a/java/sca/contrib/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 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/java/sca/contrib/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ComponentUpdaterImpl.java b/java/sca/contrib/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ComponentUpdaterImpl.java deleted file mode 100644 index a6a6084f5f..0000000000 --- a/java/sca/contrib/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 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 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 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 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/java/sca/contrib/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/CompositeUpdaterImpl.java b/java/sca/contrib/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/CompositeUpdaterImpl.java deleted file mode 100644 index c5a15b5108..0000000000 --- a/java/sca/contrib/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 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 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 artifacts = contrib.getArtifacts(); - - Composite composite = ArtifactsFinder.findComposite(compositeURI, - artifacts); - List 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/java/sca/contrib/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterFactoryImpl.java b/java/sca/contrib/modules/contribution-updater-impl/src/main/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterFactoryImpl.java deleted file mode 100644 index 7f5870ad55..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterTestCase.java b/java/sca/contrib/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/ContributionUpdaterTestCase.java deleted file mode 100644 index 83d0224ad4..0000000000 --- a/java/sca/contrib/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 = "\n" + ""+ ""; - * 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 = "\n" + ""+ ""; - * String helloComponent2 = "\n" + ""+ ""; - * 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/java/sca/contrib/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/GreetService.java b/java/sca/contrib/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/GreetService.java deleted file mode 100644 index 9730203648..0000000000 --- a/java/sca/contrib/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.oasisopen.sca.annotation.Remotable; - -@Remotable -public interface GreetService { - String sayHello(String language); -} diff --git a/java/sca/contrib/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/HelloComponent.java b/java/sca/contrib/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/HelloComponent.java deleted file mode 100644 index 758cfa9b71..0000000000 --- a/java/sca/contrib/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.oasisopen.sca.annotation.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/java/sca/contrib/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/MetaComponentHello.java b/java/sca/contrib/modules/contribution-updater-impl/src/test/java/org/apache/tuscany/sca/contribution/updater/impl/MetaComponentHello.java deleted file mode 100644 index 1495ff2cea..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/contribution-updater-impl/src/test/resources/HelloComposite.composite b/java/sca/contrib/modules/contribution-updater-impl/src/test/resources/HelloComposite.composite deleted file mode 100644 index 76714a0e9c..0000000000 --- a/java/sca/contrib/modules/contribution-updater-impl/src/test/resources/HelloComposite.composite +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/contribution-updater-impl/src/test/resources/repository/sample-calculator.jar b/java/sca/contrib/modules/contribution-updater-impl/src/test/resources/repository/sample-calculator.jar deleted file mode 100644 index 9c46c679d2..0000000000 Binary files a/java/sca/contrib/modules/contribution-updater-impl/src/test/resources/repository/sample-calculator.jar and /dev/null differ diff --git a/java/sca/contrib/modules/contribution-updater/LICENSE b/java/sca/contrib/modules/contribution-updater/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/contribution-updater/NOTICE b/java/sca/contrib/modules/contribution-updater/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/contribution-updater/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/contribution-updater/pom.xml b/java/sca/contrib/modules/contribution-updater/pom.xml deleted file mode 100644 index 3eb320b54f..0000000000 --- a/java/sca/contrib/modules/contribution-updater/pom.xml +++ /dev/null @@ -1,111 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-contribution-updater - Apache Tuscany SCA Contribution Updater - - - - org.apache.tuscany.sca - tuscany-contribution - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-assembly-xml - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-contribution-java - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-contribution-namespace - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-java - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-domain-api - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-node-api - 2.0-SNAPSHOT - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.contribution.updater - ${pom.name} - org.apache.tuscany.sca.contribution.updater*,org.apache.tuscany.sca.assembly* - - - - - - - diff --git a/java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/MetaComponent.java b/java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/MetaComponent.java deleted file mode 100644 index 885fe8cfb0..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/xml/MetaComponentProcessor.java b/java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/assembly/xml/MetaComponentProcessor.java deleted file mode 100644 index 44673bfdb9..0000000000 --- a/java/sca/contrib/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 { - - /** - * 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 - 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 - 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 - 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 = 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 = 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 = assemblyFactory.createCallback(); - contract.setCallback(callback); - policyProcessor.readPolicies(callback, reader); - - } else if (OPERATION_QNAME.equals(name)) { - - // Read an - 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) { - - // and - // - if (contract != null) { - contract - .setInterfaceContract((InterfaceContract) extension); - } else { - if (name.getNamespaceURI().equals(SCA10_NS)) { - throw new ContributionReadException( - "Unexpected element found. It should appear inside a or element"); - } else { - composite.getExtensions().add(extension); - } - } - - } else if (extension instanceof Binding) { - // and - // - 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 element found. It should appear inside a or element"); - } else { - composite.getExtensions() - .add(extension); - } - } - } - - } else if (extension instanceof Implementation) { - - // - if (component != null) { - component - .setImplementation((Implementation) extension); - } else { - if (name.getNamespaceURI().equals(SCA10_NS)) { - throw new ContributionReadException( - "Unexpected element found. It should appear inside a 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 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 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 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 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 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 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 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 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 elements - for (Reference reference : composite.getReferences()) { - CompositeReference compositeReference = (CompositeReference) reference; - - // Write list of promoted references - List promote = new ArrayList(); - for (ComponentReference promoted : compositeReference - .getPromotedReferences()) { - promote.add(promoted.getName()); - } - - // Write 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 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 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 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 contracts = new ArrayList(); - contracts.add(reference); - resolveContracts(contracts, resolver); - } - - public QName getArtifactType() { - return COMPONENT_QNAME; - } - - public Class getModelType() { - - return Component.class; - } - -} diff --git a/java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentNotFoundException.java b/java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentNotFoundException.java deleted file mode 100644 index d93a92b32c..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdater.java b/java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdater.java deleted file mode 100644 index 8743556538..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdaterException.java b/java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ComponentUpdaterException.java deleted file mode 100644 index f94238089f..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeNotFoundException.java b/java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeNotFoundException.java deleted file mode 100644 index 52d7e602b7..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdater.java b/java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdater.java deleted file mode 100644 index 4f55148651..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdaterException.java b/java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/CompositeUpdaterException.java deleted file mode 100644 index 3dc86d97f7..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ContributionUpdater.java b/java/sca/contrib/modules/contribution-updater/src/main/java/org/apache/tuscany/sca/contribution/updater/ContributionUpdater.java deleted file mode 100644 index a364c23174..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/contribution-updater/src/test/resources/HelloComposite.composite b/java/sca/contrib/modules/contribution-updater/src/test/resources/HelloComposite.composite deleted file mode 100644 index 76714a0e9c..0000000000 --- a/java/sca/contrib/modules/contribution-updater/src/test/resources/HelloComposite.composite +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/contribution-updater/src/test/resources/repository/sample-calculator.jar b/java/sca/contrib/modules/contribution-updater/src/test/resources/repository/sample-calculator.jar deleted file mode 100644 index 9c46c679d2..0000000000 Binary files a/java/sca/contrib/modules/contribution-updater/src/test/resources/repository/sample-calculator.jar and /dev/null differ diff --git a/java/sca/contrib/modules/contribution-xml/LICENSE b/java/sca/contrib/modules/contribution-xml/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/contribution-xml/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/java/sca/contrib/modules/contribution-xml/META-INF/MANIFEST.MF b/java/sca/contrib/modules/contribution-xml/META-INF/MANIFEST.MF deleted file mode 100644 index 09c2a551fd..0000000000 --- a/java/sca/contrib/modules/contribution-xml/META-INF/MANIFEST.MF +++ /dev/null @@ -1,34 +0,0 @@ -Manifest-Version: 1.0 -Export-Package: org.apache.tuscany.sca.contribution.xml;uses:="org.apa - che.tuscany.sca.assembly,org.apache.tuscany.sca.core,org.apache.tusca - ny.sca.contribution,org.apache.tuscany.sca.monitor,javax.xml.namespac - e,javax.xml.stream,org.apache.tuscany.sca.contribution.resolver,org.a - pache.tuscany.sca.contribution.processor";version="2.0" -Private-Package: org.apache.tuscany.sca.contribution.processor.xml;ver - sion="2.0" -Tool: Bnd-0.0.255 -Bundle-Name: Apache Tuscany SCA XML Contribution Model -Created-By: 1.6.0_07 (Sun Microsystems Inc.) -Bundle-Vendor: The Apache Software Foundation -Bundle-Version: 2.0 -Bnd-LastModified: 1225397199187 -Bundle-ManifestVersion: 2 -Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt -Bundle-Description: Apache Tuscany SCA XML Contribution Model -Import-Package: javax.xml.namespace, - javax.xml.parsers, - javax.xml.stream, - org.apache.tuscany.sca.assembly;version="2.0", - org.apache.tuscany.sca.contribution;version="2.0", - org.apache.tuscany.sca.contribution.processor;version="2.0", - org.apache.tuscany.sca.contribution.resolver;version="2.0", - org.apache.tuscany.sca.contribution.xml;version="2.0", - org.apache.tuscany.sca.core;version="2.0", - org.apache.tuscany.sca.monitor;version="2.0", - org.apache.tuscany.sca.policy;version="2.0.0", - - org.w3c.dom, - org.w3c.dom.traversal -Bundle-SymbolicName: org.apache.tuscany.sca.contribution.xml -Bundle-DocURL: http://www.apache.org/ - diff --git a/java/sca/contrib/modules/contribution-xml/NOTICE b/java/sca/contrib/modules/contribution-xml/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/contribution-xml/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/contribution-xml/pom.xml b/java/sca/contrib/modules/contribution-xml/pom.xml deleted file mode 100644 index 5db4b32cf3..0000000000 --- a/java/sca/contrib/modules/contribution-xml/pom.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-contribution-xml - Apache Tuscany SCA XML Contribution Model - - - - org.apache.tuscany.sca - tuscany-contribution - 2.0-SNAPSHOT - - - - org.codehaus.woodstox - wstx-asl - 3.2.4 - runtime - - - stax - stax-api - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.contribution.xml - ${pom.name} - org.apache.tuscany.sca.contribution.xml* - - - - - - - diff --git a/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyAttributeProcessor.java b/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyAttributeProcessor.java deleted file mode 100644 index 36e959ea21..0000000000 --- a/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyAttributeProcessor.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.processor.xml; - -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.contribution.Constants; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXAttributeProcessor; -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.monitor.Monitor; - -/** - * A Policy Processor used for testing. - * - * @version $Rev$ $Date$ - */ -public class AnyAttributeProcessor extends BaseStAXArtifactProcessor implements StAXAttributeProcessor { - private static final QName ANY_ATTRIBUTE = new QName(Constants.XMLSCHEMA_NS, "anyAttribute"); - - public AnyAttributeProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - - } - - public QName getArtifactType() { - return ANY_ATTRIBUTE; - } - - public Class getModelType() { - return String.class; - } - - public String read(QName attributeName, XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - return reader.getAttributeValue(attributeName.getNamespaceURI(), attributeName.getLocalPart()); - } - - public void write(String value, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - writer.setPrefix(ANY_ATTRIBUTE.getPrefix(), ANY_ATTRIBUTE.getNamespaceURI()); - writer.writeAttribute(ANY_ATTRIBUTE.getLocalPart(), value); - } - - - public void resolve(String arg0, ModelResolver arg1) throws ContributionResolveException { - - } -} diff --git a/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyElementProcessor.java b/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyElementProcessor.java deleted file mode 100644 index 2b868b9e45..0000000000 --- a/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/AnyElementProcessor.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.contribution.processor.xml; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; -import static javax.xml.stream.XMLStreamConstants.START_ELEMENT; -import static javax.xml.stream.XMLStreamConstants.CHARACTERS; -import static javax.xml.stream.XMLStreamConstants.COMMENT; -import static javax.xml.stream.XMLStreamConstants.CDATA; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Stack; - -import javax.xml.namespace.NamespaceContext; -import javax.xml.namespace.QName; -import javax.xml.stream.XMLEventReader; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamConstants; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; -import javax.xml.stream.events.Characters; -import javax.xml.stream.events.XMLEvent; - -import org.apache.tuscany.sca.contribution.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.monitor.Monitor; -import org.apache.tuscany.sca.contribution.processor.xml.XMLEventsStreamReader; - -public class AnyElementProcessor implements StAXArtifactProcessor { - private static final QName ANY_ELEMENT = new QName(Constants.XMLSCHEMA_NS, - "anyElement"); - - private XMLInputFactory xmlInputFactory; - @SuppressWarnings("unused") - private Monitor monitor; - //Map map = new HashMap(); - - public AnyElementProcessor(ModelFactoryExtensionPoint modelFactories, - Monitor monitor) { - xmlInputFactory = modelFactories.getFactory(XMLInputFactory.class); - this.monitor = monitor; - } - - public QName getArtifactType() { - return ANY_ELEMENT; - } - - public Class getModelType() { - return Object.class; - } - - /** - * Reads the contetns of the unknown elements and generates a custom - * implementation of XMLStreamReader i.e. XMLEventsStreamReader - * - * @param reader - * @return - * @throws XMLStreamException - */ - @SuppressWarnings("unchecked") - public Object read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - - //Custom variables - String currentElement = null; - List eventsList = new ArrayList(); - - Map eventContext = new HashMap(); - - try{ - //Cast the block of unknown elements into document - XMLDocumentStreamReader docReader = new XMLDocumentStreamReader(reader); - - XMLEventReader xmlEventReader = xmlInputFactory.createXMLEventReader(docReader); - - while (xmlEventReader.hasNext()) { - XMLEvent event = xmlEventReader.nextEvent(); - - //Populate the eventContext map with the current element's name and corresponding NamesapceContext - if (currentElement != null && !(eventContext.containsKey(currentElement))) { - eventContext.put(currentElement, reader.getNamespaceContext()); - } - - //Populate the list with the XMLEvents - eventsList.add(event); - if (event.isStartElement()) { - currentElement = reader.getName().getLocalPart(); - } - if (event.isEndDocument()) { - return new XMLEventsStreamReader(eventsList, eventContext); - } - } - } - catch(Exception e){ - e.printStackTrace(); - } - return null; - } - - /** - * Writes unknown portions back to the writer - * - * @param model - * @param writer - */ - public void write(Object model, XMLStreamWriter writer) - throws XMLStreamException { - if (!(model instanceof XMLStreamReader)) { - return; - } - XMLStreamReader reader = (XMLStreamReader) model; - - int event = reader.getEventType(); - while (reader.hasNext()) { - switch (event) { - case START_ELEMENT: - - writer.writeStartElement(reader.getPrefix(), reader - .getLocalName(), reader.getNamespaceURI()); - for (int i = 1; i <= reader.getAttributeCount(); i++) { - writer.writeAttribute(reader.getAttributePrefix(i), reader.getAttributeNamespace(i), - reader.getAttributeLocalName(i), reader.getAttributeValue(i)); - } - break; - - case CHARACTERS: - writer.writeCharacters(reader.getText()); - break; - - case CDATA: - writer.writeCData(reader.getText()); - break; - - case END_ELEMENT: - writer.writeEndElement(); - break; - } - if (reader.hasNext()) { - event = reader.next(); - } - } - } - - public void resolve(Object model, ModelResolver resolver) - throws ContributionResolveException { - // TODO Auto-generated method stub - - } - -} diff --git a/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/XMLDocumentStreamReader.java b/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/XMLDocumentStreamReader.java deleted file mode 100644 index 70398deaa9..0000000000 --- a/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/XMLDocumentStreamReader.java +++ /dev/null @@ -1,482 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.processor.xml; - -import java.util.NoSuchElementException; - -import javax.xml.namespace.NamespaceContext; -import javax.xml.namespace.QName; -import javax.xml.stream.Location; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -/** - * This class is derived from Apache Axis2 class - * org.apache.axis2.util.StreamWrapper. It's used wrap a XMLStreamReader to - * create a XMLStreamReader representing a document and it will produce - * START_DOCUMENT, END_DOCUMENT events. - * - * @version $Rev: 659153 $ $Date: 2008-05-22 09:43:58 -0700 (Thu, 22 May 2008) $ - */ -public class XMLDocumentStreamReader implements XMLStreamReader { - private static final int STATE_COMPLETE_AT_NEXT = 2; // The wrapper - // will produce - // END_DOCUMENT - - private static final int STATE_COMPLETED = 3; // Done - - private static final int STATE_INIT = 0; // The wrapper will produce - // START_DOCUMENT - - private static final int STATE_SWITCHED = 1; // The real reader will - // produce events - - private XMLStreamReader realReader; - private boolean fragment; - private int level = 0; - - private int state = STATE_INIT; - - public XMLDocumentStreamReader(XMLStreamReader realReader) { - if (realReader == null) { - throw new UnsupportedOperationException("Reader cannot be null"); - } - - this.realReader = realReader; - - if (realReader instanceof XMLFragmentStreamReader) { - ((XMLFragmentStreamReader)realReader).init(); - } - - // If the real reader is positioned at START_DOCUMENT, always use - // the real reader - if (realReader.getEventType() == START_DOCUMENT) { - fragment = false; - state = STATE_SWITCHED; - } - } - - public void close() throws XMLStreamException { - realReader.close(); - } - - public int getAttributeCount() { - if (isDelegating()) { - return realReader.getAttributeCount(); - } else { - throw new IllegalStateException(); - } - } - - public String getAttributeLocalName(int i) { - if (isDelegating()) { - return realReader.getAttributeLocalName(i); - } else { - throw new IllegalStateException(); - } - } - - public QName getAttributeName(int i) { - if (isDelegating()) { - return realReader.getAttributeName(i); - } else { - throw new IllegalStateException(); - } - } - - public String getAttributeNamespace(int i) { - if (isDelegating()) { - return realReader.getAttributeNamespace(i); - } else { - throw new IllegalStateException(); - } - } - - public String getAttributePrefix(int i) { - if (isDelegating()) { - return realReader.getAttributePrefix(i); - } else { - throw new IllegalStateException(); - } - } - - public String getAttributeType(int i) { - if (isDelegating()) { - return realReader.getAttributeType(i); - } else { - throw new IllegalStateException(); - } - } - - public String getAttributeValue(int i) { - if (isDelegating()) { - return realReader.getAttributeValue(i); - } else { - throw new IllegalStateException(); - } - } - - public String getAttributeValue(String s, String s1) { - if (isDelegating()) { - return realReader.getAttributeValue(s, s1); - } else { - throw new IllegalStateException(); - } - } - - public String getCharacterEncodingScheme() { - return realReader.getCharacterEncodingScheme(); - } - - public String getElementText() throws XMLStreamException { - if (isDelegating()) { - return realReader.getElementText(); - } else { - throw new XMLStreamException(); - } - } - - public String getEncoding() { - return realReader.getEncoding(); - } - - public int getEventType() { - int event = -1; - switch (state) { - case STATE_SWITCHED: - case STATE_COMPLETE_AT_NEXT: - event = realReader.getEventType(); - break; - case STATE_INIT: - event = START_DOCUMENT; - break; - case STATE_COMPLETED: - event = END_DOCUMENT; - break; - } - return event; - } - - public String getLocalName() { - if (isDelegating()) { - return realReader.getLocalName(); - } else { - throw new IllegalStateException(); - } - } - - public Location getLocation() { - if (isDelegating()) { - return realReader.getLocation(); - } else { - return null; - } - } - - public QName getName() { - if (isDelegating()) { - return realReader.getName(); - } else { - throw new IllegalStateException(); - } - } - - public NamespaceContext getNamespaceContext() { - return realReader.getNamespaceContext(); - } - - public int getNamespaceCount() { - if (isDelegating()) { - return realReader.getNamespaceCount(); - } else { - throw new IllegalStateException(); - } - } - - public String getNamespacePrefix(int i) { - if (isDelegating()) { - return realReader.getNamespacePrefix(i); - } else { - throw new IllegalStateException(); - } - } - - public String getNamespaceURI() { - if (isDelegating()) { - return realReader.getNamespaceURI(); - } else { - throw new IllegalStateException(); - } - } - - public String getNamespaceURI(int i) { - if (isDelegating()) { - return realReader.getNamespaceURI(i); - } else { - throw new IllegalStateException(); - } - } - - public String getNamespaceURI(String s) { - if (isDelegating()) { - return realReader.getNamespaceURI(s); - } else { - throw new IllegalStateException(); - } - } - - public String getPIData() { - if (isDelegating()) { - return realReader.getPIData(); - } else { - throw new IllegalStateException(); - } - } - - public String getPITarget() { - if (isDelegating()) { - return realReader.getPITarget(); - } else { - throw new IllegalStateException(); - } - } - - public String getPrefix() { - if (isDelegating()) { - return realReader.getPrefix(); - } else { - throw new IllegalStateException(); - } - } - - public Object getProperty(String s) throws IllegalArgumentException { - if (isDelegating()) { - return realReader.getProperty(s); - } else { - throw new IllegalArgumentException(); - } - } - - public String getText() { - if (isDelegating()) { - return realReader.getText(); - } else { - throw new IllegalStateException(); - } - } - - public char[] getTextCharacters() { - if (isDelegating()) { - return realReader.getTextCharacters(); - } else { - throw new IllegalStateException(); - } - } - - public int getTextCharacters(int i, char[] chars, int i1, int i2) throws XMLStreamException { - if (isDelegating()) { - return realReader.getTextCharacters(i, chars, i1, i2); - } else { - throw new IllegalStateException(); - } - } - - public int getTextLength() { - if (isDelegating()) { - return realReader.getTextLength(); - } else { - throw new IllegalStateException(); - } - } - - public int getTextStart() { - if (isDelegating()) { - return realReader.getTextStart(); - } else { - throw new IllegalStateException(); - } - } - - public String getVersion() { - if (isDelegating()) { - return realReader.getVersion(); - } else { - return null; - } - } - - public boolean hasName() { - if (isDelegating()) { - return realReader.hasName(); - } else { - return false; - } - } - - public boolean hasNext() throws XMLStreamException { - if (state == STATE_COMPLETE_AT_NEXT) { - return true; - } else if (state == STATE_COMPLETED) { - return false; - } else if (state == STATE_SWITCHED) { - return realReader.hasNext(); - } else { - return true; - } - } - - public boolean hasText() { - if (isDelegating()) { - return realReader.hasText(); - } else { - return false; - } - } - - public boolean isAttributeSpecified(int i) { - if (isDelegating()) { - return realReader.isAttributeSpecified(i); - } else { - return false; - } - } - - public boolean isCharacters() { - if (isDelegating()) { - return realReader.isCharacters(); - } else { - return false; - } - } - - private boolean isDelegating() { - return state == STATE_SWITCHED || state == STATE_COMPLETE_AT_NEXT; - } - - public boolean isEndElement() { - if (isDelegating()) { - return realReader.isEndElement(); - } else { - return false; - } - } - - public boolean isStandalone() { - if (isDelegating()) { - return realReader.isStandalone(); - } else { - return false; - } - } - - public boolean isStartElement() { - if (isDelegating()) { - return realReader.isStartElement(); - } else { - return false; - } - } - - public boolean isWhiteSpace() { - if (isDelegating()) { - return realReader.isWhiteSpace(); - } else { - return false; - } - } - - public int next() throws XMLStreamException { - int returnEvent; - - switch (state) { - case STATE_SWITCHED: - returnEvent = realReader.next(); - if (returnEvent == END_DOCUMENT) { - state = STATE_COMPLETED; - } else if (!realReader.hasNext()) { - state = STATE_COMPLETE_AT_NEXT; - } - if (fragment && returnEvent == END_ELEMENT) { - level--; - if (level == -1) { - // We are now at the end of the top-level element in the fragment - state = STATE_COMPLETE_AT_NEXT; - } - } - if (fragment && returnEvent == START_ELEMENT) { - level++; - } - break; - case STATE_INIT: - state = STATE_SWITCHED; - returnEvent = realReader.getEventType(); - if (returnEvent == START_ELEMENT) { - // The real reader is positioned at the top-level element in the fragment - level = 0; - fragment = true; - } - break; - case STATE_COMPLETE_AT_NEXT: - state = STATE_COMPLETED; - returnEvent = END_DOCUMENT; - break; - case STATE_COMPLETED: - // oops - no way we can go beyond this - throw new NoSuchElementException("End of stream has reached."); - default: - throw new UnsupportedOperationException(); - } - - return returnEvent; - } - - public int nextTag() throws XMLStreamException { - if (isDelegating()) { - int returnEvent = realReader.nextTag(); - if (fragment && returnEvent == END_ELEMENT) { - level--; - if (level == 0) { - // We are now at the end of the top-level element in the fragment - state = STATE_COMPLETE_AT_NEXT; - } - } - if (fragment && returnEvent == START_ELEMENT) { - level++; - } - return returnEvent; - } else { - throw new XMLStreamException(); - } - } - - public void require(int i, String s, String s1) throws XMLStreamException { - if (isDelegating()) { - realReader.require(i, s, s1); - } - } - - public boolean standaloneSet() { - if (isDelegating()) { - return realReader.standaloneSet(); - } else { - return false; - } - } -} diff --git a/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/XMLEventsStreamReader.java b/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/XMLEventsStreamReader.java deleted file mode 100644 index 351929d8a1..0000000000 --- a/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/XMLEventsStreamReader.java +++ /dev/null @@ -1,448 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.processor.xml; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Stack; - -import java.util.Iterator; - -import javax.xml.namespace.NamespaceContext; -import javax.xml.namespace.QName; -import javax.xml.stream.Location; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.events.Attribute; -import javax.xml.stream.events.Namespace; -import javax.xml.stream.events.ProcessingInstruction; -import javax.xml.stream.events.XMLEvent; - - -public class XMLEventsStreamReader implements XMLStreamReader { - - @SuppressWarnings("unused") - private ArrayList events = null; - @SuppressWarnings("unchecked") - private HashMap eventContext = null; - - private int state; - private java.util.Iterator iterator; - private XMLEvent current; - - @SuppressWarnings("unchecked") - public XMLEventsStreamReader(List events,Map map) { - this.events = (ArrayList) events; - this.eventContext = (HashMap) map; - this.iterator = events.iterator(); - this.current = iterator.next(); - this.state = current.getEventType(); - } - - public void close() throws XMLStreamException { - this.events = null; - this.eventContext = null; - this.iterator = null; - this.current = null; - } - - private void checkElementState() { - if (getEventType() != START_ELEMENT && getEventType() != END_ELEMENT) { - throw new IllegalStateException(); - } - } - - @SuppressWarnings("unchecked") - public int getAttributeCount() { - checkElementState(); - int count = 0; - Iterator iterator = current.asStartElement().getAttributes(); - while (iterator.hasNext()) { - count++; - iterator.next(); - } - return count; - } - - /* - * Custom method to get attribute from the specified index - */ - @SuppressWarnings("unchecked") - private Attribute getAttribute(int index) { - checkElementState(); - int count = 0; - Attribute attribute = null; - Iterator iterator = current.asStartElement().getAttributes(); - while (iterator.hasNext()) { - count++; - if (count == index) { - attribute = iterator.next(); - } else { - iterator.next(); - } - } - return attribute; - } - - - public String getAttributeLocalName(int index) { - checkElementState(); - return getAttribute(index).getName().getLocalPart(); - } - - public QName getAttributeName(int index) { - checkElementState(); - return getAttribute(index).getName(); - } - - public String getAttributeNamespace(int index) { - checkElementState(); - return getAttributeName(index).getNamespaceURI(); - } - - public String getAttributePrefix(int index) { - checkElementState(); - return getAttributeName(index).getPrefix(); - } - - public String getAttributeType(int index) { - checkElementState(); - return getAttribute(index).getDTDType(); - } - - public String getAttributeValue(int index) { - checkElementState(); - return getAttribute(index).getValue(); - } - - @SuppressWarnings("unchecked") - public String getAttributeValue(String namespaceURI, String localName) { - checkElementState(); - Iterator iterator = current.asStartElement().getAttributes(); - Attribute attribute; - while (iterator.hasNext()) { - attribute = iterator.next(); - if (attribute.getName().getNamespaceURI().equalsIgnoreCase( - namespaceURI) - && attribute.getName().getLocalPart().equalsIgnoreCase( - localName)) { - return attribute.getValue(); - } - } - return null; - - } - - public String getCharacterEncodingScheme() { - return "UTF-8"; - } - - public String getElementText() throws XMLStreamException { - checkElementState(); - int eventType = getEventType(); - String elementText = null; - - if (eventType == START_ELEMENT) { - elementText = current.asStartElement().getName().getLocalPart(); - } else if (eventType == END_ELEMENT) { - elementText = current.asEndElement().getName().getLocalPart(); - } - return elementText; - } - - public String getEncoding() { - return "UTF-8"; - } - - public int getEventType() { - return state; - } - - public String getLocalName() { - checkElementState(); - switch (current.getEventType()) { - case START_ELEMENT: - return current.asStartElement().getName().getLocalPart(); - case END_ELEMENT: - return current.asEndElement().getName().getLocalPart(); - } - return null; - } - - public Location getLocation() { - return current.getLocation(); - } - - public QName getName() { - checkElementState(); - switch (current.getEventType()) { - case START_ELEMENT: - return current.asStartElement().getName(); - case END_ELEMENT: - return current.asEndElement().getName(); - } - return null; - } - - public NamespaceContext getNamespaceContext() { - checkElementState(); - //return new TuscanyNamespaceContext(eventContext.get(getLocalName())); - return eventContext.get(getLocalName()); - } - - @SuppressWarnings("unchecked") - public int getNamespaceCount() { - int count = 0; - Iterator itr = current.asStartElement().getNamespaces(); - while (itr.hasNext()) { - count++; - itr.next(); - } - return count; - } - - @SuppressWarnings("unchecked") - public String getNamespacePrefix(int index) { - Iterator itr = current.asStartElement().getNamespaces(); - int level = 0; - Namespace ns = null; - while (itr.hasNext()) { - ns = itr.next(); - if (level == index) { - return ns.getPrefix(); - } - level++; - } - return null; - } - - public String getNamespaceURI() { - checkElementState(); - switch (current.getEventType()) { - case START_ELEMENT: - return current.asStartElement().getName().getNamespaceURI(); - case END_ELEMENT: - return current.asEndElement().getName().getNamespaceURI(); - } - return null; - } - - public String getNamespaceURI(String prefix) { - return getNamespaceContext().getNamespaceURI(prefix); - } - - @SuppressWarnings("unchecked") - public String getNamespaceURI(int index) { - Iterator itr = current.asStartElement().getNamespaces(); - int level = 0; - Namespace ns = null; - while (itr.hasNext()) { - ns = itr.next(); - if (level == index) { - return ns.getNamespaceURI(); - } - level++; - } - return null; - } - - public String getPIData() { - if (current.isProcessingInstruction()) { - ProcessingInstruction pi = (ProcessingInstruction) current; - return pi.getData(); - } else { - throw new IllegalStateException(current.toString()); - } - } - - public String getPITarget() { - if (current.isProcessingInstruction()) { - ProcessingInstruction pi = (ProcessingInstruction) current; - return pi.getTarget(); - } else { - throw new IllegalStateException(current.toString()); - } - } - - public String getPrefix() { - checkElementState(); - if (current.isStartElement()) { - return current.asStartElement().getName().getPrefix(); - } - return null; - } - - /* - * FIXME: Implementation pending... - * - * @see (non-Javadoc) - * javax.xml.stream.util.StreamReaderDelegate#getProperty(java.lang.String) - */ - public Object getProperty(String name) throws IllegalArgumentException { - // TODO Auto-generated method stub - - return null; - } - - public String getText() { - if (current.isCharacters()) { - return current.asCharacters().getData(); - } else { - throw new IllegalStateException(current.toString()); - } - } - - public char[] getTextCharacters() { - if (current.isCharacters()) { - return current.asCharacters().getData().toCharArray(); - } else { - throw new IllegalStateException(current.toString()); - } - } - - /* - * FIXME: Implementation pending... (non-Javadoc) - * - * @see javax.xml.stream.util.StreamReaderDelegate#getTextCharacters(int, - * char[], int, int) - */ - public int getTextCharacters(int sourceStart, char[] target, - int targetStart, int length) throws XMLStreamException { - // TODO Auto-generated method stub - return 0; - } - - /* - * FIXME:Implementaion can be improved (non-Javadoc) - * - * @see javax.xml.stream.util.StreamReaderDelegate#getTextLength() - */ - public int getTextLength() { - if (current.isCharacters()) { - return current.asCharacters().getData().length(); - } else { - throw new IllegalStateException(current.toString()); - } - } - - /* - * FIXME: Implementation pending... (non-Javadoc) - * - * @see javax.xml.stream.util.StreamReaderDelegate#getTextStart() - */ - public int getTextStart() { - // TODO Auto-generated method stub - return 0; - } - - /* - * FIXME: Implementation pending... (non-Javadoc) - * - * @see javax.xml.stream.util.StreamReaderDelegate#getTextStart() - */ - public String getVersion() { - // TODO Auto-generated method stub - - return null; - } - - public boolean hasName() { - return false; - } - - public boolean hasNext() throws XMLStreamException { - return iterator.hasNext() || state != END_DOCUMENT; - - } - - public boolean hasText() { - // TODO Auto-generated method stub - return false; - } - - /* - * FIXME: Implementation pending... (non-Javadoc) - * - * @see javax.xml.stream.util.StreamReaderDelegate#getTextStart() - */ - public boolean isAttributeSpecified(int index) { - // TODO Auto-generated method stub - return false; - } - - public boolean isCharacters() { - return current.isCharacters(); - } - - public boolean isEndElement() { - return current.isEndElement(); - } - - public boolean isStandalone() { - // TODO Auto-generated method stub - return false; - } - - public boolean isStartElement() { - return current.isStartElement(); - } - - public boolean isWhiteSpace() { - // TODO Auto-generated method stub - return false; - } - - public int next() throws XMLStreamException { - if (!hasNext()) { - throw new IllegalStateException("No more events"); - } - if (!iterator.hasNext()) { - state = END_DOCUMENT; - current = null; - return state; - } - current = iterator.next(); - state = current.getEventType(); - return state; - } - - public int nextTag() throws XMLStreamException { - return iterator.next().getEventType(); - } - - public void require(int type, String namespaceURI, String localName) - throws XMLStreamException { - boolean require = false; - String uri = getNamespaceURI(); - String name = getLocalName(); - if (state == type && namespaceURI.equals(uri) && localName.equals(name)) { - require = true; - } - if (require != true) { - throw new XMLStreamException(); - } - } - - public boolean standaloneSet() { - return false; - } - -} diff --git a/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/XMLFragmentStreamReader.java b/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/XMLFragmentStreamReader.java deleted file mode 100644 index 66361e1d76..0000000000 --- a/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/processor/xml/XMLFragmentStreamReader.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.contribution.processor.xml; - -import javax.xml.namespace.NamespaceContext; -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamReader; - -public interface XMLFragmentStreamReader extends XMLStreamReader { - QName NIL_QNAME = new QName("http://www.w3.org/2001/XMLSchema-instance", "nil", "xsi"); - String NIL_VALUE_TRUE = "true"; - - /** - * this will help to handle Text within the current element. user should - * pass the element text to the property list as this ELEMENT_TEXT as the - * key. This key deliberately has a space in it so that it is not a valid - * XML name - */ - String ELEMENT_TEXT = "Element Text"; - - /** - * Extra method to query the state of the pullparser - */ - boolean isDone(); - - /** - * add the parent namespace context to this parser - */ - void setParentNamespaceContext(NamespaceContext nsContext); - - /** - * Initiate the parser - this will do whatever the needed tasks to initiate - * the parser and must be called before attempting any specific parsing - * using this parser - */ - void init(); -} diff --git a/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionGeneratedMetadataDocumentProcessor.java b/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionGeneratedMetadataDocumentProcessor.java deleted file mode 100644 index a4cf1b3566..0000000000 --- a/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionGeneratedMetadataDocumentProcessor.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.contribution.xml; - -import javax.xml.stream.XMLInputFactory; - -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.monitor.Monitor; - -/** - * URLArtifactProcessor that handles sca-contribution-generated.xml files. - * - * @version $Rev$ $Date$ - */ -public class ContributionGeneratedMetadataDocumentProcessor extends ContributionMetadataDocumentProcessor { - - public ContributionGeneratedMetadataDocumentProcessor(XMLInputFactory inputFactory, - StAXArtifactProcessor staxProcessor, - Monitor monitor) { - super(inputFactory, staxProcessor, monitor); - } - - public ContributionGeneratedMetadataDocumentProcessor(ModelFactoryExtensionPoint modelFactories, - StAXArtifactProcessor staxProcessor, - Monitor monitor) { - super(modelFactories, staxProcessor, monitor); - } - - @Override - public String getArtifactType() { - return "sca-contribution-generated.xml"; - } -} diff --git a/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataDocumentProcessor.java b/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataDocumentProcessor.java deleted file mode 100644 index f74a87d890..0000000000 --- a/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataDocumentProcessor.java +++ /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. - */ -package org.apache.tuscany.sca.contribution.xml; - -import java.io.IOException; -import java.io.InputStream; -import java.net.URI; -import java.net.URL; -import java.net.URLConnection; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.contribution.ContributionMetadata; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.ValidatingXMLInputFactory; -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; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * URLArtifactProcessor that handles sca-contribution.xml files. - * - * @version $Rev$ $Date$ - */ -public class ContributionMetadataDocumentProcessor implements URLArtifactProcessor{ - private final StAXArtifactProcessor staxProcessor; - private final XMLInputFactory inputFactory; - private final Monitor monitor; - - public ContributionMetadataDocumentProcessor(XMLInputFactory inputFactory, - StAXArtifactProcessor staxProcessor, - Monitor monitor) { - this.inputFactory = inputFactory; - this.staxProcessor = staxProcessor; - this.monitor = monitor; - } - - public ContributionMetadataDocumentProcessor(ModelFactoryExtensionPoint modelFactories, - StAXArtifactProcessor staxProcessor, - Monitor monitor) { - this.inputFactory = modelFactories.getFactory(ValidatingXMLInputFactory.class); - this.staxProcessor = staxProcessor; - this.monitor = monitor; - } - - /** - * Report a exception. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-xml-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - public String getArtifactType() { - return "sca-contribution.xml"; - } - - public Class getModelType() { - return ContributionMetadata.class; - } - - public ContributionMetadata read(URL contributionURL, URI uri, URL url) throws ContributionReadException { - InputStream urlStream = null; - try { - - // Create a stream reader - URLConnection connection = url.openConnection(); - connection.setUseCaches(false); - urlStream = connection.getInputStream(); - XMLStreamReader reader = inputFactory.createXMLStreamReader(url.toString(), urlStream); - reader.nextTag(); - - // Read the contribution model - ContributionMetadata contribution = (ContributionMetadata)staxProcessor.read(reader); - - return contribution; - - } catch (XMLStreamException e) { - ContributionReadException ex = new ContributionReadException(e); - error("XMLStreamException", inputFactory, ex); - throw ex; - } catch (IOException e) { - ContributionReadException ex = new ContributionReadException(e); - error("IOException", inputFactory, ex); - throw ex; - } finally { - try { - if (urlStream != null) { - urlStream.close(); - urlStream = null; - } - } catch (IOException ioe) { - //ignore - } - } - } - - public void resolve(ContributionMetadata contribution, ModelResolver resolver) throws ContributionResolveException { - staxProcessor.resolve(contribution, resolver); - } - -} diff --git a/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessor.java b/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessor.java deleted file mode 100644 index dd1a3a677e..0000000000 --- a/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessor.java +++ /dev/null @@ -1,237 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.xml; - -import static javax.xml.stream.XMLStreamConstants.START_ELEMENT; - -import java.util.List; - -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.Composite; -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.contribution.ContributionFactory; -import org.apache.tuscany.sca.contribution.ContributionMetadata; -import org.apache.tuscany.sca.contribution.Export; -import org.apache.tuscany.sca.contribution.Import; -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.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * Processor for contribution metadata - * - * @version $Rev$ $Date$ - */ -public class ContributionMetadataProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor { - - private static final String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0"; - - private static final QName CONTRIBUTION_QNAME = new QName(SCA10_NS, "contribution"); - private static final QName DEPLOYABLE_QNAME = new QName(SCA10_NS, "deployable"); - - private final AssemblyFactory assemblyFactory; - private final ContributionFactory contributionFactory; - - private final StAXArtifactProcessor extensionProcessor; - private Monitor monitor; - - public ContributionMetadataProcessor(AssemblyFactory assemblyFactory, - ContributionFactory contributionFactory, - StAXArtifactProcessor extensionProcessor, - Monitor monitor) { - this.assemblyFactory = assemblyFactory; - this.contributionFactory = contributionFactory; - this.extensionProcessor = extensionProcessor; - this.monitor = monitor; - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-xml-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Report a exception. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-xml-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - public ContributionMetadataProcessor(ModelFactoryExtensionPoint modelFactories, - StAXArtifactProcessor extensionProcessor, - Monitor monitor) { - this.assemblyFactory = modelFactories.getFactory(AssemblyFactory.class); - this.contributionFactory = modelFactories.getFactory(ContributionFactory.class); - this.extensionProcessor = extensionProcessor; - this.monitor = monitor; - } - - - public QName getArtifactType() { - return CONTRIBUTION_QNAME; - } - - public Class getModelType() { - return ContributionMetadata.class; - } - - public ContributionMetadata read(XMLStreamReader reader) throws ContributionReadException { - ContributionMetadata contribution = null; - QName name = null; - - try { - while (reader.hasNext()) { - int event = reader.getEventType(); - switch (event) { - case START_ELEMENT: - name = reader.getName(); - - if (CONTRIBUTION_QNAME.equals(name)) { - - // Read - contribution = this.contributionFactory.createContributionMetadata(); - contribution.setUnresolved(true); - - } else if (DEPLOYABLE_QNAME.equals(name)) { - - // Read - QName compositeName = getQName(reader, "composite"); - if (compositeName == null) { - error("AttributeCompositeMissing", reader); - //throw new ContributionReadException("Attribute 'composite' is missing"); - } else { - if (contribution != null) { - Composite composite = assemblyFactory.createComposite(); - composite.setName(compositeName); - composite.setUnresolved(true); - contribution.getDeployables().add(composite); - } - } - } else { - - // Read an extension element - Object extension = extensionProcessor.read(reader); - if (extension != null && contribution != null) { - if (extension instanceof Import) { - contribution.getImports().add((Import)extension); - } else if (extension instanceof Export) { - contribution.getExports().add((Export)extension); - } - } - } - break; - - case XMLStreamConstants.END_ELEMENT: - if (CONTRIBUTION_QNAME.equals(reader.getName())) { - return contribution; - } - break; - } - - //Read the next element - if (reader.hasNext()) { - reader.next(); - } - } - } - catch (XMLStreamException e) { - ContributionReadException ex = new ContributionReadException(e); - error("XMLStreamException", reader, ex); - } - - return contribution; - } - - public void write(ContributionMetadata contribution, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - - // Write - writeStartDocument(writer, CONTRIBUTION_QNAME.getNamespaceURI(), CONTRIBUTION_QNAME.getLocalPart()); - - // Write - for (Import imp: contribution.getImports()) { - extensionProcessor.write(imp, writer); - } - - // Write - for (Export export: contribution.getExports()) { - extensionProcessor.write(export, writer); - } - - // Write - for (Composite deployable: contribution.getDeployables()) { - writeStart(writer, DEPLOYABLE_QNAME.getNamespaceURI(), DEPLOYABLE_QNAME.getLocalPart(), - new XAttr("composite", deployable.getName())); - writeEnd(writer); - } - - writeEndDocument(writer); - } - - public void resolve(ContributionMetadata contribution, ModelResolver resolver) throws ContributionResolveException { - - // Resolve imports and exports - for (Export export: contribution.getExports()) { - extensionProcessor.resolve(export, resolver); - } - for (Import import_: contribution.getImports()) { - extensionProcessor.resolve(import_, resolver); - } - - // Resolve deployable composites - List deployables = contribution.getDeployables(); - for (int i = 0, n = deployables.size(); i < n; i++) { - Composite deployable = deployables.get(i); - Composite resolved = (Composite)resolver.resolveModel(Composite.class, deployable); - if (resolved != deployable) { - deployables.set(i, resolved); - } - } - - contribution.setUnresolved(false); - } -} diff --git a/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionModelResolver.java b/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionModelResolver.java deleted file mode 100644 index f226dbbee3..0000000000 --- a/java/sca/contrib/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionModelResolver.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.xml; - -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * A Model Resolver for Contribution models. - * - * @version $Rev$ $Date$ - */ -public class ContributionModelResolver implements ModelResolver { - - private Map map = new HashMap(); - - public ContributionModelResolver(Contribution contribution, ModelFactoryExtensionPoint modelFactories) { - } - - public void addModel(Object resolved) { - Contribution contribution = (Contribution)resolved; - map.put(contribution.getURI(), contribution); - } - - public Object removeModel(Object resolved) { - return map.remove(((Contribution)resolved).getURI()); - } - - public T resolveModel(Class modelClass, T unresolved) { - - // Lookup a contribution for the given URI - String uri = ((Contribution)unresolved).getURI(); - if (uri != null) { - Contribution resolved = (Contribution) map.get(uri); - if (resolved != null) { - return modelClass.cast(resolved); - } - return unresolved; - } else { - - // If no URI was specified, just return the first contribution - if (!map.isEmpty()) { - Contribution resolved = map.values().iterator().next(); - return modelClass.cast(resolved); - } else { - return unresolved; - } - } - } - -} diff --git a/java/sca/contrib/modules/contribution-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/contribution-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index b69ea1e135..0000000000 --- a/java/sca/contrib/modules/contribution-xml/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.contribution.xml.ContributionMetadataProcessor;qname=http://www.osoa.org/xmlns/sca/1.0#contribution,model=org.apache.tuscany.sca.contribution.ContributionMetadata -org.apache.tuscany.sca.contribution.processor.xml.AnyElementProcessor;qname=http://www.w3.org/2001/XMLSchema#anyElement,model=java.lang.Object diff --git a/java/sca/contrib/modules/contribution-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor b/java/sca/contrib/modules/contribution-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor deleted file mode 100644 index 23adab56b9..0000000000 --- a/java/sca/contrib/modules/contribution-xml/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.xml.ContributionMetadataDocumentProcessor;type=sca-contribution.xml,model=org.apache.tuscany.sca.contribution.ContributionMetadata -org.apache.tuscany.sca.contribution.xml.ContributionGeneratedMetadataDocumentProcessor;type=sca-contribution-generated.xml diff --git a/java/sca/contrib/modules/contribution-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver b/java/sca/contrib/modules/contribution-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolver deleted file mode 100644 index 68030bf6e6..0000000000 --- a/java/sca/contrib/modules/contribution-xml/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.xml.ContributionModelResolver;model=org.apache.tuscany.sca.contribution.Contribution diff --git a/java/sca/contrib/modules/contribution-xml/src/main/resources/contribution-xml-validation-messages.properties b/java/sca/contrib/modules/contribution-xml/src/main/resources/contribution-xml-validation-messages.properties deleted file mode 100644 index 4827fd5e94..0000000000 --- a/java/sca/contrib/modules/contribution-xml/src/main/resources/contribution-xml-validation-messages.properties +++ /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. -# -# -XMLStreamException = XMLStreamException occured due to : {0} -IOException = IOException occured due to : {0} -AttributeCompositeMissing = Attribute 'composite' is missing - diff --git a/java/sca/contrib/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessorTestCase.java b/java/sca/contrib/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessorTestCase.java deleted file mode 100644 index 8f69f15cd1..0000000000 --- a/java/sca/contrib/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessorTestCase.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.xml; - -import java.io.StringReader; -import java.io.StringWriter; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLOutputFactory; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.contribution.ContributionMetadata; -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.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.MonitorFactory; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.impl.DefaultMonitorFactoryImpl; -import org.apache.tuscany.sca.monitor.impl.DefaultMonitorImpl; - -/** - * Test the contribution metadata processor. - * - * @version $Rev$ $Date$ - */ - -public class ContributionMetadataProcessorTestCase extends TestCase { - - private static final String VALID_XML = - "" - + "" - + "" - + "" - + ""; - - private static final String INVALID_XML = - "" - + "" - + "" - + "" - + ""; - - private XMLInputFactory inputFactory; - private XMLOutputFactory outputFactory; - private StAXArtifactProcessor staxProcessor; - private Monitor monitor; - - @Override - protected void setUp() throws Exception { - ExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - - inputFactory = XMLInputFactory.newInstance(); - outputFactory = XMLOutputFactory.newInstance(); - - // Create a monitor - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - MonitorFactory monitorFactory = new DefaultMonitorFactoryImpl(); - if (monitorFactory != null) { - monitor = monitorFactory.createMonitor(); - utilities.addUtility(monitorFactory); - } - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory, null); - } - - public void testRead() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(VALID_XML)); - ContributionMetadata contribution = (ContributionMetadata)staxProcessor.read(reader); - assertNotNull(contribution); - assertEquals(2, contribution.getDeployables().size()); - } - - public void testReadInvalid() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(INVALID_XML)); - /*try { - staxProcessor.read(reader); - fail("InvalidException should have been thrown"); - } catch (ContributionReadException e) { - assertTrue(true); - }*/ - staxProcessor.read(reader); - Problem problem = ((DefaultMonitorImpl)monitor).getLastLoggedProblem(); - assertNotNull(problem); - assertEquals("AttributeCompositeMissing", problem.getMessageId()); - } - - public void testWrite() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(VALID_XML)); - ContributionMetadata contribution = (ContributionMetadata)staxProcessor.read(reader); - - validateContribution(contribution); - - //write the contribution metadata contents - StringWriter stringWriter = new StringWriter(); - XMLStreamWriter writer = outputFactory.createXMLStreamWriter(stringWriter); - staxProcessor.write(contribution, writer); - stringWriter.close(); - - reader = inputFactory.createXMLStreamReader(new StringReader(stringWriter.toString())); - contribution = (ContributionMetadata)staxProcessor.read(reader); - - validateContribution(contribution); - } - - private void validateContribution(ContributionMetadata contribution) { - QName deployable; - - assertNotNull(contribution); - assertEquals(2, contribution.getDeployables().size()); - deployable = new QName("http://ns", "Composite1"); - assertEquals(deployable, contribution.getDeployables().get(0).getName()); - deployable = new QName("http://ns", "Composite2"); - assertEquals(deployable, contribution.getDeployables().get(1).getName()); - } - -} diff --git a/java/sca/contrib/modules/contribution/LICENSE b/java/sca/contrib/modules/contribution/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/contribution/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/java/sca/contrib/modules/contribution/META-INF/MANIFEST.MF b/java/sca/contrib/modules/contribution/META-INF/MANIFEST.MF deleted file mode 100644 index a73a0ea180..0000000000 --- a/java/sca/contrib/modules/contribution/META-INF/MANIFEST.MF +++ /dev/null @@ -1,46 +0,0 @@ -Manifest-Version: 1.0 -Export-Package: org.apache.tuscany.sca.contribution.scanner;uses:="org - .apache.tuscany.sca.contribution.processor,org.apache.tuscany.sca.ext - ensibility";version="2.0",org.apache.tuscany.sca.contribution.resolve - r;uses:="org.apache.tuscany.sca.assembly,org.apache.tuscany.sca.core, - org.apache.tuscany.sca.contribution,org.apache.tuscany.sca.extensibil - ity";version="2.0",org.apache.tuscany.sca.contribution.processor;uses - :="org.apache.tuscany.sca.assembly,org.apache.tuscany.sca.core,org.ap - ache.tuscany.sca.policy,org.apache.tuscany.sca.monitor,org.apache.tus - cany.sca.extensibility,org.xml.sax,javax.xml.namespace,javax.xml.stre - am,javax.xml.stream.util,javax.xml.transform,org.apache.tuscany.sca.c - ontribution.resolver,javax.xml.transform.stream,javax.xml.validation, - org.xml.sax.helpers";version="2.0",org.apache.tuscany.sca.contributio - n;uses:="org.apache.tuscany.sca.assembly,org.apache.tuscany.sca.contr - ibution.resolver";version="2.0" -Private-Package: org.apache.tuscany.sca.contribution.impl;version="2.0 - " -Tool: Bnd-0.0.255 -Bundle-Name: Apache Tuscany SCA Contribution Model -Created-By: 1.6.0_07 (Sun Microsystems Inc.) -Bundle-Vendor: The Apache Software Foundation -Bundle-Version: 2.0 -Bnd-LastModified: 1225397102546 -Bundle-ManifestVersion: 2 -Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt -Bundle-Description: Apache Tuscany SCA Contribution Model -Import-Package: javax.xml.namespace, - javax.xml.stream, - javax.xml.stream.util, - javax.xml.transform, - javax.xml.transform.stream, - javax.xml.validation, - org.apache.tuscany.sca.assembly;version="2.0", - org.apache.tuscany.sca.contribution;version="2.0", - org.apache.tuscany.sca.contribution.processor;version="2.0", - org.apache.tuscany.sca.contribution.resolver;version="2.0", - org.apache.tuscany.sca.contribution.scanner;version="2.0", - org.apache.tuscany.sca.core;version="2.0", - org.apache.tuscany.sca.extensibility;version="2.0", - org.apache.tuscany.sca.monitor;version="2.0", - org.apache.tuscany.sca.policy;version="2.0", - org.xml.sax, - org.xml.sax.helpers -Bundle-SymbolicName: org.apache.tuscany.sca.contribution -Bundle-DocURL: http://www.apache.org/ - diff --git a/java/sca/contrib/modules/contribution/NOTICE b/java/sca/contrib/modules/contribution/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/contribution/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/contribution/pom.xml b/java/sca/contrib/modules/contribution/pom.xml deleted file mode 100644 index f491b0562b..0000000000 --- a/java/sca/contrib/modules/contribution/pom.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-contribution - Apache Tuscany SCA Contribution Model - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-extensibility - 2.0-SNAPSHOT - - - - javax.xml.stream - stax-api - 1.0-2 - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.contribution - ${pom.name} - org.apache.tuscany.sca.contribution* - - - - - - - diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Artifact.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Artifact.java deleted file mode 100644 index 7400501d85..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Artifact.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.contribution; - -import org.apache.tuscany.sca.assembly.Base; - - -/** - * Represents an artifact in an SCA contribution. - * - * @version $Rev$ $Date$ - */ -public interface Artifact extends Base { - - /** - * Returns the URI that unique identifies the artifact inside the contribution. - * - * @return The artifact URI - */ - String getURI(); - - /** - * Sets the URI that uniquely identifies the artifact inside the contribution. - * - * @param uri The artifact URI - */ - void setURI(String uri); - - /** - * Returns the location of the artifact. - * - * @return The artifact location - */ - String getLocation(); - - /** - * Set the location of the artifact. - * - * @param location The artifact location - */ - void setLocation(String location); - - - /** - * Returns the in-memory model representing the artifact. - * - * @return The model object - */ - Object getModel(); - - /** - * Sets the in-memory model representing the artifact. - * - * @param model The model object - */ - void setModel(Object model); - - /** - * Returns the contents of the artifact cached here. - * @return the contents of the artifact - */ - byte[] getContents(); - - /** - * Sets the contents of the artifact. - * @param contents the contents of the artifact - */ - void setContents(byte[] contents); -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Constants.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Constants.java deleted file mode 100644 index 14131a9806..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Constants.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.contribution; - -/** - * Constants used in SCA contribution. - * - * @version $Rev$ $Date$ - */ -public interface Constants { - String XMLSCHEMA_NS = "http://www.w3.org/2001/XMLSchema"; - - String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0"; - String SCA10_TUSCANY_NS = "http://tuscany.apache.org/xmlns/sca/1.0"; -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContentType.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContentType.java deleted file mode 100644 index 81b0b08b9d..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContentType.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.contribution; - -/** - * Constants for the main supported contribution package type. - * - * @version $Rev$ $Date$ - */ -@Deprecated -public interface ContentType { - - /** - * Java compressed contribution package - */ - String JAR = "application/x-compressed"; - - /** - * Filesystem folder contribution package - */ - String FOLDER = "application/vnd.tuscany.folder"; - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Contribution.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Contribution.java deleted file mode 100644 index 743c2356d7..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Contribution.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.contribution; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * The representation of an SCA contribution. - * - * @version $Rev$ $Date$ - */ -public interface Contribution extends Artifact { - - /** - * Default location of contribution metadata in an SCA contribution. - */ - String SCA_CONTRIBUTION_META = "META-INF/sca-contribution.xml"; - - /** - * Default location of a generated contribution metadata in an SCA contribution. - */ - String SCA_CONTRIBUTION_GENERATED_META = "META-INF/sca-contribution-generated.xml"; - - /** - * Default location of deployable composites in an SCA contribution. - */ - String SCA_CONTRIBUTION_DEPLOYABLES = "META-INF/sca-deployables/"; - - - /** - * Returns a list of exports based on the contribution metadata. - * - * @return The list of exports in this contribution - */ - List getExports(); - - /** - * Returns a list of imports based on the contribution metadata. - * - * @return The list of imports in this contribution - */ - List getImports(); - - /** - * Returns the list of deployable composites in the contribution. - * - * @return The list of deployable composites - */ - List getDeployables(); - - /** - * Returns the list of artifacts in the contribution. - * - * @return The list of artifacts in the contribution - */ - List getArtifacts(); - - /** - * Returns the model resolver for the models representing the artifacts - * visible in the scope of this contribution. - * - * @return The model resolver - */ - ModelResolver getModelResolver(); - - /** - * Sets the model resolver for the models representing the artifacts - * visible in the scope of this contribution. - * - * @param modelResolver The model resolver - */ - void setModelResolver(ModelResolver modelResolver); - - /** - * Returns the ClassLoader used to load classes and resources from - * this contribution - * - * FIXME Remove this, the base contribution model should not depend - * on Java ClassLoaders. - * - * @return The contribution ClassLoader - */ - ClassLoader getClassLoader(); - - /** - * Sets the ClassLoader used to load classes and resources from - * this contribution - * - * FIXME Remove this, the base contribution model should not depend - * on Java ClassLoaders. - * - * @param classLoader the contribution class loader - */ - void setClassLoader(ClassLoader classLoader); - -} \ No newline at end of file diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContributionFactory.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContributionFactory.java deleted file mode 100644 index 67c9a05a0b..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContributionFactory.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.contribution; - - -/** - * A factory for the contribution model. - * - * @version $Rev$ $Date$ - */ -public interface ContributionFactory { - - /** - * Create a contribution model object - * - * @return The new contribution model object - */ - Contribution createContribution(); - - /** - * Create a contribution metadata model object - * - * @return The new contribution metadata model object - */ - ContributionMetadata createContributionMetadata(); - - /** - * Create a deployedArtifact model object - * - * @return The new deployedArtifact model object - */ - @Deprecated - DeployedArtifact createDeployedArtifact(); - - /** - * Create an artifact model object - * - * @return The new artifact model object - */ - Artifact createArtifact(); - - /** - * Create a default import model object. - * - * @return the new default import model object - */ - DefaultImport createDefaultImport(); - - /** - * Create a default export model object. - * - * @return the new default export model object - */ - DefaultExport createDefaultExport(); - -} \ No newline at end of file diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContributionMetadata.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContributionMetadata.java deleted file mode 100644 index 4043fb9eda..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ContributionMetadata.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; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Base; -import org.apache.tuscany.sca.assembly.Composite; - -/** - * The representation of SCA contribution metadata. - * - * @version $Rev$ $Date$ - */ -public interface ContributionMetadata extends Base { - - /** - * Returns a list of exports based on the contribution metadata. - * - * @return The list of exports - */ - List getExports(); - - /** - * Returns a list of imports based on the contribution metadata. - * - * @return The list of imports - */ - List getImports(); - - /** - * Returns the list of deployable based on the contribution metadata. - * - * @return The list of deployable composites - */ - List getDeployables(); - -} \ No newline at end of file diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultContributionFactory.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultContributionFactory.java deleted file mode 100644 index 98954c288a..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultContributionFactory.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.contribution; - -import org.apache.tuscany.sca.contribution.impl.ContributionFactoryImpl; - - -/** - * Default implementation of a contribution model factory. - * - * @version $Rev$ $Date$ - */ -public class DefaultContributionFactory extends ContributionFactoryImpl { - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultExport.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultExport.java deleted file mode 100644 index b2eddb8336..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultExport.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; - - -/** - * The representation of an export that exports all artifacts in - * a contribution. - * - * @version $Rev$ $Date$ - */ -public interface DefaultExport extends Export { -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultImport.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultImport.java deleted file mode 100644 index 20798dcd17..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultImport.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; - - -/** - * The representation of a default import that imports artifacts from - * all contributions. - * - * @version $Rev$ $Date$ - */ -public interface DefaultImport extends Import { -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultModelFactoryExtensionPoint.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultModelFactoryExtensionPoint.java deleted file mode 100644 index b69c58a0ff..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DefaultModelFactoryExtensionPoint.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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; - -import java.lang.reflect.Constructor; -import java.util.HashMap; - -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; - - -/** - * Default implementation of a model factory extension point. - * - * @version $Rev$ $Date$ - */ -public class DefaultModelFactoryExtensionPoint implements ModelFactoryExtensionPoint { - - private HashMap, Object> factories = new HashMap, Object>(); - - /** - * Constructs a new DefaultModelFactoryExtensionPoint. - */ - public DefaultModelFactoryExtensionPoint() { - } - - /** - * Add a model factory extension. - * - * @param factory The factory to add - */ - public void addFactory(Object factory) { - Class[] interfaces = factory.getClass().getInterfaces(); - if (interfaces.length == 0) { - Class sc = factory.getClass().getSuperclass(); - if (sc != Object.class) { - factories.put(sc, factory); - } - } else { - for (int i = 0; i[] interfaces = factory.getClass().getInterfaces(); - if (interfaces.length == 0) { - Class sc = factory.getClass().getSuperclass(); - if (sc != Object.class) { - factories.remove(sc); - } - } else { - for (int i = 0; i T getFactory(Class factoryInterface) { - Object factory = factories.get(factoryInterface); - if (factory == null) { - - if (factoryInterface.isInterface()) { - - // Dynamically load a factory class declared under META-INF/services - try { - Class factoryClass = ServiceDiscovery.getInstance().loadFirstServiceClass(factoryInterface); - if (factoryClass != null) { - - try { - // Default empty constructor - Constructor constructor = factoryClass.getConstructor(); - factory = constructor.newInstance(); - } catch (NoSuchMethodException e) { - - // Constructor taking the model factory extension point - Constructor constructor = factoryClass.getConstructor(ModelFactoryExtensionPoint.class); - factory = constructor.newInstance(this); - } - - // Cache the loaded factory - addFactory(factory); - } - } catch (Exception e) { - throw new IllegalArgumentException(e); - } - } else { - - // Call the newInstance static method on the factory abstract class - try { - factory = ServiceDiscovery.getInstance().newFactoryClassInstance(factoryInterface); - } catch (Exception e) { - throw new IllegalArgumentException(e); - } - - // Cache the factory - addFactory(factory); - } - } - return factoryInterface.cast(factory); - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DeployedArtifact.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DeployedArtifact.java deleted file mode 100644 index ffe190132c..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/DeployedArtifact.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; - -/** - * Representation of a deployed artifact - * - * @version $Rev$ $Date$ - */ -@Deprecated -public interface DeployedArtifact extends Artifact { -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Export.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Export.java deleted file mode 100644 index bfa16b1ce3..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Export.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.contribution; - -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * The representation of an export. - * - * @version $Rev$ $Date$ - */ -public interface Export { - - /** - * Returns the model resolver for the models representing artifacts - * made available by this export. - * - * @return The model resolver - */ - ModelResolver getModelResolver(); - - /** - * Sets the model resolver for the models representing artifacts - * made available by this export. - * - * @param modelResolver - */ - void setModelResolver(ModelResolver modelResolver); - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Import.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Import.java deleted file mode 100644 index 35076f55a7..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/Import.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.contribution; - -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - - -/** - * The representation of an import. - * - * @version $Rev$ $Date$ - */ -public interface Import { - - /** - * Returns the model resolver for the models representing artifacts - * made available by this import. - * - * @return The model resolver - */ - ModelResolver getModelResolver(); - - /** - * Sets the model resolver for the models representing artifacts - * made available by this import. - * - * @param modelResolver The model resolver - */ - void setModelResolver(ModelResolver modelResolver); - - /** - * Verify that a specific export actually exports what is being imported. - * - * @param export The Exported being verified - * @return true/false - */ - boolean match(Export export); - -} \ No newline at end of file diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ModelFactoryExtensionPoint.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ModelFactoryExtensionPoint.java deleted file mode 100644 index 0ada4ebec3..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/ModelFactoryExtensionPoint.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.contribution; - -/** - * An extension point for model factories. Model factories are provided to - * abstract the classes that represent artifacts in the assembly model away - * from their creation mechanism. When the runtime needs to extend the model - * as it reads in contributed artifacts it looks up the factory for the - * artifact required in this registry - * - * @version $Rev$ $Date$ - */ -public interface ModelFactoryExtensionPoint { - - /** - * Add a model factory extension. - * - * @param factory The factory to add - */ - void addFactory(Object factory); - - /** - * Remove a model factory extension. - * - * @param factory The factory to remove - */ - void removeFactory(Object factory); - - /** - * Get a factory implementing the given interface. - * @param factoryInterface the lookup key (factory interface) - * @return The factory - */ - T getFactory(Class factoryInterface); - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/PackageType.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/PackageType.java deleted file mode 100644 index 26833bb4c0..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/PackageType.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; - -/** - * Constants for the main supported contribution package types. - * - * @version $Rev$ $Date$ - */ -public interface PackageType { - - /** - * Java compressed contribution package - */ - String JAR = "application/x-compressed"; - - /** - * Zip archive contribution package - */ - String ZIP = "application/x-compressed"; - - /** - * Filesystem folder contribution package - */ - String FOLDER = "application/vnd.tuscany.folder"; - - - String BUNDLE = "application/osgi.bundle"; - - /** - * Java EE Web Application Archive - */ - String WAR = "application/war"; - - /** - * Java EE Enterprise Application Archive - */ - String EAR = "application/ear"; - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ArtifactImpl.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ArtifactImpl.java deleted file mode 100644 index 881987f622..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ArtifactImpl.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import org.apache.tuscany.sca.contribution.Artifact; - - -/** - * The model representing an artifact in a contribution. - * - * @version $Rev$ $Date$ - */ -class ArtifactImpl implements Artifact { - private String uri; - private String location; - private Object model; - private boolean unresolved; - private byte[] contents; - - ArtifactImpl() { - } - - public String getLocation() { - return location; - } - - public void setLocation(String location) { - this.location = location; - } - - public String getURI() { - return uri; - } - - public void setURI(String uri) { - this.uri = uri; - } - - public Object getModel() { - return model; - } - - public void setModel(Object model) { - this.model = model; - } - - public byte[] getContents() { - return contents; - } - - public void setContents(byte[] contents) { - this.contents = contents; - } - - public boolean isUnresolved() { - return unresolved; - } - - public void setUnresolved(boolean unresolved) { - this.unresolved = unresolved; - } - - @Override - public int hashCode() { - return uri.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } else { - if (obj instanceof Artifact) { - return uri.equals(((Artifact)obj).getURI()); - } else { - return false; - } - } - } - - @Override - public String toString() { - return "Artifact:" + uri + "\n" + - "at: " + location; - } -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionFactoryImpl.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionFactoryImpl.java deleted file mode 100644 index c678c2eaef..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionFactoryImpl.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.contribution.impl; - -import org.apache.tuscany.sca.contribution.Artifact; -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.ContributionFactory; -import org.apache.tuscany.sca.contribution.ContributionMetadata; -import org.apache.tuscany.sca.contribution.DefaultExport; -import org.apache.tuscany.sca.contribution.DefaultImport; -import org.apache.tuscany.sca.contribution.DeployedArtifact; - - -/** - * Default implementation of a contribution model factory. - * - * @version $Rev$ $Date$ - */ -public class ContributionFactoryImpl implements ContributionFactory { - - protected ContributionFactoryImpl() { - } - - public Contribution createContribution() { - return new ContributionImpl(); - } - - public ContributionMetadata createContributionMetadata() { - return new ContributionMetadataImpl(); - } - - public Artifact createArtifact() { - return new ArtifactImpl(); - } - - public DefaultExport createDefaultExport() { - return new DefaultExportImpl(); - } - - public DefaultImport createDefaultImport() { - return new DefaultImportImpl(); - } - - @Deprecated - public DeployedArtifact createDeployedArtifact() { - class DeployedArtifactImpl extends ArtifactImpl implements DeployedArtifact { - } - return new DeployedArtifactImpl(); - } -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionImpl.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionImpl.java deleted file mode 100644 index fc9ae607e7..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionImpl.java +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.contribution.Artifact; -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.Export; -import org.apache.tuscany.sca.contribution.Import; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * The representation of a deployed contribution - * - * @version $Rev$ $Date$ - */ -class ContributionImpl implements Contribution { - private String uri; - private String location; - private Object model; - private byte[] contents; - private boolean unresolved; - private List exports = new ArrayList(); - private List imports = new ArrayList(); - private List deployables = new ArrayList(); - private List artifacts = new ArrayList(); - private ModelResolver modelResolver; - - // FIXME remove this dependency on Java ClassLoaders - private ClassLoader classLoader; - - ContributionImpl() { - } - - public String getLocation() { - return this.location; - } - - public void setLocation(String location) { - this.location = location; - } - - //FIXME Remove dependency on Java ClassLoaders - public ClassLoader getClassLoader() { - return classLoader; - } - - //FIXME Remove dependency on Java ClassLoaders - public void setClassLoader(ClassLoader classLoader) { - this.classLoader = classLoader; - } - - - public String getURI() { - return this.uri; - } - - public void setURI(String uri) { - this.uri = uri; - } - - public Object getModel() { - return model; - } - - public void setModel(Object model) { - this.model = model; - } - - public byte[] getContents() { - return contents; - } - - public void setContents(byte[] contents) { - this.contents = contents; - } - - public boolean isUnresolved() { - return unresolved; - } - - public void setUnresolved(boolean unresolved) { - this.unresolved = unresolved; - } - - public ModelResolver getModelResolver() { - return modelResolver; - } - - public void setModelResolver(ModelResolver modelResolver) { - this.modelResolver = modelResolver; - } - - public List getExports() { - return exports; - } - - public List getImports() { - return imports; - } - - public List getDeployables() { - return deployables; - } - - public List getArtifacts() { - return artifacts; - } - - @Override - public int hashCode() { - return uri.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } else { - if (obj instanceof Artifact) { - return uri.equals(((Artifact)obj).getURI()); - } else { - return false; - } - } - } - - @Override - public String toString() { - return "Contribution : " + uri + " \n" + - "from: " + location; - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionMetadataImpl.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionMetadataImpl.java deleted file mode 100644 index 75b12b1260..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/ContributionMetadataImpl.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.contribution.ContributionMetadata; -import org.apache.tuscany.sca.contribution.Export; -import org.apache.tuscany.sca.contribution.Import; - -/** - * The representation of a deployed contribution - * - * @version $Rev$ $Date$ - */ -class ContributionMetadataImpl implements ContributionMetadata { - private boolean unresolved; - private List exports = new ArrayList(); - private List imports = new ArrayList(); - private List deployables = new ArrayList(); - - ContributionMetadataImpl() { - } - - public boolean isUnresolved() { - return unresolved; - } - - public void setUnresolved(boolean unresolved) { - this.unresolved = unresolved; - } - - public List getExports() { - return exports; - } - - public List getImports() { - return imports; - } - - public List getDeployables() { - return deployables; - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/DefaultExportImpl.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/DefaultExportImpl.java deleted file mode 100644 index e67395337a..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/DefaultExportImpl.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.contribution.impl; - -import org.apache.tuscany.sca.contribution.DefaultExport; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * The representation of an export for the contribution - * - * @version $Rev$ $Date$ - */ -public class DefaultExportImpl implements DefaultExport { - private ModelResolver modelResolver; - - protected DefaultExportImpl() { - super(); - } - - public ModelResolver getModelResolver() { - return modelResolver; - } - - public void setModelResolver(ModelResolver modelResolver) { - this.modelResolver = modelResolver; - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/DefaultImportImpl.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/DefaultImportImpl.java deleted file mode 100644 index 17c09f2cbc..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/impl/DefaultImportImpl.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.impl; - -import org.apache.tuscany.sca.contribution.DefaultExport; -import org.apache.tuscany.sca.contribution.DefaultImport; -import org.apache.tuscany.sca.contribution.Export; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * The representation of an import for the contribution - * - * @version $Rev$ $Date$ - */ -public class DefaultImportImpl implements DefaultImport { - private ModelResolver modelResolver; - - protected DefaultImportImpl() { - super(); - } - - public ModelResolver getModelResolver() { - return modelResolver; - } - - public void setModelResolver(ModelResolver modelResolver) { - this.modelResolver = modelResolver; - } - - - public boolean match(Export export) { - if (export instanceof DefaultExport) { - return true; - } - return false; - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ArtifactProcessor.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ArtifactProcessor.java deleted file mode 100644 index b5f536c431..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ArtifactProcessor.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.contribution.processor; - -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.contribution.service.ContributionResolveException; - -/** - * Base interface for artifact processors. - * - * @version $Rev$ $Date$ - */ -public interface ArtifactProcessor { - - /** - * Resolve references from this model to other models. For example references - * from a composite to another one, or references from a composite to a WSDL - * model. - * - * @param model The model to resolve - * @param resolver The resolver to use to resolve referenced models - */ - void resolve(M model, ModelResolver resolver) throws ContributionResolveException; - - /** - * Returns the type of model handled by this artifact processor. - * - * @return The type of model handled by this artifact processor - */ - Class getModelType(); - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ArtifactProcessorExtensionPoint.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ArtifactProcessorExtensionPoint.java deleted file mode 100644 index 029df61f0f..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ArtifactProcessorExtensionPoint.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.processor; - -/** - * An extension point for artifact processors. - * - * @version $Rev$ $Date$ - */ -public interface ArtifactProcessorExtensionPoint

{ - - /** - * Add an artifact processor. - * - * @param artifactProcessor The artifact processor to add - */ - void addArtifactProcessor(P artifactProcessor); - - /** - * Remove an artifact processor. - * - * @param artifactProcessor The artifact processor to remove - */ - void removeArtifactProcessor(P artifactProcessor); - - /** - * Returns the processor associated with the given artifact type. - * - * @param artifactType An artifact type - * @return The processor associated with the given artifact type - */ - P getProcessor(Object artifactType); - - /** - * Returns the processor associated with the given model type. - * - * @param modelType A model type - * @return The processor associated with the given model type - */ - P getProcessor(Class modelType); - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/BaseStAXArtifactProcessor.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/BaseStAXArtifactProcessor.java deleted file mode 100644 index f23797a831..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/BaseStAXArtifactProcessor.java +++ /dev/null @@ -1,539 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.processor; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; -import static javax.xml.stream.XMLStreamConstants.START_ELEMENT; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.StringTokenizer; - -import javax.xml.XMLConstants; -import javax.xml.namespace.NamespaceContext; -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; - - -/** - * A base class with utility methods for the other artifact processors in this module. - * - * @version $Rev$ $Date$ - */ -public abstract class BaseStAXArtifactProcessor { - - /** - * Returns a QName from a string. - * @param reader - * @param value - * @return - */ - protected QName getQNameValue(XMLStreamReader reader, String value) { - if (value != null) { - int index = value.indexOf(':'); - String prefix = index == -1 ? "" : value.substring(0, index); - String localName = index == -1 ? value : value.substring(index + 1); - String ns = reader.getNamespaceContext().getNamespaceURI(prefix); - if (ns == null) { - ns = ""; - } - return new QName(ns, localName, prefix); - } else { - return null; - } - } - - /** - * Returns the boolean value of an attribute. - * @param reader - * @param name - * @return - */ - protected boolean getBoolean(XMLStreamReader reader, String name) { - String value = reader.getAttributeValue(null, name); - if (value == null) { - return false; - } - return Boolean.valueOf(value); - } - - /** - * Returns the QName value of an attribute. - * @param reader - * @param name - * @return - */ - protected QName getQName(XMLStreamReader reader, String name) { - String qname = reader.getAttributeValue(null, name); - return getQNameValue(reader, qname); - } - - /** - * Returns the value of an attribute as a list of QNames. - * @param reader - * @param name - * @return - */ - protected List getQNames(XMLStreamReader reader, String name) { - String value = reader.getAttributeValue(null, name); - if (value != null) { - List qnames = new ArrayList(); - for (StringTokenizer tokens = new StringTokenizer(value); tokens.hasMoreTokens();) { - qnames.add(getQName(reader, tokens.nextToken())); - } - return qnames; - } else { - return Collections.emptyList(); - } - } - - /** - * Returns the string value of an attribute. - * @param reader - * @param name - * @return - */ - protected String getString(XMLStreamReader reader, String name) { - return reader.getAttributeValue(null, name); - } - - /** - * Test if an attribute is explicitly set - * @param reader - * @param name - * @return - */ - protected boolean isSet(XMLStreamReader reader, String name) { - return reader.getAttributeValue(null, name) != null; - } - - /** - * Returns the value of xsi:type attribute - * @param reader The XML stream reader - * @return The QName of the type, if the attribute is not present, null is - * returned. - */ - protected QName getXSIType(XMLStreamReader reader) { - String qname = reader.getAttributeValue(XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI, "type"); - return getQNameValue(reader, qname); - } - - /** - * Parse the next child element. - * @param reader - * @return - * @throws XMLStreamException - */ - protected boolean nextChildElement(XMLStreamReader reader) throws XMLStreamException { - while (reader.hasNext()) { - int event = reader.next(); - if (event == END_ELEMENT) { - return false; - } - if (event == START_ELEMENT) { - return true; - } - } - return false; - } - - /** - * Advance the stream to the next END_ELEMENT event skipping any nested - * content. - * @param reader the reader to advance - * @throws XMLStreamException if there was a problem reading the stream - */ - protected void skipToEndElement(XMLStreamReader reader) throws XMLStreamException { - int depth = 0; - while (reader.hasNext()) { - int event = reader.next(); - if (event == XMLStreamConstants.START_ELEMENT) { - depth++; - } else if (event == XMLStreamConstants.END_ELEMENT) { - if (depth == 0) { - return; - } - depth--; - } - } - } - - /** - * - * @param writer - * @param uri - * @throws XMLStreamException - */ - private String writeElementPrefix(XMLStreamWriter writer, String uri) throws XMLStreamException { - if (uri == null) { - return null; - } - String prefix = writer.getPrefix(uri); - if (prefix != null) { - return null; - } else { - - // Find an available prefix and bind it to the given URI - NamespaceContext nsc = writer.getNamespaceContext(); - for (int i=1; ; i++) { - prefix = "ns" + i; - if (nsc.getNamespaceURI(prefix) == null) { - break; - } - } - writer.setPrefix(prefix, uri); - return prefix; - } - - } - - /** - * Start an element. - * @param uri - * @param name - * @param attrs - * @throws XMLStreamException - */ - protected void writeStart(XMLStreamWriter writer, String uri, String name, XAttr... attrs) throws XMLStreamException { - String prefix = writeElementPrefix(writer, uri); - writer.writeStartElement(uri, name); - if (prefix != null){ - writer.writeNamespace(prefix,uri); - } - writeAttributePrefixes(writer, attrs); - writeAttributes(writer, attrs); - } - - /** - * Start an element. - * @param qname - * @param attrs - * @throws XMLStreamException - */ - protected void writeStart(XMLStreamWriter writer, QName qname, XAttr... attrs) throws XMLStreamException { - writeStart(writer, qname.getNamespaceURI(), qname.getLocalPart(), attrs); - } - - /** - * End an element. - * @param writer - * @throws XMLStreamException - */ - protected void writeEnd(XMLStreamWriter writer) throws XMLStreamException { - writer.writeEndElement(); - } - - /** - * Start a document. - * @param writer - * @throws XMLStreamException - */ - protected void writeStartDocument(XMLStreamWriter writer, String uri, String name, XAttr... attrs) throws XMLStreamException { - writer.writeStartDocument(); - writer.setDefaultNamespace(uri); - writeStart(writer, uri, name, attrs); - writer.writeDefaultNamespace(uri); - } - - /** - * Start a document. - * @param writer - * @param qname - * @param attrs - * @throws XMLStreamException - */ - protected void writeStartDocument(XMLStreamWriter writer, QName qname, XAttr... attrs) throws XMLStreamException { - writeStartDocument(writer, qname.getNamespaceURI(), qname.getLocalPart(), attrs); - } - - /** - * End a document. - * @param writer - * @throws XMLStreamException - */ - protected void writeEndDocument(XMLStreamWriter writer) throws XMLStreamException { - writer.writeEndDocument(); - } - - /** - * Write attributes to the current element. - * @param writer - * @param attrs - * @throws XMLStreamException - */ - protected void writeAttributes(XMLStreamWriter writer, XAttr... attrs) throws XMLStreamException { - for (XAttr attr : attrs) { - if (attr != null) - attr.write(writer); - } - } - - /** - * Write attribute prefixes to the current element. - * @param writer - * @param attrs - * @throws XMLStreamException - */ - protected void writeAttributePrefixes(XMLStreamWriter writer, XAttr... attrs) throws XMLStreamException { - for (XAttr attr : attrs) { - if (attr != null) - attr.writePrefix(writer); - } - } - - /** - * Represents an XML attribute that needs to be written to a document. - */ - public static class XAttr { - - private static final String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0"; - - private String uri = SCA10_NS; - private String name; - private Object value; - - public XAttr(String uri, String name, String value) { - this.uri = uri; - this.name = name; - this.value = value; - } - - public XAttr(String name, String value) { - this(null, name, value); - } - - public XAttr(String uri, String name, List values) { - this.uri = uri; - this.name = name; - this.value = values; - } - - public XAttr(String name, List values) { - this(null, name, values); - } - - public XAttr(String uri, String name, Boolean value) { - this.uri = uri; - this.name = name; - this.value = value; - } - - public XAttr(String name, Boolean value) { - this(null, name, value); - } - - public XAttr(String uri, String name, Integer value) { - this.uri = uri; - this.name = name; - this.value = value; - } - - public XAttr(String name, Integer value) { - this(null, name, value); - } - - public XAttr(String uri, String name, Double value) { - this.uri = uri; - this.name = name; - this.value = value; - } - - public XAttr(String name, Double value) { - this(null, name, value); - } - - public XAttr(String uri, String name, QName value) { - this.uri = uri; - this.name = name; - this.value = value; - } - - public XAttr(String name, QName value) { - this(null, name, value); - } - - /** - * Writes a string from a QName and registers a prefix for its namespace. - * @param reader - * @param value - * @return - */ - private String writeQNameValue(XMLStreamWriter writer, QName qname) throws XMLStreamException { - if (qname != null) { - String prefix = qname.getPrefix(); - String uri = qname.getNamespaceURI(); - prefix = writer.getPrefix(uri); - if (prefix != null) { - - // Use the prefix already bound to the given URI - if (prefix.length() > 0) { - return prefix + ":" + qname.getLocalPart(); - } else { - - // Empty prefix, just return the local part of the given qname - return qname.getLocalPart(); - } - - } else { - - // Find an available prefix and bind it to the given URI - NamespaceContext nsc = writer.getNamespaceContext(); - for (int i=1; ; i++) { - prefix = "ns" + i; - if (nsc.getNamespaceURI(prefix) == null) { - break; - } - } - writer.setPrefix(prefix, uri); - writer.writeNamespace(prefix, uri); - return prefix + ":" + qname.getLocalPart(); - } - } else { - return null; - } - } - - /** - * Registers a prefix for the namespace of a QName. - * @param reader - * @param value - * @return - */ - private void writeQNamePrefix(XMLStreamWriter writer, QName qname) throws XMLStreamException { - if (qname != null) { - String prefix = qname.getPrefix(); - String uri = qname.getNamespaceURI(); - prefix = writer.getPrefix(uri); - if (prefix != null) { - return; - } else { - - // Find an available prefix and bind it to the given URI - NamespaceContext nsc = writer.getNamespaceContext(); - for (int i=1; ; i++) { - prefix = "ns" + i; - if (nsc.getNamespaceURI(prefix) == null) { - break; - } - } - writer.setPrefix(prefix, uri); - writer.writeNamespace(prefix, uri); - } - } - } - - /** - * Write to document - * @param writer - * @throws XMLStreamException - */ - public void write(XMLStreamWriter writer) throws XMLStreamException { - String str; - if (value instanceof QName) { - - // Write a QName - str = writeQNameValue(writer, (QName)value); - - } else if (value instanceof List) { - - // Write a list of values - List values = (List)value; - if (values.isEmpty()) { - return; - } - StringBuffer buffer = new StringBuffer(); - for (Object v: values) { - if (v == null) { - // Skip null values - continue; - } - - if (v instanceof XAttr) { - // Write an XAttr value - ((XAttr)v).write(writer); - continue; - } - - if (buffer.length() != 0) { - buffer.append(' '); - } - if (v instanceof QName) { - // Write a QName value - buffer.append(writeQNameValue(writer, (QName)v)); - } else { - // Write value as a string - buffer.append(String.valueOf(v)); - } - } - str = buffer.toString(); - - } else { - - // Write a string - if (value == null) { - return; - } - str = String.valueOf(value); - } - if (str.length() == 0) { - return; - } - - // Write the attribute - if (uri != null && !uri.equals(SCA10_NS)) { - writer.writeAttribute(uri, name, str); - } else { - writer.writeAttribute(name,str); - } - } - - /** - * Registers a prefix for the namespace of a QName or list of QNames - * @param writer - * @throws XMLStreamException - */ - public void writePrefix(XMLStreamWriter writer) throws XMLStreamException { - if (value instanceof QName) { - - // Write prefix for a single QName value - writeQNamePrefix(writer, (QName)value); - - } else if (value instanceof List) { - - // Write prefixes for a list of values - for (Object v: (List)value) { - if (v instanceof QName) { - // Write prefix for a QName value - writeQNamePrefix(writer, (QName)v); - - } else if (v instanceof XAttr) { - // Write prefix for an XAttr value - ((XAttr)v).writePrefix(writer); - } - } - } - } - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultArtifactProcessorExtensionPoint.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultArtifactProcessorExtensionPoint.java deleted file mode 100644 index 3c67a8c550..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultArtifactProcessorExtensionPoint.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.contribution.processor; - -import java.util.HashMap; -import java.util.Map; - -/** - * The default implementation of an artifact processor extension point. - * - * @version $Rev$ $Date$ - */ -abstract class DefaultArtifactProcessorExtensionPoint

{ - protected final Map processorsByArtifactType = new HashMap(); - protected final Map, P> processorsByModelType = new HashMap, P>(); - - /** - * Constructs a new loader registry. - */ - DefaultArtifactProcessorExtensionPoint() { - } - - /** - * Returns the processor associated with the given artifact type. - * - * @param artifactType An artifact type - * @return The processor associated with the given artifact type - */ - public P getProcessor(Object artifactType) { - return processorsByArtifactType.get(artifactType); - } - - /** - * Returns the processor associated with the given model type. - * - * @param modelType A model type - * @return The processor associated with the given model type - */ - public P getProcessor(Class modelType) { - Class[] classes = modelType.getInterfaces(); - for (Class c : classes) { - P processor = processorsByModelType.get(c); - if (processor != null) { - return processor; - } - } - return processorsByModelType.get(modelType); - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultPackageProcessorExtensionPoint.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultPackageProcessorExtensionPoint.java deleted file mode 100644 index 426d7beb29..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultPackageProcessorExtensionPoint.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.processor; - -import java.io.IOException; -import java.io.InputStream; -import java.lang.reflect.Constructor; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URL; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.apache.tuscany.sca.contribution.service.ContributionException; -import org.apache.tuscany.sca.extensibility.ServiceDeclaration; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; - -/** - * Default implementation of a package processor extension point. - * - * @version $Rev$ $Date$ - */ -public class DefaultPackageProcessorExtensionPoint implements PackageProcessorExtensionPoint { - - private Map processors = new HashMap(); - private boolean loaded; - - public DefaultPackageProcessorExtensionPoint() { - } - - public void addPackageProcessor(PackageProcessor processor) { - processors.put(processor.getPackageType(), processor); - } - - public void removePackageProcessor(PackageProcessor processor) { - processors.remove(processor.getPackageType()); - } - - public PackageProcessor getPackageProcessor(String contentType) { - loadProcessors(); - return processors.get(contentType); - } - - private void loadProcessors() { - if (loaded) - return; - - // Get the processor service declarations - Set processorDeclarations; - try { - processorDeclarations = ServiceDiscovery.getInstance().getServiceDeclarations(PackageProcessor.class); - } catch (IOException e) { - throw new IllegalStateException(e); - } - - for (ServiceDeclaration processorDeclaration: processorDeclarations) { - Map attributes = processorDeclaration.getAttributes(); - - // Load a URL artifact processor - String packageType = attributes.get("type"); - - // Create a processor wrapper and register it - PackageProcessor processor = new LazyPackageProcessor(packageType, processorDeclaration); - addPackageProcessor(processor); - } - - loaded = true; - } - - /** - * A facade for package processors. - */ - private static class LazyPackageProcessor implements PackageProcessor { - - private ServiceDeclaration processorDeclaration; - private String packageType; - private PackageProcessor processor; - - private LazyPackageProcessor(String packageType, ServiceDeclaration processorDeclaration) { - this.processorDeclaration = processorDeclaration; - this.packageType = packageType; - } - - public URL getArtifactURL(URL packageSourceURL, URI artifact) throws MalformedURLException { - return getProcessor().getArtifactURL(packageSourceURL, artifact); - } - - public List getArtifacts(URL packageSourceURL, InputStream inputStream) throws ContributionException, IOException { - return getProcessor().getArtifacts(packageSourceURL, inputStream); - } - - public String getPackageType() { - return packageType; - } - - @SuppressWarnings("unchecked") - private PackageProcessor getProcessor() { - if (processor == null) { - try { - Class processorClass = (Class)processorDeclaration.loadClass(); - Constructor constructor = processorClass.getConstructor(); - processor = constructor.newInstance(); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return processor; - } - } -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultStAXArtifactProcessorExtensionPoint.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultStAXArtifactProcessorExtensionPoint.java deleted file mode 100644 index f23ebc2c36..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultStAXArtifactProcessorExtensionPoint.java +++ /dev/null @@ -1,388 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.processor; - -import java.io.IOException; -import java.lang.reflect.Constructor; -import java.util.Map; -import java.util.Set; - -import javax.xml.namespace.QName; -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.assembly.AssemblyFactory; -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -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.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.extensibility.ServiceDeclaration; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.MonitorFactory; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; -import org.apache.tuscany.sca.policy.PolicyFactory; - -/** - * The default implementation of an extension point for StAX artifact processors. - * - * @version $Rev$ $Date$ - */ -public class DefaultStAXArtifactProcessorExtensionPoint extends - DefaultArtifactProcessorExtensionPoint implements StAXArtifactProcessorExtensionPoint { - - private ExtensionPointRegistry extensionPoints; - private ModelFactoryExtensionPoint modelFactories; - private MonitorFactory monitorFactory; - private boolean loaded; - private StAXArtifactProcessor extensibleStAXProcessor; - private StAXAttributeProcessor extensibleStAXAttributeProcessor; - private Monitor monitor = null; - - /** - * Constructs a new extension point. - */ - public DefaultStAXArtifactProcessorExtensionPoint(ExtensionPointRegistry extensionPoints) { - this.extensionPoints = extensionPoints; - this.modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - XMLInputFactory inputFactory = modelFactories.getFactory(XMLInputFactory.class); - XMLOutputFactory outputFactory = modelFactories.getFactory(XMLOutputFactory.class); - UtilityExtensionPoint utilities = this.extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class); - if (monitorFactory != null) - this.monitor = monitorFactory.createMonitor(); - this.extensibleStAXProcessor = new ExtensibleStAXArtifactProcessor(this, inputFactory, outputFactory, this.monitor); - - StAXAttributeProcessorExtensionPoint attributeExtensionPoint = extensionPoints.getExtensionPoint(StAXAttributeProcessorExtensionPoint.class); - this.extensibleStAXAttributeProcessor = new ExtensibleStAXAttributeProcessor(attributeExtensionPoint ,inputFactory, outputFactory, this.monitor); - } - - /** - * Report a exception. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - public void addArtifactProcessor(StAXArtifactProcessor artifactProcessor) { - if (artifactProcessor.getArtifactType() != null) { - processorsByArtifactType.put((Object)artifactProcessor.getArtifactType(), artifactProcessor); - } - if (artifactProcessor.getModelType() != null) { - processorsByModelType.put(artifactProcessor.getModelType(), artifactProcessor); - } - } - - public void removeArtifactProcessor(StAXArtifactProcessor artifactProcessor) { - if (artifactProcessor.getArtifactType() != null) { - processorsByArtifactType.remove((Object)artifactProcessor.getArtifactType()); - } - if (artifactProcessor.getModelType() != null) { - processorsByModelType.remove(artifactProcessor.getModelType()); - } - } - - @Override - public StAXArtifactProcessor getProcessor(Class modelType) { - loadArtifactProcessors(); - return super.getProcessor(modelType); - } - - @Override - public StAXArtifactProcessor getProcessor(Object artifactType) { - loadArtifactProcessors(); - return super.getProcessor(artifactType); - } - - /** - * Returns a QName object from a QName expressed as {ns}name - * or ns#name. - * - * @param qname - * @return - */ - private static QName getQName(String qname) { - if (qname == null) { - return null; - } - qname = qname.trim(); - if (qname.startsWith("{")) { - int h = qname.indexOf('}'); - if (h != -1) { - return new QName(qname.substring(1, h), qname.substring(h + 1)); - } - } else { - int h = qname.indexOf('#'); - if (h != -1) { - return new QName(qname.substring(0, h), qname.substring(h + 1)); - } - } - throw new IllegalArgumentException("Invalid qname: "+qname); - } - - /** - * Lazily load artifact processors registered in the extension point. - */ - private void loadArtifactProcessors() { - if (loaded) - return; - - // Get the processor service declarations - Set processorDeclarations; - try { - processorDeclarations = ServiceDiscovery.getInstance().getServiceDeclarations(StAXArtifactProcessor.class); - } catch (IOException e) { - IllegalStateException ie = new IllegalStateException(e); - error("IllegalStateException", extensibleStAXProcessor, ie); - throw ie; - } - - for (ServiceDeclaration processorDeclaration : processorDeclarations) { - Map attributes = processorDeclaration.getAttributes(); - - // Load a StAX artifact processor - - // Get the model QName - QName artifactType = getQName(attributes.get("qname")); - - // Get the model class name - String modelTypeName = attributes.get("model"); - - // Get the model factory class name - String factoryName = attributes.get("factory"); - - // Create a processor wrapper and register it - StAXArtifactProcessor processor = - new LazyStAXArtifactProcessor(artifactType, modelTypeName, factoryName, - processorDeclaration, extensionPoints, modelFactories, - extensibleStAXProcessor,extensibleStAXAttributeProcessor, monitor); - addArtifactProcessor(processor); - } - - loaded = true; - } - - /** - * A wrapper around an Artifact processor class allowing lazy loading and - * initialization of artifact processors. - */ - private static class LazyStAXArtifactProcessor implements StAXArtifactProcessor { - - private ExtensionPointRegistry extensionPoints; - private QName artifactType; - private String modelTypeName; - private String factoryName; - private ServiceDeclaration processorDeclaration; - private StAXArtifactProcessor processor; - private Class modelType; - private StAXArtifactProcessor extensionProcessor; - private StAXAttributeProcessor extensionAttributeProcessor; - private Monitor monitor; - - LazyStAXArtifactProcessor(QName artifactType, - String modelTypeName, - String factoryName, - ServiceDeclaration processorDeclaration, - ExtensionPointRegistry extensionPoints, - ModelFactoryExtensionPoint modelFactories, - StAXArtifactProcessor extensionProcessor, - StAXAttributeProcessor extensionAttributeProcessor, - Monitor monitor) { - - this.extensionPoints = extensionPoints; - this.artifactType = artifactType; - this.modelTypeName = modelTypeName; - this.factoryName = factoryName; - this.processorDeclaration = processorDeclaration; - this.extensionProcessor = extensionProcessor; - this.extensionAttributeProcessor = extensionAttributeProcessor; - this.monitor = monitor; - } - - public QName getArtifactType() { - return artifactType; - } - - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - @SuppressWarnings("unchecked") - private StAXArtifactProcessor getProcessor() { - if (processor == null) { - - if (processorDeclaration.getClassName() - .equals("org.apache.tuscany.sca.assembly.xml.DefaultBeanModelProcessor")) { - - // Specific initialization for the DefaultBeanModelProcessor - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - AssemblyFactory assemblyFactory = modelFactories.getFactory(AssemblyFactory.class); - PolicyFactory policyFactory = modelFactories.getFactory(PolicyFactory.class); - try { - Class processorClass = - (Class)processorDeclaration.loadClass(); - Object modelFactory; - if (factoryName != null) { - Class factoryClass = (Class)processorDeclaration.loadClass(factoryName); - modelFactory = modelFactories.getFactory(factoryClass); - } else { - modelFactory = null; - } - Constructor constructor = - processorClass.getConstructor(AssemblyFactory.class, - PolicyFactory.class, - QName.class, - Class.class, - Object.class, - Monitor.class); - processor = - constructor.newInstance(assemblyFactory, - policyFactory, - artifactType, - getModelType(), - modelFactory, - monitor); - } catch (Exception e) { - IllegalStateException ie = new IllegalStateException(e); - error("IllegalStateException", processor, ie); - throw ie; - } - } else { - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - - // Load and instantiate the processor class - try { - Class processorClass = - (Class)processorDeclaration.loadClass(); - try { - Constructor constructor = - processorClass.getConstructor(ModelFactoryExtensionPoint.class, Monitor.class); - processor = constructor.newInstance(modelFactories, monitor); - } catch (NoSuchMethodException e) { - try { - Constructor constructor = - processorClass.getConstructor(ExtensionPointRegistry.class, Monitor.class); - processor = constructor.newInstance(extensionPoints, monitor); - } catch (NoSuchMethodException e1) { - try { - Constructor constructor = - processorClass.getConstructor(ModelFactoryExtensionPoint.class, StAXArtifactProcessor.class, Monitor.class); - processor = constructor.newInstance(modelFactories, extensionProcessor, monitor); - } catch (NoSuchMethodException e2) { - try { - Constructor constructor = - processorClass.getConstructor(ModelFactoryExtensionPoint.class, StAXArtifactProcessor.class, StAXAttributeProcessor.class, Monitor.class); - processor = constructor.newInstance(modelFactories, extensionProcessor, extensionAttributeProcessor, monitor); - } catch (NoSuchMethodException e2a) { - try { - Constructor constructor = - processorClass.getConstructor(ExtensionPointRegistry.class, StAXArtifactProcessor.class, Monitor.class); - processor = constructor.newInstance(extensionPoints, extensionProcessor, monitor); - } catch (NoSuchMethodException e3) { - try { - Constructor constructor = - processorClass.getConstructor(ExtensionPointRegistry.class, StAXArtifactProcessor.class, StAXAttributeProcessor.class, Monitor.class); - processor = constructor.newInstance(extensionPoints, extensionProcessor, extensionAttributeProcessor, monitor); - } catch (NoSuchMethodException e3a) { - - try { - Constructor constructor = - processorClass.getConstructor(ModelFactoryExtensionPoint.class); - processor = constructor.newInstance(modelFactories); - } catch (NoSuchMethodException e4) { - try { - Constructor constructor = - processorClass.getConstructor(ExtensionPointRegistry.class); - processor = constructor.newInstance(extensionPoints); - } catch (NoSuchMethodException e4a) { - try { - Constructor constructor = - processorClass.getConstructor(ModelFactoryExtensionPoint.class, StAXArtifactProcessor.class); - processor = constructor.newInstance(modelFactories, extensionProcessor); - } catch (NoSuchMethodException e5) { - Constructor constructor = - processorClass.getConstructor(ExtensionPointRegistry.class, StAXArtifactProcessor.class); - processor = constructor.newInstance(extensionPoints, extensionProcessor); - } - } - } - } - } - } - } - } - } - } catch (Exception e) { - IllegalStateException ie = new IllegalStateException(e); - error("IllegalStateException", processor, ie); - throw ie; - } - } - } - return processor; - } - - public Object read(XMLStreamReader inputSource) throws ContributionReadException, XMLStreamException { - return getProcessor().read(inputSource); - } - - @SuppressWarnings("unchecked") - public void write(Object model, XMLStreamWriter outputSource) throws ContributionWriteException, - XMLStreamException { - getProcessor().write(model, outputSource); - } - - public Class getModelType() { - if (modelTypeName != null && modelType == null) { - try { - modelType = processorDeclaration.loadClass(modelTypeName); - } catch (Exception e) { - IllegalStateException ie = new IllegalStateException(e); - error("IllegalStateException", processorDeclaration, ie); - throw ie; - } - } - return modelType; - } - - @SuppressWarnings("unchecked") - public void resolve(Object model, ModelResolver resolver) throws ContributionResolveException { - getProcessor().resolve(model, resolver); - } - - } -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultStAXAttributeProcessorExtensionPoint.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultStAXAttributeProcessorExtensionPoint.java deleted file mode 100644 index d81e236b40..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultStAXAttributeProcessorExtensionPoint.java +++ /dev/null @@ -1,327 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.processor; - -import java.io.IOException; -import java.lang.reflect.Constructor; -import java.util.Map; -import java.util.Set; - -import javax.xml.namespace.QName; -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.assembly.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -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.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.extensibility.ServiceDeclaration; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.MonitorFactory; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * The default implementation of an extension point for StAX artifact processors. - * - * @version $Rev$ $Date$ - */ -public class DefaultStAXAttributeProcessorExtensionPoint extends - DefaultArtifactProcessorExtensionPoint implements StAXAttributeProcessorExtensionPoint { - - private ExtensionPointRegistry extensionPoints; - private ModelFactoryExtensionPoint modelFactories; - private StAXAttributeProcessor extensibleStAXAttributeProcessor; - private boolean loaded; - private Monitor monitor = null; - - /** - * Constructs a new extension point. - */ - public DefaultStAXAttributeProcessorExtensionPoint(ExtensionPointRegistry extensionPoints) { - this.extensionPoints = extensionPoints; - this.modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - XMLInputFactory inputFactory = modelFactories.getFactory(XMLInputFactory.class); - XMLOutputFactory outputFactory = modelFactories.getFactory(XMLOutputFactory.class); - UtilityExtensionPoint utilities = this.extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class); - if (monitorFactory != null) { - this.monitor = monitorFactory.createMonitor(); - } - this.extensibleStAXAttributeProcessor = new ExtensibleStAXAttributeProcessor(this, inputFactory, outputFactory, this.monitor); - } - - /** - * Report a exception. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - public void addArtifactProcessor(StAXAttributeProcessor artifactProcessor) { - if (artifactProcessor.getArtifactType() != null) { - processorsByArtifactType.put((Object)artifactProcessor.getArtifactType(), artifactProcessor); - } - if (artifactProcessor.getModelType() != null) { - processorsByModelType.put(artifactProcessor.getModelType(), artifactProcessor); - } - } - - public void removeArtifactProcessor(StAXAttributeProcessor artifactProcessor) { - if (artifactProcessor.getArtifactType() != null) { - processorsByArtifactType.remove((Object)artifactProcessor.getArtifactType()); - } - if (artifactProcessor.getModelType() != null) { - processorsByModelType.remove(artifactProcessor.getModelType()); - } - } - - @Override - public StAXAttributeProcessor getProcessor(Class modelType) { - loadArtifactProcessors(); - return super.getProcessor(modelType); - } - - @Override - public StAXAttributeProcessor getProcessor(Object artifactType) { - loadArtifactProcessors(); - return super.getProcessor(artifactType); - } - - /** - * Returns a QName object from a QName expressed as {ns}name - * or ns#name. - * - * @param qname - * @return - */ - private static QName getQName(String qname) { - if (qname == null) { - return null; - } - qname = qname.trim(); - if (qname.startsWith("{")) { - int h = qname.indexOf('}'); - if (h != -1) { - return new QName(qname.substring(1, h), qname.substring(h + 1)); - } - } else { - int h = qname.indexOf('#'); - if (h != -1) { - return new QName(qname.substring(0, h), qname.substring(h + 1)); - } - } - throw new IllegalArgumentException("Invalid qname: "+qname); - } - - /** - * Lazily load artifact processors registered in the extension point. - */ - private void loadArtifactProcessors() { - if (loaded) - return; - - // Get the processor service declarations - Set processorDeclarations; - try { - processorDeclarations = ServiceDiscovery.getInstance().getServiceDeclarations(StAXAttributeProcessor.class); - } catch (IOException e) { - IllegalStateException ie = new IllegalStateException(e); - error("IllegalStateException", extensibleStAXAttributeProcessor, ie); - throw ie; - } - - for (ServiceDeclaration processorDeclaration : processorDeclarations) { - Map attributes = processorDeclaration.getAttributes(); - - // Load a StAX artifact processor - - // Get the model QName - QName artifactType = getQName(attributes.get("qname")); - - // Get the model class name - String modelTypeName = attributes.get("model"); - - // Get the model factory class name - String factoryName = attributes.get("factory"); - - // Create a processor wrapper and register it - StAXAttributeProcessor processor = - new LazyStAXAttributeProcessor(artifactType, modelTypeName, factoryName, - processorDeclaration, extensionPoints, modelFactories, - extensibleStAXAttributeProcessor, monitor); - addArtifactProcessor(processor); - } - - loaded = true; - } - - /** - * A wrapper around an Artifact processor class allowing lazy loading and - * initialization of artifact processors. - */ - private static class LazyStAXAttributeProcessor implements StAXAttributeProcessor { - - private ExtensionPointRegistry extensionPoints; - private QName artifactType; - private String modelTypeName; - private String factoryName; - private ServiceDeclaration processorDeclaration; - private StAXAttributeProcessor processor; - private Class modelType; - private StAXAttributeProcessor extensionProcessor; - private Monitor monitor; - - LazyStAXAttributeProcessor(QName artifactType, - String modelTypeName, - String factoryName, - ServiceDeclaration processorDeclaration, - ExtensionPointRegistry extensionPoints, - ModelFactoryExtensionPoint modelFactories, - StAXAttributeProcessor extensionProcessor, - Monitor monitor) { - - this.extensionPoints = extensionPoints; - this.artifactType = artifactType; - this.modelTypeName = modelTypeName; - this.factoryName = factoryName; - this.processorDeclaration = processorDeclaration; - this.extensionProcessor = extensionProcessor; - this.monitor = monitor; - } - - public QName getArtifactType() { - return artifactType; - } - - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - @SuppressWarnings("unchecked") - private StAXAttributeProcessor getProcessor() { - if (processor == null) { - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - - // Load and instantiate the processor class - try { - Class processorClass = - (Class)processorDeclaration.loadClass(); - try { - Constructor constructor = - processorClass.getConstructor(ModelFactoryExtensionPoint.class, Monitor.class); - processor = constructor.newInstance(modelFactories, monitor); - } catch (NoSuchMethodException e) { - try { - Constructor constructor = - processorClass.getConstructor(ExtensionPointRegistry.class, Monitor.class); - processor = constructor.newInstance(extensionPoints, monitor); - } catch (NoSuchMethodException e1) { - try { - Constructor constructor = - processorClass.getConstructor(ModelFactoryExtensionPoint.class, StAXArtifactProcessor.class, Monitor.class); - processor = constructor.newInstance(modelFactories, extensionProcessor, monitor); - } catch (NoSuchMethodException e2) { - try { - Constructor constructor = - processorClass.getConstructor(ExtensionPointRegistry.class, StAXArtifactProcessor.class, Monitor.class); - processor = constructor.newInstance(extensionPoints, extensionProcessor, monitor); - } catch (NoSuchMethodException e3) { - try { - Constructor constructor = - processorClass.getConstructor(ModelFactoryExtensionPoint.class); - processor = constructor.newInstance(modelFactories); - } catch (NoSuchMethodException e4) { - try { - Constructor constructor = - processorClass.getConstructor(ExtensionPointRegistry.class); - processor = constructor.newInstance(extensionPoints); - } catch (NoSuchMethodException e4a) { - try { - Constructor constructor = - processorClass.getConstructor(ModelFactoryExtensionPoint.class, StAXArtifactProcessor.class); - processor = constructor.newInstance(modelFactories, extensionProcessor); - } catch (NoSuchMethodException e5) { - Constructor constructor = - processorClass.getConstructor(ExtensionPointRegistry.class, StAXArtifactProcessor.class); - processor = constructor.newInstance(extensionPoints, extensionProcessor); - } - } - } - } - } - } - } - } catch (Exception e) { - IllegalStateException ie = new IllegalStateException(e); - error("IllegalStateException", processor, ie); - throw ie; - } - - } - return processor; - } - - public Object read(QName attributeName, XMLStreamReader inputSource) throws ContributionReadException, XMLStreamException { - return getProcessor().read(attributeName, inputSource); - } - - @SuppressWarnings("unchecked") - public void write(Object model, XMLStreamWriter outputSource) throws ContributionWriteException, XMLStreamException { - getProcessor().write(model, outputSource); - } - - public Class getModelType() { - if (modelTypeName != null && modelType == null) { - try { - modelType = processorDeclaration.loadClass(modelTypeName); - } catch (Exception e) { - IllegalStateException ie = new IllegalStateException(e); - error("IllegalStateException", processorDeclaration, ie); - throw ie; - } - } - return modelType; - } - - @SuppressWarnings("unchecked") - public void resolve(Object model, ModelResolver resolver) throws ContributionResolveException { - getProcessor().resolve(model, resolver); - } - - } -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultURLArtifactProcessorExtensionPoint.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultURLArtifactProcessorExtensionPoint.java deleted file mode 100644 index 045c201638..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultURLArtifactProcessorExtensionPoint.java +++ /dev/null @@ -1,242 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.processor; - -import java.io.IOException; -import java.lang.reflect.Constructor; -import java.net.URI; -import java.net.URL; -import java.util.Map; -import java.util.Set; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLOutputFactory; - -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -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.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.extensibility.ServiceDeclaration; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.MonitorFactory; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - - -/** - * The default implementation of a URL artifact processor extension point. - * - * @version $Rev$ $Date$ - */ -public class DefaultURLArtifactProcessorExtensionPoint - extends DefaultArtifactProcessorExtensionPoint - implements URLArtifactProcessorExtensionPoint { - - private ExtensionPointRegistry extensionPoints; - private StAXArtifactProcessor staxProcessor; - private boolean loaded; - private Monitor monitor = null; - - /** - * Constructs a new extension point. - */ - public DefaultURLArtifactProcessorExtensionPoint(ExtensionPointRegistry extensionPoints) { - this.extensionPoints = extensionPoints; - ModelFactoryExtensionPoint modelFactories = this.extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - XMLInputFactory inputFactory = modelFactories.getFactory(XMLInputFactory.class); - XMLOutputFactory outputFactory = modelFactories.getFactory(XMLOutputFactory.class); - UtilityExtensionPoint utilities = this.extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - MonitorFactory monitorFactory = utilities.getUtility(MonitorFactory.class); - if (monitorFactory != null) - this.monitor = monitorFactory.createMonitor(); - StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory, this.monitor); - } - - /** - * Report a exception. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - public void addArtifactProcessor(URLArtifactProcessor artifactProcessor) { - if (artifactProcessor.getArtifactType() != null) { - processorsByArtifactType.put((Object)artifactProcessor.getArtifactType(), artifactProcessor); - } - if (artifactProcessor.getModelType() != null) { - processorsByModelType.put(artifactProcessor.getModelType(), artifactProcessor); - } - } - - public void removeArtifactProcessor(URLArtifactProcessor artifactProcessor) { - if (artifactProcessor.getArtifactType() != null) { - processorsByArtifactType.remove((Object)artifactProcessor.getArtifactType()); - } - if (artifactProcessor.getModelType() != null) { - processorsByModelType.remove(artifactProcessor.getModelType()); - } - } - - @Override - public URLArtifactProcessor getProcessor(Class modelType) { - loadProcessors(); - return super.getProcessor(modelType); - } - - @Override - public URLArtifactProcessor getProcessor(Object artifactType) { - loadProcessors(); - return super.getProcessor(artifactType); - } - - /** - * Lazily load artifact processors registered in the extension point. - */ - private void loadProcessors() { - if (loaded) - return; - - // Get the processor service declarations - Set processorDeclarations; - try { - processorDeclarations = ServiceDiscovery.getInstance().getServiceDeclarations(URLArtifactProcessor.class); - } catch (IOException e) { - IllegalStateException ie = new IllegalStateException(e); - error("IllegalStateException", staxProcessor, ie); - throw ie; - } - - for (ServiceDeclaration processorDeclaration: processorDeclarations) { - Map attributes = processorDeclaration.getAttributes(); - // Load a URL artifact processor - String artifactType = attributes.get("type"); - String modelTypeName = attributes.get("model"); - - // Create a processor wrapper and register it - URLArtifactProcessor processor = new LazyURLArtifactProcessor(artifactType, modelTypeName, - processorDeclaration, extensionPoints, staxProcessor, monitor); - addArtifactProcessor(processor); - } - - loaded = true; - } - - /** - * A wrapper around an Artifact processor class allowing lazy loading and - * initialization of artifact processors. - */ - private static class LazyURLArtifactProcessor implements URLArtifactProcessor { - - private ExtensionPointRegistry extensionPoints; - private String artifactType; - private String modelTypeName; - private ServiceDeclaration processorDeclaration; - private URLArtifactProcessor processor; - private Class modelType; - private StAXArtifactProcessor staxProcessor; - private Monitor monitor; - - LazyURLArtifactProcessor(String artifactType, - String modelTypeName, - ServiceDeclaration processorDeclaration, - ExtensionPointRegistry extensionPoints, - StAXArtifactProcessor staxProcessor, - Monitor monitor) { - this.artifactType = artifactType; - this.modelTypeName = modelTypeName; - this.processorDeclaration = processorDeclaration; - this.extensionPoints = extensionPoints; - this.staxProcessor = staxProcessor; - this.monitor = monitor; - } - - public String getArtifactType() { - return artifactType; - } - - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - @SuppressWarnings("unchecked") - private URLArtifactProcessor getProcessor() { - if (processor == null) { - try { - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - Class processorClass = (Class)processorDeclaration.loadClass(); - try { - Constructor constructor = processorClass.getConstructor(ModelFactoryExtensionPoint.class, Monitor.class); - processor = constructor.newInstance(modelFactories, monitor); - } catch (NoSuchMethodException e) { - try { - Constructor constructor = processorClass.getConstructor(ModelFactoryExtensionPoint.class, StAXArtifactProcessor.class, Monitor.class); - processor = constructor.newInstance(modelFactories, staxProcessor, monitor); - } catch (NoSuchMethodException e2) { - Constructor constructor = processorClass.getConstructor(ExtensionPointRegistry.class, StAXArtifactProcessor.class, Monitor.class); - processor = constructor.newInstance(extensionPoints, staxProcessor, monitor); - } - } - } catch (Exception e) { - IllegalStateException ie = new IllegalStateException(e); - error("IllegalStateException", processor, ie); - throw ie; - } - } - return processor; - } - - public Object read(URL contributionURL, URI artifactURI, URL artifactURL) throws ContributionReadException { - return getProcessor().read(contributionURL, artifactURI, artifactURL); - } - - public Class getModelType() { - if (modelTypeName != null && modelType == null) { - try { - modelType = processorDeclaration.loadClass(modelTypeName); - } catch (ClassNotFoundException e) { - IllegalStateException ie = new IllegalStateException(e); - error("IllegalStateException", processorDeclaration, ie); - throw ie; - } - } - return modelType; - } - - @SuppressWarnings("unchecked") - public void resolve(Object model, ModelResolver resolver) throws ContributionResolveException { - getProcessor().resolve(model, resolver); - } - - } -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultValidatingXMLInputFactory.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultValidatingXMLInputFactory.java deleted file mode 100644 index 7be5566113..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultValidatingXMLInputFactory.java +++ /dev/null @@ -1,313 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.processor; - -import java.io.IOException; -import java.io.InputStream; -import java.io.Reader; -import java.net.URL; -import java.net.URLConnection; -import java.security.AccessController; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; -import java.util.List; - -import javax.xml.XMLConstants; -import javax.xml.stream.EventFilter; -import javax.xml.stream.StreamFilter; -import javax.xml.stream.XMLEventReader; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLReporter; -import javax.xml.stream.XMLResolver; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.util.XMLEventAllocator; -import javax.xml.transform.Source; -import javax.xml.transform.stream.StreamSource; -import javax.xml.validation.Schema; -import javax.xml.validation.SchemaFactory; - -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; -import org.xml.sax.SAXException; -import org.xml.sax.SAXParseException; - -/** - * Default implementation of an XMLInputFactory that creates validating - * XMLStreamReaders. - * - * @version $Rev$ $Date$ - */ -public class DefaultValidatingXMLInputFactory extends ValidatingXMLInputFactory { - - private XMLInputFactory inputFactory; - private ValidationSchemaExtensionPoint schemas; - private Monitor monitor; - private boolean initialized; - private boolean hasSchemas; - private Schema aggregatedSchema; - - /** - * Constructs a new XMLInputFactory. - * - * @param inputFactory - * @param schemas - */ - public DefaultValidatingXMLInputFactory(XMLInputFactory inputFactory, ValidationSchemaExtensionPoint schemas, Monitor monitor) { - this.inputFactory = inputFactory; - this.schemas = schemas; - this.monitor = monitor; - } - - /** - * Report a exception. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - /** - * Initialize the registered schemas and create an aggregated schema for - * validation. - */ - private void initializeSchemas() { - if (initialized) { - return; - } - initialized = true; - - // Load the XSDs registered in the validation schema extension point - try { - List uris = schemas.getSchemas(); - int n = uris.size(); - if (n ==0) { - return; - } else { - hasSchemas = true; - } - final Source[] sources = new Source[n]; - for (int i =0; i < n; i++) { - final String uri = uris.get(i); - // Allow privileged access to open URL stream. Requires FilePermission in security policy. - final URL url = new URL( uri ); - InputStream urlStream; - try { - urlStream = AccessController.doPrivileged(new PrivilegedExceptionAction() { - public InputStream run() throws IOException { - URLConnection connection = url.openConnection(); - connection.setUseCaches(false); - return connection.getInputStream(); - } - }); - } catch (PrivilegedActionException e) { - error("PrivilegedActionException", url, (IOException)e.getException()); - throw (IOException)e.getException(); - } - sources[i] = new StreamSource(urlStream, uri); - } - - // Create an aggregated validation schemas from all the XSDs - final SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); - // Allow privileged access to check files. Requires FilePermission - // in security policy. - try { - aggregatedSchema = AccessController.doPrivileged(new PrivilegedExceptionAction() { - public Schema run() throws SAXException { - return schemaFactory.newSchema(sources); - } - }); - } catch (PrivilegedActionException e) { - error("PrivilegedActionException", schemaFactory, (SAXException)e.getException()); - throw (SAXException)e.getException(); - } - - } catch (Error e) { - // FIXME Log this, some old JDKs don't support XMLSchema validation - //e.printStackTrace(); - } catch (SAXParseException e) { - IllegalStateException ie = new IllegalStateException(e); - error("IllegalStateException", schemas, ie); - throw ie; - } catch (Exception e) { - //FIXME Log this, some old JDKs don't support XMLSchema validation - e.printStackTrace(); - } - } - - @Override - public XMLEventReader createFilteredReader(XMLEventReader arg0, EventFilter arg1) throws XMLStreamException { - return inputFactory.createFilteredReader(arg0, arg1); - } - - @Override - public XMLStreamReader createFilteredReader(XMLStreamReader arg0, StreamFilter arg1) throws XMLStreamException { - return inputFactory.createFilteredReader(arg0, arg1); - } - - @Override - public XMLEventReader createXMLEventReader(InputStream arg0, String arg1) throws XMLStreamException { - return inputFactory.createXMLEventReader(arg0, arg1); - } - - @Override - public XMLEventReader createXMLEventReader(InputStream arg0) throws XMLStreamException { - return inputFactory.createXMLEventReader(arg0); - } - - @Override - public XMLEventReader createXMLEventReader(Reader arg0) throws XMLStreamException { - return inputFactory.createXMLEventReader(arg0); - } - - @Override - public XMLEventReader createXMLEventReader(Source arg0) throws XMLStreamException { - return inputFactory.createXMLEventReader(arg0); - } - - @Override - public XMLEventReader createXMLEventReader(String arg0, InputStream arg1) throws XMLStreamException { - return inputFactory.createXMLEventReader(arg0, arg1); - } - - @Override - public XMLEventReader createXMLEventReader(String arg0, Reader arg1) throws XMLStreamException { - return inputFactory.createXMLEventReader(arg0, arg1); - } - - @Override - public XMLEventReader createXMLEventReader(XMLStreamReader arg0) throws XMLStreamException { - return inputFactory.createXMLEventReader(arg0); - } - - @Override - public XMLStreamReader createXMLStreamReader(InputStream arg0, String arg1) throws XMLStreamException { - initializeSchemas(); - if (hasSchemas) { - return new ValidatingXMLStreamReader(inputFactory.createXMLStreamReader(arg0, arg1), aggregatedSchema, monitor); - }else { - return inputFactory.createXMLStreamReader(arg0, arg1); - } - } - - @Override - public XMLStreamReader createXMLStreamReader(InputStream arg0) throws XMLStreamException { - initializeSchemas(); - if (hasSchemas) { - return new ValidatingXMLStreamReader(inputFactory.createXMLStreamReader(arg0), aggregatedSchema, monitor); - } else { - return inputFactory.createXMLStreamReader(arg0); - } - } - - @Override - public XMLStreamReader createXMLStreamReader(Reader arg0) throws XMLStreamException { - initializeSchemas(); - if (hasSchemas) { - return new ValidatingXMLStreamReader(inputFactory.createXMLStreamReader(arg0), aggregatedSchema, monitor); - } else { - return inputFactory.createXMLStreamReader(arg0); - } - } - - @Override - public XMLStreamReader createXMLStreamReader(Source arg0) throws XMLStreamException { - initializeSchemas(); - if (hasSchemas) { - return new ValidatingXMLStreamReader(inputFactory.createXMLStreamReader(arg0), aggregatedSchema, monitor); - } else { - return inputFactory.createXMLStreamReader(arg0); - } - } - - @Override - public XMLStreamReader createXMLStreamReader(String arg0, InputStream arg1) throws XMLStreamException { - initializeSchemas(); - if (hasSchemas) { - return new ValidatingXMLStreamReader(inputFactory.createXMLStreamReader(arg0, arg1), aggregatedSchema, monitor); - } else { - return inputFactory.createXMLStreamReader(arg0, arg1); - } - } - - @Override - public XMLStreamReader createXMLStreamReader(String arg0, Reader arg1) throws XMLStreamException { - initializeSchemas(); - if (hasSchemas) { - return new ValidatingXMLStreamReader(inputFactory.createXMLStreamReader(arg0, arg1), aggregatedSchema, monitor); - } else { - return inputFactory.createXMLStreamReader(arg0, arg1); - } - } - - @Override - public XMLEventAllocator getEventAllocator() { - return inputFactory.getEventAllocator(); - } - - @Override - public Object getProperty(String arg0) throws IllegalArgumentException { - return inputFactory.getProperty(arg0); - } - - @Override - public XMLReporter getXMLReporter() { - return inputFactory.getXMLReporter(); - } - - @Override - public XMLResolver getXMLResolver() { - return inputFactory.getXMLResolver(); - } - - @Override - public boolean isPropertySupported(String arg0) { - return inputFactory.isPropertySupported(arg0); - } - - @Override - public void setEventAllocator(XMLEventAllocator arg0) { - inputFactory.setEventAllocator(arg0); - } - - @Override - public void setProperty(String arg0, Object arg1) throws IllegalArgumentException { - inputFactory.setProperty(arg0, arg1); - } - - @Override - public void setXMLReporter(XMLReporter arg0) { - inputFactory.setXMLReporter(arg0); - } - - @Override - public void setXMLResolver(XMLResolver arg0) { - inputFactory.setXMLResolver(arg0); - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultValidationSchemaExtensionPoint.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultValidationSchemaExtensionPoint.java deleted file mode 100644 index a6631f498e..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultValidationSchemaExtensionPoint.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.contribution.processor; - -import java.io.FileNotFoundException; -import java.io.IOException; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; -import java.util.Set; - -import org.apache.tuscany.sca.extensibility.ServiceDeclaration; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; - -/** - * Default implementation of an extension point for XML schemas. - * - * @version $Rev$ $Date$ - */ -public class DefaultValidationSchemaExtensionPoint implements ValidationSchemaExtensionPoint { - - private List schemas = new ArrayList(); - private boolean loaded; - - public void addSchema(String uri) { - schemas.add(uri); - } - - public void removeSchema(String uri) { - schemas.remove(uri); - } - - /** - * Load schema declarations from META-INF/services/ - * org.apache.tuscany.sca.contribution.processor.ValidationSchema files - */ - private void loadSchemas() { - if (loaded) - return; - - // Get the schema declarations - Set schemaDeclarations; - try { - schemaDeclarations = ServiceDiscovery.getInstance().getServiceDeclarations("org.apache.tuscany.sca.contribution.processor.ValidationSchema"); - } catch (IOException e) { - throw new IllegalStateException(e); - } - - // TODO - temp fix to ensure that the schema tuscany-sca.xsd always comes first - String tuscanyScaXsd = null; - - // Find each schema - for (ServiceDeclaration schemaDeclaration: schemaDeclarations) { - URL url = schemaDeclaration.getResource(schemaDeclaration.getClassName()); - if (url == null) { - throw new IllegalArgumentException(new FileNotFoundException(schemaDeclaration.getClassName())); - } - - if (url.toString().contains("tuscany-sca.xsd")){ - tuscanyScaXsd = url.toString(); - } else { - schemas.add(url.toString()); - } - } - - if (tuscanyScaXsd != null){ - schemas.add(0, tuscanyScaXsd); - } - - loaded = true; - } - - public List getSchemas() { - loadSchemas(); - return schemas; - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensiblePackageProcessor.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensiblePackageProcessor.java deleted file mode 100644 index 7ed2d45c2f..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensiblePackageProcessor.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.contribution.processor; - -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URL; -import java.util.List; - -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.contribution.service.ContributionException; -import org.apache.tuscany.sca.contribution.service.TypeDescriber; -import org.apache.tuscany.sca.contribution.service.UnsupportedPackageTypeException; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * Implementation of an extensible package processor. - * - * Takes a package processor extension point and delegates to the proper package - * processor from the extension point based on the package's content type. - * - * @version $Rev$ $Date$ - */ -public class ExtensiblePackageProcessor implements PackageProcessor { - - private PackageProcessorExtensionPoint processors; - private TypeDescriber packageTypeDescriber; - private Monitor monitor; - - public ExtensiblePackageProcessor(PackageProcessorExtensionPoint processors, - TypeDescriber packageTypeDescriber, - Monitor monitor) { - this.processors = processors; - this.packageTypeDescriber = packageTypeDescriber; - this.monitor = monitor; - } - - /** - * Marshals errors into the monitor - * - * @param problems - * @param message - * @param model - */ - protected void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - public List getArtifacts(URL packageSourceURL, InputStream inputStream) - throws ContributionException, IOException { - String packageType = this.packageTypeDescriber.getType(packageSourceURL, null); - if (packageType == null) { - error("UnsupportedPackageTypeException", packageTypeDescriber, packageSourceURL.toString()); - throw new UnsupportedPackageTypeException("Unsupported contribution package type: " + packageSourceURL.toString()); - } - - PackageProcessor packageProcessor = this.processors.getPackageProcessor(packageType); - if (packageProcessor == null) { - error("UnsupportedPackageTypeException", packageTypeDescriber, packageType); - throw new UnsupportedPackageTypeException("Unsupported contribution package type: " + packageType); - } - - return packageProcessor.getArtifacts(packageSourceURL, inputStream); - } - - public URL getArtifactURL(URL packageSourceURL, URI artifact) throws MalformedURLException { - String contentType = this.packageTypeDescriber.getType(packageSourceURL, null); - PackageProcessor packageProcessor = this.processors.getPackageProcessor(contentType); - return packageProcessor.getArtifactURL(packageSourceURL, artifact); - } - - public String getPackageType() { - return null; - } -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleStAXArtifactProcessor.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleStAXArtifactProcessor.java deleted file mode 100644 index 24d2a16bc8..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleStAXArtifactProcessor.java +++ /dev/null @@ -1,264 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.processor; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.xml.namespace.QName; -import javax.xml.stream.Location; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLOutputFactory; -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.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.contribution.Constants; -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.contribution.service.UnrecognizedElementException; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * Implementation of an extensible StAX artifact processor. - * - * Takes a StAXArtifactProcessorExtensionPoint and delegates to the proper - * StAXArtifactProcessor by element QName - * - * @version $Rev$ $Date$ - */ -public class ExtensibleStAXArtifactProcessor implements StAXArtifactProcessor { - - private static final QName ANY_ELEMENT = new QName(Constants.XMLSCHEMA_NS, "anyElement"); - - private static final Logger logger = Logger.getLogger(ExtensibleStAXArtifactProcessor.class.getName()); - private XMLInputFactory inputFactory; - private XMLOutputFactory outputFactory; - private StAXArtifactProcessorExtensionPoint processors; - private Monitor monitor; - - /** - * Constructs a new ExtensibleStAXArtifactProcessor. - * @param processors - * @param inputFactory - * @param outputFactory - */ - public ExtensibleStAXArtifactProcessor(StAXArtifactProcessorExtensionPoint processors, - XMLInputFactory inputFactory, - XMLOutputFactory outputFactory, - Monitor monitor) { - super(); - this.processors = processors; - this.inputFactory = inputFactory; - this.outputFactory = outputFactory; - if (this.outputFactory != null) { - this.outputFactory.setProperty("javax.xml.stream.isRepairingNamespaces", Boolean.TRUE); - } - this.monitor = monitor; - } - - /** - * Report a warning. - * - * @param problems - * @param message - * @param model - */ - private void warning(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-validation-messages", Severity.WARNING, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Report a exception. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - - public Object read(XMLStreamReader source) throws ContributionReadException, XMLStreamException { - - // Delegate to the processor associated with the element QName - int event = source.getEventType(); - if (event == XMLStreamConstants.START_DOCUMENT) { - source.nextTag(); - } - QName name = source.getName(); - StAXArtifactProcessor processor = (StAXArtifactProcessor)processors.getProcessor(name); - if (processor == null) { - Location location = source.getLocation(); - if (logger.isLoggable(Level.WARNING)) { - logger.warning("Element " + name + " cannot be processed. (" + location + ")"); - } - warning("ElementCannotBeProcessed", processors, name, location); - - StAXArtifactProcessor anyElementProcessor = processors.getProcessor(ANY_ELEMENT); - if(anyElementProcessor != null) { - return anyElementProcessor.read(source); - } else { - return null; - } - - } - return processor.read(source); - } - - @SuppressWarnings("unchecked") - public void write(Object model, XMLStreamWriter outputSource) throws ContributionWriteException, XMLStreamException { - - // Delegate to the processor associated with the model type - if (model != null) { - StAXArtifactProcessor processor = processors.getProcessor(model.getClass()); - if (processor != null) { - processor.write(model, outputSource); - } else { - if (logger.isLoggable(Level.WARNING)) { - logger.warning("No StAX processor is configured to handle " + model.getClass()); - } - warning("NoStaxProcessor", processors, model.getClass()); - StAXArtifactProcessor anyElementProcessor = processors.getProcessor(ANY_ELEMENT); - if(anyElementProcessor != null) { - anyElementProcessor.write(model, outputSource); - } - } - } - } - - @SuppressWarnings("unchecked") - public void resolve(Object model, ModelResolver resolver) throws ContributionResolveException { - - // Delegate to the processor associated with the model type - if (model != null) { - StAXArtifactProcessor processor = processors.getProcessor(model.getClass()); - if (processor != null) { - processor.resolve(model, resolver); - } - } - } - - /** - * Read a model from an InputStream. - * @param is The artifact InputStream - * @param type Model type - * @return The model - * @throws ContributionReadException - */ - public M read(InputStream is, Class type) throws ContributionReadException { - try { - XMLStreamReader reader; - try { - reader = inputFactory.createXMLStreamReader(is); - try { - reader.nextTag(); - QName name = reader.getName(); - Object mo = read(reader); - if (type.isInstance(mo)) { - return type.cast(mo); - } else { - error("UnrecognizedElementException", reader, name); - UnrecognizedElementException e = new UnrecognizedElementException(name); - throw e; - } - } catch (ContributionReadException e) { - Location location = reader.getLocation(); - e.setLine(location.getLineNumber()); - e.setColumn(location.getColumnNumber()); - error("ContributionReadException", reader, e); - throw e; - } finally { - try { - reader.close(); - } catch (XMLStreamException e) { - // ignore - } - } - } finally { - try { - is.close(); - } catch (IOException e) { - // ignore - } - } - } catch (XMLStreamException e) { - ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", inputFactory, ce); - throw ce; - } - } - - /** - * Write a model to an OutputStream. - * @param model - * @param os - * @throws ContributionWriteException - */ - public void write(Object model, OutputStream os) throws ContributionWriteException { - try { - XMLStreamWriter writer = outputFactory.createXMLStreamWriter(os); - write(model, writer); - writer.flush(); - writer.close(); - } catch (XMLStreamException e) { - ContributionWriteException cw = new ContributionWriteException(e); - error("ContributionWriteException", outputFactory, cw); - throw cw; - } - } - - public QName getArtifactType() { - return null; - } - - public Class getModelType() { - return null; - } -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleStAXAttributeProcessor.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleStAXAttributeProcessor.java deleted file mode 100644 index 29c2af7513..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleStAXAttributeProcessor.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.contribution.processor; - -import java.io.InputStream; -import java.io.OutputStream; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.xml.namespace.QName; -import javax.xml.stream.Location; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLOutputFactory; -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.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.contribution.Constants; -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.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * Implementation of an extensible StAX attribute processor. - * - * Takes a StAXAttributeProcessorExtensionPoint and delegates to the proper - * StAXAttributeProcessor by attribute QName - * - * @version $Rev$ $Date$ - */ -public class ExtensibleStAXAttributeProcessor - implements StAXAttributeProcessor { - - private static final Logger logger = Logger.getLogger(ExtensibleStAXAttributeProcessor.class.getName()); - - private static final QName UNKNOWN_ATTRIBUTE = new QName(Constants.SCA10_TUSCANY_NS, "unknown"); - - private XMLInputFactory inputFactory; - private XMLOutputFactory outputFactory; - private StAXAttributeProcessorExtensionPoint processors; - private Monitor monitor; - - /** - * Constructs a new ExtensibleStAXArtifactProcessor. - * @param processors - * @param inputFactory - * @param outputFactory - */ - public ExtensibleStAXAttributeProcessor(StAXAttributeProcessorExtensionPoint processors, - XMLInputFactory inputFactory, - XMLOutputFactory outputFactory, - Monitor monitor) { - super(); - this.processors = processors; - this.inputFactory = inputFactory; - this.outputFactory = outputFactory; - if (this.outputFactory != null) { - this.outputFactory.setProperty("javax.xml.stream.isRepairingNamespaces", Boolean.TRUE); - } - this.monitor = monitor; - } - - /** - * Report a warning. - * - * @param problems - * @param message - * @param model - */ - private void warning(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-validation-messages", Severity.WARNING, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Report a exception. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - - public Object read(QName attributeName, XMLStreamReader source) throws ContributionReadException, XMLStreamException { - - // Delegate to the processor associated with the attribute QName - int event = source.getEventType(); - if (event == XMLStreamConstants.START_DOCUMENT) { - source.nextTag(); - } - - StAXAttributeProcessor processor = null; - - //lookup for registered attribute processors - processor = (StAXAttributeProcessor)processors.getProcessor(attributeName); - if (processor == null) { - Location location = source.getLocation(); - if (logger.isLoggable(Level.WARNING)) { - logger.warning("Attribute " + attributeName + " cannot be processed. (" + location + ")"); - } - warning("AttributeCannotBeProcessed", processors, attributeName, location); - } else { - return processor.read(attributeName, source); - } - - - //handle extension attributes without processors - processor = (StAXAttributeProcessor)processors.getProcessor(UNKNOWN_ATTRIBUTE); - if (processor == null) { - Location location = source.getLocation(); - if (logger.isLoggable(Level.WARNING)) { - logger.warning("Could not find Default Attribute processor !"); - } - warning("DefaultAttributeProcessorNotAvailable", processors, UNKNOWN_ATTRIBUTE, location); - } - - return processor == null ? null : processor.read(attributeName, source); - } - - @SuppressWarnings("unchecked") - public void write(Object model, XMLStreamWriter outputSource) throws ContributionWriteException, XMLStreamException { - - if(model == null) { - return; - } - - // Delegate to the processor associated with the model type - StAXAttributeProcessor processor = processors.getProcessor(model.getClass()); - if(processor == null) { - if (logger.isLoggable(Level.WARNING)) { - logger.warning("No StAX processor is configured to handle " + model.getClass()); - } - warning("NoStaxProcessor", processors, model.getClass()); - } else { - processor.write(model, outputSource); - return; - } - - //handle extension attributes without processors - processor = (StAXAttributeProcessor)processors.getProcessor(UNKNOWN_ATTRIBUTE); - if(processor == null) { - if (logger.isLoggable(Level.WARNING)) { - logger.warning("No Default StAX processor is configured to handle " + model.getClass()); - } - warning("NoDefaultStaxProcessor", processors, model.getClass()); - } else { - processor.write(model, outputSource); - return; - } - } - - - - @SuppressWarnings("unchecked") - public void resolve(Object model, ModelResolver resolver) throws ContributionResolveException { - - // Delegate to the processor associated with the model type - if (model != null) { - StAXAttributeProcessor processor = processors.getProcessor(model.getClass()); - if (processor != null) { - processor.resolve(model, resolver); - } - } - } - - /** - * Read a model from an InputStream. - * @param is The artifact InputStream - * @param type Model type - * @return The model - * @throws ContributionReadException - */ - public M read(InputStream is, Class type) throws ContributionReadException { - return null; - } - - /** - * Write a model to an OutputStream. - * @param model - * @param os - * @throws ContributionWriteException - */ - public void write(Object model, OutputStream os) throws ContributionWriteException { - try { - XMLStreamWriter writer = outputFactory.createXMLStreamWriter(os); - write(model, writer); - writer.flush(); - writer.close(); - } catch (XMLStreamException e) { - ContributionWriteException cw = new ContributionWriteException(e); - error("ContributionWriteException", outputFactory, cw); - throw cw; - } - } - - public QName getArtifactType() { - return null; - } - - public Class getModelType() { - return null; - } -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleURLArtifactProcessor.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleURLArtifactProcessor.java deleted file mode 100644 index 2fa9469b93..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleURLArtifactProcessor.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.processor; - -import java.net.URI; -import java.net.URL; - -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -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.UnrecognizedElementException; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * Implementation of an extensible URL artifact processor. - * - * Takes a URLArtifactProcessorExtensionPoint and delegates to the proper URLArtifactProcessor - * by either fileName or fileExtention - * - * @version $Rev$ $Date$ - */ -public class ExtensibleURLArtifactProcessor - implements URLArtifactProcessor { - - private URLArtifactProcessorExtensionPoint processors; - private Monitor monitor; - - /** - * Constructs a new ExtensibleURLArtifactProcessor. - * - * @param processors - */ - public ExtensibleURLArtifactProcessor(URLArtifactProcessorExtensionPoint processors, Monitor monitor) { - this.processors = processors; - this.monitor = monitor; - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - @SuppressWarnings("unchecked") - public Object read(URL contributionURL, URI sourceURI, URL sourceURL) throws ContributionReadException { - URLArtifactProcessor processor = null; - - // Delegate to the processor associated with file extension - String fileName = getFileName(sourceURL); - - //try to retrieve a processor for the specific filename - processor = (URLArtifactProcessor)processors.getProcessor(fileName); - - if (processor == null) { - //try to find my file type (extension) - String extension = sourceURL.getPath(); - - int extensionStart = extension.lastIndexOf('.'); - //handle files without extension (e.g NOTICE) - if (extensionStart > 0) { - extension = extension.substring(extensionStart); - processor = (URLArtifactProcessor)processors.getProcessor(extension); - } - } - - if (processor == null) { - return null; - } - return processor.read(contributionURL, sourceURI, sourceURL); - } - - @SuppressWarnings("unchecked") - public void resolve(Object model, ModelResolver resolver) throws ContributionResolveException { - - // Delegate to the processor associated with the model type - if (model != null) { - URLArtifactProcessor processor = processors.getProcessor(model.getClass()); - if (processor != null) { - processor.resolve(model, resolver); - } - } - } - - public M read(URL contributionURL, URI artifactURI, URL artifactUrl, Class type) - throws ContributionReadException { - Object mo = read(contributionURL, artifactURI, artifactUrl); - if (type.isInstance(mo)) { - return type.cast(mo); - } else { - UnrecognizedElementException e = new UnrecognizedElementException(null); - e.setResourceURI(artifactURI.toString()); - error("UnrecognizedElementException", processors, artifactURI.toString()); - throw e; - } - } - - public String getArtifactType() { - return null; - } - - public Class getModelType() { - return null; - } - - /** - * Returns the file name from a URL. - * @param url - * @return - */ - private static String getFileName(URL url){ - String fileName = url.getPath(); - int pos = fileName.lastIndexOf("/"); - - return fileName.substring(pos +1); - } -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/PackageProcessor.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/PackageProcessor.java deleted file mode 100644 index f17f31edb1..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/PackageProcessor.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.contribution.processor; - -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URL; -import java.util.List; - -import org.apache.tuscany.sca.contribution.service.ContributionException; - -/** - * Interface for contribution package processors - * - * Package processors understand the format of the contribution and how to get the - * artifacts in the contribution. - * - * @version $Rev$ $Date$ - */ -public interface PackageProcessor { - - /** - * Returns the type of package supported by this package processor. - * - * @return the package type - */ - String getPackageType(); - - /** - * Returns a list of artifacts in the contribution. - * - * @param packageSourceURL Contribution package location URL - * @param inputStream Optional content of the package - * @return List of artifact URIs - * @throws ContributionException - * @throws IOException - */ - List getArtifacts(URL packageSourceURL, InputStream inputStream) throws ContributionException, IOException; - - /** - * Return the URL for an artifact in the package. - * - * This is needed for archives such as jar files that have specific URL schemes - * for the artifacts they contain. - * - * @param packageSourceURL Contribution package location URL - * @param artifact The relative URI for the artifact - * @return The artifact URL - */ - URL getArtifactURL(URL packageSourceURL, URI artifact) throws MalformedURLException; - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/PackageProcessorExtensionPoint.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/PackageProcessorExtensionPoint.java deleted file mode 100644 index ed99239b19..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/PackageProcessorExtensionPoint.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.contribution.processor; - -/** - * An extension point for package processors - * - * @version $Rev$ $Date$ - */ -public interface PackageProcessorExtensionPoint { - - /** - * Register a PackageProcessor using the package type as the key. - * - * @param processor The package processor - */ - void addPackageProcessor(PackageProcessor processor); - - /** - * Unregister a PackageProcessor. - * - * @param processor The package processor - */ - void removePackageProcessor(PackageProcessor processor); - - /** - * Returns the PackageProcessor for the given package type. - * - * @param packageType The package type - * @return The package processor - */ - PackageProcessor getPackageProcessor(String packageType); - -} \ No newline at end of file diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/StAXArtifactProcessor.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/StAXArtifactProcessor.java deleted file mode 100644 index fcf9347564..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/StAXArtifactProcessor.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.processor; - -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.contribution.service.ContributionReadException; -import org.apache.tuscany.sca.contribution.service.ContributionWriteException; - -/** - * An artifact processor that can read models from a StAX XMLStreamReader. - * - * @version $Rev$ $Date$ - */ -public interface StAXArtifactProcessor extends ArtifactProcessor { - - /** - * Reads a model from an XMLStreamReader. - * - * @param reader The XMLStreamReader - * @return A model representation of the input. - */ - M read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException; - - /** - * Writes a model to an XMLStreamWriter. - * - * @param model A model representing the source - * @param writer The XML stream writer - * @throws ContributionWriteException - * @throws XMLStreamException - */ - void write(M model, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException; - - /** - * Returns the type of artifact handled by this artifact processor. - * - * @return The type of artifact handled by this artifact processor - */ - QName getArtifactType(); -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/StAXArtifactProcessorExtensionPoint.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/StAXArtifactProcessorExtensionPoint.java deleted file mode 100644 index 9700e2bc60..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/StAXArtifactProcessorExtensionPoint.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.processor; - -/** - * An extension point for StAX artifact processors. - * - * @version $Rev$ $Date$ - */ -public interface StAXArtifactProcessorExtensionPoint extends - ArtifactProcessorExtensionPoint { - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/StAXAttributeProcessor.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/StAXAttributeProcessor.java deleted file mode 100644 index e8edb743a4..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/StAXAttributeProcessor.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.processor; - -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.contribution.service.ContributionReadException; -import org.apache.tuscany.sca.contribution.service.ContributionWriteException; - - -/** - * An artifact processor that can read attributes from a StAX XMLStreamReader. - * - * @version $Rev$ $Date$ - */ -public interface StAXAttributeProcessor extends ArtifactProcessor{ - - /** - * Reads a model from an XMLStreamReader. - * - * @param reader The XMLStreamReader - * @return A model representation of the input. - */ - M read(QName attributeName, XMLStreamReader reader) throws ContributionReadException, XMLStreamException; - - /** - * Writes a model to an XMLStreamWriter. - * - * @param model A model representing the source - * @param writer The XML stream writer - * @throws ContributionWriteException - * @throws XMLStreamException - */ - void write(M model, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException; - - /** - * Returns the type of artifact handled by this artifact processor. - * - * @return The type of artifact handled by this artifact processor - */ - QName getArtifactType(); - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/StAXAttributeProcessorExtensionPoint.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/StAXAttributeProcessorExtensionPoint.java deleted file mode 100644 index ebad243c1c..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/StAXAttributeProcessorExtensionPoint.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.processor; - -/** - * An extension point for StAX artifact processors. - * - * @version $Rev$ $Date$ - */ -public interface StAXAttributeProcessorExtensionPoint extends - ArtifactProcessorExtensionPoint { - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/TuscanyNamespaceContext.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/TuscanyNamespaceContext.java deleted file mode 100644 index 8b1e40cee9..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/TuscanyNamespaceContext.java +++ /dev/null @@ -1,124 +0,0 @@ -package org.apache.tuscany.sca.contribution.processor; - -import java.util.List; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.Stack; - -import javax.xml.XMLConstants; -import javax.xml.namespace.NamespaceContext; - -@SuppressWarnings("unused") -public class TuscanyNamespaceContext implements NamespaceContext { - - private Stack>> context = null; - - public TuscanyNamespaceContext(Stack>> context){ - this.context = context; - } - - public String getNamespaceURI(String prefix) { - if (prefix == null) { - throw new IllegalArgumentException(); - } - return (String) getResult("getNSUri",prefix); - } - - public String getPrefix(String namespaceURI) { - if (namespaceURI == null) { - throw new IllegalArgumentException(); - } - return (String) getResult("getPrefix",namespaceURI); - } - - @SuppressWarnings("unchecked") - public Iterator getPrefixes(String namespaceURI) { - if (namespaceURI == null) { - throw new IllegalArgumentException(); - } - - Iterator iterator = new Itr((Iterator) getResult("getPrefixes",namespaceURI)); - return iterator; - } - - /* - * Generic method to Iterate through the Stack and return required result(s) - */ - private Object getResult(String operation,String arg){ - - ArrayList> contextList = null; - Iterator prefItr = null; - Iterator uriItr = null; - - List list = new ArrayList();; - - String toCompare = null; - - String tempPrefix = null; - String tempUri = null ; - - for(int i = context.size()-1; i>=0;i--){ - contextList = context.get(i); - prefItr = ((ArrayList)contextList.get(0)).iterator(); - uriItr = ((ArrayList)contextList.get(1)).iterator(); - for(int j = 0;uriItr.hasNext();j++){ - tempPrefix = (String) prefItr.next(); - tempUri = (String) uriItr.next(); - if(operation.equalsIgnoreCase("getNSUri")){ - toCompare = tempPrefix; - } - else if(operation.equalsIgnoreCase("getPrefix")){ - toCompare = tempUri; - } - else if(operation.equalsIgnoreCase("getPrefixes")){ - toCompare = tempUri; - } - if(toCompare != null && arg.equalsIgnoreCase(toCompare)){ - if(operation.equalsIgnoreCase("getNSUri")){ - return tempUri; - } - else if(operation.equalsIgnoreCase("getPrefix")){ - return tempPrefix; - } - else if(operation.equalsIgnoreCase("getPrefixes")){ - list.add(tempPrefix); - - } - - } - } - } - - if(operation.equalsIgnoreCase("getPrefixes")){ - return list.iterator(); - } - - return null; - } - - /* - * Custom implementation of the Iterator interface to override the behavior of the remove() method. - * The iterator should not be modifiable and invocation of the remove() method should throw UnsupportedOperationException. - */ - private class Itr implements Iterator{ - Iterator iterator = null; - - Itr(Iterator inputItr){ - this.iterator = inputItr; - } - - public boolean hasNext() { - return this.iterator.hasNext(); - } - - public E next() { - return (E) this.iterator.next(); - } - - public void remove() { - throw new UnsupportedOperationException(); - } - } //end of class Itr - - -} //end of Class diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/TuscanyXMLStreamReader.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/TuscanyXMLStreamReader.java deleted file mode 100644 index 7aa6e518f4..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/TuscanyXMLStreamReader.java +++ /dev/null @@ -1,112 +0,0 @@ -package org.apache.tuscany.sca.contribution.processor; -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -import java.util.ArrayList; -import java.util.List; -import java.util.Stack; - -import javax.xml.namespace.NamespaceContext; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.util.StreamReaderDelegate; -import javax.xml.XMLConstants; - -/* - * Custom implementaion of the XMLStreamReader to keep track of the namespace context for each element - */ -public class TuscanyXMLStreamReader extends StreamReaderDelegate implements - XMLStreamReader { - - Stack>> context = new Stack>>(); - - List contextList; - List prefixList; - List uriList; - - public TuscanyXMLStreamReader(XMLStreamReader reader) { - super(reader); - } - - public void pushContext() throws XMLStreamException { - contextList = new ArrayList>(); - prefixList = new ArrayList(); - uriList = new ArrayList(); - int namespaceCount = this.getNamespaceCount(); - if (namespaceCount == 0) { - prefixList.add(null); - uriList.add(null); - } - for (int i = 0; i < namespaceCount; i++) { - prefixList.add(checkString(this.getNamespacePrefix(i))); - uriList.add(this.getNamespaceURI(i)); - } - contextList.add(prefixList); - contextList.add(uriList); - context.push((ArrayList) contextList); - } - - private String checkString(String namespacePrefix) { - if (namespacePrefix == null) { - return XMLConstants.DEFAULT_NS_PREFIX; - } else { - return namespacePrefix; - } - } - - public void popContext() throws XMLStreamException { - context.pop(); - } - - /* - * Overriding the next() method to perform PUSH and POP operations - * for the NamespaceContext for the current element - */ - - @Override - public int next() throws XMLStreamException { - // POP the context if the element ends - if (this.getEventType() == END_ELEMENT) { - popContext(); - } - - //get the next event - int nextEvent = super.next(); - //PUSH the events info onto the Stack - if (nextEvent == START_ELEMENT) { - pushContext(); - } - return nextEvent; - } - - @Override - public int nextTag() throws XMLStreamException { - if (this.getEventType() == START_ELEMENT) { - pushContext(); - } - if (this.getEventType() == END_ELEMENT) { - popContext(); - } - return super.nextTag(); - } - - @Override - public NamespaceContext getNamespaceContext(){ - return new TuscanyNamespaceContext((Stack)context.clone()); - } -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/URLArtifactProcessor.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/URLArtifactProcessor.java deleted file mode 100644 index 2ecddf5465..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/URLArtifactProcessor.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.processor; - -import java.net.URI; -import java.net.URL; - -import org.apache.tuscany.sca.contribution.service.ContributionReadException; - -/** - * An artifact processor that can read models from a URL. - * - * @version $Rev$ $Date$ - */ -public interface URLArtifactProcessor extends ArtifactProcessor { - - /** - * Reads a model from a URL. - * - * @param contributionURL Contribution location URL - * @param artifactURI Artifact URI - * @param artifactURL Artifact location URL - * @return A model representation of the input. - */ - M read(URL contributionURL, URI artifactURI, URL artifactURL) throws ContributionReadException; - - /** - * Returns the type of artifact handled by this artifact processor. - * - * @return The type of artifact handled by this artifact processor - */ - String getArtifactType(); - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/URLArtifactProcessorExtensionPoint.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/URLArtifactProcessorExtensionPoint.java deleted file mode 100644 index 7714586951..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/URLArtifactProcessorExtensionPoint.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.processor; - -/** - * An extension point for URL artifact processors. - * - * @version $Rev$ $Date$ - */ -public interface URLArtifactProcessorExtensionPoint extends - ArtifactProcessorExtensionPoint { - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidatingXMLInputFactory.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidatingXMLInputFactory.java deleted file mode 100644 index da249a09e4..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidatingXMLInputFactory.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.contribution.processor; - -import javax.xml.stream.XMLInputFactory; - -/** - * Base marker class for validating XML input factories. - * - * @version $Rev$ $Date$ - */ -public abstract class ValidatingXMLInputFactory extends XMLInputFactory { - - /** - * Create a new default validating XML input factory. - * @return - */ - public static ValidatingXMLInputFactory newInstance() { - return new DefaultValidatingXMLInputFactory( - XMLInputFactory.newInstance(), - new DefaultValidationSchemaExtensionPoint(), - null); - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidatingXMLStreamReader.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidatingXMLStreamReader.java deleted file mode 100644 index 3251ff37e1..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidatingXMLStreamReader.java +++ /dev/null @@ -1,395 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.processor; - -import java.util.logging.Logger; - -import javax.xml.namespace.NamespaceContext; -import javax.xml.namespace.QName; -import javax.xml.stream.Location; -import javax.xml.stream.XMLStreamConstants; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.util.StreamReaderDelegate; -import javax.xml.validation.Schema; -import javax.xml.validation.ValidatorHandler; - -import org.xml.sax.Attributes; -import org.xml.sax.ErrorHandler; -import org.xml.sax.Locator; -import org.xml.sax.SAXException; -import org.xml.sax.SAXParseException; -import org.xml.sax.helpers.AttributesImpl; -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * - * A validating XMLStreamReader that reports XMLSchema validation errors. - * - * @version $Rev$ $Date$ - */ -class ValidatingXMLStreamReader extends TuscanyXMLStreamReader implements XMLStreamReader { - - private static final Logger logger = Logger.getLogger(ValidatingXMLStreamReader.class.getName()); - - private int level; - private ValidatorHandler handler; - private final Monitor monitor; - - /** - * Constructs a new ValidatingXMLStreamReader. - * - * @param reader - * @param schema - * @throws XMLStreamException - */ - ValidatingXMLStreamReader(XMLStreamReader reader, Schema schema, Monitor monitor) throws XMLStreamException { - super(reader); - this.monitor = monitor; - if (schema == null) { - return; - } - - handler = schema.newValidatorHandler(); - handler.setDocumentLocator(new LocatorAdapter()); - try { - handler.setFeature("http://xml.org/sax/features/namespace-prefixes", true); - } catch (SAXException e) { - XMLStreamException xse = new XMLStreamException(e); - error("XMLStreamException", handler, xse); - throw xse; - } - - // These validation errors are just warnings for us as we want to support - // running from an XML document with XSD validation errors, as long as we can - // get the metadata we need from the document - handler.setErrorHandler(new ErrorHandler() { - private String getMessage(SAXParseException e) { - return "XMLSchema validation problem in: " + e.getSystemId() + ", line: " + e.getLineNumber() + ", column: " + e.getColumnNumber() + "\n" + e.getMessage(); - } - - public void error(SAXParseException exception) throws SAXException { - if (ValidatingXMLStreamReader.this.monitor == null) - logger.warning(getMessage(exception)); - else - ValidatingXMLStreamReader.this.error("SchemaError", ValidatingXMLStreamReader.this.getClass(), exception.getSystemId(), - exception.getLineNumber(), exception.getColumnNumber(), exception.getMessage()); - } - - public void fatalError(SAXParseException exception) throws SAXException { - if (ValidatingXMLStreamReader.this.monitor == null) - logger.warning(getMessage(exception)); - else - ValidatingXMLStreamReader.this.error("SchemaFatalError", ValidatingXMLStreamReader.this.getClass(), exception.getSystemId(), - exception.getLineNumber(), exception.getColumnNumber(), exception.getMessage()); - } - - public void warning(SAXParseException exception) throws SAXException { - if (ValidatingXMLStreamReader.this.monitor == null) - logger.warning(getMessage(exception)); - else - ValidatingXMLStreamReader.this.warning("SchemaWarning", ValidatingXMLStreamReader.this.getClass(), exception.getSystemId(), - exception.getLineNumber(), exception.getColumnNumber(), exception.getMessage()); - } - }); - } - - /** - * Report a warning. - * - * @param problems - * @param message - * @param model - */ - private void warning(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-validation-messages", Severity.WARNING, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - @Override - public int next() throws XMLStreamException { - if (handler == null) { - return super.next(); - } - - int event = super.next(); - try { - switch (event) { - case XMLStreamConstants.START_DOCUMENT: - level++; - handler.startDocument(); - break; - case XMLStreamConstants.START_ELEMENT: - level++; - handleStartElement(); - break; - case XMLStreamConstants.PROCESSING_INSTRUCTION: - handler.processingInstruction(super.getPITarget(), super.getPIData()); - break; - case XMLStreamConstants.CHARACTERS: - case XMLStreamConstants.CDATA: - case XMLStreamConstants.SPACE: - case XMLStreamConstants.ENTITY_REFERENCE: - handler.characters(super.getTextCharacters(), super.getTextStart(), super.getTextLength()); - break; - case XMLStreamConstants.END_ELEMENT: - handleEndElement(); - level--; - break; - case XMLStreamConstants.END_DOCUMENT: - handler.endDocument(); - break; - } - } catch (SAXException e) { - XMLStreamException xse = new XMLStreamException(e.getMessage(), e); - error("XMLStreamException", handler, xse); - throw xse; - } - return event; - } - - @Override - public int nextTag() throws XMLStreamException { - if (handler == null) { - return super.nextTag(); - } - - for (;;) { - int event = super.getEventType(); - try { - switch (event) { - case XMLStreamConstants.START_DOCUMENT: - level++; - handler.startDocument(); - break; - case XMLStreamConstants.START_ELEMENT: - level++; - handleStartElement(); - return event; - case XMLStreamConstants.PROCESSING_INSTRUCTION: - handler.processingInstruction(super.getPITarget(), super.getPIData()); - break; - case XMLStreamConstants.CHARACTERS: - case XMLStreamConstants.CDATA: - case XMLStreamConstants.SPACE: - case XMLStreamConstants.ENTITY_REFERENCE: - handler.characters(super.getTextCharacters(), super.getTextStart(), super.getTextLength()); - break; - case XMLStreamConstants.END_ELEMENT: - handleEndElement(); - level--; - return event; - case XMLStreamConstants.END_DOCUMENT: - handler.endDocument(); - return event; - } - } catch (SAXException e) { - XMLStreamException xse = new XMLStreamException(e); - error("XMLStreamException", handler, xse); - throw xse; - } - super.next(); - } - } - - @Override - public String getElementText() throws XMLStreamException { - if (handler == null) { - return super.getElementText(); - } - - if (getEventType() != XMLStreamConstants.START_ELEMENT) { - return super.getElementText(); - } - StringBuffer text = new StringBuffer(); - - for (;;) { - int event = next(); - switch (event) { - case XMLStreamConstants.END_ELEMENT: - return text.toString(); - - case XMLStreamConstants.COMMENT: - case XMLStreamConstants.PROCESSING_INSTRUCTION: - continue; - - case CHARACTERS: - case CDATA: - case SPACE: - case ENTITY_REFERENCE: - text.append(getText()); - break; - - default: - break; - } - } - } - - @Override - public NamespaceContext getNamespaceContext(){ - return super.getNamespaceContext(); - } - - /** - * Handle a start element event. - * - * @throws SAXException - */ - private void handleStartElement() throws SAXException { - - // send startPrefixMapping events immediately before startElement event - int nsCount = super.getNamespaceCount(); - for (int i = 0; i < nsCount; i++) { - String prefix = super.getNamespacePrefix(i); - if (prefix == null) { // true for default namespace - prefix = ""; - } - handler.startPrefixMapping(prefix, super.getNamespaceURI(i)); - } - - // fire startElement - QName qname = super.getName(); - String prefix = qname.getPrefix(); - String rawname; - if (prefix == null || prefix.length() == 0) { - rawname = qname.getLocalPart(); - } else { - rawname = prefix + ':' + qname.getLocalPart(); - } - Attributes attrs = getAttributes(); - handler.startElement(qname.getNamespaceURI(), qname.getLocalPart(), rawname, attrs); - } - - /** - * Handle an endElement event. - * - * @throws SAXException - */ - private void handleEndElement() throws SAXException { - - // fire endElement - QName qname = super.getName(); - handler.endElement(qname.getNamespaceURI(), qname.getLocalPart(), qname.toString()); - - // send endPrefixMapping events immediately after endElement event - // we send them in the opposite order to that returned but this is not - // actually required by SAX - int nsCount = super.getNamespaceCount(); - for (int i = nsCount - 1; i >= 0; i--) { - String prefix = super.getNamespacePrefix(i); - if (prefix == null) { // true for default namespace - prefix = ""; - } - handler.endPrefixMapping(prefix); - } - } - - /** - * Get the attributes associated with the current START_ELEMENT event. - * - * @return the StAX attributes converted to org.xml.sax.Attributes - */ - private Attributes getAttributes() { - AttributesImpl attrs = new AttributesImpl(); - - // add namespace declarations - for (int i = 0; i < super.getNamespaceCount(); i++) { - String prefix = super.getNamespacePrefix(i); - String uri = super.getNamespaceURI(i); - if (prefix == null) { - attrs.addAttribute("", "", "xmlns", "CDATA", uri); - } else { - attrs.addAttribute("", "", "xmlns:" + prefix, "CDATA", uri); - } - } - - // Regular attributes - for (int i = 0; i < super.getAttributeCount(); i++) { - String uri = super.getAttributeNamespace(i); - if (uri == null) { - uri = ""; - } - String localName = super.getAttributeLocalName(i); - String prefix = super.getAttributePrefix(i); - String qname; - if (prefix == null || prefix.length() == 0) { - qname = localName; - } else { - qname = prefix + ':' + localName; - } - String type = super.getAttributeType(i); - String value = super.getAttributeValue(i); - - attrs.addAttribute(uri, localName, qname, type, value); - } - - return attrs; - } - - /** - * Adapter for mapping Locator information. - */ - private final class LocatorAdapter implements Locator { - - private LocatorAdapter() { - } - - public int getColumnNumber() { - Location location = getLocation(); - return location == null ? 0 : location.getColumnNumber(); - } - - public int getLineNumber() { - Location location = getLocation(); - return location == null ? 0 : location.getLineNumber(); - } - - public String getPublicId() { - Location location = getLocation(); - return location == null ? "" : location.getPublicId(); - } - - public String getSystemId() { - Location location = getLocation(); - return location == null ? "" : location.getSystemId(); - } - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidatingXMLStreamReader.java.orig b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidatingXMLStreamReader.java.orig deleted file mode 100644 index 2e86f1b4c5..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidatingXMLStreamReader.java.orig +++ /dev/null @@ -1,388 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.processor; - -import java.util.logging.Logger; - -import javax.xml.namespace.QName; -import javax.xml.stream.Location; -import javax.xml.stream.XMLStreamConstants; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.util.StreamReaderDelegate; -import javax.xml.validation.Schema; -import javax.xml.validation.ValidatorHandler; - -import org.xml.sax.Attributes; -import org.xml.sax.ErrorHandler; -import org.xml.sax.Locator; -import org.xml.sax.SAXException; -import org.xml.sax.SAXParseException; -import org.xml.sax.helpers.AttributesImpl; -import org.apache.tuscany.sca.assembly.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * - * A validating XMLStreamReader that reports XMLSchema validation errors. - * - * @version $Rev: 667376 $ $Date: 2008-06-12 23:29:16 -0700 (Thu, 12 Jun 2008) $ - */ -class ValidatingXMLStreamReader extends StreamReaderDelegate implements XMLStreamReader { - private static final Logger logger = Logger.getLogger(ValidatingXMLStreamReader.class.getName()); - - private int level; - private ValidatorHandler handler; - private final Monitor monitor; - - /** - * Constructs a new ValidatingXMLStreamReader. - * - * @param reader - * @param schema - * @throws XMLStreamException - */ - ValidatingXMLStreamReader(XMLStreamReader reader, Schema schema, Monitor monitor) throws XMLStreamException { - super(reader); - this.monitor = monitor; - if (schema == null) { - return; - } - - handler = schema.newValidatorHandler(); - handler.setDocumentLocator(new LocatorAdapter()); - try { - handler.setFeature("http://xml.org/sax/features/namespace-prefixes", true); - } catch (SAXException e) { - XMLStreamException xse = new XMLStreamException(e); - error("XMLStreamException", handler, xse); - throw xse; - } - - // These validation errors are just warnings for us as we want to support - // running from an XML document with XSD validation errors, as long as we can - // get the metadata we need from the document - handler.setErrorHandler(new ErrorHandler() { - private String getMessage(SAXParseException e) { - return "XMLSchema validation problem in: " + e.getSystemId() + ", line: " + e.getLineNumber() + ", column: " + e.getColumnNumber() + "\n" + e.getMessage(); - } - - public void error(SAXParseException exception) throws SAXException { - if (ValidatingXMLStreamReader.this.monitor == null) - logger.warning(getMessage(exception)); - else - ValidatingXMLStreamReader.this.error("SchemaError", ValidatingXMLStreamReader.this.getClass(), exception.getSystemId(), - exception.getLineNumber(), exception.getColumnNumber(), exception.getMessage()); - } - - public void fatalError(SAXParseException exception) throws SAXException { - if (ValidatingXMLStreamReader.this.monitor == null) - logger.warning(getMessage(exception)); - else - ValidatingXMLStreamReader.this.error("SchemaFatalError", ValidatingXMLStreamReader.this.getClass(), exception.getSystemId(), - exception.getLineNumber(), exception.getColumnNumber(), exception.getMessage()); - } - - public void warning(SAXParseException exception) throws SAXException { - if (ValidatingXMLStreamReader.this.monitor == null) - logger.warning(getMessage(exception)); - else - ValidatingXMLStreamReader.this.warning("SchemaWarning", ValidatingXMLStreamReader.this.getClass(), exception.getSystemId(), - exception.getLineNumber(), exception.getColumnNumber(), exception.getMessage()); - } - }); - } - - /** - * Report a warning. - * - * @param problems - * @param message - * @param model - */ - private void warning(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-validation-messages", Severity.WARNING, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "contribution-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - @Override - public int next() throws XMLStreamException { - if (handler == null) { - return super.next(); - } - - int event = super.next(); - try { - switch (event) { - case XMLStreamConstants.START_DOCUMENT: - level++; - handler.startDocument(); - break; - case XMLStreamConstants.START_ELEMENT: - level++; - handleStartElement(); - break; - case XMLStreamConstants.PROCESSING_INSTRUCTION: - handler.processingInstruction(super.getPITarget(), super.getPIData()); - break; - case XMLStreamConstants.CHARACTERS: - case XMLStreamConstants.CDATA: - case XMLStreamConstants.SPACE: - case XMLStreamConstants.ENTITY_REFERENCE: - handler.characters(super.getTextCharacters(), super.getTextStart(), super.getTextLength()); - break; - case XMLStreamConstants.END_ELEMENT: - handleEndElement(); - level--; - break; - case XMLStreamConstants.END_DOCUMENT: - handler.endDocument(); - break; - } - } catch (SAXException e) { - XMLStreamException xse = new XMLStreamException(e.getMessage(), e); - error("XMLStreamException", handler, xse); - throw xse; - } - return event; - } - - @Override - public int nextTag() throws XMLStreamException { - if (handler == null) { - return super.nextTag(); - } - - for (;;) { - int event = super.getEventType(); - try { - switch (event) { - case XMLStreamConstants.START_DOCUMENT: - level++; - handler.startDocument(); - break; - case XMLStreamConstants.START_ELEMENT: - level++; - handleStartElement(); - return event; - case XMLStreamConstants.PROCESSING_INSTRUCTION: - handler.processingInstruction(super.getPITarget(), super.getPIData()); - break; - case XMLStreamConstants.CHARACTERS: - case XMLStreamConstants.CDATA: - case XMLStreamConstants.SPACE: - case XMLStreamConstants.ENTITY_REFERENCE: - handler.characters(super.getTextCharacters(), super.getTextStart(), super.getTextLength()); - break; - case XMLStreamConstants.END_ELEMENT: - handleEndElement(); - level--; - return event; - case XMLStreamConstants.END_DOCUMENT: - handler.endDocument(); - return event; - } - } catch (SAXException e) { - XMLStreamException xse = new XMLStreamException(e); - error("XMLStreamException", handler, xse); - throw xse; - } - super.next(); - } - } - - @Override - public String getElementText() throws XMLStreamException { - if (handler == null) { - return super.getElementText(); - } - - if (getEventType() != XMLStreamConstants.START_ELEMENT) { - return super.getElementText(); - } - StringBuffer text = new StringBuffer(); - - for (;;) { - int event = next(); - switch (event) { - case XMLStreamConstants.END_ELEMENT: - return text.toString(); - - case XMLStreamConstants.COMMENT: - case XMLStreamConstants.PROCESSING_INSTRUCTION: - continue; - - case CHARACTERS: - case CDATA: - case SPACE: - case ENTITY_REFERENCE: - text.append(getText()); - break; - - default: - break; - } - } - } - - /** - * Handle a start element event. - * - * @throws SAXException - */ - private void handleStartElement() throws SAXException { - - // send startPrefixMapping events immediately before startElement event - int nsCount = super.getNamespaceCount(); - for (int i = 0; i < nsCount; i++) { - String prefix = super.getNamespacePrefix(i); - if (prefix == null) { // true for default namespace - prefix = ""; - } - handler.startPrefixMapping(prefix, super.getNamespaceURI(i)); - } - - // fire startElement - QName qname = super.getName(); - String prefix = qname.getPrefix(); - String rawname; - if (prefix == null || prefix.length() == 0) { - rawname = qname.getLocalPart(); - } else { - rawname = prefix + ':' + qname.getLocalPart(); - } - Attributes attrs = getAttributes(); - handler.startElement(qname.getNamespaceURI(), qname.getLocalPart(), rawname, attrs); - } - - /** - * Handle an endElement event. - * - * @throws SAXException - */ - private void handleEndElement() throws SAXException { - - // fire endElement - QName qname = super.getName(); - handler.endElement(qname.getNamespaceURI(), qname.getLocalPart(), qname.toString()); - - // send endPrefixMapping events immediately after endElement event - // we send them in the opposite order to that returned but this is not - // actually required by SAX - int nsCount = super.getNamespaceCount(); - for (int i = nsCount - 1; i >= 0; i--) { - String prefix = super.getNamespacePrefix(i); - if (prefix == null) { // true for default namespace - prefix = ""; - } - handler.endPrefixMapping(prefix); - } - } - - /** - * Get the attributes associated with the current START_ELEMENT event. - * - * @return the StAX attributes converted to org.xml.sax.Attributes - */ - private Attributes getAttributes() { - AttributesImpl attrs = new AttributesImpl(); - - // add namespace declarations - for (int i = 0; i < super.getNamespaceCount(); i++) { - String prefix = super.getNamespacePrefix(i); - String uri = super.getNamespaceURI(i); - if (prefix == null) { - attrs.addAttribute("", "", "xmlns", "CDATA", uri); - } else { - attrs.addAttribute("", "", "xmlns:" + prefix, "CDATA", uri); - } - } - - // Regular attributes - for (int i = 0; i < super.getAttributeCount(); i++) { - String uri = super.getAttributeNamespace(i); - if (uri == null) { - uri = ""; - } - String localName = super.getAttributeLocalName(i); - String prefix = super.getAttributePrefix(i); - String qname; - if (prefix == null || prefix.length() == 0) { - qname = localName; - } else { - qname = prefix + ':' + localName; - } - String type = super.getAttributeType(i); - String value = super.getAttributeValue(i); - - attrs.addAttribute(uri, localName, qname, type, value); - } - - return attrs; - } - - /** - * Adapter for mapping Locator information. - */ - private final class LocatorAdapter implements Locator { - - private LocatorAdapter() { - } - - public int getColumnNumber() { - Location location = getLocation(); - return location == null ? 0 : location.getColumnNumber(); - } - - public int getLineNumber() { - Location location = getLocation(); - return location == null ? 0 : location.getLineNumber(); - } - - public String getPublicId() { - Location location = getLocation(); - return location == null ? "" : location.getPublicId(); - } - - public String getSystemId() { - Location location = getLocation(); - return location == null ? "" : location.getSystemId(); - } - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidationSchemaExtensionPoint.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidationSchemaExtensionPoint.java deleted file mode 100644 index cc3bb59a5b..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ValidationSchemaExtensionPoint.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.processor; - -import java.util.List; - - -/** - * An extension point for XML schemas used for validation. - * - * @version $Rev$ $Date$ - */ -public interface ValidationSchemaExtensionPoint { - - /** - * Add a schema. - * - * @param uri the URI of the schema - */ - void addSchema(String uri); - - /** - * Remove a schema. - * - * @param uri the URI of the schema - */ - void removeSchema(String uri); - - /** - * Returns the list of schemas registered in the extension point. - * @return the list of schemas - */ - List getSchemas(); - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ClassReference.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ClassReference.java deleted file mode 100644 index f3555ee71e..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ClassReference.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.resolver; - -import java.lang.ref.WeakReference; - -import org.apache.tuscany.sca.assembly.Base; - -/** - * A weak reference to a class, which should be used to register classes - * with an ArtifactResolver and resolve these classes later. - * - * FIXME The core contribution model should not have dependencies on classes - * and ClassLoaders. This should move to the Java import support module. - * - * @version $Rev$ $Date$ - */ -public class ClassReference implements Base { - - private WeakReference> clazz; - private String className; - - /** - * Constructs a new ClassReference. - * - * @param clazz The class reference - */ - public ClassReference(Class clazz) { - this.clazz = new WeakReference>(clazz); - this.className = clazz.getName(); - } - - /** - * Constructs a new ClassReference. - * - * @param className The class name - */ - public ClassReference(String className) { - this.className = className; - } - - /** - * Get the referenced class. - * - * @return The referenced class - */ - public Class getJavaClass() { - if (clazz != null) { - return clazz.get(); - } else { - return null; - } - } - - /** - * Get the referenced class name. - * - * @return The class name - */ - public String getClassName() { - return className; - } - - public boolean isUnresolved() { - return clazz == null; - } - - public void setUnresolved(boolean unresolved) { - throw new IllegalStateException(); - } - - @Override - public int hashCode() { - return className.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } else { - if (obj instanceof ClassReference) { - return className.equals(((ClassReference)obj).className); - } else { - return false; - } - } - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultDelegatingModelResolver.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultDelegatingModelResolver.java deleted file mode 100644 index 13c622adf0..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultDelegatingModelResolver.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.contribution.resolver; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Base; - -/** - * A model resolver implementation that delegates to a list of model resolvers. - * - * @version $Rev$ $Date$ - */ -public class DefaultDelegatingModelResolver implements ModelResolver { - - private List resolvers; - - public DefaultDelegatingModelResolver(List resolvers) { - this.resolvers = resolvers; - } - - public void addModel(Object resolved) { - throw new IllegalStateException(); - } - - public Object removeModel(Object resolved) { - throw new IllegalStateException(); - } - - public T resolveModel(Class modelClass, T unresolved) { - - //TODO optimize and cache results of the resolution later - - // Go over all resolvers - for (ModelResolver resolver: resolvers) { - - Object resolved = resolver.resolveModel(modelClass, unresolved); - - // Return the resolved model object - if (resolved instanceof Base) { - if (!((Base)resolved).isUnresolved()) { - return modelClass.cast(resolved); - } - } - } - - // Model object was not resolved - return unresolved; - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultImportAllModelResolver.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultImportAllModelResolver.java deleted file mode 100644 index c6facd2b02..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultImportAllModelResolver.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.resolver; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Base; -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.Export; -import org.apache.tuscany.sca.contribution.Import; - -/** - * A model resolver implementation that considers Exports in a list of contributions. - * - * @version $Rev: 560435 $ $Date: 2007-07-27 18:26:55 -0700 (Fri, 27 Jul 2007) $ - */ -public class DefaultImportAllModelResolver implements ModelResolver { - - private Import import_; - private List contributions; - - public DefaultImportAllModelResolver(Import import_, List contributions) { - this.import_ = import_; - this.contributions = contributions; - } - - public void addModel(Object resolved) { - throw new IllegalStateException(); - } - - public Object removeModel(Object resolved) { - throw new IllegalStateException(); - } - - public T resolveModel(Class modelClass, T unresolved) { - - //TODO optimize and cache results of the resolution later - - // Go over all available contributions - for (Contribution contribution : contributions) { - - // Go over all exports in the contribution - for (Export export : contribution.getExports()) { - - // If the export matches the export, try to resolve the model object - if (import_.match(export)) { - Object resolved = export.getModelResolver().resolveModel(modelClass, unresolved); - - // Return the resolved model object - if (resolved instanceof Base) { - if (!((Base)resolved).isUnresolved()) { - return modelClass.cast(resolved); - } - } - } - } - } - - // Model object was not resolved - return unresolved; - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultImportModelResolver.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultImportModelResolver.java deleted file mode 100644 index 9ae57c41d0..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultImportModelResolver.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.resolver; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Base; -import org.apache.tuscany.sca.contribution.Export; - -/** - * A model resolver implementation that delegates to a list of exports. - * - * @version $Rev$ $Date$ - */ -public class DefaultImportModelResolver implements ModelResolver { - - private List exports; - - public DefaultImportModelResolver(List exports) { - this.exports = exports; - } - - public void addModel(Object resolved) { - throw new IllegalStateException(); - } - - public Object removeModel(Object resolved) { - throw new IllegalStateException(); - } - - public T resolveModel(Class modelClass, T unresolved) { - - //TODO optimize and cache results of the resolution later - - // Go over all exports - for (Export export: exports) { - - Object resolved = export.getModelResolver().resolveModel(modelClass, unresolved); - - // Return the resolved model object - if (resolved instanceof Base) { - if (!((Base)resolved).isUnresolved()) { - return modelClass.cast(resolved); - } - } - } - - // Model object was not resolved - return unresolved; - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolver.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolver.java deleted file mode 100644 index bf175813f3..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolver.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.contribution.resolver; - -import java.util.HashMap; -import java.util.Map; - - -/** - * A default implementation of a model resolver based on a map. - * - * @version $Rev$ $Date$ - */ -public class DefaultModelResolver implements ModelResolver { - - private Map map = new HashMap(); - - public DefaultModelResolver() { - } - - public T resolveModel(Class modelClass, T unresolved) { - Object resolved = map.get(unresolved); - if (resolved != null) { - - // Return the resolved object - 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); - } - - // FIXME: TUSCANY-2499: temporarily give access to the models to get the jms binding - // use of definitions.xml working while the definitions.xml processing is being refactored - public Map getModels() { - return map; - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverExtensionPoint.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverExtensionPoint.java deleted file mode 100644 index 77570aa13d..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/DefaultModelResolverExtensionPoint.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.resolver; - -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; -import java.util.Set; - -import org.apache.tuscany.sca.extensibility.ServiceDeclaration; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; - - -/** - * The default implementation of a model resolver extension point. - * - * @version $Rev$ $Date$ - */ -public class DefaultModelResolverExtensionPoint implements ModelResolverExtensionPoint { - - private final Map, Class> resolvers = new HashMap, Class>(); - private Map loadedResolvers; - - /** - * Constructs a new DefaultModelResolverExtensionPoint. - */ - public DefaultModelResolverExtensionPoint() { - } - - public void addResolver(Class modelType, Class resolver) { - resolvers.put(modelType, resolver); - } - - public void removeResolver(Class modelType) { - resolvers.remove(modelType); - } - - @SuppressWarnings("unchecked") - public Class getResolver(Class modelType) { - loadModelResolvers(); - - Class[] classes = modelType.getInterfaces(); - for (Class c : classes) { - Class resolver = resolvers.get(c); - if (resolver == null) { - ServiceDeclaration resolverClass = loadedResolvers.get(c.getName()); - if (resolverClass != null) { - try { - return (Class)resolverClass.loadClass(); - } catch (ClassNotFoundException e) { - throw new IllegalArgumentException(e); - } - } - } else { - return resolver; - } - } - - Class resolver = resolvers.get(modelType); - if (resolver == null) { - ServiceDeclaration resolverClass = loadedResolvers.get(modelType.getName()); - if (resolverClass != null) { - try { - return (Class)resolverClass.loadClass(); - } catch (ClassNotFoundException e) { - throw new IllegalArgumentException(e); - } - } - } - return resolver; - } - - /** - * Dynamically load model resolvers declared under META-INF/services - */ - private void loadModelResolvers() { - if (loadedResolvers != null) - return; - loadedResolvers = new HashMap(); - - // Get the model resolver service declarations - Set modelResolverDeclarations; - try { - modelResolverDeclarations = ServiceDiscovery.getInstance().getServiceDeclarations(ModelResolver.class); - } catch (IOException e) { - throw new IllegalStateException(e); - } - - // Load model resolvers - for (ServiceDeclaration modelResolverDeclaration: modelResolverDeclarations) { - Map attributes = modelResolverDeclaration.getAttributes(); - String model = attributes.get("model"); - - loadedResolvers.put(model, modelResolverDeclaration); - } - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolver.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolver.java deleted file mode 100644 index de54d54f94..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ExtensibleModelResolver.java +++ /dev/null @@ -1,201 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.resolver; - -import java.lang.reflect.Constructor; -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.sca.assembly.Base; -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; - -/** - * An implementation of an extensible model resolver which delegates to the - * proper resolver extension based on the class of the model to resolve. - * - * @version $Rev$ $Date$ - */ -public class ExtensibleModelResolver implements ModelResolver { - private final ModelResolverExtensionPoint resolverExtensions; - private final ModelFactoryExtensionPoint modelFactories; - private final Contribution contribution; - private ModelResolver defaultResolver; - private final Map, ModelResolver> resolversByModelType = new HashMap, ModelResolver>(); - private final Map, ModelResolver> resolversByImplementationClass = new HashMap, ModelResolver>(); - private Map map = new HashMap(); - private Object lastUnresolved; - - /** - * Constructs an extensible model resolver - * - * @param contribution - * @param resolverExtensions - * @param modelFactories - * @param defaultResolver - */ - @Deprecated - public ExtensibleModelResolver(Contribution contribution, - ModelResolverExtensionPoint resolverExtensions, - ModelFactoryExtensionPoint modelFactories, - ModelResolver defaultResolver) { - this.contribution = contribution; - this.resolverExtensions = resolverExtensions; - this.modelFactories = modelFactories; - //FIXME Remove this default resolver, this is currently used to resolve policy declarations - // but they should be handled by the contribution import/export mechanism instead of this - // defaultResolver hack. - this.defaultResolver = defaultResolver; - } - - /** - * Constructs an extensible model resolver - * - * @param resolverExtensions - * @param contribution - * @param modelFactories - */ - public ExtensibleModelResolver(Contribution contribution, - ModelResolverExtensionPoint resolverExtensions, - ModelFactoryExtensionPoint modelFactories) { - this.contribution = contribution; - this.resolverExtensions = resolverExtensions; - this.modelFactories = modelFactories; - } - - /** - * Returns the proper resolver instance based on the interfaces of the model - * If one is not available on the registry, instantiate on demand - * - * @param modelType - * @return - */ - private ModelResolver getModelResolverInstance(Class modelType) { - // Look up a model resolver instance for the model class or - // each implemented interface - Class[] interfaces = modelType.getInterfaces(); - Class[] classes = new Class[interfaces.length + 1]; - classes[0] = modelType; - if (interfaces.length != 0) { - System.arraycopy(interfaces, 0, classes, 1, interfaces.length); - } - for (Class c : classes) { - - // Look up an existing model resolver instance - ModelResolver resolverInstance = resolversByModelType.get(c); - if (resolverInstance != null) { - return resolverInstance; - } - - // We don't have an instance, lookup a model resolver class - // and instantiate it - Class resolverClass = resolverExtensions.getResolver(c); - if (resolverClass != null) { - - // Construct the model resolver instance and cache it - resolverInstance = resolversByImplementationClass.get(resolverClass); - if (resolverInstance != null) { - resolversByModelType.put(c, resolverInstance); - return resolverInstance; - } - try { - Constructor constructor = - resolverClass - .getConstructor(new Class[] {Contribution.class, ModelFactoryExtensionPoint.class}); - if (constructor != null) { - - resolverInstance = constructor.newInstance(contribution, modelFactories); - resolversByImplementationClass.put(resolverClass, resolverInstance); - resolversByModelType.put(c, resolverInstance); - return resolverInstance; - } - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - } - - return null; - } - - public void addModel(Object resolved) { - ModelResolver resolver = getModelResolverInstance(resolved.getClass()); - if (resolver != null) { - resolver.addModel(resolved); - } else { - map.put(resolved, resolved); - } - } - - public Object removeModel(Object resolved) { - ModelResolver resolver = getModelResolverInstance(resolved.getClass()); - if (resolver != null) { - return resolver.removeModel(resolved); - } else { - return map.remove(resolved); - } - } - - public T resolveModel(Class modelClass, T unresolved) { - // Protect against dependency cycles causing infinite recursion - // Save the current unresolved object and check later if we are trying - // to resolve the same object again - if (unresolved == lastUnresolved) { - return unresolved; - } - lastUnresolved = unresolved; - - ModelResolver resolver = getModelResolverInstance(unresolved.getClass()); - if (resolver != null) { - Object resolved = resolver.resolveModel(modelClass, unresolved); - if (resolved != null && resolved != unresolved) { - lastUnresolved = null; - return modelClass.cast(resolved); - } - } else { - //FIXME Remove this default resolver, this is currently used to resolve policy declarations - // but they should be handled by the contribution import/export mechanism instead of this - // defaultResolver hack. - if (defaultResolver != null) { - Object resolved = defaultResolver.resolveModel(modelClass, unresolved); - if (resolved != null && resolved != unresolved) { - lastUnresolved = null; - return modelClass.cast(resolved); - } - } - - Object resolved = map.get(unresolved); - if (resolved != null) { - // Return the resolved object - lastUnresolved = null; - return modelClass.cast(resolved); - } - } - - return unresolved; - } - - // FIXME: TUSCANY-2499: temporarily give access to the defaultResolver to get the jms binding - // use of definitions.xml working while the definitions.xml processing is being refactored - public ModelResolver getDefaultModelResolver() { - return defaultResolver; - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ModelResolver.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ModelResolver.java deleted file mode 100644 index 2831bebbc4..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ModelResolver.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.resolver; - -/** - * A model resolver, responsible for resolving models in the scope of an - * SCA contribution. - * - * SCA Assemblies reference artifacts of a wide variety of types. These - * include: - *
    - *
  • Reference from one SCA composite to another SCA composite - *
  • Reference to PolicySet files - *
  • Reference to interface definition files, either WSDL or Java interfaces - *
  • Reference to XSD files - *
  • Reference to any of a wide variety of implementation artifact files, - * including Java classes, BPEL scripts, C++ DLLs and classes, PHP scripts - *
- * - * In the SCA assemblies, these various artifacts are referenced using either - * QNames or logical URIs. Model resolvers are used to resolve these references - * and get the in-memory models representing the referenced artifacts. - * - * @version $Rev$ $Date$ - */ -public interface ModelResolver { - - /** - * Resolve the model representing an artifact. - * - * @param modelClass the type of artifact - * @param unresolved the unresolved model - * @return the resolved model - */ - T resolveModel(Class modelClass, T unresolved); - - /** - * Add a resolved model. - * - * @param resolved The model - */ - void addModel(Object resolved); - - /** - * Remove a resolved model. - * - * @param resolved - * @return The removed model, or null if the model was not removed - */ - Object removeModel(Object resolved); - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ModelResolverExtensionPoint.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ModelResolverExtensionPoint.java deleted file mode 100644 index 4a25059792..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ModelResolverExtensionPoint.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.resolver; - - -/** - * An extension point for model resolvers - * - * @version $Rev$ $Date$ - */ -public interface ModelResolverExtensionPoint { - - /** - * Register a model resolver class using the model type as the key - * - * @param modelType The model type - * @param resolver The model resolver Class - */ - void addResolver(Class modelType, Class resolver); - - /** - * Remove the model resolver class for a specific model type - * - * @param modelType The model type - */ - void removeResolver(Class modelType); - - /** - * Retrieve a model resolver class for a specific model type - * - * @param modelType The model artifact type - * @return The model resolver Class - */ - Class getResolver(Class modelType); -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ResolverExtension.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ResolverExtension.java deleted file mode 100644 index 74f0f2d71d..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ResolverExtension.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.contribution.resolver; - -/** - * Extension to assembly model implementations to provide a model resolver. - * - * @version $Rev$ $Date$ - */ -public interface ResolverExtension { - - /** - * Returns the model resolver for the models representing the artifacts - * visible in the scope of this contribution. - * - * @return The model resolver - */ - ModelResolver getModelResolver(); - - /** - * Sets the model resolver for the models representing the artifacts - * visible in the scope of this contribution. - * - * @param modelResolver The model resolver - */ - void setModelResolver(ModelResolver modelResolver); - -} \ No newline at end of file diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ResourceReference.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ResourceReference.java deleted file mode 100644 index 2394f4510b..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ResourceReference.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.resolver; - -import java.net.URL; - -/** - * A resource URL, which should be used to register resources - * with an ArtifactResolver and resolve these resources later. - * - * FIXME Don't use as its deprecated, use Artifact instead. - * - * @version $Rev$ $Date$ - */ -@Deprecated -public class ResourceReference { - - private URL resourceURL; - private String resourceName; - - /** - * Constructs a new ResourceReference. - * - * @param resourceName Name of resource - * @param resourceURL The resource URL - */ - public ResourceReference(String resourceName, URL resourceURL) { - this.resourceURL = resourceURL; - this.resourceName = resourceName; - } - - /** - * Constructs a new ResourceReference. - * - * @param resourceName Name of resource - */ - public ResourceReference(String resourceName) { - this.resourceName = resourceName; - } - - /** - * Get the resource URL. - * - * @return The resource URL - */ - public URL getResource() { - return resourceURL; - } - - /** - * Get the resource name. - * - * @return The resource name - */ - public String getResourceName() { - return resourceName; - } - - /** - * Returns true if the resource reference is unresolved. - * - * @return Whether or not the resource has been resolved - */ - public boolean isUnresolved() { - return resourceURL == null; - } - - @Override - public int hashCode() { - return resourceName.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (obj == this) { - return true; - } else { - if (obj instanceof ResourceReference) { - return resourceName.equals(((ResourceReference)obj).resourceName); - } else { - return false; - } - } - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/scanner/ContributionScanner.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/scanner/ContributionScanner.java deleted file mode 100644 index 2d03381c8a..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/scanner/ContributionScanner.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.contribution.scanner; - -import java.net.URL; -import java.util.List; - -import org.apache.tuscany.sca.contribution.service.ContributionReadException; - -/** - * Interface for contribution package scanners - * - * Contribution scanners understand the format of the contribution and how to get the - * artifacts in the contribution. - * - * @version $Rev$ $Date$ - */ -public interface ContributionScanner { - - /** - * Returns the type of package supported by this package scanner. - * - * @return the package type - */ - String getContributionType(); - - /** - * Returns a list of artifacts in the contribution. - * - * @param contributionURL Contribution URL - * @return List of artifact URIs - * @throws ContributionException - * @throws IOException - */ - List getArtifacts(URL contributionURL) throws ContributionReadException; - - /** - * Return the URL for an artifact in the contribution. - * - * This is needed for archives such as jar files that have specific URL schemes - * for the artifacts they contain. - * - * @param contributionURL Contribution URL - * @param artifact The relative URI for the artifact - * @return The artifact URL - */ - URL getArtifactURL(URL contributionURL, String artifact) throws ContributionReadException; - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/scanner/ContributionScannerExtensionPoint.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/scanner/ContributionScannerExtensionPoint.java deleted file mode 100644 index 1ca9def4ea..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/scanner/ContributionScannerExtensionPoint.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.contribution.scanner; - -/** - * An extension point for contribution scanners - * - * @version $Rev$ $Date$ - */ -public interface ContributionScannerExtensionPoint { - - /** - * Add a ContributionScanner using the contribution type as the key. - * - * @param scanner The contribution scanner - */ - void addContributionScanner(ContributionScanner scanner); - - /** - * Remove a ContributionScanner. - * - * @param scanner The contribution scanner - */ - void removeContributionScanner(ContributionScanner scanner); - - /** - * Returns the ContributionScanner for the given contribution type. - * - * @param contributionType The contribution type - * @return The contribution scanner - */ - ContributionScanner getContributionScanner(String contributionType); - -} \ No newline at end of file diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/scanner/DefaultContributionScannerExtensionPoint.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/scanner/DefaultContributionScannerExtensionPoint.java deleted file mode 100644 index 24aae45b59..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/scanner/DefaultContributionScannerExtensionPoint.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.scanner; - -import java.io.IOException; -import java.lang.reflect.Constructor; -import java.net.URL; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.apache.tuscany.sca.contribution.service.ContributionReadException; -import org.apache.tuscany.sca.extensibility.ServiceDeclaration; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; - -/** - * Default implementation of a contribution scanner extension point. - * - * @version $Rev$ $Date$ - */ -public class DefaultContributionScannerExtensionPoint implements ContributionScannerExtensionPoint { - - private Map scanners = new HashMap(); - private boolean loaded; - - public DefaultContributionScannerExtensionPoint() { - } - - public void addContributionScanner(ContributionScanner scanner) { - scanners.put(scanner.getContributionType(), scanner); - } - - public void removeContributionScanner(ContributionScanner scanner) { - scanners.remove(scanner.getContributionType()); - } - - public ContributionScanner getContributionScanner(String contentType) { - loadScanners(); - return scanners.get(contentType); - } - - private void loadScanners() { - if (loaded) - return; - - // Get the scanner service declarations - Set scannerDeclarations; - try { - scannerDeclarations = ServiceDiscovery.getInstance().getServiceDeclarations(ContributionScanner.class); - } catch (IOException e) { - throw new IllegalStateException(e); - } - - for (ServiceDeclaration scannerDeclaration: scannerDeclarations) { - Map attributes = scannerDeclaration.getAttributes(); - - // Load a URL artifact scanner - String contributionType = attributes.get("type"); - - // Create a scanner wrapper and register it - ContributionScanner scanner = new LazyContributionScanner(contributionType, scannerDeclaration); - addContributionScanner(scanner); - } - - loaded = true; - } - - /** - * A facade for contribution scanners. - */ - private static class LazyContributionScanner implements ContributionScanner { - - private ServiceDeclaration scannerDeclaration; - private String contributionType; - private ContributionScanner scanner; - - private LazyContributionScanner(String contributionType, ServiceDeclaration scannerDeclaration) { - this.scannerDeclaration = scannerDeclaration; - this.contributionType = contributionType; - } - - public URL getArtifactURL(URL contributionSourceURL, String artifact) throws ContributionReadException { - return getScanner().getArtifactURL(contributionSourceURL, artifact); - } - - public List getArtifacts(URL contributionSourceURL) throws ContributionReadException { - return getScanner().getArtifacts(contributionSourceURL); - } - - public String getContributionType() { - return contributionType; - } - - private ContributionScanner getScanner() { - if (scanner == null) { - try { - Class scannerClass = (Class)scannerDeclaration.loadClass(); - Constructor constructor = scannerClass.getConstructor(); - scanner = constructor.newInstance(); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return scanner; - } - } -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionException.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionException.java deleted file mode 100644 index e183206894..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionException.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.contribution.service; - -/** - * Base class for exceptions raised by contribution services. - * - * @version $Rev$ $Date$ - */ -public class ContributionException extends Exception { - - private static final long serialVersionUID = 4432880414927652578L; - - protected ContributionException() { - super(); - } - - protected ContributionException(String message) { - super(message); - } - - protected ContributionException(String message, Throwable cause) { - super(message, cause); - } - - public ContributionException(Throwable cause) { - super(cause); - } -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionListener.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionListener.java deleted file mode 100644 index 5158eaf85c..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionListener.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.service; - -import java.util.EventListener; - -import org.apache.tuscany.sca.contribution.Contribution; - -/** - * A listener interface used to listen to contribution repository events. - * - * @version $Rev$ $Date$ - */ -public interface ContributionListener extends EventListener { - - /** - * Notifies the listener that a contribution has been added. - * - * @param repository The contribution repository - * @param contribution The new contribution - */ - void contributionAdded(ContributionRepository repository, Contribution contribution); - - /** - * Notifies the listener that a contribution has been removed. - * - * @param repository The contribution repository - * @param contribution The removed contribution. - */ - void contributionRemoved(ContributionRepository repository, Contribution contribution); - - /** - * Notifies the listener that a contribution has been updated. - * - * @param repository The contribution repository - * @param oldContribution The old contribution - * @param contribution The new contribution - */ - void contributionUpdated(ContributionRepository repository, Contribution oldContribution, Contribution contribution); - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionListenerExtensionPoint.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionListenerExtensionPoint.java deleted file mode 100644 index ce2b4b13c3..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionListenerExtensionPoint.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.contribution.service; - -import java.util.List; - -public interface ContributionListenerExtensionPoint { - - /** - * Adds a contribution repository listener extension. - * @param listener The listener to add - */ - void addContributionListener(ContributionListener listener); - - /** - * Removes a contribution repository listener extension. - * @param listener The listener to remove - */ - void removeContributionListener(ContributionListener listener); - - /** - * Returns the contribution repository listeners. - * @return - */ - List getContributionListeners(); - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionReadException.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionReadException.java deleted file mode 100644 index 33399dcc2f..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionReadException.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.service; - -/** - * Denotes an exception while reading artifacts inside an SCA contribution. - * - * @version $Rev$ $Date$ - */ -public class ContributionReadException extends ContributionException { - public static final int UNDEFINED = -1; - private static final long serialVersionUID = -7459051598906813461L; - private String resourceURI; - private int line = UNDEFINED; - private int column = UNDEFINED; - - public ContributionReadException(String message) { - super(message); - } - - public ContributionReadException(String message, Throwable cause) { - super(message, cause); - } - - public ContributionReadException(Throwable cause) { - super(cause); - } - - /** - * Returns the location of the resource that was being read. - * - * @return the location of the resource that was being read - */ - public String getResourceURI() { - return resourceURI; - } - - /** - * Sets the location of the resource that was being read. - * - * @param resourceURI the location of the resource that was being read - */ - public void setResourceURI(String resourceURI) { - this.resourceURI = resourceURI; - } - - /** - * Returns the line inside the resource that was being read. - * @return the line inside the resource that was being read - */ - public int getLine() { - return line; - } - - /** - * Sets the line inside the resource that was being read. - * @param line the line inside the resource that was being read - */ - public void setLine(int line) { - this.line = line; - } - - /** - * Returns the column inside the resource that was being read. - * @return the column inside the resource that was being read - */ - public int getColumn() { - return column; - } - - /** - * Sets the column inside the resource that was being read. - * @param column the column inside the resource that was being read - */ - public void setColumn(int column) { - this.column = column; - } -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionRepository.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionRepository.java deleted file mode 100644 index d7d8216f66..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionRepository.java +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.service; - -import java.io.IOException; -import java.io.InputStream; -import java.net.URI; -import java.net.URL; -import java.util.List; - -import org.apache.tuscany.sca.contribution.Contribution; - -/** - * Contribution repository - * - * @version $Rev$ $Date$ - */ -public interface ContributionRepository { - - /** - * Get the URI of the SCA domain - * - * @return The domain URI - */ - URI getDomain(); - - /** - * Copies a contribution to the repository. - * - * @param contribution A URl pointing to the contribution being copied to - * the repository - * @param sourceURL URL of the source. this would be used to calculate the right - * filename to be stored on the repository when a inputStream is being - * provided - * @param contributionStream InputStream with the content of the - * distribution - * @return A URL pointing to the content of the contribution in the - * repository - * @throws IOException - */ - URL store(String contribution, URL sourceURL, InputStream contributionStream) throws IOException; - /** - * Copy a contribution from the source URL to the repository - * - * @param contribution A URl pointing to the contribution being copied to - * the repository - * @param sourceURL URL of the source. this would be used to calculate the right - * filename to be stored on the repository when a inputStream is being - * provided - * @return A URL pointing to the content of the contribution in the - * repository - * @throws IOException - */ - URL store(String contribution, URL sourceURL) throws IOException; - - /** - * Look up the contribution by URI - * - * @param contribution The URI of the contribution - * @return A URL pointing to the content of the contribution in the - * repository, it will be null if the contribution cannot be found - * in the repository - */ - URL find(String contribution); - - /** - * Remove a contribution from the repository - * - * @param contribution The URI of the contribution to be removed - */ - void remove(String contribution); - - /** - * Get list of URIs for all the contributions in the repository - * - * @return A list of contribution URIs - */ - List list(); - - /** - * Returns the contributions available in the repository. - * @return The list of contributions. - */ - List getContributions(); - - /** - * Adds a contribution to the repository. - * @param contribution The new contribution. - */ - void addContribution(Contribution contribution); - - /** - * Removes a contribution from the repository. - * @param contribution The contribution to remove - */ - void removeContribution(Contribution contribution); - - /** - * Updates a contribution in the repository - * @param contribution The contribution to update - */ - void updateContribution(Contribution contribution); - - /** - * Returns the contribution with the given URI. - * @param uri the URI of the contribution - * @return The contribution - */ - Contribution getContribution(String uri); - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionResolveException.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionResolveException.java deleted file mode 100644 index ecb774ac0c..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionResolveException.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.service; - -/** - * Denotes a problem while resolving models inside an SCA contribution. - * - * @version $Rev$ $Date$ - */ -public class ContributionResolveException extends ContributionException { - private static final long serialVersionUID = -7459051598906813461L; - - public ContributionResolveException(String message) { - super(message); - } - - public ContributionResolveException(String message, Throwable cause) { - super(message, cause); - } - - public ContributionResolveException(Throwable cause) { - super(cause); - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionRuntimeException.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionRuntimeException.java deleted file mode 100644 index 4bf29a3993..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionRuntimeException.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.contribution.service; - -/** - * Base class for runtime exceptions raised by contribution services. - * - * @version $Rev$ $Date$ - */ -public class ContributionRuntimeException extends RuntimeException { - private static final long serialVersionUID = 7711215366287498896L; - - protected ContributionRuntimeException() { - super(); - } - - protected ContributionRuntimeException(String message) { - super(message); - } - - protected ContributionRuntimeException(String message, Throwable cause) { - super(message, cause); - } - - public ContributionRuntimeException(Throwable cause) { - super(cause); - } -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionService.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionService.java deleted file mode 100644 index dcdb8733b8..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionService.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.service; - -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; - -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.contribution.Contribution; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -/** - * Service interface that manages artifacts contributed to a Tuscany runtime. - * - * @version $Rev$ $Date$ - */ -public interface ContributionService { - /** - * Contribute an artifact to the SCA Domain. The type of the contribution is - * determined by the Content-Type of the resource or, if that is undefined, - * by some implementation-specific means (such as mapping an extension in - * the URL's path). - * - * @param contributionURI The URI that is used as the contribution unique ID. - * @param sourceURL The location of the resource containing the artifact - * @param storeInRepository Flag that identifies if you want to copy the - * contribution to the repository - * @return The contribution model representing the contribution - * @throws ContributionException if there was a problem with the contribution - * @throws IOException if there was a problem reading the resource - */ - Contribution contribute(String contributionURI, URL sourceURL, boolean storeInRepository) throws ContributionException, - IOException; - - /** - * Contribute an artifact to the SCA Domain. The type of the contribution is - * determined by the Content-Type of the resource or, if that is undefined, - * by some implementation-specific means (such as mapping an extension in - * the URL's path). - * - * @param contributionURI The URI that is used as the contribution unique ID. - * @param sourceURL The location of the resource containing the artifact - * @param modelResolver The model resolver to use to resolve models in the - * scope of this contribution - * @param storeInRepository Flag that identifies if you want to copy the - * contribution to the repository - * @return The contribution model representing the contribution - * @throws ContributionException if there was a problem with the contribution - * @throws IOException if there was a problem reading the resource - */ - Contribution contribute(String contributionURI, URL sourceURL, ModelResolver modelResolver, boolean storeInRepository) throws ContributionException, - IOException; - - /** - * Contribute an artifact to the SCA Domain. - * - * @param contributionURI The URI that is used as the contribution unique ID. - * @param sourceURL The location of the resource containing the artifact. - * This is used to identify what name should be used when storing - * the contribution on the repository - * @param contributionContent A stream containing the resource being - * contributed; the stream will not be closed but the read - * position after the call is undefined - * @return The contribution model representing the contribution - * @throws ContributionException if there was a problem with the contribution - * @throws IOException if there was a problem reading the stream - */ - Contribution contribute(String contributionURI, URL sourceURL, InputStream contributionContent) - throws ContributionException, IOException; - - /** - * Contribute an artifact to the SCA Domain. - * - * @param contributionURI The URI that is used as the contribution unique ID. - * @param sourceURL The location of the resource containing the artifact. - * This is used to identify what name should be used when storing - * the contribution on the repository - * @param modelResolver The model resolver to use to resolve models in the - * scope of this contribution - * @param contributionContent A stream containing the resource being - * contributed; the stream will not be closed but the read - * position after the call is undefined - * @return The contribution model representing the contribution - * @throws ContributionException if there was a problem with the contribution - * @throws IOException if there was a problem reading the stream - */ - Contribution contribute(String contributionURI, URL sourceURL, InputStream contributionContent, ModelResolver modelResolver) - throws ContributionException, IOException; - - /** - * Get the model for an installed contribution - * - * @param contribution The URI of an installed contribution - * @return The model for the contribution or null if there is no such - * contribution - */ - Contribution getContribution(String contribution); - - /** - * Adds or updates a deployment composite using a supplied composite - * ("composite by value" - a data structure, not an existing resource in the - * domain) to the contribution identified by a supplied contribution URI. - * The added or updated deployment composite is given a relative URI that - * matches the "name" attribute of the composite, with a ".composite" - * suffix. - * - * @param contribution The contribution to where - * @param composite - * @throws ContributionException - */ - void addDeploymentComposite(Contribution contribution, Composite composite) throws ContributionException; - - /** - * Remove a contribution from the SCA domain - * - * @param contribution The URI of the contribution - * @throws DeploymentException - */ - void remove(String contribution) throws ContributionException; -} \ No newline at end of file diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionWriteException.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionWriteException.java deleted file mode 100644 index 8bfdedf180..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionWriteException.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.service; - - -/** - * Denotes an exception while writing artifacts inside an SCA contribution. - * - * @version $Rev$ $Date$ - */ -public class ContributionWriteException extends ContributionException { - private static final long serialVersionUID = -7459051598906813461L; - private String resourceURI; - - public ContributionWriteException(String message) { - super(message); - } - - public ContributionWriteException(String message, Throwable cause) { - super(message, cause); - } - - public ContributionWriteException(Throwable cause) { - super(cause); - } - - /** - * Returns the location of the resource that was being written. - * - * @return the location of the resource that was being written - */ - public String getResourceURI() { - return resourceURI; - } - - /** - * Sets the location of the resource that was being written. - * - * @param resourceURI the location of the resource that was being written - */ - public void setResourceURI(String resourceURI) { - this.resourceURI = resourceURI; - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/DefaultContributionListenerExtensionPoint.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/DefaultContributionListenerExtensionPoint.java deleted file mode 100644 index 1ab80e344b..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/DefaultContributionListenerExtensionPoint.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.service; - -import java.io.IOException; -import java.lang.reflect.Constructor; -import java.lang.reflect.InvocationTargetException; -import java.util.List; -import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; - -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.extensibility.ServiceDeclaration; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; - -/** - * Default implementation of a contribution listener extension point. - * - * @version $Rev$ $Date$ - */ -public class DefaultContributionListenerExtensionPoint implements ContributionListenerExtensionPoint { - - private List listeners = new CopyOnWriteArrayList(); - private boolean loadedListeners; - private ModelFactoryExtensionPoint modelFactories; - - /** - * Constructs a new DefaultContributionListenerExtensionPoint. - * - */ - public DefaultContributionListenerExtensionPoint(ModelFactoryExtensionPoint modelFactories) { - this.modelFactories = modelFactories; - } - - /** - * Constructs a new DefaultContributionListenerExtensionPoint. - * - */ - public DefaultContributionListenerExtensionPoint(ExtensionPointRegistry extensionPoints) { - this.modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - } - - public void addContributionListener(ContributionListener listener) { - listeners.add(listener); - } - - public List getContributionListeners() { - loadListeners(); - return listeners; - } - - public void removeContributionListener(ContributionListener listener) { - listeners.remove(listener); - } - - /** - * Dynamically load listeners declared under META-INF/services - */ - @SuppressWarnings("unchecked") - private synchronized void loadListeners() { - if (loadedListeners) - return; - - // Get the listener service declarations - Set listenerDeclarations; - try { - listenerDeclarations = ServiceDiscovery.getInstance().getServiceDeclarations(ContributionListener.class); - } catch (IOException e) { - throw new IllegalStateException(e); - } - - // Load and instantiate the listeners - for (ServiceDeclaration listenerDeclaration: listenerDeclarations) { - ContributionListener listener; - try { - Class listenerClass = (Class)listenerDeclaration.loadClass(); - try { - Constructor constructor = listenerClass.getConstructor(ModelFactoryExtensionPoint.class); - try { - listener = constructor.newInstance(modelFactories); - } catch (InvocationTargetException e) { - throw new IllegalArgumentException(e); - } - } catch (NoSuchMethodException e) { - listener = listenerClass.newInstance(); - } - } catch (ClassNotFoundException e) { - throw new IllegalArgumentException(e); - } catch (InstantiationException e) { - throw new IllegalArgumentException(e); - } catch (IllegalAccessException e) { - throw new IllegalArgumentException(e); - } - addContributionListener(listener); - } - - loadedListeners = true; - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ExtensibleContributionListener.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ExtensibleContributionListener.java deleted file mode 100644 index fc0dc3aa99..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ExtensibleContributionListener.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.contribution.service; - -import org.apache.tuscany.sca.contribution.Contribution; - -public class ExtensibleContributionListener implements ContributionListener { - private final ContributionListenerExtensionPoint listeners; - - /** - * Default constructor receiving the listener extension point - * - * @param listeners - */ - public ExtensibleContributionListener(ContributionListenerExtensionPoint listeners) { - this.listeners = listeners; - } - - /** - * Process "contributionAdded" event to all registered listeners - */ - public void contributionAdded(ContributionRepository repository, Contribution contribution) { - for (ContributionListener listener : listeners.getContributionListeners()) { - try { - listener.contributionAdded(repository, contribution); - } catch (Exception e) { - // ignore, continue to the next listener - } - } - } - - /** - * Process "contributionRemoved" event to all registered listeners - */ - public void contributionRemoved(ContributionRepository repository, Contribution contribution) { - for (ContributionListener listener : listeners.getContributionListeners()) { - try { - listener.contributionRemoved(repository, contribution); - } catch (Exception e) { - // ignore, continue to the next listener - } - - } - } - - /** - * Process "contributionUpdated" event to all registered listeners - */ - public void contributionUpdated(ContributionRepository repository, Contribution oldContribution, Contribution contribution) { - for (ContributionListener listener : listeners.getContributionListeners()) { - try { - listener.contributionUpdated(repository, oldContribution, contribution); - } catch (Exception e) { - // ignore, continue to the next listener - } - - } - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/TypeDescriber.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/TypeDescriber.java deleted file mode 100644 index 74f303a5a5..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/TypeDescriber.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.contribution.service; - -import java.net.URL; - -/** - * Provide content type for a given resource - * - * @version $Rev$ $Date$ - */ -public interface TypeDescriber { - /** - * Get the content type for the specified resource - * - * @param resourceURL The resource URL - * @param defaultType The default content type - * @return The content type - */ - String getType(URL resourceURL, String defaultType); -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/UnrecognizedElementException.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/UnrecognizedElementException.java deleted file mode 100644 index ff21c894de..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/UnrecognizedElementException.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.contribution.service; - -import javax.xml.namespace.QName; - -/** - * Exception that indicates an element was encountered that could not be handled. - * - * @version $Rev$ $Date$ - */ -public class UnrecognizedElementException extends ContributionReadException { - private static final long serialVersionUID = 2549543622209829032L; - private final QName element; - - /** - * Constructor that indicates which element could not be handled. - * @param element the element that could not be handled - */ - public UnrecognizedElementException(QName element) { - super("Unrecognized element: " + element); - this.element = element; - } - - /** - * Returns the element that could not be handled. - * @return the element that could not be handled. - */ - public QName getElement() { - return element; - } -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/UnsupportedContentTypeException.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/UnsupportedContentTypeException.java deleted file mode 100644 index 0660d69897..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/UnsupportedContentTypeException.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.contribution.service; - -/** - * Exception thrown to indicate that a Content-Type is not supported by this SCA Domain. - * The Content-Type value supplied will be returned as the message text for this exception. - * - * FIXME Don't use as it's deprecated and replaced by UnsupportedPackageTypeException. - * - * @version $Rev$ $Date$ - */ -@Deprecated -public class UnsupportedContentTypeException extends ContributionException { - private static final long serialVersionUID = -1831797280021355672L; - - /** - * Constructs a new UnsupportedContentTypeException. - * - * @param message - */ - public UnsupportedContentTypeException(String message) { - super(message); - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/UnsupportedPackageTypeException.java b/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/UnsupportedPackageTypeException.java deleted file mode 100644 index 33c847a049..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/UnsupportedPackageTypeException.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.service; - -/** - * Exception thrown to indicate that a Content-Type is not supported by this SCA Domain. - * The Content-Type value supplied will be returned as the message text for this exception. - * - * @version $Rev$ $Date$ - */ -public class UnsupportedPackageTypeException extends ContributionException { - private static final long serialVersionUID = -1831797280021355672L; - - /** - * Constructs a new UnsupportedPackageTypeException. - * - * @param message - */ - public UnsupportedPackageTypeException(String message) { - super(message); - } - -} diff --git a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.ContributionFactory b/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.ContributionFactory deleted file mode 100644 index bcc346d9f8..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.ContributionFactory +++ /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.DefaultContributionFactory \ No newline at end of file diff --git a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint b/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint deleted file mode 100644 index 6b4d2ebdeb..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint +++ /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.DefaultModelFactoryExtensionPoint diff --git a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ContributionPostProcessorExtensionPoint b/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ContributionPostProcessorExtensionPoint deleted file mode 100644 index 9e6433ba6c..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ContributionPostProcessorExtensionPoint +++ /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.processor.DefaultContributionPostProcessorExtensionPoint diff --git a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessorExtensionPoint b/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessorExtensionPoint deleted file mode 100644 index 7609eda0d1..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.PackageProcessorExtensionPoint +++ /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.processor.DefaultPackageProcessorExtensionPoint diff --git a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint b/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint deleted file mode 100644 index 8ea5fc0a7e..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint +++ /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.processor.DefaultStAXArtifactProcessorExtensionPoint diff --git a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXAttributeProcessorExtensionPoint b/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXAttributeProcessorExtensionPoint deleted file mode 100644 index 607725bcfe..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXAttributeProcessorExtensionPoint +++ /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.processor.DefaultStAXAttributeProcessorExtensionPoint diff --git a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint b/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint deleted file mode 100644 index 9d78ca93d0..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint +++ /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.processor.DefaultURLArtifactProcessorExtensionPoint diff --git a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchemaExtensionPoint b/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchemaExtensionPoint deleted file mode 100644 index ae6e876df6..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchemaExtensionPoint +++ /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.processor.DefaultValidationSchemaExtensionPoint diff --git a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint b/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint deleted file mode 100644 index 4bb65e55e7..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint +++ /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.resolver.DefaultModelResolverExtensionPoint diff --git a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.scanner.ContributionScannerExtensionPoint b/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.scanner.ContributionScannerExtensionPoint deleted file mode 100644 index 727f8f6ce7..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.scanner.ContributionScannerExtensionPoint +++ /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.scanner.DefaultContributionScannerExtensionPoint diff --git a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListenerExtensionPoint b/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListenerExtensionPoint deleted file mode 100644 index 6e61bebf79..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.service.ContributionListenerExtensionPoint +++ /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.service.DefaultContributionListenerExtensionPoint diff --git a/java/sca/contrib/modules/contribution/src/main/resources/contribution-validation-messages.properties b/java/sca/contrib/modules/contribution/src/main/resources/contribution-validation-messages.properties deleted file mode 100644 index 4f9f85048e..0000000000 --- a/java/sca/contrib/modules/contribution/src/main/resources/contribution-validation-messages.properties +++ /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. -# -# -SchemaError = XMLSchema validation error occured in: {0} ,line = {1}, column = {2}, Message = {3} -SchemaFatalError = XMLSchema validation fatal error occured in: {0} ,line = {1}, column = {2}, Message = {3} -SchemaWarning = XMLSchema validation warning occured in: {0} ,line = {1}, column = {2}, Message = {3} -UnsupportedPackageTypeException = Unsupported contribution package type: {0} -ElementCannotBeProcessed = Element {0} cannot be processed. ({1}) -AttributeCannotBeProcessed = Attribute {0} cannot be processed. ({1}) -NoStaxProcessor = No StAX processor is configured to handle {0} -ContributionWriteException = ContributionWriteException occured due to : -ContributionReadException = ContributionReadException occured due to : -UnrecognizedElementException = Unrecognized Element : {0} -IllegalArgumentException = Invalid qname: {0} -PrivilegedActionException = PrivilegedActionException occured due to : -AttributeCannotBeProcessed = Attribute {0} cannot be processed. ({1}) - diff --git a/java/sca/contrib/modules/core-databinding/LICENSE b/java/sca/contrib/modules/core-databinding/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/core-databinding/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/java/sca/contrib/modules/core-databinding/META-INF/MANIFEST.MF b/java/sca/contrib/modules/core-databinding/META-INF/MANIFEST.MF deleted file mode 100644 index 230ab14373..0000000000 --- a/java/sca/contrib/modules/core-databinding/META-INF/MANIFEST.MF +++ /dev/null @@ -1,48 +0,0 @@ -Manifest-Version: 1.0 -Private-Package: org.apache.tuscany.sca.core.databinding.module;versio - n="2.0",org.apache.tuscany.sca.core.databinding.processor;version="1. - 4",org.apache.tuscany.sca.core.databinding.transformers;version="2.0" - ,org.apache.tuscany.sca.core.databinding.wire;version="2.0" -Tool: Bnd-0.0.255 -Bundle-Name: Apache Tuscany SCA Core/DataBinding Integration -Created-By: 1.6.0_07 (Sun Microsystems Inc.) -Bundle-Vendor: The Apache Software Foundation -Bundle-Version: 2.0 -Bnd-LastModified: 1225397235359 -Bundle-ManifestVersion: 2 -Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt -Bundle-Description: Apache Tuscany SCA Core/DataBinding Integration -Import-Package: javax.xml.bind.annotation.adapters, - javax.xml.namespace, - javax.xml.stream, - javax.xml.transform, - javax.xml.transform.stream, - org.apache.tuscany.sca.assembly;version="2.0", - org.apache.tuscany.sca.contribution.resolver;version="2.0", - org.apache.tuscany.sca.core;version="2.0", - org.apache.tuscany.sca.core.context;version="2.0", - org.apache.tuscany.sca.databinding;version="2.0", - org.apache.tuscany.sca.databinding.annotation;version="2.0", - org.apache.tuscany.sca.databinding.impl;version="2.0", - org.apache.tuscany.sca.databinding.javabeans;version="2.0.0", - org.apache.tuscany.sca.databinding.jaxb;version="2.0", - org.apache.tuscany.sca.databinding.xml;version="2.0", - org.apache.tuscany.sca.interfacedef;version="2.0", - org.apache.tuscany.sca.interfacedef.impl;version="2.0", - org.apache.tuscany.sca.interfacedef.java;version="2.0", - org.apache.tuscany.sca.interfacedef.java.introspect;version="2.0", - org.apache.tuscany.sca.interfacedef.java.jaxws;version="2.0", - org.apache.tuscany.sca.interfacedef.util;version="2.0", - org.apache.tuscany.sca.invocation;version="2.0", - org.apache.tuscany.sca.policy;version="2.0.0", - org.apache.tuscany.sca.runtime;version="2.0", - org.apache.tuscany.sca.xsd;version="2.0", - - org.oasisopen.sca;version="2.0", - org.oasisopen.sca.annotation;version="2.0", - org.w3c.dom;resolution:=optional -Bundle-SymbolicName: org.apache.tuscany.sca.core.databinding -Bundle-DocURL: http://www.apache.org/ -Export-Package: org.apache.tuscany.sca.core.databinding.processor; - version="2.0";uses:="org.w3c.dom" - diff --git a/java/sca/contrib/modules/core-databinding/NOTICE b/java/sca/contrib/modules/core-databinding/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/core-databinding/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/core-databinding/pom.xml b/java/sca/contrib/modules/core-databinding/pom.xml deleted file mode 100644 index faa6bfca9a..0000000000 --- a/java/sca/contrib/modules/core-databinding/pom.xml +++ /dev/null @@ -1,108 +0,0 @@ - - - - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - 4.0.0 - org.apache.tuscany.sca - tuscany-core-databinding - jar - Apache Tuscany SCA Core/DataBinding Integration - - - - org.apache.tuscany.sca - tuscany-databinding - ${project.version} - compile - - - - org.apache.tuscany.sca - tuscany-databinding-jaxb - ${project.version} - compile - - - - org.apache.tuscany.sca - tuscany-core - ${project.version} - compile - - - - org.apache.tuscany.sca - tuscany-core-spi - ${project.version} - compile - - - - org.apache.tuscany.sca - tuscany-interface-java-xml - ${project.version} - compile - - - - org.apache.tuscany.sca - tuscany-interface-java-jaxws - ${project.version} - compile - - - - org.codehaus.woodstox - wstx-asl - runtime - 3.2.4 - - - stax - stax-api - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.core.databinding - ${pom.name} - org.apache.tuscany.sca.core.databinding* - - - - - - - diff --git a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/module/DataBindingModuleActivator.java b/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/module/DataBindingModuleActivator.java deleted file mode 100644 index 78f4abd1f6..0000000000 --- a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/module/DataBindingModuleActivator.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.databinding.module; - -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.ModuleActivator; -import org.apache.tuscany.sca.core.databinding.processor.DataBindingJavaInterfaceProcessor; -import org.apache.tuscany.sca.core.databinding.transformers.Array2ArrayTransformer; -import org.apache.tuscany.sca.core.databinding.transformers.CallableReference2XMLStreamReader; -import org.apache.tuscany.sca.core.databinding.transformers.CallableReferenceDataBinding; -import org.apache.tuscany.sca.core.databinding.transformers.CallableReferenceXMLAdapter; -import org.apache.tuscany.sca.core.databinding.transformers.Exception2ExceptionTransformer; -import org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer; -import org.apache.tuscany.sca.core.databinding.transformers.Output2OutputTransformer; -import org.apache.tuscany.sca.core.databinding.transformers.XMLStreamReader2CallableReference; -import org.apache.tuscany.sca.core.databinding.wire.DataBindingRuntimeWireProcessor; -import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint; -import org.apache.tuscany.sca.databinding.TransformerExtensionPoint; -import org.apache.tuscany.sca.databinding.impl.Group2GroupTransformer; -import org.apache.tuscany.sca.databinding.impl.MediatorImpl; -import org.apache.tuscany.sca.databinding.jaxb.XMLAdapterExtensionPoint; -import org.apache.tuscany.sca.interfacedef.FaultExceptionMapper; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; -import org.apache.tuscany.sca.interfacedef.java.jaxws.JAXWSFaultExceptionMapper; -import org.apache.tuscany.sca.interfacedef.java.jaxws.JAXWSJavaInterfaceProcessor; -import org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint; -import org.oasisopen.sca.CallableReference; - -/** - * @version $Rev$ $Date$ - */ -public class DataBindingModuleActivator implements ModuleActivator { - - public void start(ExtensionPointRegistry registry) { - DataBindingExtensionPoint dataBindings = registry.getExtensionPoint(DataBindingExtensionPoint.class); - TransformerExtensionPoint transformers = registry.getExtensionPoint(TransformerExtensionPoint.class); - - XMLAdapterExtensionPoint xmlAdapterExtensionPoint = registry.getExtensionPoint(XMLAdapterExtensionPoint.class); - xmlAdapterExtensionPoint.addAdapter(CallableReference.class, CallableReferenceXMLAdapter.class); - FaultExceptionMapper faultExceptionMapper = new JAXWSFaultExceptionMapper(dataBindings, xmlAdapterExtensionPoint); - - MediatorImpl mediator = new MediatorImpl(dataBindings, transformers); - Input2InputTransformer input2InputTransformer = new Input2InputTransformer(); - input2InputTransformer.setMediator(mediator); - transformers.addTransformer(input2InputTransformer, true); - - Output2OutputTransformer output2OutputTransformer = new Output2OutputTransformer(); - output2OutputTransformer.setMediator(mediator); - transformers.addTransformer(output2OutputTransformer, true); - - Exception2ExceptionTransformer exception2ExceptionTransformer = new Exception2ExceptionTransformer(mediator, faultExceptionMapper); - transformers.addTransformer(exception2ExceptionTransformer, false); - - Array2ArrayTransformer array2ArrayTransformer = new Array2ArrayTransformer(); - array2ArrayTransformer.setMediator(mediator); - transformers.addTransformer(array2ArrayTransformer, true); - - Group2GroupTransformer group2GroupTransformer = new Group2GroupTransformer(); - group2GroupTransformer.setMediator(mediator); - transformers.addTransformer(group2GroupTransformer, true); - - dataBindings.addDataBinding(new CallableReferenceDataBinding()); - transformers.addTransformer(new CallableReference2XMLStreamReader(), true); - transformers.addTransformer(new XMLStreamReader2CallableReference(), false); - - ModelFactoryExtensionPoint modelFactories = registry.getExtensionPoint(ModelFactoryExtensionPoint.class); - JavaInterfaceFactory javaFactory = modelFactories.getFactory(JavaInterfaceFactory.class); - - // [rfeng] The JAX-WS processor should come before the Databinding processor to make sure @WebService - // is honored as Remoteable - javaFactory.addInterfaceVisitor(new JAXWSJavaInterfaceProcessor(dataBindings, faultExceptionMapper, xmlAdapterExtensionPoint)); - - javaFactory.addInterfaceVisitor(new DataBindingJavaInterfaceProcessor(dataBindings)); - - RuntimeWireProcessorExtensionPoint wireProcessorExtensionPoint = registry.getExtensionPoint(RuntimeWireProcessorExtensionPoint.class); - if (wireProcessorExtensionPoint != null) { - wireProcessorExtensionPoint.addWireProcessor(new DataBindingRuntimeWireProcessor(mediator, dataBindings, faultExceptionMapper)); - } - - } - - public void stop(ExtensionPointRegistry registry) { - } -} diff --git a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/processor/DataBindingJavaInterfaceProcessor.java b/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/processor/DataBindingJavaInterfaceProcessor.java deleted file mode 100644 index e182b472d4..0000000000 --- a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/processor/DataBindingJavaInterfaceProcessor.java +++ /dev/null @@ -1,210 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.databinding.processor; - -import java.lang.annotation.Annotation; -import java.lang.reflect.Method; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint; -import org.apache.tuscany.sca.databinding.WrapperHandler; -import org.apache.tuscany.sca.databinding.annotation.DataBinding; -import org.apache.tuscany.sca.databinding.javabeans.JavaBeansDataBinding; -import org.apache.tuscany.sca.databinding.javabeans.SimpleJavaDataBinding; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.interfacedef.java.JavaOperation; -import org.apache.tuscany.sca.interfacedef.java.introspect.JavaInterfaceVisitor; -import org.apache.tuscany.sca.interfacedef.util.WrapperInfo; - -/** - * The databinding annotation processor for java interfaces - * - * @version $Rev$ $Date$ - */ -public class DataBindingJavaInterfaceProcessor implements JavaInterfaceVisitor { - private static final String JAXB_DATABINDING = "javax.xml.bind.JAXBElement"; - private DataBindingExtensionPoint dataBindingRegistry; - - public DataBindingJavaInterfaceProcessor(DataBindingExtensionPoint dataBindingRegistry) { - super(); - this.dataBindingRegistry = dataBindingRegistry; - } - - public void visitInterface(JavaInterface javaInterface) throws InvalidInterfaceException { - if (!javaInterface.isRemotable()) { - return; - } - List operations = javaInterface.getOperations(); - processInterface(javaInterface, operations); - } - - private void processInterface(JavaInterface javaInterface, List operations) { - Class clazz = javaInterface.getJavaClass(); - DataBinding dataBinding = clazz.getAnnotation(DataBinding.class); - String dataBindingId = null; - boolean wrapperStyle = false; - if (dataBinding != null) { - dataBindingId = dataBinding.value(); - wrapperStyle = dataBinding.wrapped(); - } - - Map opMap = new HashMap(); - for (Operation op : javaInterface.getOperations()) { - opMap.put(op.getName(), op); - // In the case of @WebMethod, the method name can be different from the operation name - if (op instanceof JavaOperation) { - opMap.put(((JavaOperation)op).getJavaMethod().getName(), op); - } - if (dataBindingId != null) { - op.setDataBinding(dataBindingId); - op.setWrapperStyle(wrapperStyle); - } - } - for (Method method : clazz.getMethods()) { - if (method.getDeclaringClass() == Object.class) { - continue; - } - Operation operation = opMap.get(method.getName()); - if (operation == null) { // @WebMethod exclude=true - continue; - } - DataBinding methodDataBinding = clazz.getAnnotation(DataBinding.class); - if (methodDataBinding == null) { - methodDataBinding = dataBinding; - } - dataBindingId = null; - wrapperStyle = false; - if (dataBinding != null) { - dataBindingId = dataBinding.value(); - wrapperStyle = dataBinding.wrapped(); - operation.setDataBinding(dataBindingId); - operation.setWrapperStyle(wrapperStyle); - } - - // FIXME: We need a better way to identify simple java types - int i = 0; - for (org.apache.tuscany.sca.interfacedef.DataType d : operation.getInputType().getLogical()) { - if (d.getDataBinding() == null) { - d.setDataBinding(dataBindingId); - } - for (Annotation a : method.getParameterAnnotations()[i]) { - if (a.annotationType() == org.apache.tuscany.sca.databinding.annotation.DataType.class) { - String value = ((org.apache.tuscany.sca.databinding.annotation.DataType)a).value(); - d.setDataBinding(value); - } - } - dataBindingRegistry.introspectType(d, operation); - i++; - } - if (operation.getOutputType() != null) { - DataType d = operation.getOutputType(); - if (d.getDataBinding() == null) { - d.setDataBinding(dataBindingId); - } - org.apache.tuscany.sca.databinding.annotation.DataType dt = - method.getAnnotation(org.apache.tuscany.sca.databinding.annotation.DataType.class); - if (dt != null) { - d.setDataBinding(dt.value()); - } - dataBindingRegistry.introspectType(d, operation); - } - for (org.apache.tuscany.sca.interfacedef.DataType d : operation.getFaultTypes()) { - if (d.getDataBinding() == null) { - d.setDataBinding(dataBindingId); - } - // TODO: Handle exceptions - dataBindingRegistry.introspectType(d, operation); - } - - // JIRA: TUSCANY-842 - String db = operation.getDataBinding(); - if (db == null || JAXB_DATABINDING.equals(db)) { - assignOperationDataBinding(operation); - db = operation.getDataBinding(); - } - - // Introspect the wrapper data type - if (operation.getWrapper() != null) { - org.apache.tuscany.sca.databinding.DataBinding dbObj = - dataBindingRegistry.getDataBinding(db); - WrapperHandler handler = dbObj == null ? null : dbObj.getWrapperHandler(); - if (handler != null) { - WrapperInfo wrapper = operation.getWrapper(); - wrapper.setInputWrapperType(handler.getWrapperType(operation, true)); - wrapper.setOutputWrapperType(handler.getWrapperType(operation, false)); - } - if (dbObj != null && handler == null) { - // To avoid JAXB wrapper bean generation - WrapperInfo wrapper = operation.getWrapper(); - wrapper.setInputWrapperType(null); - wrapper.setOutputWrapperType(null); - } - } - } - } - - /* - * Assigns an operation DB if one of the input types, output type, fault types has a non-default DB. - * However, if two of the input types, output type, fault types have two different non-default DBs - * ( e.g. SDO and JAXB), then we do nothing to the operation DB. - * - * The method logic assumes the JavaBeans DataBinding is the default - */ - private void assignOperationDataBinding(Operation operation) { - - Set dbs = new HashSet(); - - // Can't use DataType since operation.getInputType() returns: DataType> - List opDataTypes = new LinkedList(); - - opDataTypes.addAll(operation.getInputType().getLogical()); - opDataTypes.add(operation.getOutputType()); - for (DataType ft : operation.getFaultTypes()) { - opDataTypes.add(ft.getLogical()); - } - - for (DataType d : opDataTypes) { - if (d != null) { - String dataBinding = d.getDataBinding(); - if ("java:array".equals(dataBinding)) { - dataBinding = ((DataType)d.getLogical()).getDataBinding(); - } - if (dataBinding != null) { - dbs.add(dataBinding); - } - } - } - - dbs.remove(JavaBeansDataBinding.NAME); - dbs.remove(SimpleJavaDataBinding.NAME); - - if (dbs.size() == 1) { - operation.setDataBinding(dbs.iterator().next()); - } - } -} diff --git a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/Array2ArrayTransformer.java b/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/Array2ArrayTransformer.java deleted file mode 100644 index 427e0b254a..0000000000 --- a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/Array2ArrayTransformer.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.core.databinding.transformers; - -import java.lang.reflect.Array; - -import org.apache.tuscany.sca.databinding.Mediator; -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.oasisopen.sca.annotation.Reference; - -/** - * This is a special transformer to transform the output from one IDL to the - * other one - * - * @version $Rev$ $Date$ - */ -public class Array2ArrayTransformer extends BaseTransformer implements PullTransformer { - - protected Mediator mediator; - - public Array2ArrayTransformer() { - super(); - } - - /** - * @param mediator the mediator to set - */ - @Reference - public void setMediator(Mediator mediator) { - this.mediator = mediator; - } - - @Override - public String getSourceDataBinding() { - return "java:array"; - } - - @Override - public String getTargetDataBinding() { - return "java:array"; - } - - /** - * @see org.apache.tuscany.sca.databinding.impl.BaseTransformer#getSourceType() - */ - @Override - protected Class getSourceType() { - return Object.class; - } - - /** - * @see org.apache.tuscany.sca.databinding.impl.BaseTransformer#getTargetType() - */ - @Override - protected Class getTargetType() { - return Object.class; - } - - /** - * @see org.apache.tuscany.sca.databinding.Transformer#getWeight() - */ - @Override - public int getWeight() { - return 10; - } - - @SuppressWarnings("unchecked") - public Object transform(Object array, TransformationContext context) { - try { - if (array == null) { - return null; - } - DataType sourceType = context.getSourceDataType(); - DataType targetType = context.getTargetDataType(); - int length = Array.getLength(array); - Object targetArray = Array.newInstance(targetType.getPhysical().getComponentType(), length); - for (int i = 0; i < length; i++) { - Object sourceItem = Array.get(array, i); - Object targetItem = - mediator.mediate(sourceItem, sourceType.getLogical(), targetType.getLogical(), context - .getMetadata()); - Array.set(targetArray, i, targetItem); - } - return targetArray; - } catch (Exception e) { - throw new TransformationException(e); - } - } - -} diff --git a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/CallableReference2XMLStreamReader.java b/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/CallableReference2XMLStreamReader.java deleted file mode 100644 index 1c132acbfc..0000000000 --- a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/CallableReference2XMLStreamReader.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.databinding.transformers; - -import javax.xml.stream.XMLStreamReader; - -import org.apache.tuscany.sca.core.context.CallableReferenceImpl; -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.xml.StAXHelper; -import org.oasisopen.sca.CallableReference; - -public class CallableReference2XMLStreamReader extends BaseTransformer implements - PullTransformer { - - @Override - protected Class getSourceType() { - return CallableReference.class; - } - - @Override - protected Class getTargetType() { - return XMLStreamReader.class; - } - - public XMLStreamReader transform(CallableReference source, TransformationContext context) { - try { - if (source != null) { - if (source instanceof CallableReferenceImpl) { - XMLStreamReader xmlReader = ((CallableReferenceImpl)source).getXMLReader(); - if (xmlReader != null) { - return xmlReader; - } else { - String xmlString = ((CallableReferenceImpl)source).toXMLString(); - - // remove "" processing instruction and wrap with a top-level element - return StAXHelper.createXMLStreamReader("" - + xmlString.substring(xmlString.indexOf("?>") + 2) - + ""); - } - } else { - throw new TransformationException("Unrecognized transformation source object"); - } - } else { - return null; - } - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/CallableReferenceDataBinding.java b/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/CallableReferenceDataBinding.java deleted file mode 100644 index 97e16da273..0000000000 --- a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/CallableReferenceDataBinding.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.core.databinding.transformers; - -import org.apache.tuscany.sca.databinding.XMLTypeHelper; -import org.apache.tuscany.sca.databinding.impl.BaseDataBinding; -import org.oasisopen.sca.CallableReference; - -public class CallableReferenceDataBinding extends BaseDataBinding { - - public static final String NAME = CallableReference.class.getName(); - - private CallableReferenceTypeHelper xmlTypeHelper; - - public CallableReferenceDataBinding() { - super(NAME, CallableReference.class); - this.xmlTypeHelper = new CallableReferenceTypeHelper(); - } - - @Override - public XMLTypeHelper getXMLTypeHelper() { - return xmlTypeHelper; - } - -} diff --git a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/CallableReferenceTypeHelper.java b/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/CallableReferenceTypeHelper.java deleted file mode 100644 index 97629ea7b5..0000000000 --- a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/CallableReferenceTypeHelper.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.databinding.transformers; - -import java.beans.Introspector; -import java.util.ArrayList; -import java.util.List; -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.databinding.XMLTypeHelper; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Interface; -import org.apache.tuscany.sca.interfacedef.util.JavaXMLMapper; -import org.apache.tuscany.sca.interfacedef.util.TypeInfo; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.apache.tuscany.sca.xsd.XSDFactory; -import org.apache.tuscany.sca.xsd.XSDefinition; - -/** - * - * @version $Rev$ $Date$ - */ -public class CallableReferenceTypeHelper implements XMLTypeHelper { - private static final String SCHEMA_NS = "http://www.w3.org/2001/XMLSchema"; - private static final String ANYTYPE_NAME = "anyType"; - private static final QName ANYTYPE_QNAME = new QName(SCHEMA_NS, ANYTYPE_NAME); - - public CallableReferenceTypeHelper() { - super(); - } - - public TypeInfo getTypeInfo(Class javaType, Object logical) { - QName xmlType = JavaXMLMapper.getXMLType(javaType); - if (xmlType != null) { - return new TypeInfo(xmlType, true, null); - } else if (javaType.isInterface()) { - return new TypeInfo(ANYTYPE_QNAME, true, null); - } else { - if (logical instanceof XMLType) { - xmlType = ((XMLType)logical).getTypeName(); - } - if (xmlType == null) { - xmlType = new QName(Introspector.decapitalize(javaType.getSimpleName())); - } - return new TypeInfo(xmlType, false, null); - } - } - - public List getSchemaDefinitions(XSDFactory factory, ModelResolver resolver, Interface intf) { - return new ArrayList(); - } - - public List getSchemaDefinitions(XSDFactory factory, ModelResolver resolver, List dataTypes) { - return new ArrayList(); - } - -} diff --git a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/CallableReferenceXMLAdapter.java b/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/CallableReferenceXMLAdapter.java deleted file mode 100644 index fcdefb9a2e..0000000000 --- a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/CallableReferenceXMLAdapter.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.core.databinding.transformers; - -import java.io.StringReader; -import java.io.StringWriter; - -import javax.xml.bind.annotation.adapters.XmlAdapter; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamReader; -import javax.xml.transform.Source; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.stream.StreamResult; -import javax.xml.transform.stream.StreamSource; - -import org.apache.tuscany.sca.databinding.xml.XMLStreamReader2String; -import org.oasisopen.sca.CallableReference; - -/** - * @version $Rev$ $Date$ - */ -public class CallableReferenceXMLAdapter extends XmlAdapter { - private TransformerFactory transformerFactory = TransformerFactory.newInstance(); - private XMLInputFactory inputFactory = XMLInputFactory.newInstance(); - - @Override - public CallableReference unmarshal(Source v) throws Exception { - StringWriter sw = new StringWriter(); - StreamResult result = new StreamResult(sw); - transformerFactory.newTransformer().transform(v, result); - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(sw.toString())); - XMLStreamReader2CallableReference t2 = new XMLStreamReader2CallableReference(); - return t2.transform(reader, null); - } - - @Override - public Source marshal(CallableReference v) throws Exception { - CallableReference2XMLStreamReader t = new CallableReference2XMLStreamReader(); - XMLStreamReader reader = t.transform(v, null); - XMLStreamReader2String t2 = new XMLStreamReader2String(); - String xml = t2.transform(reader, null); - return new StreamSource(new StringReader(xml)); - } -} diff --git a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/Exception2ExceptionTransformer.java b/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/Exception2ExceptionTransformer.java deleted file mode 100644 index 6e2e714bdb..0000000000 --- a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/Exception2ExceptionTransformer.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.databinding.transformers; - -import org.apache.tuscany.sca.databinding.DataBinding; -import org.apache.tuscany.sca.databinding.Mediator; -import org.apache.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.FaultExceptionMapper; - -/** - * This is a special transformer to transform the exception from one IDL to the - * other one - * - * @version $Rev$ $Date$ - */ -public class Exception2ExceptionTransformer extends BaseTransformer implements - PullTransformer { - - protected Mediator mediator; - protected FaultExceptionMapper faultExceptionMapper; - - public Exception2ExceptionTransformer(Mediator mediator, FaultExceptionMapper faultExceptionMapper) { - super(); - this.mediator = mediator; - this.faultExceptionMapper = faultExceptionMapper; - } - - public Exception2ExceptionTransformer() { - super(); - } - - @Override - public String getSourceDataBinding() { - return DataBinding.IDL_FAULT; - } - - @Override - public String getTargetDataBinding() { - return DataBinding.IDL_FAULT; - } - - /** - * @param mediator the mediator to set - */ - public void setMediator(Mediator mediator) { - this.mediator = mediator; - } - - /** - * @see org.apache.tuscany.sca.databinding.impl.BaseTransformer#getSourceType() - */ - @Override - protected Class getSourceType() { - return Throwable.class; - } - - /** - * @see org.apache.tuscany.sca.databinding.impl.BaseTransformer#getTargetType() - */ - @Override - protected Class getTargetType() { - return Throwable.class; - } - - /** - * @see org.apache.tuscany.sca.databinding.Transformer#getWeight() - */ - @Override - public int getWeight() { - return 10000; - } - - @SuppressWarnings("unchecked") - public Throwable transform(Throwable source, TransformationContext context) { - DataType sourceType = context.getSourceDataType(); - - DataType targetType = context.getTargetDataType(); - - Object sourceFaultInfo = faultExceptionMapper.getFaultInfo(source, sourceType.getLogical().getPhysical(), context.getSourceOperation()); - Object targetFaultInfo = - mediator.mediate(sourceFaultInfo, sourceType.getLogical(), targetType.getLogical(), context.getMetadata()); - - Throwable targetException = - faultExceptionMapper.wrapFaultInfo(targetType, source.getMessage(), targetFaultInfo, source.getCause(), context.getTargetOperation()); - - // FIXME - return targetException == null ? source : targetException; - - } - - public void setFaultExceptionMapper(FaultExceptionMapper faultExceptionMapper) { - this.faultExceptionMapper = faultExceptionMapper; - } -} diff --git a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/Input2InputTransformer.java b/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/Input2InputTransformer.java deleted file mode 100644 index b05f0cc238..0000000000 --- a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/Input2InputTransformer.java +++ /dev/null @@ -1,279 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.databinding.transformers; - -import java.util.List; -import java.util.logging.Logger; - -import org.apache.tuscany.sca.databinding.DataBinding; -import org.apache.tuscany.sca.databinding.Mediator; -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.WrapperHandler; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.util.ElementInfo; -import org.apache.tuscany.sca.interfacedef.util.WrapperInfo; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.oasisopen.sca.annotation.Reference; - -/** - * This is a special transformer to transform the input from one IDL to the - * other one - * - * @version $Rev$ $Date$ - */ -public class Input2InputTransformer extends BaseTransformer implements - PullTransformer { - private static final Logger logger = Logger.getLogger(Input2InputTransformer.class.getName()); - - protected Mediator mediator; - - public Input2InputTransformer() { - super(); - } - - @Override - public String getSourceDataBinding() { - return DataBinding.IDL_INPUT; - } - - @Override - public String getTargetDataBinding() { - return DataBinding.IDL_INPUT; - } - - /** - * @param mediator the mediator to set - */ - @Reference - public void setMediator(Mediator mediator) { - this.mediator = mediator; - } - - /** - * @see org.apache.tuscany.sca.databinding.impl.BaseTransformer#getSourceType() - */ - @Override - protected Class getSourceType() { - return Object[].class; - } - - /** - * @see org.apache.tuscany.sca.databinding.impl.BaseTransformer#getTargetType() - */ - @Override - protected Class getTargetType() { - return Object[].class; - } - - /** - * @see org.apache.tuscany.sca.databinding.Transformer#getWeight() - */ - @Override - public int getWeight() { - return 10000; - } - - /** - * Match the structure of the wrapper element. If it matches, then we can do - * wrapper to wrapper transformation. Otherwise, we do child to child. - * @param w1 - * @param w2 - * @return - */ - private boolean matches(WrapperInfo w1, WrapperInfo w2) { - if (w1 == null || w2 == null) { - return false; - } - if (!w1.getInputWrapperElement().equals(w2.getInputWrapperElement())) { - return false; - } - - // Compare the child elements - List list1 = w1.getInputChildElements(); - List list2 = w2.getInputChildElements(); - if (list1.size() != list2.size()) { - return false; - } - // FXIME: [rfeng] At this point, the J2W generates local elments under the namespace - // of the interface instead of "". We only compare the local parts only to work around - // the namespace mismatch - for (int i = 0; i < list1.size(); i++) { - String n1 = list1.get(i).getQName().getLocalPart(); - String n2 = list2.get(i).getQName().getLocalPart(); - if (!n1.equals(n2)) { - return false; - } - } - return true; - } - - @SuppressWarnings("unchecked") - public Object[] transform(Object[] source, TransformationContext context) { - // Check if the source operation is wrapped - DataType> sourceType = context.getSourceDataType(); - Operation sourceOp = context.getSourceOperation(); - boolean sourceWrapped = sourceOp != null && sourceOp.isWrapperStyle() && sourceOp.getWrapper() != null; - boolean sourceBare = sourceOp != null && !sourceOp.isWrapperStyle() && sourceOp.getWrapper() == null; - - // Find the wrapper handler for source data - WrapperHandler sourceWrapperHandler = null; - String sourceDataBinding = getDataBinding(sourceOp); - sourceWrapperHandler = getWrapperHandler(sourceDataBinding, sourceWrapped); - - // Check if the target operation is wrapped - DataType> targetType = context.getTargetDataType(); - Operation targetOp = (Operation)context.getTargetOperation(); - boolean targetWrapped = targetOp != null && targetOp.isWrapperStyle() && targetOp.getWrapper() != null; - boolean targetBare = targetOp != null && !targetOp.isWrapperStyle() && targetOp.getWrapper() == null; - - // Find the wrapper handler for target data - WrapperHandler targetWrapperHandler = null; - String targetDataBinding = getDataBinding(targetOp); - targetWrapperHandler = getWrapperHandler(targetDataBinding, targetWrapped); - - if ((!sourceWrapped && !sourceBare) && targetWrapped) { - // Unwrapped --> Wrapped - WrapperInfo wrapper = targetOp.getWrapper(); - // ElementInfo wrapperElement = wrapper.getInputWrapperElement(); - - // Class targetWrapperClass = wrapper != null ? wrapper.getInputWrapperClass() : null; - - if (source == null) { - // Empty child elements - Object targetWrapper = targetWrapperHandler.create(targetOp, true); - return new Object[] {targetWrapper}; - } - - // If the source can be wrapped, wrapped it first - if (sourceWrapperHandler != null) { - WrapperInfo sourceWrapperInfo = sourceOp.getWrapper(); - DataType sourceWrapperType = sourceWrapperInfo != null ? sourceWrapperInfo.getInputWrapperType() : null; - - // We only do wrapper to wrapper transformation if the source has a wrapper and both sides - // match by XML structure - if (sourceWrapperType != null && matches(sourceOp.getWrapper(), targetOp.getWrapper())) { - Class sourceWrapperClass = sourceWrapperType.getPhysical(); - - // Create the source wrapper - Object sourceWrapper = sourceWrapperHandler.create(sourceOp, true); - - // Populate the source wrapper - if (sourceWrapper != null) { - sourceWrapperHandler.setChildren(sourceWrapper, - source, - sourceOp, - true); - - // Transform the data from source wrapper to target wrapper - Object targetWrapper = - mediator.mediate(sourceWrapper, sourceWrapperType, targetType.getLogical().get(0), context - .getMetadata()); - return new Object[] {targetWrapper}; - } - } - } - // Fall back to child by child transformation - Object targetWrapper = targetWrapperHandler.create(targetOp, true); - List argTypes = wrapper.getUnwrappedInputType().getLogical(); - Object[] targetChildren = new Object[source.length]; - for (int i = 0; i < source.length; i++) { - // ElementInfo argElement = wrapper.getInputChildElements().get(i); - DataType argType = argTypes.get(i); - targetChildren[i] = - mediator.mediate(source[i], sourceType.getLogical().get(i), argType, context.getMetadata()); - } - targetWrapperHandler.setChildren(targetWrapper, - targetChildren, - targetOp, - true); - return new Object[] {targetWrapper}; - - } else if (sourceWrapped && (!targetWrapped && !targetBare)) { - // Wrapped to Unwrapped - Object sourceWrapper = source[0]; - Object[] target = null; - - // List childElements = sourceOp.getWrapper().getInputChildElements(); - if (targetWrapperHandler != null) { - // ElementInfo wrapperElement = sourceOp.getWrapper().getInputWrapperElement(); - // FIXME: This is a workaround for the wsdless support as it passes in child elements - // under the wrapper that only matches by position - if (sourceWrapperHandler.isInstance(sourceWrapper, sourceOp, true)) { - - WrapperInfo targetWrapperInfo = targetOp.getWrapper(); - DataType targetWrapperType = - targetWrapperInfo != null ? targetWrapperInfo.getInputWrapperType() : null; - if (targetWrapperType != null && matches(sourceOp.getWrapper(), targetOp.getWrapper())) { - Object targetWrapper = - mediator.mediate(sourceWrapper, sourceType.getLogical().get(0), targetWrapperType, context - .getMetadata()); - target = targetWrapperHandler.getChildren(targetWrapper, targetOp, true).toArray(); - return target; - } - } - } - Object[] sourceChildren = sourceWrapperHandler.getChildren(sourceWrapper, sourceOp, true).toArray(); - target = new Object[sourceChildren.length]; - for (int i = 0; i < sourceChildren.length; i++) { - DataType childType = sourceOp.getWrapper().getUnwrappedInputType().getLogical().get(i); - target[i] = - mediator.mediate(sourceChildren[i], childType, targetType.getLogical().get(i), context - .getMetadata()); - } - return target; - } else { - // Assuming wrapper to wrapper conversion can be handled here as well - Object[] newArgs = new Object[source.length]; - for (int i = 0; i < source.length; i++) { - Object child = - mediator.mediate(source[i], sourceType.getLogical().get(i), targetType.getLogical().get(i), context - .getMetadata()); - newArgs[i] = child; - } - return newArgs; - } - } - - private WrapperHandler getWrapperHandler(String dataBindingId, boolean required) { - WrapperHandler wrapperHandler = null; - if (dataBindingId != null) { - DataBinding dataBinding = mediator.getDataBindings().getDataBinding(dataBindingId); - wrapperHandler = dataBinding == null ? null : dataBinding.getWrapperHandler(); - } - if (wrapperHandler == null && required) { - throw new TransformationException("No wrapper handler is provided for databinding: " + dataBindingId); - } - return wrapperHandler; - } - - private String getDataBinding(Operation operation) { - WrapperInfo wrapper = operation.getWrapper(); - if (wrapper != null) { - return wrapper.getDataBinding(); - } else { - return null; - } - } - -} diff --git a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/Output2OutputTransformer.java b/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/Output2OutputTransformer.java deleted file mode 100644 index d5ba528475..0000000000 --- a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/Output2OutputTransformer.java +++ /dev/null @@ -1,257 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.databinding.transformers; - -import java.util.List; - -import org.apache.tuscany.sca.databinding.DataBinding; -import org.apache.tuscany.sca.databinding.Mediator; -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.WrapperHandler; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.util.ElementInfo; -import org.apache.tuscany.sca.interfacedef.util.WrapperInfo; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.oasisopen.sca.annotation.Reference; - -/** - * This is a special transformer to transform the output from one IDL to the - * other one - * - * @version $Rev$ $Date$ - */ -public class Output2OutputTransformer extends BaseTransformer implements - PullTransformer { - - protected Mediator mediator; - - /** - * @param wrapperHandler - */ - public Output2OutputTransformer() { - super(); - } - - /** - * @param mediator the mediator to set - */ - @Reference - public void setMediator(Mediator mediator) { - this.mediator = mediator; - } - - @Override - public String getSourceDataBinding() { - return DataBinding.IDL_OUTPUT; - } - - @Override - public String getTargetDataBinding() { - return DataBinding.IDL_OUTPUT; - } - - /** - * @see org.apache.tuscany.sca.databinding.impl.BaseTransformer#getSourceType() - */ - @Override - protected Class getSourceType() { - return Object.class; - } - - /** - * @see org.apache.tuscany.sca.databinding.impl.BaseTransformer#getTargetType() - */ - @Override - protected Class getTargetType() { - return Object.class; - } - - /** - * @see org.apache.tuscany.sca.databinding.Transformer#getWeight() - */ - @Override - public int getWeight() { - return 10; - } - - private String getDataBinding(Operation operation) { - WrapperInfo wrapper = operation.getWrapper(); - if (wrapper != null) { - return wrapper.getDataBinding(); - } else { - return null; - } - } - - private WrapperHandler getWrapperHandler(String dataBindingId, boolean required) { - WrapperHandler wrapperHandler = null; - if (dataBindingId != null) { - DataBinding dataBinding = mediator.getDataBindings().getDataBinding(dataBindingId); - wrapperHandler = dataBinding == null ? null : dataBinding.getWrapperHandler(); - } - if (wrapperHandler == null && required) { - throw new TransformationException("No wrapper handler is provided for databinding: " + dataBindingId); - } - return wrapperHandler; - } - - /** - * Match the structure of the wrapper element. If it matches, then we can do - * wrapper to wrapper transformation. Otherwise, we do child to child. - * @param w1 - * @param w2 - * @return - */ - private boolean matches(WrapperInfo w1, WrapperInfo w2) { - if (w1 == null || w2 == null) { - return false; - } - if (!w1.getOutputWrapperElement().equals(w2.getOutputWrapperElement())) { - return false; - } - - // Compare the child elements - List list1 = w1.getOutputChildElements(); - List list2 = w2.getOutputChildElements(); - if (list1.size() != list2.size()) { - return false; - } - // FXIME: [rfeng] At this point, the J2W generates local elments under the namespace - // of the interface instead of "". We only compare the local parts only to work around - // the namespace mismatch - for (int i = 0; i < list1.size(); i++) { - String n1 = list1.get(i).getQName().getLocalPart(); - String n2 = list2.get(i).getQName().getLocalPart(); - if (!n1.equals(n2)) { - return false; - } - } - return true; - } - - @SuppressWarnings("unchecked") - public Object transform(Object response, TransformationContext context) { - try { - DataType sourceType = context.getSourceDataType(); - Operation sourceOp = context.getSourceOperation(); - boolean sourceWrapped = sourceOp != null && sourceOp.isWrapperStyle() && sourceOp.getWrapper() != null; - boolean sourceBare = sourceOp != null && !sourceOp.isWrapperStyle() && sourceOp.getWrapper() == null; - - WrapperHandler sourceWrapperHandler = null; - String sourceDataBinding = getDataBinding(sourceOp); - sourceWrapperHandler = getWrapperHandler(sourceDataBinding, sourceWrapped); - - DataType targetType = context.getTargetDataType(); - Operation targetOp = (Operation)context.getTargetOperation(); - boolean targetWrapped = targetOp != null && targetOp.isWrapperStyle() && targetOp.getWrapper() != null; - boolean targetBare = targetOp != null && !targetOp.isWrapperStyle() && targetOp.getWrapper() == null; - - WrapperHandler targetWrapperHandler = null; - String targetDataBinding = getDataBinding(targetOp); - targetWrapperHandler = getWrapperHandler(targetDataBinding, targetWrapped); - - if ((!sourceWrapped &&!sourceBare) && targetWrapped) { - // Unwrapped --> Wrapped - WrapperInfo wrapper = targetOp.getWrapper(); - ElementInfo wrapperElement = wrapper.getOutputWrapperElement(); - List childElements = wrapper.getOutputChildElements(); - Class targetWrapperClass = wrapper != null ? wrapper.getOutputWrapperClass() : null; - - // If the source can be wrapped, wrapped it first - if (sourceWrapperHandler != null) { - WrapperInfo sourceWrapperInfo = sourceOp.getWrapper(); - DataType sourceWrapperType = - sourceWrapperInfo != null ? sourceWrapperInfo.getOutputWrapperType() : null; - - if (sourceWrapperType != null && matches(sourceOp.getWrapper(), targetOp.getWrapper())) { - Class sourceWrapperClass = sourceWrapperType.getPhysical(); - - Object sourceWrapper = sourceWrapperHandler.create(sourceOp, false); - if (sourceWrapper != null) { - if (!childElements.isEmpty()) { - // Set the return value - sourceWrapperHandler.setChildren(sourceWrapper, - new Object[] {response}, - sourceOp, - false); - } - Object targetWrapper = - mediator.mediate(sourceWrapper, sourceWrapperType, targetType.getLogical(), context - .getMetadata()); - return targetWrapper; - } - } - } - Object targetWrapper = targetWrapperHandler.create(targetOp, false); - - if (childElements.isEmpty()) { - // void output - return targetWrapper; - } - - DataType argType = wrapper.getUnwrappedOutputType(); - Object child = response; - child = mediator.mediate(response, sourceType.getLogical(), argType, context.getMetadata()); - targetWrapperHandler.setChildren(targetWrapper, new Object[] {child}, targetOp, false); - return targetWrapper; - } else if (sourceWrapped && (!targetWrapped && !targetBare)) { - // Wrapped to Unwrapped - Object sourceWrapper = response; - List childElements = sourceOp.getWrapper().getOutputChildElements(); - if (childElements.isEmpty()) { - // The void output - return null; - } - if (targetWrapperHandler != null) { - ElementInfo wrapperElement = sourceOp.getWrapper().getOutputWrapperElement(); - - // FIXME: This is a workaround for the wsdless support as it passes in child elements - // under the wrapper that only matches by position - if (sourceWrapperHandler.isInstance(sourceWrapper, sourceOp, false)) { - - WrapperInfo targetWrapperInfo = targetOp.getWrapper(); - DataType targetWrapperType = - targetWrapperInfo != null ? targetWrapperInfo.getOutputWrapperType() : null; - - if (targetWrapperType != null && matches(sourceOp.getWrapper(), targetOp.getWrapper())) { - Object targetWrapper = - mediator.mediate(sourceWrapper, sourceType.getLogical(), targetWrapperType, context - .getMetadata()); - return targetWrapperHandler.getChildren(targetWrapper, targetOp, false).get(0); - } - } - } - Object child = sourceWrapperHandler.getChildren(sourceWrapper, sourceOp, false).get(0); - DataType childType = sourceOp.getWrapper().getUnwrappedOutputType(); - return mediator.mediate(child, childType, targetType.getLogical(), context.getMetadata()); - } else { - // FIXME: Do we want to handle wrapped to wrapped? - return mediator.mediate(response, sourceType.getLogical(), targetType.getLogical(), context - .getMetadata()); - } - } catch (Exception e) { - throw new TransformationException(e); - } - } - -} diff --git a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/XMLStreamReader2CallableReference.java b/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/XMLStreamReader2CallableReference.java deleted file mode 100644 index a8e3004c62..0000000000 --- a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/transformers/XMLStreamReader2CallableReference.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.core.databinding.transformers; - -import static javax.xml.stream.XMLStreamConstants.START_ELEMENT; - -import java.lang.reflect.Constructor; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -import org.apache.tuscany.sca.core.context.CallableReferenceImpl; -import org.apache.tuscany.sca.core.context.ServiceReferenceImpl; -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.oasisopen.sca.CallableReference; - -@SuppressWarnings("unchecked") -public class XMLStreamReader2CallableReference extends BaseTransformer - implements PullTransformer { - - private static final String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0"; - private static final String COMPOSITE = "composite"; - public static final QName COMPOSITE_QNAME = new QName(SCA10_NS, COMPOSITE); - - public CallableReference transform(XMLStreamReader source, TransformationContext context) { - try { - if (source != null) { - skipTopLevelElement(source); - Class refType = context.getTargetDataType().getPhysical(); - Class implType; - if (refType.isAssignableFrom(CallableReferenceImpl.class)) { - implType = CallableReferenceImpl.class; - } else if (refType.isAssignableFrom(ServiceReferenceImpl.class)) { - implType = ServiceReferenceImpl.class; - } else { - throw new TransformationException("Unrecognized transformation target type"); - } - Constructor constructor = implType.getConstructor(new Class[] {XMLStreamReader.class}); - return (CallableReference)constructor.newInstance(new Object[] {source}); - } else { - return null; - } - } catch (Exception e) { - throw new TransformationException(e); - } - } - - /* - * Step over top-level element added by CallableReference2XMLStreamReader - */ - private void skipTopLevelElement(XMLStreamReader source) throws XMLStreamException { - while (source.hasNext()) { - int event = source.getEventType(); - if (event == START_ELEMENT) { - QName name = source.getName(); - if (COMPOSITE_QNAME.equals(name)) { - return; - } - } - source.next(); - } - throw new TransformationException(" element not found"); - } - - @Override - protected Class getSourceType() { - return XMLStreamReader.class; - } - - @Override - protected Class getTargetType() { - return CallableReference.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/DataBindingRuntimeWireProcessor.java b/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/DataBindingRuntimeWireProcessor.java deleted file mode 100644 index b41c7fb012..0000000000 --- a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/DataBindingRuntimeWireProcessor.java +++ /dev/null @@ -1,195 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.databinding.wire; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint; -import org.apache.tuscany.sca.databinding.Mediator; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.FaultExceptionMapper; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -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.Phase; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.apache.tuscany.sca.runtime.RuntimeWireProcessor; - -/** - * This processor is responsible to add an interceptor to invocation chain if - * the source and target operations have different databinding requirements - * - * @version $Rev$ $Date$ - */ -public class DataBindingRuntimeWireProcessor implements RuntimeWireProcessor { - private Mediator mediator; - private DataBindingExtensionPoint dataBindings; - private FaultExceptionMapper faultExceptionMapper; - - public DataBindingRuntimeWireProcessor(Mediator mediator, - DataBindingExtensionPoint dataBindings, - FaultExceptionMapper faultExceptionMapper) { - super(); - this.mediator = mediator; - this.dataBindings = dataBindings; - this.faultExceptionMapper = faultExceptionMapper; - } - - public boolean isTransformationRequired(DataType source, DataType target) { - if (source == null || target == null) { // void return type - return false; - } - if (source == target) { - return false; - } - - // Output type can be null - if (source == null && target == null) { - return false; - } else if (source == null || target == null) { - return true; - } - String sourceDataBinding = source.getDataBinding(); - String targetDataBinding = target.getDataBinding(); - if (sourceDataBinding == targetDataBinding) { - return false; - } - if (sourceDataBinding == null || targetDataBinding == null) { - // TODO: If any of the databinding is null, then no transformation - return false; - } - return !sourceDataBinding.equals(targetDataBinding); - } - - public boolean isTransformationRequired(Operation source, Operation target) { - if (source == target) { - return false; - } - - if (source.isWrapperStyle() != target.isWrapperStyle()) { - return true; - } - - // Check output type - DataType sourceOutputType = source.getOutputType(); - DataType targetOutputType = target.getOutputType(); - - // Note the target output type is now the source for checking - // compatibility - if (isTransformationRequired(targetOutputType, sourceOutputType)) { - return true; - } - - List sourceInputType = source.getInputType().getLogical(); - List targetInputType = target.getInputType().getLogical(); - - int size = sourceInputType.size(); - if (size != targetInputType.size()) { - // TUSCANY-1682: The wrapper style may have different arguments - return true; - } - for (int i = 0; i < size; i++) { - if (isTransformationRequired(sourceInputType.get(i), targetInputType.get(i))) { - return true; - } - } - - return false; - } - - private boolean isTransformationRequired(InterfaceContract sourceContract, - Operation sourceOperation, - InterfaceContract targetContract, - Operation targetOperation) { - if (targetContract == null) { - targetContract = sourceContract; - } - if (sourceContract == targetContract) { - return false; - } - return isTransformationRequired(sourceOperation, targetOperation); - } - - public void process(RuntimeWire wire) { - InterfaceContract sourceContract = wire.getSource().getInterfaceContract(); - InterfaceContract targetContract = wire.getTarget().getInterfaceContract(); - if (targetContract == null) { - targetContract = sourceContract; - } - - if (!sourceContract.getInterface().isRemotable()) { - return; - } - List chains = wire.getInvocationChains(); - for (InvocationChain chain : chains) { - Operation sourceOperation = chain.getSourceOperation(); - Operation targetOperation = chain.getTargetOperation(); - - Interceptor interceptor = null; - if (isTransformationRequired(sourceContract, sourceOperation, targetContract, targetOperation)) { - // Add the interceptor to the source side because multiple - // references can be wired to the same service - interceptor = - new DataTransformationInterceptor(wire, sourceOperation, targetOperation, mediator, - faultExceptionMapper); - } else { - // assume pass-by-values copies are required if interfaces are remotable and there is no data binding - // transformation, i.e. a transformation will result in a copy so another pass-by-value copy is unnecessary - if (!isOnMessage(targetOperation) && isRemotable(chain, sourceOperation, targetOperation)) { - interceptor = - new PassByValueInterceptor(dataBindings, faultExceptionMapper, chain, targetOperation); - } - } - if (interceptor != null) { - String phase = - (wire.getSource().getContract() instanceof ComponentReference) ? Phase.REFERENCE_INTERFACE - : Phase.SERVICE_INTERFACE; - chain.addInterceptor(phase, interceptor); - } - } - - } - - /** - * FIXME: TUSCANY-2586, temporary work around till the JIRA is fixed to prevent - * the PassByValueInterceptor being used for services when the binding protocol - * doesn't need the copies done. - */ - protected boolean isOnMessage(Operation op) { - return "onMessage".equals(op.getName()); - } - - /** - * Pass-by-value copies are required if the interfaces are remotable unless the - * implementation uses the @AllowsPassByReference annotation. - */ - protected boolean isRemotable(InvocationChain chain, Operation sourceOperation, Operation targetOperation) { - if (!sourceOperation.getInterface().isRemotable()) { - return false; - } - if (!targetOperation.getInterface().isRemotable()) { - return false; - } - return true; - } - -} diff --git a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/DataTransformationInterceptor.java b/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/DataTransformationInterceptor.java deleted file mode 100644 index 20dcb1b94a..0000000000 --- a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/DataTransformationInterceptor.java +++ /dev/null @@ -1,264 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.databinding.wire; - -import java.lang.reflect.InvocationTargetException; -import java.util.HashMap; -import java.util.Map; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.databinding.DataBinding; -import org.apache.tuscany.sca.databinding.Mediator; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.FaultExceptionMapper; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl; -import org.apache.tuscany.sca.interfacedef.util.FaultException; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.apache.tuscany.sca.invocation.DataExchangeSemantics; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * An interceptor to transform data across databindings on the wire - * - * @version $Rev$ $Date$ - */ -public class DataTransformationInterceptor implements Interceptor, DataExchangeSemantics { - private Invoker next; - - private Operation sourceOperation; - - private Operation targetOperation; - private RuntimeWire wire; - private Mediator mediator; - private FaultExceptionMapper faultExceptionMapper; - - public DataTransformationInterceptor(RuntimeWire wire, - Operation sourceOperation, - Operation targetOperation, - Mediator mediator, - FaultExceptionMapper faultExceptionMapper) { - super(); - this.sourceOperation = sourceOperation; - this.targetOperation = targetOperation; - this.mediator = mediator; - this.wire = wire; - this.faultExceptionMapper = faultExceptionMapper; - } - - public Invoker getNext() { - return next; - } - - public Message invoke(Message msg) { - Object input = transform(msg.getBody(), sourceOperation.getInputType(), targetOperation.getInputType(), false); - msg.setBody(input); - Message resultMsg = next.invoke(msg); - Object result = resultMsg.getBody(); - if (sourceOperation.isNonBlocking()) { - // Not to reset the message body - return resultMsg; - } - - // FIXME: Should we fix the Operation model so that getOutputType - // returns DataType>? - DataType targetType = - new DataTypeImpl(DataBinding.IDL_OUTPUT, Object.class, targetOperation.getOutputType()); - - DataType sourceType = - new DataTypeImpl(DataBinding.IDL_OUTPUT, Object.class, sourceOperation.getOutputType()); - - if (resultMsg.isFault()) { - - // FIXME: We need to figure out what fault type it is and then - // transform it - // back the source fault type - // throw new InvocationRuntimeException((Throwable) result); - - if ((result instanceof Exception) && !(result instanceof RuntimeException)) { - // FIXME: How to match fault data to a fault type for the - // operation? - - // If the result is from an InvocationTargetException look at - // the actual cause. - if (result instanceof InvocationTargetException) { - result = ((InvocationTargetException)result).getCause(); - } - DataType targetDataType = null; - for (DataType exType : targetOperation.getFaultTypes()) { - if (((Class)exType.getPhysical()).isInstance(result)) { - if (result instanceof FaultException) { - DataType faultType = (DataType)exType.getLogical(); - if (((FaultException)result).isMatchingType(faultType.getLogical())) { - targetDataType = exType; - break; - } - } else { - targetDataType = exType; - break; - } - } - } - - /* - if (targetDataType == null) { - // Not a business exception - return resultMsg; - } - */ - - DataType targetFaultType = getFaultType(targetDataType); - if (targetFaultType == null) { - // No matching fault type, it's a system exception - Throwable cause = (Throwable) result; - throw new ServiceRuntimeException(cause); - } - - // FIXME: How to match a source fault type to a target fault - // type? - DataType sourceDataType = null; - DataType sourceFaultType = null; - for (DataType exType : sourceOperation.getFaultTypes()) { - DataType faultType = getFaultType(exType); - // Match by the QName (XSD element) of the fault type - if (faultType != null && typesMatch(targetFaultType.getLogical(), faultType.getLogical())) { - sourceDataType = exType; - sourceFaultType = faultType; - break; - } - } - - if (sourceFaultType == null) { - // No matching fault type, it's a system exception - Throwable cause = (Throwable) result; - throw new ServiceRuntimeException(cause); - } - - Object newResult = - transformException(result, targetDataType, sourceDataType, targetFaultType, sourceFaultType); - if (newResult != result) { - resultMsg.setFaultBody(newResult); - } - } - - } else { - assert !(result instanceof Throwable) : "Expected messages that are not throwable " + result; - - Object newResult = transform(result, targetType, sourceType, true); - if (newResult != result) { - resultMsg.setBody(newResult); - } - } - - return resultMsg; - } - - private Object transform(Object source, DataType sourceType, DataType targetType, boolean isResponse) { - if (sourceType == targetType || (sourceType != null && sourceType.equals(targetType))) { - return source; - } - Map metadata = new HashMap(); - metadata.put("source.operation", isResponse ? targetOperation : sourceOperation); - metadata.put("target.operation", isResponse ? sourceOperation : targetOperation); - metadata.put("wire", wire); - return mediator.mediate(source, sourceType, targetType, metadata); - } - - private DataType getFaultType(DataType exceptionType) { - return exceptionType == null ? null : (DataType)exceptionType.getLogical(); - } - - private boolean typesMatch(Object first, Object second) { - if (first.equals(second)) { - return true; - } - if (first instanceof XMLType && second instanceof XMLType) { - XMLType t1 = (XMLType)first; - XMLType t2 = (XMLType)second; - // TUSCANY-2113, we should compare element names only - return matches(t1.getElementName(), t2.getElementName()); - } - return false; - } - - /** - * @param qn1 - * @param qn2 - */ - private boolean matches(QName qn1, QName qn2) { - if (qn1 == qn2) { - return true; - } - if (qn1 == null || qn2 == null) { - return false; - } - String ns1 = qn1.getNamespaceURI(); - String ns2 = qn2.getNamespaceURI(); - String e1 = qn1.getLocalPart(); - String e2 = qn2.getLocalPart(); - if (e1.equals(e2) && (ns1.equals(ns2) || ns1.equals(ns2 + "/") || ns2.equals(ns1 + "/"))) { - // Tolerating the trailing / which is required by JAX-WS java package --> xml ns mapping - return true; - } - return false; - } - - /** - * @param source The source exception - * @param sourceExType The data type for the source exception - * @param targetExType The data type for the target exception - * @param sourceType The fault type for the source - * @param targetType The fault type for the target - * @return - */ - private Object transformException(Object source, - DataType sourceExType, - DataType targetExType, - DataType sourceType, - DataType targetType) { - if (sourceType == targetType || (sourceType != null && sourceType.equals(targetType))) { - return source; - } - Map metadata = new HashMap(); - metadata.put("source.operation", targetOperation); - metadata.put("target.operation", sourceOperation); - metadata.put("wire", wire); - DataType eSourceDataType = - new DataTypeImpl("idl:fault", sourceExType.getPhysical(), sourceType); - DataType eTargetDataType = - new DataTypeImpl("idl:fault", targetExType.getPhysical(), targetType); - - return mediator.mediate(source, eSourceDataType, eTargetDataType, metadata); - } - - public void setNext(Invoker next) { - this.next = next; - } - - public boolean allowsPassByReference() { - return true; - } - -} diff --git a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/PassByValueInterceptor.java b/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/PassByValueInterceptor.java deleted file mode 100644 index 1ff8d86f45..0000000000 --- a/java/sca/contrib/modules/core-databinding/src/main/java/org/apache/tuscany/sca/core/databinding/wire/PassByValueInterceptor.java +++ /dev/null @@ -1,268 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.databinding.wire; - -import java.io.Serializable; -import java.lang.reflect.Array; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.net.URI; -import java.util.IdentityHashMap; -import java.util.List; -import java.util.Map; -import java.util.UUID; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.databinding.DataBinding; -import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint; -import org.apache.tuscany.sca.databinding.javabeans.JavaBeansDataBinding; -import org.apache.tuscany.sca.databinding.jaxb.JAXBDataBinding; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.FaultExceptionMapper; -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.Interceptor; -import org.apache.tuscany.sca.invocation.InvocationChain; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * Implementation of an interceptor that enforces pass-by-value semantics - * on operation invocations by copying the operation input and output data. - * - * @version $Rev$ $Date$ - */ -public class PassByValueInterceptor implements Interceptor { - - private DataBindingExtensionPoint dataBindings; - private FaultExceptionMapper faultExceptionMapper; - - private DataBinding[] inputDataBindings; - private DataBinding outputDataBinding; - private DataBinding javaBeanDataBinding; - private DataBinding jaxbDataBinding; - private Operation operation; - private Invoker nextInvoker; - private InvocationChain chain; - - /** - * Constructs a new PassByValueInterceptor. - * @param dataBindings databinding extension point - * @param operation the intercepted operation - */ - public PassByValueInterceptor(DataBindingExtensionPoint dataBindings, - FaultExceptionMapper faultExceptionMapper, - InvocationChain chain, - Operation operation) { - this.chain = chain; - this.operation = operation; - - // Cache data bindings to use - this.dataBindings = dataBindings; - this.faultExceptionMapper = faultExceptionMapper; - - jaxbDataBinding = dataBindings.getDataBinding(JAXBDataBinding.NAME); - javaBeanDataBinding = dataBindings.getDataBinding(JavaBeansDataBinding.NAME); - - // Determine the input databindings - if (operation.getInputType() != null) { - List inputTypes = operation.getInputType().getLogical(); - inputDataBindings = new DataBinding[inputTypes.size()]; - int i = 0; - for (DataType inputType : inputTypes) { - String id = inputType.getDataBinding(); - inputDataBindings[i++] = dataBindings.getDataBinding(id); - } - } - - // Determine the output databinding - if (operation.getOutputType() != null) { - String id = operation.getOutputType().getDataBinding(); - outputDataBinding = dataBindings.getDataBinding(id); - } - } - - public Message invoke(Message msg) { - if (chain.allowsPassByReference()) { - return nextInvoker.invoke(msg); - } - - msg.setBody(copy((Object[])msg.getBody(), inputDataBindings, operation.getInputType().getLogical())); - - Message resultMsg = nextInvoker.invoke(msg); - - if (!msg.isFault() && operation.getOutputType() != null) { - resultMsg.setBody(copy(resultMsg.getBody(), outputDataBinding, operation.getOutputType())); - } - - if (msg.isFault()) { - msg.setFaultBody(copyFault(msg.getBody())); - } - return resultMsg; - } - - private Object copyFault(Object fault) { - if (faultExceptionMapper == null) { - return fault; - } - for (DataType et : operation.getFaultTypes()) { - if (et.getPhysical().isInstance(fault)) { - Throwable ex = (Throwable)fault; - DataType exType = - new DataTypeImpl(ex.getClass(), new DataTypeImpl(ex.getClass(), XMLType.UNKNOWN)); - faultExceptionMapper.introspectFaultDataType(exType, operation, false); - DataType faultType = exType.getLogical(); - Object faultInfo = faultExceptionMapper.getFaultInfo(ex, faultType.getPhysical(), operation); - faultInfo = copy(faultInfo, dataBindings.getDataBinding(faultType.getDataBinding()), faultType); - fault = faultExceptionMapper.wrapFaultInfo(exType, ex.getMessage(), faultInfo, ex.getCause(), operation); - return fault; - } - } - return fault; - } - - /** - * Copy an array of data objects passed to an operation - * @param data array of objects to copy - * @return the copy - */ - private Object[] copy(Object[] data, DataBinding[] dataBindings, List dataTypes) { - if (data == null) { - return null; - } - Object[] copy = new Object[data.length]; - Map map = new IdentityHashMap(); - for (int i = 0; i < data.length; i++) { - Object arg = data[i]; - if (arg == null) { - copy[i] = null; - } else { - Object copiedArg = map.get(arg); - if (copiedArg != null) { - copy[i] = copiedArg; - } else { - copiedArg = copy(arg, dataBindings[i], dataTypes.get(i)); - map.put(arg, copiedArg); - copy[i] = copiedArg; - } - } - } - return copy; - } - - /** - * Copy data using the specified databinding. - * @param data input data - * @param dataBinding databinding to use - * @param dataType TODO - * @return a copy of the data - */ - private Object copy(Object data, DataBinding dataBinding, DataType dataType) { - if (data == null) { - return null; - } - Class clazz = data.getClass(); - if (String.class == clazz || clazz.isPrimitive() - || Number.class.isAssignableFrom(clazz) - || Boolean.class.isAssignableFrom(clazz) - || Character.class.isAssignableFrom(clazz) - || Byte.class.isAssignableFrom(clazz) - || URI.class == clazz - || UUID.class == clazz - || QName.class == clazz) { - // Immutable classes - return data; - } - // If no databinding was specified, introspect the given arg to - // determine its databinding - if (dataBinding == null) { - dataType = dataBindings.introspectType(data, operation); - if (dataType != null) { - String db = dataType.getDataBinding(); - dataBinding = dataBindings.getDataBinding(db); - if (dataBinding == null && db != null) { - return data; - } - } - if (dataBinding == null) { - - // Default to the JavaBean databinding - dataBinding = javaBeanDataBinding; - } - } - - // Use the JAXB databinding to copy non-Serializable data - if (dataBinding == javaBeanDataBinding) { - - // If the input data is an array containing non Serializable elements - // use JAXB - clazz = data.getClass(); - if (clazz.isArray()) { - if (Array.getLength(data) != 0) { - Object element = Array.get(data, 0); - if (element != null && !(element instanceof Serializable)) { - dataBinding = jaxbDataBinding; - } - } - } else { - - // If the input data is not Serializable use JAXB - if (!(data instanceof Serializable)) { - dataBinding = jaxbDataBinding; - } - - if (data instanceof Cloneable) { - Method clone; - try { - clone = data.getClass().getMethod("clone", (Class[])null); - try { - return clone.invoke(data, (Object[])null); - } catch (InvocationTargetException e) { - if (e.getTargetException() instanceof CloneNotSupportedException) { - // Ignore - } else { - throw new ServiceRuntimeException(e); - } - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - } catch (NoSuchMethodException e) { - // Ignore it - } - } - } - } - - Object copy = dataBinding.copy(data, dataType, operation); - return copy; - } - - public Invoker getNext() { - return nextInvoker; - } - - public void setNext(Invoker next) { - this.nextInvoker = next; - } - -} diff --git a/java/sca/contrib/modules/core-databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator b/java/sca/contrib/modules/core-databinding/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.ModuleActivator deleted file mode 100644 index baba638c9b..0000000000 --- a/java/sca/contrib/modules/core-databinding/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.core.databinding.module.DataBindingModuleActivator diff --git a/java/sca/contrib/modules/core-databinding/src/test/java/org/apache/tuscany/sca/core/databinding/processor/DataBindingJavaInterfaceProcessorTestCase.java b/java/sca/contrib/modules/core-databinding/src/test/java/org/apache/tuscany/sca/core/databinding/processor/DataBindingJavaInterfaceProcessorTestCase.java deleted file mode 100644 index 3c1e48b1fc..0000000000 --- a/java/sca/contrib/modules/core-databinding/src/test/java/org/apache/tuscany/sca/core/databinding/processor/DataBindingJavaInterfaceProcessorTestCase.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.core.databinding.processor; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint; -import org.apache.tuscany.sca.databinding.DefaultDataBindingExtensionPoint; -import org.apache.tuscany.sca.databinding.annotation.DataBinding; -import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.impl.OperationImpl; -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.oasisopen.sca.annotation.Remotable; -import org.w3c.dom.Node; - -/** - * - * @version $Rev$ $Date$ - */ -public class DataBindingJavaInterfaceProcessorTestCase extends TestCase { - - /** - * @see junit.framework.TestCase#setUp() - */ - @Override - protected void setUp() throws Exception { - } - - /** - * @throws InvalidServiceContractException - */ - public final void testVisitInterface() throws InvalidInterfaceException { - DataBindingExtensionPoint registry = new DefaultDataBindingExtensionPoint(); - DataBindingJavaInterfaceProcessor processor = new DataBindingJavaInterfaceProcessor(registry); - JavaInterfaceFactory javaFactory = new DefaultJavaInterfaceFactory(); - - JavaInterface contract = javaFactory.createJavaInterface(); - contract.setJavaClass(MockInterface.class); - JavaInterfaceContract interfaceContract = javaFactory.createJavaInterfaceContract(); - interfaceContract.setInterface(contract); - Operation operation = newOperation("call"); - Operation operation1 = newOperation("call1"); - contract.getOperations().add(operation); - contract.getOperations().add(operation1); - contract.setRemotable(true); - processor.visitInterface(contract); - // Assert.assertEquals("org.w3c.dom.Node", contract.getDataBinding()); - // Assert.assertEquals("org.w3c.dom.Node", - // contract.getOperations().get("call").getDataBinding()); - // Assert.assertEquals("xml:string", - // contract.getOperations().get("call1").getDataBinding()); - } - - @DataBinding("org.w3c.dom.Node") - @Remotable - public static interface MockInterface { - Node call(Node msg); - - @DataBinding("xml:string") - String call1(String msg); - } - - private static Operation newOperation(String name) { - Operation operation = new OperationImpl(); - operation.setName(name); - return operation; - } -} diff --git a/java/sca/contrib/modules/core-databinding/src/test/java/org/apache/tuscany/sca/core/databinding/transformers/IDLTransformerTestCaseFIXME.java b/java/sca/contrib/modules/core-databinding/src/test/java/org/apache/tuscany/sca/core/databinding/transformers/IDLTransformerTestCaseFIXME.java deleted file mode 100644 index 7d49fb7112..0000000000 --- a/java/sca/contrib/modules/core-databinding/src/test/java/org/apache/tuscany/sca/core/databinding/transformers/IDLTransformerTestCaseFIXME.java +++ /dev/null @@ -1,229 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.databinding.transformers; - -//import static org.apache.tuscany.spi.databinding.DataBinding.IDL_INPUT; -//import static org.apache.tuscany.spi.databinding.DataBinding.IDL_OUTPUT; -// -//import java.util.ArrayList; -//import java.util.List; -// -//import javax.xml.namespace.QName; - -import junit.framework.TestCase; - -//import org.apache.tuscany.databinding.impl.DataBindingRegistryImpl; -//import org.apache.tuscany.databinding.impl.MediatorImpl; -//import org.apache.tuscany.databinding.impl.TransformationContextImpl; -//import org.apache.tuscany.databinding.impl.TransformerRegistryImpl; -//import org.apache.tuscany.databinding.javabeans.DOMNode2JavaBeanTransformer; -//import org.apache.tuscany.databinding.javabeans.JavaBean2DOMNodeTransformer; -//import org.apache.tuscany.databinding.xml.DOMDataBinding; -//import org.apache.tuscany.databinding.xml.Node2String; -//import org.apache.tuscany.databinding.xml.String2Node; -//import org.apache.tuscany.interfacedef.DataType; -//import org.apache.tuscany.interfacedef.Operation; -//import org.apache.tuscany.interfacedef.impl.DataTypeImpl; -//import org.apache.tuscany.interfacedef.impl.OperationImpl; -//import org.apache.tuscany.interfacedef.util.ElementInfo; -//import org.apache.tuscany.interfacedef.util.TypeInfo; -//import org.apache.tuscany.interfacedef.util.WrapperInfo; -//import org.apache.tuscany.interfacedef.util.XMLType; -//import org.apache.tuscany.spi.databinding.DataBindingRegistry; -//import org.apache.tuscany.spi.databinding.TransformationContext; -//import org.apache.tuscany.spi.databinding.extension.DOMHelper; -//import org.apache.tuscany.spi.databinding.extension.SimpleTypeMapperExtension; -//import org.w3c.dom.Document; -//import org.w3c.dom.Element; - -public class IDLTransformerTestCaseFIXME extends TestCase { -// private static final String IPO_XML = "" + "" -// + " " -// + " Helen Zoe" -// + " 47 Eden Street" -// + " Cambridge" -// + " CB1 1JR" -// + " " -// + " " -// + " Robert Smith" -// + " 8 Oak Avenue" -// + " Old Town" -// + " PA" -// + " 95819" -// + " " -// + " " -// + " " -// + " Lapis necklace" -// + " 1" -// + " 99.95" -// + " Want this for the holidays" -// + " 1999-12-05" -// + " " -// + " " -// + ""; -// -// private static final String URI_ORDER_XSD = "http://example.com/order.xsd"; -// -// /** -// * @see junit.framework.TestCase#setUp() -// */ -// protected void setUp() throws Exception { -// super.setUp(); -// } -// -// public void testTransform() throws Exception { -// List types0 = new ArrayList(); -// DataType wrapperType = new DataTypeImpl(null, Object.class, -// new XMLType(new QName(URI_ORDER_XSD, -// "checkOrderStatus"), null)); -// types0.add(wrapperType); -// DataType> inputType0 = new DataTypeImpl>(IDL_INPUT, -// Object[].class, types0); -// -// List types1 = new ArrayList(); -// DataType customerIdType = new DataTypeImpl( -// null, -// Object.class, -// new XMLType( -// new QName(URI_ORDER_XSD, "customerId"), -// null)); -// DataType orderType = new DataTypeImpl(null, Object.class, -// new XMLType(new QName(URI_ORDER_XSD, "order"), null)); -// DataType flagType = new DataTypeImpl(null, Object.class, new XMLType(new QName(URI_ORDER_XSD, -// "flag"), null)); -// types1.add(customerIdType); -// types1.add(orderType); -// types1.add(flagType); -// -// DataType statusType = new DataTypeImpl(null, Object.class, -// new XMLType(new QName(URI_ORDER_XSD, "status"), null)); -// DataType responseType = new DataTypeImpl(null, Object.class, -// new XMLType(new QName(URI_ORDER_XSD, -// "checkOrderStatusResponse"), -// null)); -// -// Operation op = new OperationImpl("checkOrderStatus"); -// op.setInputType(inputType0); -// op.setOutputType(responseType); -//// op.setDataBinding(DOMDataBinding.NAME); -//// -//// inputType0.setOperation(op); -// op.setWrapperStyle(true); -// ElementInfo inputElement = new ElementInfo(new QName(URI_ORDER_XSD, "checkOrderStatus"), new TypeInfo(null, -// false, -// null)); -//// wrapperType.setMetadata(ElementInfo.class.getName(), inputElement); -// -// ElementInfo customerId = new ElementInfo(new QName("", "customerId"), -// SimpleTypeMapperExtension.XSD_SIMPLE_TYPES.get("string")); -// ElementInfo order = new ElementInfo(new QName("", "order"), new TypeInfo(new QName(URI_ORDER_XSD), false, null)); -// ElementInfo flag = new ElementInfo(new QName("", "flag"), SimpleTypeMapperExtension.XSD_SIMPLE_TYPES.get("int")); -// -//// customerIdType.setMetadata(ElementInfo.class.getName(), customerId); -//// orderType.setMetadata(ElementInfo.class.getName(), order); -//// flagType.setMetadata(ElementInfo.class.getName(), flag); -//// -//// customerIdType.setOperation(op); -//// orderType.setOperation(op); -//// flagType.setOperation(op); -// -// List inputElements = new ArrayList(); -// inputElements.add(customerId); -// inputElements.add(order); -// inputElements.add(flag); -// -// ElementInfo statusElement = new ElementInfo(new QName("", "status"), SimpleTypeMapperExtension.XSD_SIMPLE_TYPES -// .get("string")); -// -//// statusType.setMetadata(ElementInfo.class.getName(), statusElement); -//// statusType.setOperation(op); -// -// List outputElements = new ArrayList(); -// outputElements.add(statusElement); -// -// ElementInfo outputElement = new ElementInfo(new QName(URI_ORDER_XSD, "checkOrderStatusResponse"), -// new TypeInfo(null, false, null)); -// -//// responseType.setMetadata(ElementInfo.class.getName(), inputElement); -//// responseType.setOperation(op); -// -// WrapperInfo wrapperInfo = new WrapperInfo(DOMDataBinding.NAME, inputElement, outputElement, inputElements, -// outputElements); -// op.setWrapper(wrapperInfo); -//// op.setDataBinding(DOMDataBinding.NAME); -// -// MediatorImpl m = new MediatorImpl(); -// TransformerRegistryImpl tr = new TransformerRegistryImpl(); -// tr.registerTransformer(new String2Node()); -// tr.registerTransformer(new Node2String()); -// tr.registerTransformer(new DOMNode2JavaBeanTransformer()); -// tr.registerTransformer(new JavaBean2DOMNodeTransformer()); -// m.setTransformerRegistry(tr); -// DataBindingRegistry dataBindingRegistry = new DataBindingRegistryImpl(); -// dataBindingRegistry.register(new DOMDataBinding()); -// m.setDataBindingRegistry(dataBindingRegistry); -// -// Object[] source = new Object[] {"cust001", IPO_XML, Integer.valueOf(1)}; -// Input2InputTransformer t = new Input2InputTransformer(); -// t.setMediator(m); -// -// TransformationContext context = new TransformationContextImpl(); -// context.setSourceOperation(op); -// List> types = new ArrayList>(); -// types.add(new DataTypeImpl(Object.class.getName(), String.class, String.class)); -// types.add(new DataTypeImpl("java.lang.String", String.class, String.class)); -// types.add(new DataTypeImpl(Object.class.getName(), int.class, int.class)); -// DataType>> inputType1 = new DataTypeImpl>>(IDL_INPUT, Object[].class, -// types); -// context.setSourceDataType(inputType1); -// context.setTargetDataType(op.getInputType()); -// Object[] results = t.transform(source, context); -// assertEquals(1, results.length); -// assertTrue(results[0] instanceof Element); -// Element element = (Element)results[0]; -// assertEquals("http://example.com/order.xsd", element.getNamespaceURI()); -// assertEquals("checkOrderStatus", element.getLocalName()); -// -// TransformationContext context1 = new TransformationContextImpl(); -// DataType sourceType = new DataTypeImpl(IDL_OUTPUT, Object.class, op.getOutputType()); -// -// context1.setSourceDataType(sourceType); -// DataType targetType = new DataTypeImpl(IDL_OUTPUT, Object.class, -// new DataTypeImpl("java.lang.Object", -// String.class, String.class)); -// context1.setTargetDataType(targetType); -// -// Document factory = DOMHelper.newDocument(); -// Element responseElement = factory -// .createElementNS("http://example.com/order.wsdl", "p:checkOrderStatusResponse"); -// Element status = factory.createElement("status"); -// responseElement.appendChild(status); -// status.appendChild(factory.createTextNode("shipped")); -// Output2OutputTransformer t2 = new Output2OutputTransformer(); -// t2.setMediator(m); -// Object st = t2.transform(responseElement, context1); -// assertEquals("shipped", st); -// -// } -// -} diff --git a/java/sca/contrib/modules/core-spi/LICENSE b/java/sca/contrib/modules/core-spi/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/core-spi/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/java/sca/contrib/modules/core-spi/META-INF/MANIFEST.MF b/java/sca/contrib/modules/core-spi/META-INF/MANIFEST.MF deleted file mode 100644 index 0a7f57f09a..0000000000 --- a/java/sca/contrib/modules/core-spi/META-INF/MANIFEST.MF +++ /dev/null @@ -1,45 +0,0 @@ -Manifest-Version: 1.0 -Export-Package: org.apache.tuscany.sca.invocation;uses:="org.apache.tu - scany.sca.runtime,org.apache.tuscany.sca.interfacedef";version="2.0", - org.apache.tuscany.sca.runtime;uses:="org.apache.tuscany.sca.invocati - on,org.apache.tuscany.sca.assembly,org.apache.tuscany.sca.endpointres - olver,org.apache.tuscany.sca.provider,org.oasisopen.sca,org.apache.tuscany - .sca.interfacedef";version="2.0",org.apache.tuscany.sca.context;uses: - ="org.apache.tuscany.sca.runtime,org.apache.tuscany.sca.assembly,org. - apache.tuscany.sca.core,org.oasisopen.sca,org.apache.tuscany.sca.extensibi - lity";version="2.0",org.apache.tuscany.sca.provider;uses:="org.apache - .tuscany.sca.invocation,org.apache.tuscany.sca.runtime,org.apache.tus - cany.sca.assembly,org.apache.tuscany.sca.definitions,org.apache.tusca - ny.sca.core,org.apache.tuscany.sca.interfacedef,org.apache.tuscany.sc - a.extensibility";version="2.0",org.apache.tuscany.sca.endpointresolve - r;uses:="org.apache.tuscany.sca.assembly,org.apache.tuscany.sca.core, - org.apache.tuscany.sca.extensibility";version="2.0",org.apache.tuscan - y.sca.work;version="2.0",org.apache.tuscany.sca.management;uses:="org - .apache.tuscany.sca.runtime";version="2.0" -Tool: Bnd-0.0.255 -Bundle-Name: Apache Tuscany SCA Core SPI -Created-By: 1.6.0_07 (Sun Microsystems Inc.) -Bundle-Vendor: The Apache Software Foundation -Bundle-Version: 2.0 -Bnd-LastModified: 1225397108125 -Bundle-ManifestVersion: 2 -Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt -Bundle-Description: Apache Tuscany SCA Core SPI -Import-Package: org.apache.tuscany.sca.assembly;version="2.0", - org.apache.tuscany.sca.context;version="2.0", - org.apache.tuscany.sca.core;version="2.0", - org.apache.tuscany.sca.definitions;version="2.0", - org.apache.tuscany.sca.endpointresolver;version="2.0", - org.apache.tuscany.sca.extensibility;version="2.0", - org.apache.tuscany.sca.interfacedef;version="2.0", - org.apache.tuscany.sca.invocation;version="2.0", - org.apache.tuscany.sca.management;version="2.0", - org.apache.tuscany.sca.policy;version="2.0.0", - org.apache.tuscany.sca.provider;version="2.0", - org.apache.tuscany.sca.runtime;version="2.0", - org.apache.tuscany.sca.work;version="2.0", - - org.oasisopen.sca;version="2.0" -Bundle-SymbolicName: org.apache.tuscany.sca.core.spi -Bundle-DocURL: http://www.apache.org/ - diff --git a/java/sca/contrib/modules/core-spi/NOTICE b/java/sca/contrib/modules/core-spi/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/core-spi/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/core-spi/pom.xml b/java/sca/contrib/modules/core-spi/pom.xml deleted file mode 100644 index 2880b1a600..0000000000 --- a/java/sca/contrib/modules/core-spi/pom.xml +++ /dev/null @@ -1,116 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-core-spi - Apache Tuscany SCA Core SPI - - - - org.apache.tuscany.sca - tuscany-extensibility - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-sca-api - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-definitions - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-policy - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface - 2.0-SNAPSHOT - compile - - - - org.apache.tuscany.sca - tuscany-contribution - 2.0-SNAPSHOT - - - - javax.servlet - servlet-api - 2.5 - provided - - - - org.codehaus.woodstox - wstx-asl - 3.2.4 - runtime - - - stax - stax-api - - - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.core.spi - ${pom.name} - org.apache.tuscany.sca* - - - - - - - diff --git a/java/sca/contrib/modules/core-spi/src/doc/Context Model.emx b/java/sca/contrib/modules/core-spi/src/doc/Context Model.emx deleted file mode 100644 index 0445ea5a6b..0000000000 --- a/java/sca/contrib/modules/core-spi/src/doc/Context Model.emx +++ /dev/null @@ -1,673 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/ComponentContextFactory.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/ComponentContextFactory.java deleted file mode 100644 index d4d9ce83ae..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/ComponentContextFactory.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.context; - -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.oasisopen.sca.ComponentContext; - -/** - * Interface implemented by the provider of the ComponentContext. - * - * @version $Rev$ $Date$ - */ -public interface ComponentContextFactory { - /** - * Create an instance of ComponentContext - * - * @param component The runtime component - * @param requestContextFactory The factory to create RequestContext - * @return An instance of ComponentContext for the component - */ - ComponentContext createComponentContext(RuntimeComponent component, RequestContextFactory requestContextFactory); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/ContextFactoryExtensionPoint.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/ContextFactoryExtensionPoint.java deleted file mode 100644 index e92a8f2844..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/ContextFactoryExtensionPoint.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.context; - -/** - * An extension point for context factories. - * - * @version $Rev$ $Date$ - */ -public interface ContextFactoryExtensionPoint { - - /** - * Add a context factory extension. - * - * @param factory The factory to add - */ - void addFactory(Object factory); - - /** - * Remove a context factory extension. - * - * @param factory The factory to remove - */ - void removeFactory(Object factory); - - /** - * Get a factory implementing the given interface. - * @param factoryInterface the lookup key (factory interface) - * @return The factory - */ - T getFactory(Class factoryInterface); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/DefaultContextFactoryExtensionPoint.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/DefaultContextFactoryExtensionPoint.java deleted file mode 100644 index 5a0aefe55d..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/DefaultContextFactoryExtensionPoint.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.context; - -import java.lang.reflect.Constructor; -import java.util.HashMap; - -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; - -/** - * Default implementation of a model factory extension point. - * - * @version $Rev$ $Date$ - */ -public class DefaultContextFactoryExtensionPoint implements ContextFactoryExtensionPoint { - - /** - * The Map of Factories that have been registered. - */ - private HashMap, Object> factories = new HashMap, Object>(); - - private ExtensionPointRegistry registry; - - public DefaultContextFactoryExtensionPoint(ExtensionPointRegistry registry) { - this.registry = registry; - } - - /** - * Add a model factory extension. - * - * @param factory The factory to add. - * @throws IllegalArgumentException if factory is null - */ - public void addFactory(Object factory) throws IllegalArgumentException { - if (factory == null) { - throw new IllegalArgumentException("Cannot add null as a factory"); - } - - Class[] interfaces = factory.getClass().getInterfaces(); - for (int i = 0; i[] interfaces = factory.getClass().getInterfaces(); - for (int i = 0; i T getFactory(Class factoryInterface) throws IllegalArgumentException { - if (factoryInterface == null) { - throw new IllegalArgumentException("Cannot get null as a factory"); - } - - Object factory = factories.get(factoryInterface); - if (factory == null) { - - // Dynamically load a factory class declared under META-INF/services - try { - Class factoryClass = ServiceDiscovery.getInstance().loadFirstServiceClass(factoryInterface); - if (factoryClass != null) { - - // Default empty constructor - Constructor constructor = factoryClass.getConstructor(ExtensionPointRegistry.class); - factory = constructor.newInstance(registry); - - // Cache the loaded factory - addFactory(factory); - } - } catch (Exception e) { - throw new IllegalArgumentException(e); - } - - } - - return factoryInterface.cast(factory); - } -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/PropertyValueFactory.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/PropertyValueFactory.java deleted file mode 100644 index 9766e164b8..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/PropertyValueFactory.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.context; - -import org.apache.tuscany.sca.assembly.ComponentProperty; - -/** - * Interface implemented by the provider of the property values - * - * @version $Rev$ $Date$ - */ -public interface PropertyValueFactory { - - /** - * This method will create an instance of the value for the specified Property. - * - * @param property The Property from which to retrieve the property value - * @param type The type of the property value being retrieved from the Property - * @param Type type of the property value being looked up - * - * @return the value for the Property - */ - B createPropertyValue(ComponentProperty property, Class type); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/RequestContextFactory.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/RequestContextFactory.java deleted file mode 100644 index b363852df9..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/RequestContextFactory.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.context; - -import org.oasisopen.sca.RequestContext; - -/** - * Interface implemented by the provider of the RequestContext. - * - * @version $Rev$ $Date$ - */ -public interface RequestContextFactory { - /** - * @return An instance of RequestContext for the current invocation - */ - RequestContext createRequestContext(); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/DefaultEndpointResolverFactoryExtensionPoint.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/DefaultEndpointResolverFactoryExtensionPoint.java deleted file mode 100644 index 2849c27c1a..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/DefaultEndpointResolverFactoryExtensionPoint.java +++ /dev/null @@ -1,180 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.endpointresolver; - -import java.lang.reflect.Constructor; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; - -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.extensibility.ServiceDeclaration; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; - -/** - * Default implementation of a provider factory extension point. - * - * @version $Rev$ $Date$ - */ -public class DefaultEndpointResolverFactoryExtensionPoint implements EndpointResolverFactoryExtensionPoint { - - private ExtensionPointRegistry registry; - private final Map, EndpointResolverFactory> endpointResolverFactories = new HashMap, EndpointResolverFactory>(); - private boolean loaded; - - /** - * The default constructor. Does nothing. - * - */ - public DefaultEndpointResolverFactoryExtensionPoint(ExtensionPointRegistry registry) { - this.registry = registry; - } - - /** - * Add an endpoint resolver factory. - * - * @param endpointResolverFactory The resolver factory - */ - public void addEndpointResolverFactory(EndpointResolverFactory endpointResolverFactory){ - endpointResolverFactories.put(endpointResolverFactory.getModelType(), endpointResolverFactory); - } - - /** - * Remove a endpoint resolver factory. - * - * @param endpointResolverFactory The endpoint resolver factory - */ - public void removeEndpointResolverFactory(EndpointResolverFactory endpointResolverFactory){ - endpointResolverFactories.remove(endpointResolverFactory.getModelType()); - } - - /** - * Returns the provider factory associated with the given model type. - * @param modelType A model type - * @return The provider factory associated with the given model type - */ - public EndpointResolverFactory getEndpointResolverFactory(Class modelType) { - loadProviderFactories(); - - Class[] classes = modelType.getInterfaces(); - for (Class c : classes) { - EndpointResolverFactory factory = endpointResolverFactories.get(c); - if (factory != null) { - return factory; - } - } - return endpointResolverFactories.get(modelType); - } - - - /** - * Load provider factories declared under META-INF/services. - * @param registry - */ - private void loadProviderFactories() { - if (loaded) - return; - - // Get the provider factory service declarations - Set factoryDeclarations; - ServiceDiscovery serviceDiscovery = ServiceDiscovery.getInstance(); - try { - factoryDeclarations = serviceDiscovery.getServiceDeclarations(EndpointResolverFactory.class); - } catch (Exception e) { - throw new IllegalStateException(e); - } - - // Get the extension point - EndpointResolverFactoryExtensionPoint factoryExtensionPoint = - registry.getExtensionPoint(EndpointResolverFactoryExtensionPoint.class); - List factories = new ArrayList(); - - for (ServiceDeclaration factoryDeclaration : factoryDeclarations) { - Map attributes = factoryDeclaration.getAttributes(); - - // Find the model type that identifies this resolver - String modelTypeName = attributes.get("model"); - - // Create a provider factory wrapper and register it - EndpointResolverFactory factory = - new LazyEndpointResolverFactory(registry, modelTypeName, factoryDeclaration); - factoryExtensionPoint.addEndpointResolverFactory(factory); - factories.add(factory); - } - - loaded = true; - } - - /** - * A wrapper around an endpoint provider factory allowing lazy - * loading and initialization of endpoint providers. - */ - private class LazyEndpointResolverFactory implements EndpointResolverFactory { - private ExtensionPointRegistry registry; - private String modelTypeName; - private ServiceDeclaration providerClass; - private EndpointResolverFactory factory; - private Class modelType; - - private LazyEndpointResolverFactory(ExtensionPointRegistry registry, - String modelTypeName, - ServiceDeclaration providerClass) { - this.registry = registry; - this.modelTypeName = modelTypeName; - this.providerClass = providerClass; - } - - @SuppressWarnings("unchecked") - private EndpointResolverFactory getFactory() { - if (factory == null) { - try { - Class factoryClass = (Class)providerClass.loadClass(); - Constructor constructor = - factoryClass.getConstructor(ExtensionPointRegistry.class); - factory = constructor.newInstance(registry); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return factory; - } - - public EndpointResolver createEndpointResolver(Endpoint endpoint, Binding binding) { - return getFactory().createEndpointResolver(endpoint, binding); - } - - public Class getModelType() { - if (modelType == null) { - try { - modelType = providerClass.loadClass(modelTypeName); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return modelType; - } - - } - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolver.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolver.java deleted file mode 100644 index 79a10f6d84..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolver.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.endpointresolver; - - -/** - * A reference binding implementation can options implement this - * interface to tie into the Tuscany SCA runtime - * - * @version $Rev$ $Date$ - */ -public interface EndpointResolver { - - /** - * This method will be invoked when the endpoint is - * activated. It gives the resolver the opportunity - * to do any set up ready for when it is asked to - * resolve the endpoint when a message arrives - */ - void start(); - - /** - * This method will be invoked when the endpoint is - * to be resolved. The resolver will attempt to resolve the - * endpoint against available services. The resolvers extending - * this interface will provide environment or binding specific - * resolution processing - */ - void resolve(); - - /** - * This method will be invoked when the endpont is - * deactivated. It gives the resolver the opportunity - * to take and required resolver shutdown actions - */ - void stop(); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolverFactory.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolverFactory.java deleted file mode 100644 index fdd304a9c7..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolverFactory.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.endpointresolver; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Endpoint; - -/** - * A factory for creating the runtime artifacts that resolve endpoints. - * - * @version $Rev$ $Date$ - */ -public interface EndpointResolverFactory { - - /** - * Creates a new endpoint resolver for the given component, - * reference and binding. - * - * @param component The runtime component - * @param reference The reference on the runtime component - * @param enpoint The endpoint assembly model object - * @return The endpoint provider - */ - EndpointResolver createEndpointResolver(Endpoint endpoint, Binding binding); - - Class getModelType(); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolverFactoryExtensionPoint.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolverFactoryExtensionPoint.java deleted file mode 100644 index be55981131..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolverFactoryExtensionPoint.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.endpointresolver; - -import java.util.List; - - -/** - * An extension point for resolver factories. Holds all of the resolver - * factories from loaded extension points. Allows a resolver factory - * to be located based on a given model type. Hence the runtime can - * generate endpoint resolvers from the in memory assembly model. - * - * @version $Rev$ $Date$ - */ -public interface EndpointResolverFactoryExtensionPoint { - - - /** - * Add an endpoint resolver factory. - * - * @param endpointResolverFactory The resolver factory - */ - void addEndpointResolverFactory(EndpointResolverFactory endpointResolverFactory); - - /** - * Remove a endpoint resolver factory. - * - * @param endpointResolverFactory The endpoint resolver factory - */ - void removeEndpointResolverFactory(EndpointResolverFactory endpointResolverFactory); - - /** - * Returns the endpoint resolver factory associated with the given binding type. - * @param bindingType A binding type - * @return The endpoint resolver factory associated with the given binding type - */ - EndpointResolverFactory getEndpointResolverFactory(Class bindingType); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/Event.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/Event.java deleted file mode 100644 index 992c1188f7..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/Event.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.event; - -/** - * The base interface for events that are propagated in the runtime - * - * @version $Rev$ $Date$ - */ -public interface Event { - - /** - * Returns the source of the event - */ - Object getSource(); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/EventFilter.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/EventFilter.java deleted file mode 100644 index d17aebd7e8..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/EventFilter.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.event; - -/** - * Evaluates whether a {@link RuntimeEventListener} is applicable to a given runtime event - * - * @version $Rev$ $Date$ - */ -public interface EventFilter { - - /** - * Performs the actual evaluation on an event - * @param event Returns true if the event matches implemented criteria - * @return Match result - */ - boolean match(Event event); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/EventPublisher.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/EventPublisher.java deleted file mode 100644 index f209eb8936..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/EventPublisher.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.event; - -/** - * Publishes events in the runtime by accepting {@link Event} objects and - * forwarding them to all registered {@link RuntimeEventListener} objects. - * - * @version $Rev$ $Date$ - */ -public interface EventPublisher { - - /** - * Publish an event to all registered listeners - * @param object The event to publish - */ - void publish(Event object); - - /** - * Registers a listener to receive notifications for the context - * @param listener The listener to add - */ - void addListener(RuntimeEventListener listener); - - /** - * Registers a listener to receive notifications for the context - * @param filter The filter that will be applied before the lister is called - * @param listener The lister to add - */ - void addListener(EventFilter filter, RuntimeEventListener listener); - - - /** - * Removes a previously registered listener - * @param listener The listener to remove - */ - void removeListener(RuntimeEventListener listener); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/RuntimeEventListener.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/RuntimeEventListener.java deleted file mode 100644 index b34dceee62..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/RuntimeEventListener.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.event; - -import java.util.EventListener; - -/** - * Listeners observe events fired in the SCA runtime. - * - * @version $Rev$ $Date$ - */ -public interface RuntimeEventListener extends EventListener { - - /** - * Accepts and event and acts on it - * @param event The event to act on - */ - void onEvent(Event event); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/TrueFilter.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/TrueFilter.java deleted file mode 100644 index f888908340..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/TrueFilter.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.event; - -/** - * An event filter that always returns a true condition - * - * @version $Rev$ $Date$ - */ -public class TrueFilter implements EventFilter { - - /** - * Performs the actual evaluation on an event. Always returns true - * in this case - * @param event The incoming event which is ignored - * @return true - */ - public boolean match(Event event) { - return true; - } -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/DataExchangeSemantics.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/DataExchangeSemantics.java deleted file mode 100644 index 957a15ce8a..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/DataExchangeSemantics.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.invocation; - -/** - * An invoker or interceptor can optionally implement this interface to indicate if they can - * enforce the pass-by-value semantics for an operation on remotable interfaces. - * - * @version $Rev$ $Date$ - */ -public interface DataExchangeSemantics { - /** - * Indicate if the data can be passed in by reference as they won't be mutated. - * @return true if pass-by-reference is allowed - */ - boolean allowsPassByReference(); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Interceptor.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Interceptor.java deleted file mode 100644 index a5f221fc11..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Interceptor.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.invocation; - -/** - * Synchronous mediation associated with a client- or target- side wire. - * - * @version $Rev$ $Date$ - */ -public interface Interceptor extends Invoker { - - /** - * Sets the next invoker - * @param next The next invoker - */ - void setNext(Invoker next); - - /** - * Returns the next invoker or null - * @return The next Invoker - */ - Invoker getNext(); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/InvocationChain.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/InvocationChain.java deleted file mode 100644 index 75719bb0cc..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/InvocationChain.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.invocation; - -import org.apache.tuscany.sca.interfacedef.Operation; - -/** - * A wire consists of 1..n invocation chains associated with the operations of its source service contract. - *

- * Invocation chains may contain Interceptors that process invocations. - *

- * A Message is used to pass data associated with an invocation through the chain. - * - * @version $Rev$ $Date$ - */ -public interface InvocationChain { - /** - * Returns the target operation for this invocation chain. - * - * @return The target operation for this invocation chain - */ - Operation getTargetOperation(); - - /** - * Updates the target operation for this invocation chain. - * - * @param operation The new target operation for this invocation chain - */ - void setTargetOperation(Operation operation); - - /** - * Returns the source operation for this invocation chain. - * - * @return The source operation for this invocation chain - */ - Operation getSourceOperation(); - - /** - * Adds an interceptor to the chain. For reference side, it will be added to - * Phase.REFERENCE. For service side, it will be added to Phase.SERVICE - * - * @param interceptor The interceptor to add - */ - void addInterceptor(Interceptor interceptor); - - /** - * Adds an invoker to the chain - * - * @param invoker The invoker to add - */ - void addInvoker(Invoker invoker); - - /** - * Returns the first invoker in the chain. - * - * @return The first invoker in the chain - */ - Invoker getHeadInvoker(); - - /** - * @deprecated This method is not used - * Returns the last invoker in the chain. - * - * @return The last invoker in the chain - */ - @Deprecated - Invoker getTailInvoker(); - - /** - * @deprecated Please use void addInterceptor(String phase, Interceptor interceptor); - * Adds an interceptor at the given position in the interceptor stack - * - * @param index The position in the interceptor stack to add the interceptor - * @param interceptor The interceptor to add - */ - @Deprecated - void addInterceptor(int index, Interceptor interceptor); - - /** - * Add an interceptor to the given phase - * @param phase - * @param interceptor - */ - void addInterceptor(String phase, Interceptor interceptor); - - /** - * Indicate if the data can be passed in by reference as they won't be mutated. - * @return true if pass-by-reference is allowed - */ - boolean allowsPassByReference(); - /** - * Force the invocation to allow pass-by-reference - * @param allowsPBR - */ - void setAllowsPassByReference(boolean allowsPBR); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Invoker.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Invoker.java deleted file mode 100644 index 2748bbed9a..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Invoker.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.invocation; - -/** - * Synchronous mediation associated with a client- or target- side wire. - * - * @version $Rev$ $Date$ - */ -public interface Invoker { - - /** - * Process a synchronous wire - * - * @param msg The request Message for the wire - * @return The response Message from the wire - */ - Message invoke(Message msg); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Message.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Message.java deleted file mode 100644 index 9c6f4a3500..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Message.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.invocation; - -import java.util.List; -import java.util.Map; - -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.runtime.EndpointReference; - -/** - * Represents a request, response, or exception flowing through a wire - * - * @version $Rev $Date$ - */ -public interface Message { - - /** - * Returns the body of the message, which will be the payload or parameters associated with the wire - * @return The body of the message - */ - T getBody(); - - /** - * Sets the body of the message. - * @param body The body of the message - */ - void setBody(T body); - - /** - * Get the end point reference of the source reference - * @return The end point reference of the reference originating the message - */ - EndpointReference getFrom(); - - /** - * Set the end point reference of the reference originating the message - * @param from The end point reference of the reference originating the message - */ - void setFrom(EndpointReference from); - - /** - * Get the end point reference of target service - * @return The end point reference of the service that the message targets - */ - EndpointReference getTo(); - - /** - * Set the end point reference of target service - * @param to The end point reference of the service that the message targets - */ - void setTo(EndpointReference to); - - /** - * Returns the id of the message - * @return The message Id - */ - Object getMessageID(); - - /** - * Sets the id of the message - * @param messageId The message ID - */ - void setMessageID(Object messageId); - - /** - * Determines if the message represents a fault/exception - * - * @return true If the message body is a fault object, false if the body is a normal payload - */ - boolean isFault(); - - /** - * Set the message body with a fault object. After this method is called, isFault() returns true. - * - * @param fault The fault object represents an exception - */ - void setFaultBody(T fault); - - /** - * Returns the operation that created the message. - * - * @return The operation that created the message - */ - Operation getOperation(); - - /** - * Sets the operation that created the message. - * - * @param op The operation that created the message - */ - void setOperation(Operation op); - - /** - * Returns a list of objects that are contained in the message header - * - * @return - */ - List getHeaders(); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/MessageFactory.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/MessageFactory.java deleted file mode 100644 index 38c900e36a..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/MessageFactory.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.invocation; - - -/** - * A factory for messages - * - * @version $Rev $Date$ - */ -public interface MessageFactory { - - /** - * Creates a new message. - * - * @return The new message - */ - Message createMessage(); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Phase.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Phase.java deleted file mode 100644 index af8ad6e582..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Phase.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.invocation; - -/** - * Tuscany built-in phases for the invocation chain - * - * @version $Rev$ $Date$ - */ -public interface Phase { - // The first phase for outgoing invocations via a reference - String REFERENCE = "component.reference"; - - // data transformation and validation - String REFERENCE_INTERFACE = "reference.interface"; - - // reference policy handling - String REFERENCE_POLICY = "reference.policy"; - - // reference binding invoker - String REFERENCE_BINDING = "reference.binding"; - - String REFERENCE_BINDING_WIREFORMAT = "reference.binding.wireformat"; - String REFERENCE_BINDING_POLICY = "reference.binding.policy"; - String REFERENCE_BINDING_TRANSPORT = "reference.binding.transport"; - - String SERVICE_BINDING_TRANSPORT = "service.binding.transport"; - String SERVICE_BINDING_OPERATION_SELECTOR = "service.binding.operationselector"; - String SERVICE_BINDING_WIREFORMAT = "service.binding.wireformat"; - String SERVICE_BINDING_POLICY = "service.binding.policy"; - - - // The first phase for incoming invocations via a service - String SERVICE_BINDING = "service.binding"; - - // service policy handling - String SERVICE_POLICY = "service.policy"; - - // data validation and transformation - String SERVICE_INTERFACE = "service.interface"; - - // TODO: not sure if we need to have this face - String SERVICE = "component.service"; - - // implementation policy handling - String IMPLEMENTATION_POLICY = "implementation.policy"; - - // implementation invoker - String IMPLEMENTATION = "component.implementation"; - - // String getName(); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/management/ManagementService.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/management/ManagementService.java deleted file mode 100644 index 3887db4873..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/management/ManagementService.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.management; - -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * Interface for the management service abstraction. The implementation - * could be based on a variety of technologies including JMX, WSDM, - * SNMP etc. - * - * @version $Revision$ $Date$ - */ -public interface ManagementService { - - /** - * Registers a component for management. - * - * @param name Name of the component. - * @param component Component to be registered. - */ - void registerComponent(String name, RuntimeComponent component); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/BindingProviderFactory.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/BindingProviderFactory.java deleted file mode 100644 index 0f6a932c51..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/BindingProviderFactory.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.provider; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * A factory for creating the runtime artifacts that represent bindings. - * - * @version $Rev$ $Date$ - */ -public interface BindingProviderFactory extends ProviderFactory { - - /** - * Creates a new reference binding provider for the given component and - * reference. - * - * @param component The runtime component - * @param reference The reference on the runtime component - * @param binding The binding assembly model object - * @return The binding provider - */ - ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - M binding); - - /** - * Creates a new service binding provider for the given component and - * service. - * - * @param component The runtime component - * @param service The service on the runtime component - * @param binding The binding assembly model object - * @return The binding provider - */ - ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - M binding); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java deleted file mode 100644 index 1edf612780..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java +++ /dev/null @@ -1,509 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.provider; - -import java.lang.reflect.Constructor; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.extensibility.ServiceDeclaration; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * Default implementation of a provider factory extension point. - * - * @version $Rev$ $Date$ - */ -public class DefaultProviderFactoryExtensionPoint implements ProviderFactoryExtensionPoint { - - private ExtensionPointRegistry registry; - private final Map, ProviderFactory> providerFactories = new HashMap, ProviderFactory>(); - private final List policyProviderFactories = new ArrayList(); - private boolean loaded; - - /** - * The default constructor. Does nothing. - * - */ - public DefaultProviderFactoryExtensionPoint(ExtensionPointRegistry registry) { - this.registry = registry; - } - - /** - * Add a provider factory. - * - * @param providerFactory The provider factory - */ - public void addProviderFactory(ProviderFactory providerFactory) { - if(providerFactory instanceof PolicyProviderFactory) { - policyProviderFactories.add((PolicyProviderFactory)providerFactory); - } - providerFactories.put(providerFactory.getModelType(), providerFactory); - } - - /** - * Remove a provider factory. - * - * @param providerFactory The provider factory - */ - public void removeProviderFactory(ProviderFactory providerFactory) { - if(providerFactory instanceof PolicyProviderFactory) { - policyProviderFactories.remove((PolicyProviderFactory)providerFactory); - } - providerFactories.remove(providerFactory.getModelType()); - } - - /** - * Returns the provider factory associated with the given model type. - * @param modelType A model type - * @return The provider factory associated with the given model type - */ - public ProviderFactory getProviderFactory(Class modelType) { - loadProviderFactories(); - - Class[] classes = modelType.getInterfaces(); - for (Class c : classes) { - ProviderFactory factory = providerFactories.get(c); - if (factory != null) { - return factory; - } - } - return providerFactories.get(modelType); - } - - public List getPolicyProviderFactories() { - loadProviderFactories(); - return policyProviderFactories; - } - - /** - * Load provider factories declared under META-INF/services. - * @param registry - */ - private void loadProviderFactories() { - if (loaded) - return; - - loadProviderFactories(BindingProviderFactory.class); - loadProviderFactories(ImplementationProviderFactory.class); - loadProviderFactories(PolicyProviderFactory.class); - loadProviderFactories(WireFormatProviderFactory.class); - loadProviderFactories(OperationSelectorProviderFactory.class); - - loaded = true; - } - - /** - * Load provider factories declared under META-INF/services. - * @param registry - * @param factoryClass - * @return - */ - private List loadProviderFactories(Class factoryClass) { - - // Get the provider factory service declarations - Set factoryDeclarations; - ServiceDiscovery serviceDiscovery = ServiceDiscovery.getInstance(); - try { - factoryDeclarations = serviceDiscovery.getServiceDeclarations(factoryClass); - } catch (Exception e) { - throw new IllegalStateException(e); - } - - // Get the target extension point - ProviderFactoryExtensionPoint factoryExtensionPoint = - registry.getExtensionPoint(ProviderFactoryExtensionPoint.class); - List factories = new ArrayList(); - - for (ServiceDeclaration factoryDeclaration : factoryDeclarations) { - Map attributes = factoryDeclaration.getAttributes(); - - // Load an implementation provider factory - if (factoryClass == ImplementationProviderFactory.class) { - String modelTypeName = attributes.get("model"); - - // Create a provider factory wrapper and register it - ImplementationProviderFactory factory = - new LazyImplementationProviderFactory(registry, modelTypeName, factoryDeclaration); - factoryExtensionPoint.addProviderFactory(factory); - factories.add(factory); - - } else if (factoryClass == BindingProviderFactory.class) { - - // Load a binding provider factory - String modelTypeName = attributes.get("model"); - - // Create a provider factory wrapper and register it - BindingProviderFactory factory = - new LazyBindingProviderFactory(registry, modelTypeName, factoryDeclaration); - factoryExtensionPoint.addProviderFactory(factory); - factories.add(factory); - } else if (factoryClass == PolicyProviderFactory.class) { - // Load a policy provider factory - String modelTypeName = attributes.get("model"); - - // Create a provider factory wrapper and register it - PolicyProviderFactory factory = - new LazyPolicyProviderFactory(registry, modelTypeName, factoryDeclaration); - factoryExtensionPoint.addProviderFactory(factory); - factories.add(factory); - } else if (factoryClass == WireFormatProviderFactory.class) { - - // Load a wire format provider factory - String modelTypeName = attributes.get("model"); - - // Create a provider factory wrapper and register it - WireFormatProviderFactory factory = - new LazyWireFormatProviderFactory(registry, modelTypeName, factoryDeclaration); - factoryExtensionPoint.addProviderFactory(factory); - factories.add(factory); - } else if (factoryClass == OperationSelectorProviderFactory.class) { - - // Load a wire format provider factory - String modelTypeName = attributes.get("model"); - - // Create a provider factory wrapper and register it - OperationSelectorProviderFactory factory = - new LazyOperationSelectorProviderFactory(registry, modelTypeName, factoryDeclaration); - factoryExtensionPoint.addProviderFactory(factory); - factories.add(factory); - } - } - return factories; - } - - /** - * A wrapper around an implementation provider factory allowing lazy - * loading and initialization of implementation providers. - */ - private static class LazyBindingProviderFactory implements BindingProviderFactory { - - private ExtensionPointRegistry registry; - private String modelTypeName; - private ServiceDeclaration factoryDeclaration; - private BindingProviderFactory factory; - private Class modelType; - - private LazyBindingProviderFactory(ExtensionPointRegistry registry, - String modelTypeName, - ServiceDeclaration factoryDeclaration) { - this.registry = registry; - this.modelTypeName = modelTypeName; - this.factoryDeclaration = factoryDeclaration; - } - - @SuppressWarnings("unchecked") - private BindingProviderFactory getFactory() { - if (factory == null) { - try { - Class factoryClass = - (Class)factoryDeclaration.loadClass(); - Constructor constructor = - factoryClass.getConstructor(ExtensionPointRegistry.class); - factory = constructor.newInstance(registry); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return factory; - } - - @SuppressWarnings("unchecked") - public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - return getFactory().createReferenceBindingProvider(component, reference, binding); - } - - @SuppressWarnings("unchecked") - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding) { - return getFactory().createServiceBindingProvider(component, service, binding); - } - - public Class getModelType() { - if (modelType == null) { - try { - modelType = factoryDeclaration.loadClass(modelTypeName); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return modelType; - } - - } - - /** - * A wrapper around an implementation provider factory allowing lazy - * loading and initialization of implementation providers. - */ - private class LazyImplementationProviderFactory implements ImplementationProviderFactory { - - private ExtensionPointRegistry registry; - private String modelTypeName; - private ServiceDeclaration providerClass; - private ImplementationProviderFactory factory; - private Class modelType; - - private LazyImplementationProviderFactory(ExtensionPointRegistry registry, - String modelTypeName, - ServiceDeclaration providerClass) { - this.registry = registry; - this.modelTypeName = modelTypeName; - this.providerClass = providerClass; - } - - @SuppressWarnings("unchecked") - private ImplementationProviderFactory getFactory() { - if (factory == null) { - try { - Class factoryClass = - (Class)providerClass.loadClass(); - Constructor constructor = - factoryClass.getConstructor(ExtensionPointRegistry.class); - factory = constructor.newInstance(registry); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return factory; - } - - @SuppressWarnings("unchecked") - public ImplementationProvider createImplementationProvider(RuntimeComponent component, - Implementation Implementation) { - return getFactory().createImplementationProvider(component, Implementation); - } - - public Class getModelType() { - if (modelType == null) { - try { - - modelType = providerClass.loadClass(modelTypeName); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return modelType; - } - - } - - /** - * A wrapper around an policy provider factory allowing lazy - * loading and initialization of policy providers. - */ - private class LazyPolicyProviderFactory implements PolicyProviderFactory { - private ExtensionPointRegistry registry; - private String modelTypeName; - private ServiceDeclaration providerClass; - private PolicyProviderFactory factory; - private Class modelType; - - private LazyPolicyProviderFactory(ExtensionPointRegistry registry, - String modelTypeName, - ServiceDeclaration providerClass) { - this.registry = registry; - this.modelTypeName = modelTypeName; - this.providerClass = providerClass; - } - - @SuppressWarnings("unchecked") - private PolicyProviderFactory getFactory() { - if (factory == null) { - try { - Class factoryClass = (Class)providerClass.loadClass(); - Constructor constructor = - factoryClass.getConstructor(ExtensionPointRegistry.class); - factory = constructor.newInstance(registry); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return factory; - } - - public PolicyProvider createImplementationPolicyProvider(RuntimeComponent component, - Implementation implementation) { - return getFactory().createImplementationPolicyProvider(component, implementation); - } - - public PolicyProvider createReferencePolicyProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - return getFactory().createReferencePolicyProvider(component, reference, binding); - } - - public PolicyProvider createServicePolicyProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding) { - return getFactory().createServicePolicyProvider(component, service, binding); - } - - public Class getModelType() { - if (modelType == null) { - try { - modelType = providerClass.loadClass(modelTypeName); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return modelType; - } - } - - /** - * A wrapper around a wire format provider factory allowing lazy - * loading and initialization of wire format providers. - */ - private class LazyWireFormatProviderFactory implements WireFormatProviderFactory { - - private ExtensionPointRegistry registry; - private String modelTypeName; - private ServiceDeclaration providerClass; - private WireFormatProviderFactory factory; - private Class modelType; - - private LazyWireFormatProviderFactory(ExtensionPointRegistry registry, - String modelTypeName, - ServiceDeclaration providerClass) { - this.registry = registry; - this.modelTypeName = modelTypeName; - this.providerClass = providerClass; - } - - @SuppressWarnings("unchecked") - private WireFormatProviderFactory getFactory() { - if (factory == null) { - try { - Class factoryClass = - (Class)providerClass.loadClass(); - Constructor constructor = - factoryClass.getConstructor(ExtensionPointRegistry.class); - factory = constructor.newInstance(registry); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return factory; - } - - @SuppressWarnings("unchecked") - public WireFormatProvider createReferenceWireFormatProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding){ - return getFactory().createReferenceWireFormatProvider(component, reference, binding); - } - - @SuppressWarnings("unchecked") - public WireFormatProvider createServiceWireFormatProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding){ - return getFactory().createServiceWireFormatProvider(component, service, binding); - } - - public Class getModelType() { - if (modelType == null) { - try { - - modelType = providerClass.loadClass(modelTypeName); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return modelType; - } - } - - /** - * A wrapper around a operation selector provider factory allowing lazy - * loading and initialization of operation selector providers. - */ - private class LazyOperationSelectorProviderFactory implements OperationSelectorProviderFactory { - - private ExtensionPointRegistry registry; - private String modelTypeName; - private ServiceDeclaration providerClass; - private OperationSelectorProviderFactory factory; - private Class modelType; - - private LazyOperationSelectorProviderFactory(ExtensionPointRegistry registry, - String modelTypeName, - ServiceDeclaration providerClass) { - this.registry = registry; - this.modelTypeName = modelTypeName; - this.providerClass = providerClass; - } - - @SuppressWarnings("unchecked") - private OperationSelectorProviderFactory getFactory() { - if (factory == null) { - try { - Class factoryClass = - (Class)providerClass.loadClass(); - Constructor constructor = - factoryClass.getConstructor(ExtensionPointRegistry.class); - factory = constructor.newInstance(registry); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return factory; - } - - @SuppressWarnings("unchecked") - public OperationSelectorProvider createReferenceOperationSelectorProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding){ - return getFactory().createReferenceOperationSelectorProvider(component, reference, binding); - } - - @SuppressWarnings("unchecked") - public OperationSelectorProvider createServiceOperationSelectorProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding){ - return getFactory().createServiceOperationSelectorProvider(component, service, binding); - } - - public Class getModelType() { - if (modelType == null) { - try { - - modelType = providerClass.loadClass(modelTypeName); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return modelType; - } - } - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultSCADefinitionsProviderExtensionPoint.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultSCADefinitionsProviderExtensionPoint.java deleted file mode 100644 index 068d0d12d7..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultSCADefinitionsProviderExtensionPoint.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.provider; - -import java.lang.reflect.Constructor; -import java.util.ArrayList; -import java.util.List; -import java.util.Set; - -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.extensibility.ServiceDeclaration; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; - -/** - * Concrete Implementation for the SCADefinitionsProviderExtensionPoint - * - * @version $Rev$ $Date$ - */ -public class DefaultSCADefinitionsProviderExtensionPoint implements - SCADefinitionsProviderExtensionPoint { - - private ExtensionPointRegistry extensionPointRegistry = null; - - private List scaDefnsProviders = new ArrayList(); - - public DefaultSCADefinitionsProviderExtensionPoint(ExtensionPointRegistry extnPtReg) { - this.extensionPointRegistry = extnPtReg; - } - - public void addSCADefinitionsProvider(SCADefinitionsProvider provider) { - scaDefnsProviders.add(provider); - } - - public void removeSCADefinitionsProvider(SCADefinitionsProvider provider) { - scaDefnsProviders.remove(provider); - } - - public List getSCADefinitionsProviders() { - if (scaDefnsProviders.isEmpty()) { - loadProviders(); - } - return scaDefnsProviders; - } - - private void loadProviders() { - // Get the provider service declarations - Set defnProviderDecls; - SCADefinitionsProvider aProvider = null; - Class providerClass = null; - Constructor constructor = null; - - try { - defnProviderDecls = - ServiceDiscovery.getInstance().getServiceDeclarations(SCADefinitionsProvider.class); - - for (ServiceDeclaration aDefnProviderDecl : defnProviderDecls) { - providerClass = aDefnProviderDecl.loadClass(); - - try { - constructor = providerClass.getConstructor(); - aProvider = (SCADefinitionsProvider)constructor.newInstance(); - } catch (NoSuchMethodException e1) { - constructor = providerClass.getConstructor(ExtensionPointRegistry.class); - aProvider = (SCADefinitionsProvider)constructor.newInstance(extensionPointRegistry); - } - - scaDefnsProviders.add(aProvider); - } - } catch (Exception e) { - throw new RuntimeException(e); - } - - } -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProvider.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProvider.java deleted file mode 100644 index 015c673d66..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProvider.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.provider; - -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * A component implementation can implement this interface in order to tie - * into the Tuscany runtime - * - * @version $Rev$ $Date$ - */ -public interface ImplementationProvider { - - /** - * This method will be invoked when the component implementation - * is activated. - */ - void start(); - - /** - * This method will be invoked when the component implementation - * is deactivated. - */ - void stop(); - - /** - * Create an invoker for the component implementation in the invocation - * chain. The invoker will be responsible for calling the implementation - * logic for the given component. - * - * @param service The component service - * @param operation The operation that the interceptor will handle - * @return An invoker that handles the invocation logic, null should be - * returned if no invoker is required - */ - Invoker createInvoker(RuntimeComponentService service, Operation operation); - - /** - * For bindings that invoke one-way callback operations asynchronously, - * there is no need to perform a thread switch before calling the invoker. - * This method indicates whether the binding has this capability. - * - * @return true if the callback invoker is able to invoke one-way operations - * asynchronously, false if all invocations are synchronous - */ - boolean supportsOneWayInvocation(); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProviderFactory.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProviderFactory.java deleted file mode 100644 index 6a37d1e951..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProviderFactory.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.provider; - -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * An interface for factories that create implementation providers. - * - * @version $Rev$ $Date$ - */ -public interface ImplementationProviderFactory extends ProviderFactory { - - /** - * Creates a new implementation provider for the given - * component. - * - * @param component The runtime component - * @param Implementation The implementation type - * @return The implementation provider - */ - ImplementationProvider createImplementationProvider(RuntimeComponent component, M Implementation); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProvider.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProvider.java deleted file mode 100644 index f385c7dfba..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProvider.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.provider; - -import org.apache.tuscany.sca.invocation.Interceptor; - -/** - * @version $Rev$ $Date$ - */ -public interface OperationSelectorProvider { - /** - * Create an interceptor for the operation selector - * @return An interceptor that realize the policySet - */ - Interceptor createInterceptor(); - - /** - * Get the phase that the interceptor should be added - * @return The phase that this interceptor belongs to - */ - String getPhase(); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProviderFactory.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProviderFactory.java deleted file mode 100644 index 183b38cb33..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProviderFactory.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.provider; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.OperationSelector; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public interface OperationSelectorProviderFactory extends ProviderFactory { - /** - * Create wire format provider for a given reference binding - * @param component - * @param reference - * @param binding - * @return - */ - OperationSelectorProvider createReferenceOperationSelectorProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding); - - /** - * Create policy provider for a given service binding - * @param component - * @param service - * @param binding - * @return - */ - OperationSelectorProvider createServiceOperationSelectorProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyImplementor.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyImplementor.java deleted file mode 100644 index f2b59a7c54..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyImplementor.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.provider; - -import java.util.List; - -import javax.xml.namespace.QName; - -/** - * This interface can be optionally implemented by the Binding or Implementation providers to - * indicate if they implement the policies in the binding/implementation provider. - * - * @version $Rev$ $Date$ - */ -public interface PolicyImplementor { - /** - * Get a list of policy names that are implemented by this policy implementor - * @return A list of policy names - */ - List getImplementedPolicies(); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProvider.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProvider.java deleted file mode 100644 index 644283dea1..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProvider.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.provider; - -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; - -/** - * @version $Rev$ $Date$ - */ -public interface PolicyProvider { - /** - * Create an interceptor for a given operation - * @param operation - * @return An interceptor that realize the policySet - */ - Interceptor createInterceptor(Operation operation); - - /** - * Get the phase that the interceptor should be added - * @return The phase that this interceptor belongs to - */ - String getPhase(); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderFactory.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderFactory.java deleted file mode 100644 index b60a14d2da..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderFactory.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.provider; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.policy.Policy; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public interface PolicyProviderFactory extends ProviderFactory { - /** - * Create policy provider for a given reference binding - * @param component - * @param reference - * @param binding - * @return - */ - PolicyProvider createReferencePolicyProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding); - - /** - * Create policy provider for a given service binding - * @param component - * @param service - * @param binding - * @return - */ - PolicyProvider createServicePolicyProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding); - - /** - * Create policy provider for a given component implementation - * @param component - * @param implementation - * @return - */ - PolicyProvider createImplementationPolicyProvider(RuntimeComponent component, Implementation implementation); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderRRB.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderRRB.java deleted file mode 100644 index fbe0dd5503..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderRRB.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.provider; - -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; - -/** - * TODO RRB experiment - * This is an experiment extension to try out the request response - * binding function - * @version $Rev$ $Date$ - */ -public interface PolicyProviderRRB extends PolicyProvider { - /** - * Create a binding interceptor - * @return An interceptor that realize the policySet - */ - Interceptor createBindingInterceptor(); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactory.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactory.java deleted file mode 100644 index 2102806881..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactory.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.provider; - -/** - * A factory for runtime providers. - * - * @version $Rev$ $Date$ - */ -public interface ProviderFactory { - - /** - * The model type that this factory creates providers for. - * - * @return the model type - */ - Class getModelType(); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactoryExtensionPoint.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactoryExtensionPoint.java deleted file mode 100644 index d8f9973338..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactoryExtensionPoint.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.provider; - -import java.util.List; - - -/** - * An extension point for provider factories. Holds all of the provider - * factories from loaded extension points. Allows a provider factory - * to be located based on a given model type. Hence the runtime can - * generate runtime artifacts from the in memory assembly model. - * - * @version $Rev$ $Date$ - */ -public interface ProviderFactoryExtensionPoint { - - - /** - * Add a provider factory. - * - * @param providerFactory The provider factory - */ - void addProviderFactory(ProviderFactory providerFactory); - - /** - * Remove a provider factory. - * - * @param providerFactory The provider factory - */ - void removeProviderFactory(ProviderFactory providerFactory); - - /** - * Returns the provider factory associated with the given model type. - * @param modelType A model type - * @return The provider factory associated with the given model type - */ - ProviderFactory getProviderFactory(Class modelType); - - /** - * Get a list of registered PolicyProviderFactory - * @return a list of registered PolicyProviderFactory - */ - List getPolicyProviderFactories(); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProvider.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProvider.java deleted file mode 100644 index b3ab1d8b87..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProvider.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.provider; - -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; - -/** - * A reference binding implementation can options implement this - * interface to tie into the Tuscany SCA runtime - * - * @version $Rev$ $Date$ - */ -public interface ReferenceBindingProvider { - - /** - * This method will be invoked when the component reference binding is - * activated. - */ - void start(); - - /** - * This method will be invoked when the component reference binding is - * deactivated. - */ - void stop(); - - /** - * Create an invoker for the reference binding in the invocation chain. The - * invoker is responsible for making the outbound invocation over the - * binding protocol. - * - * @param operation The operation that the interceptor will handle - * @return An invoker that handles the invocation logic, null should be - * returned if no invoker is required - */ - Invoker createInvoker(Operation operation); - - /** - * Get the effective interface contract imposed by the binding. For example, - * it will be interface contract introspected from the WSDL portType used by - * the endpoint for a WebService binding. - * - * @return The effective interface contract, if null is returned, the - * interface contract for the component reference will be used - */ - InterfaceContract getBindingInterfaceContract(); - - /** - * For bindings that invoke one-way operations asynchronously, there is no - * need to perform a thread switch before calling the invoker. This method - * indicates whether the binding has this capability. - * - * @return true if the binding invoker is able to invoke one-way operations - * asynchronously, false if all invocations are synchronous - */ - boolean supportsOneWayInvocation(); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProviderRRB.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProviderRRB.java deleted file mode 100644 index 3ea9d0ac3c..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProviderRRB.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.provider; - -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * TODO RRB experiment - * This is an experiment extension to try out the request response - * binding function - * - * @version $Rev$ $Date$ - */ -public interface ReferenceBindingProviderRRB extends ReferenceBindingProvider { - - void configureBindingChain(RuntimeWire runtimeWire); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProvider.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProvider.java deleted file mode 100644 index bd0f4d4b75..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProvider.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.provider; - -import org.apache.tuscany.sca.definitions.SCADefinitions; - -/** - * Models a provider of SCA Definitions. Typically SCA Definitions providers - * may either load a definitions.xml file or create the SCA Definitions model - * programmatically. - * - * @version $Rev$ $Date$ - */ -public interface SCADefinitionsProvider { - SCADefinitions getSCADefinition() throws SCADefinitionsProviderException ; -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProviderException.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProviderException.java deleted file mode 100644 index b05130d6c8..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProviderException.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.provider; - -/** - * @version $Rev$ $Date$ - */ -public class SCADefinitionsProviderException extends Exception { - - public SCADefinitionsProviderException(Throwable e) { - super(e); - } -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProviderExtensionPoint.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProviderExtensionPoint.java deleted file mode 100644 index a5d60cc6eb..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProviderExtensionPoint.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.provider; - -import java.util.List; - -/** - * An extension point for SCA Definitions Providers. SCA Definition providers, load SCA Definitions - * items that are being specifically contributed by the module that hosts the provider in question. - * - * @version $Rev$ $Date$ - */ -public interface SCADefinitionsProviderExtensionPoint { - - void addSCADefinitionsProvider(SCADefinitionsProvider provider); - void removeSCADefinitionsProvider(SCADefinitionsProvider provider); - List getSCADefinitionsProviders(); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProvider.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProvider.java deleted file mode 100644 index e15234a549..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProvider.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.provider; - -import org.apache.tuscany.sca.interfacedef.InterfaceContract; - -/** - * A service binding can optionally implement this interface to tie - * into the Tuscany SCA runtime - * - * @version $Rev$ $Date$ - */ -public interface ServiceBindingProvider { - /** - * This method will be invoked when the component service binding is - * activated. - */ - void start(); - - /** - * This method will be invoked when the component service binding is - * deactivated. - */ - void stop(); - - /** - * Get the effective interface contract imposed by the binding. For example, - * it will be interface contract introspected from the WSDL portType used by - * the endpoint for a WebService binding. - * - * @return The effective interface contract, if null is returned, the - * interface contract for the component service will be used - */ - InterfaceContract getBindingInterfaceContract(); - - /** - * For bindings that invoke one-way callback operations asynchronously, - * there is no need to perform a thread switch before calling the invoker. - * This method indicates whether the binding has this capability. - * - * @return true if the callback invoker is able to invoke one-way operations - * asynchronously, false if all invocations are synchronous - */ - boolean supportsOneWayInvocation(); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProviderRRB.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProviderRRB.java deleted file mode 100644 index e23a37360a..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProviderRRB.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.provider; - -import java.util.List; - -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * TODO RRB experiment - * This is an experiment extension to try out the request response - * binding function - * - * @version $Rev$ $Date$ - */ -public interface ServiceBindingProviderRRB extends ServiceBindingProvider { - - void configureBindingChain(RuntimeWire runtimeWire); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProvider.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProvider.java deleted file mode 100644 index db38945fc1..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProvider.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.provider; - -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.invocation.Interceptor; - -/** - * @version $Rev$ $Date$ - */ -public interface WireFormatProvider { - - /* - * Return the contract that describes the interface that - * is providing data to or accepting data from the - * wire format interceptor. The wire formats job - * is to translate between this interface contract and the - * format on the wire - * @return the wire format interface contract - */ - public InterfaceContract getWireFormatInterfaceContract(); - - /** - * Create an interceptor for the wire format - * @return An interceptor that realize the policySet - */ - Interceptor createInterceptor(); - - /** - * Get the phase that the interceptor should be added - * @return The phase that this interceptor belongs to - */ - String getPhase(); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProviderFactory.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProviderFactory.java deleted file mode 100644 index fd748df6ca..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProviderFactory.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.provider; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.WireFormat; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public interface WireFormatProviderFactory extends ProviderFactory { - /** - * Create wire format provider for a given reference binding - * @param component - * @param reference - * @param binding - * @return - */ - WireFormatProvider createReferenceWireFormatProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding); - - /** - * Create policy provider for a given service binding - * @param component - * @param service - * @param binding - * @return - */ - WireFormatProvider createServiceWireFormatProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DefaultWireProcessorExtensionPoint.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DefaultWireProcessorExtensionPoint.java deleted file mode 100644 index 851afee3c1..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DefaultWireProcessorExtensionPoint.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.runtime; - -import java.util.ArrayList; -import java.util.List; - - -/** - * The default implementation of a WireProcessorExtensionPoint - * - * @version $Rev$ $Date$ - */ -public class DefaultWireProcessorExtensionPoint implements RuntimeWireProcessorExtensionPoint { - - /** - * The list of WireProcessors available to the runtime - */ - private final List processors = new ArrayList(); - - /** - * Registers a wire-processor in the runtime - * - * @param processor The processor to register - */ - public void addWireProcessor(RuntimeWireProcessor processor) { - processors.add(processor); - } - - /** - * De-registers a wire-processor in the runtime - * - * @param processor The processor to de-register - */ - public void removeWireProcessor(RuntimeWireProcessor processor) { - processors.remove(processor); - } - - /** - * Returns a list of registered wire-processors. - * - * @return The list of wire processors - */ - public List getWireProcessors() { - return processors; - } -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointReference.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointReference.java deleted file mode 100644 index b6fafa5fb6..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointReference.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.runtime; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Contract; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; - -/** - * The endpoint reference for a component service or reference - * - * @version $Rev$ $Date$ - */ -public interface EndpointReference extends Cloneable { - /** - * Get the component for the endpoint - * @return The component, null of the EPR is for a non-SCA service - */ - RuntimeComponent getComponent(); - - /** - * Get the component service or reference for the endpoint - * @return The component service or reference, null if the EPR is for a non-SCA service - */ - Contract getContract(); - - /** - * Get the binding for the endpoint - * @return The binding - */ - Binding getBinding(); - - /** - * Get the interface contract for the endpoint - * @return The interface contract - */ - InterfaceContract getInterfaceContract(); - - /** - * Update the interface contract for the endpoint - * @param interfaceContract The updated interface contract - */ - void setInterfaceContract(InterfaceContract interfaceContract); - - /** - * Get the URI for this endpoint - * @return The URI of the endpoint - */ - String getURI(); - - /** - * Set the URI for this endpoint - * @param uri The new URI of the endpoint - */ - void setURI(String uri); - - /** - * Get the callback endpoint for this endpoint - * @return The callback endpoint for this endpoint - */ - EndpointReference getCallbackEndpoint(); - - /** - * Set the callback endpoint for this endpoint - * @param callbackEndpoint The new callback endpoint for this endpoint - */ - void setCallbackEndpoint(EndpointReference callbackEndpoint); - - Object clone() throws CloneNotSupportedException; - - void setReferenceParameters(ReferenceParameters parameters); - ReferenceParameters getReferenceParameters(); - - void mergeEndpoint(EndpointReference epr); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ReferenceParameters.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ReferenceParameters.java deleted file mode 100644 index 0e19538aff..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ReferenceParameters.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; - -/** - * Parameters for the EndPointReference - * - * @version $Rev$ $Date$ - */ -public interface ReferenceParameters extends Cloneable { - /** - * Get the callback ID - * @return the callbackID - */ - Object getCallbackID(); - - /** - * Set the callback ID - * @param callbackID the callbackID to set - */ - void setCallbackID(Object callbackID); - - /** - * Get the conversation ID - * @return the conversationID - */ - Object getConversationID(); - - /** - * Set the conversation ID - * @param conversationID the conversationID to set - */ - void setConversationID(Object conversationID); - - /** - * Get the ID for the non-ServiceReference callback object - * @return - */ - Object getCallbackObjectID(); - - /** - * Set the ID for the non-ServiceReference callback object - * @param callbackObjectID - */ - void setCallbackObjectID(Object callbackObjectID); - - EndpointReference getCallbackReference(); - - void setCallbackReference(EndpointReference callback); - - Object clone() throws CloneNotSupportedException; -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponent.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponent.java deleted file mode 100644 index 30bba78a40..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponent.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.runtime; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.provider.ImplementationProvider; -import org.apache.tuscany.sca.provider.PolicyProvider; - -/** - * The runtime component interface. Provides the bridge between the - * assembly model representation of a component and its runtime - * realization. - * - * @version $Rev$ $Date$ - */ -public interface RuntimeComponent extends Component { - /** - * Set the implementation-specific configuration for this component - * @param implementationProvider The object that manages the component implementation - */ - void setImplementationProvider(ImplementationProvider implementationProvider); - - /** - * Get the implementation-specific configuration for this component - * @return The implementation provider for this component - */ - ImplementationProvider getImplementationProvider(); - - /** - * Get the associated component context - * @return - */ - RuntimeComponentContext getComponentContext(); - - /** - * Set the associated component context - * @param context - */ - void setComponentContext(RuntimeComponentContext context); - - /** - * Tests if the RuntimeComponent is started - * @return true if the RuntimeComponent is started otherwise false - */ - boolean isStarted(); - - /** - * Sets the RuntimeComponent started state - * @param started the state to set - */ - void setStarted(boolean started); - - /** - * Add a policy provider to the component - * @param policyProvider - */ - void addPolicyProvider(PolicyProvider policyProvider); - - /** - * Get a list of policy providers configured for this component - * @return - */ - List getPolicyProviders(); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentContext.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentContext.java deleted file mode 100644 index ee7ae468b8..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentContext.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.IOException; -import java.io.Reader; -import java.io.Writer; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.ComponentContext; -import org.oasisopen.sca.ServiceReference; - -/** - * @version $Rev$ $Date$ - */ -public interface RuntimeComponentContext extends ComponentContext { - /** - * Activate the reference (creating runtime wires) - * @param reference - */ - void start(RuntimeComponentReference reference); - - /** - * Deserialize the component reference - * @param reader - * @return A component that contains the reference - * @throws IOException - */ - RuntimeComponent read(Reader reader) throws IOException; - - /** - * Serialize the component reference - * @param reference - * @param writer - * @throws IOException - */ - void write(RuntimeComponentReference reference, Writer writer) throws IOException; - - /** - * Get the CallableReference for a given component reference - * @param - * @param businessInterface The business interface - * @param reference The reference to be wired - * @param binding The binding to be used, if it's null, either binding.sca or the 1st binding - * will be selected - * @return A service reference representing the wire - */ - ServiceReference getServiceReference(Class businessInterface, - RuntimeComponentReference reference, - Binding binding); - - /** - * Bind the reference to a target component/componentService - * @param - * @param businessInterface The business interface - * @param reference The reference to be wired - * @param component The target component - * @param service The target component service - * @return A service reference representing the wire - */ - ServiceReference getServiceReference(Class businessInterface, - RuntimeComponentReference reference, - RuntimeComponent component, - RuntimeComponentService service); - - /** - * Create a CallableReference for the given component service - * @param - * @param businessInterface - * @param component - * @param service - * @return - */ - CallableReference getCallableReference(Class businessInterface, - RuntimeComponent component, - RuntimeComponentService service); - - /** - * @param - * @param businessInterface - * @param service - * @return - */ - ServiceReference createSelfReference(Class businessInterface, ComponentService service); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentReference.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentReference.java deleted file mode 100644 index 44ae7f552a..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentReference.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.runtime; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.assembly.Endpoint; -import org.apache.tuscany.sca.endpointresolver.EndpointResolver; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.ReferenceBindingProvider; - -/** - * The runtime component reference. Provides the bridge between the - * assembly model representation of a component reference and its runtime - * realization - * - * @version $Rev$ $Date$ - */ -public interface RuntimeComponentReference extends ComponentReference { - - /** - * Get a list of runtime wires to the reference - * - * @return The list of wires - */ - List getRuntimeWires(); - - /** - * Get the runtime wire for the given binding - * @param binding The assembly model binding - * @return The runtime wire - */ - RuntimeWire getRuntimeWire(Binding binding); - - /** - * Returns the reference binding provider associated with this - * component reference and the given binding. - * - * @param binding The assembly model binding - * @return The runtime reference binding provider - */ - ReferenceBindingProvider getBindingProvider(Binding binding); - - /** - * Sets the reference binding provider associated with this - * component reference and the given binding. - * - * @param binding The assembly model binding - * @param bindingProvider The runtime reference binding provider - */ - void setBindingProvider(Binding binding, ReferenceBindingProvider bindingProvider); - - /** - * Returns the endpoint resolver associated with this - * component reference and the given endpoint. - * - * @param endpont The assembly model endpoint - * @return The enpoint resolver - */ - EndpointResolver getEndpointResolver(Endpoint endpoint); - - /** - * Sets the endpoint resolver associated with this - * component reference and the given endpoint. - * - * @param binding The assembly model binding - * @param bindingProvider The runtime reference binding provider - */ - void setEndpointResolver(Endpoint endpoint, EndpointResolver endpointResolver); - - /** - * Add a policy provider for the given binding to the reference - * @param binding The assembly model binding - * @param policyProvider The policy handler - */ - void addPolicyProvider(Binding binding, PolicyProvider policyProvider); - - /** - * Get a list of policy providers for the given binding - * @param binding The assembly model binding - * @return A list of policy providers for the given binding - */ - List getPolicyProviders(Binding binding); - - /** - * Get the invoker for the given binding and operation - * @param binding The assembly model binding - * @param operation The assembly model operation - * @return The runtime Invoker - */ - Invoker getInvoker(Binding binding, Operation operation); - - /** - * Set the owning component - * @param component - */ - void setComponent(RuntimeComponent component); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentService.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentService.java deleted file mode 100644 index 982724d798..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentService.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -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.invocation.InvocationChain; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; - -/** - * The runtime component service. Provides the bridge between the - * assembly model representation of a component service and its runtime - * realization - * - * @version $Rev$ $Date$ - */ -public interface RuntimeComponentService extends ComponentService { - - /** - * Get a list of runtime wires to the service - * - * @return The list of wires - */ - List getRuntimeWires(); - /** - * Get the runtime wire for the given binding - * @param binding The assembly model binding - * @return The runtime wire - */ - RuntimeWire getRuntimeWire(Binding binding); - - /** - * Get the callback wires associated with this service - * - * @return The list of runtime callback wires - */ - List getCallbackWires(); - - /** - * Returns the service binding provider associated with this - * component service and the given binding. - * - * @param binding The assembly model binding - * @return The runtime service binding provider - */ - ServiceBindingProvider getBindingProvider(Binding binding); - - /** - * Returns the service binding provider associated with this - * component service and the given binding. - * - * @param binding - * @param interfaceContract - * @return - */ - RuntimeWire getRuntimeWire(Binding binding, InterfaceContract interfaceContract); - - /** - * Sets the service binding provider associated with this - * component service and the given binding. - * - * @param binding The assembly model binding - * @param bindingProvider The runtime service binding provider - */ - void setBindingProvider(Binding binding, ServiceBindingProvider bindingProvider); - - /** - * Get the invoker for the given binding and operation - * @param binding The assembly model binding - * @param operation The assembly model operation - * @return The runtime invoker - */ - Invoker getInvoker(Binding binding, Operation operation); - - /** - * Get the invoker for the given binding and operation - * @param binding The assembly model binding - * @param interfaceContract the client interface contract - * @param operation The assembly model operation - * @return The runtime invoker - */ - Invoker getInvoker(Binding binding, InterfaceContract interfaceContract, Operation operation); - - /** - * Get the invocation chain for the given binding and operation - * @param binding The assembly model binding - * @param operation The assembly model operation - * @return The runtime invocation chain - */ - InvocationChain getInvocationChain(Binding binding, Operation operation); - - /** - * Get the invocation chain for the given binding and operation - * @param binding The assembly model binding - * @param operation The assembly model operation - * @param interfaceContract the client interface contract - * @return The runtime invocation chain - */ - InvocationChain getInvocationChain(Binding binding, InterfaceContract interfaceContract, Operation operation); - - /** - * Add a policy provider for the given binding to the service - * @param binding The assembly model binding - * @param policyProvider The policy handler - */ - void addPolicyProvider(Binding binding, PolicyProvider policyProvider); - - /** - * Get a list of policy providers for the given binding - * @param binding The assembly model binding - * @return A list of policy providers for the given binding - */ - List getPolicyProviders(Binding binding); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWire.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWire.java deleted file mode 100644 index a2e7152202..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWire.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.runtime; - -import java.lang.reflect.InvocationTargetException; -import java.util.List; - -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.InvocationChain; -import org.apache.tuscany.sca.invocation.Message; - -/** - * The runtime wire interface that connects a component reference to a - * component service (or an external service) over the selected binding - * - * @version $Rev$ $Date$ - */ -public interface RuntimeWire extends Cloneable { - - /** - * Get the source of the wire - * - * @return The end point reference of the source - */ - EndpointReference getSource(); - - /** - * Get the target of the wire - * - * @return The end point reference of the target - */ - EndpointReference getTarget(); - - /** - * Rebind the runtime wire with the given target - * @param target The target endpoint reference - */ - void setTarget(EndpointReference target); - - /** - * Force the invocation chains to be rebuilt - */ - void rebuild(); - - /** - * Returns the invocation chains for service operations associated with the - * wire - * - * @return the invocation chains for service operations associated with the - * wire - */ - List getInvocationChains(); - - /** - * Lookup the invocation chain by operation - * @param operation The operation - * @return The invocation chain for the given operation - */ - InvocationChain getInvocationChain(Operation operation); - - /** - * Get the invocation chain for the binding-specific handling - * @return - */ - InvocationChain getBindingInvocationChain(); - - /** - * This invoke method assumes that the binding invocation chain is in force - * and that there will be an operation selector element there to - * determine which operation to call - * @param msg The message - * @return The result - * @throws InvocationTargetException - */ - Object invoke(Message msg) throws InvocationTargetException; - - /** - * Invoke an operation with given arguments - * @param operation The operation - * @param args The arguments - * @return The result - * @throws InvocationTargetException - */ - Object invoke(Operation operation, Object[] args) throws InvocationTargetException; - - /** - * Invoke an operation with a context message - * @param operation The operation - * @param msg The message - * @return The result - * @throws InvocationTargetException - */ - Object invoke(Operation operation, Message msg) throws InvocationTargetException; - - /** - * @return a clone of the runtime wire - * @throws CloneNotSupportedException - */ - Object clone() throws CloneNotSupportedException; -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWireProcessor.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWireProcessor.java deleted file mode 100644 index fbb7aae467..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWireProcessor.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.runtime; - -/** - * Implementations are called after wires are decorated with policy and before they are connected. - * - * @version $Rev$ $Date$ - */ -public interface RuntimeWireProcessor { - - /** - * Process the runtime wire to add interceptors - * - * @param wire - */ - void process(RuntimeWire wire); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWireProcessorExtensionPoint.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWireProcessorExtensionPoint.java deleted file mode 100644 index 4b2c71b397..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWireProcessorExtensionPoint.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.runtime; - -import java.util.List; - -/** - * Acts as a delegating WireProcessorExtensionPoint, delegating - * processing of wires after policies have been applied and source and targets - * have been connected. - * - * @version $Rev$ $Date$ - */ -public interface RuntimeWireProcessorExtensionPoint { - - /** - * Registers a wire-processor in the runtime - * - * @param processor The processor to register - */ - void addWireProcessor(RuntimeWireProcessor processor); - - /** - * De-registers a wire-processor in the runtime - * - * @param processor The processor to de-register - */ - void removeWireProcessor(RuntimeWireProcessor processor); - - /** - * Returns a list of registered wire-processors. - * - * @return The list of wire processors - */ - List getWireProcessors(); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/DuplicateRecordException.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/DuplicateRecordException.java deleted file mode 100644 index 7d5cd6c54b..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/DuplicateRecordException.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.store; - -/** - * thrown when a record already exists during an insert operation - * - * @version $Rev$ $Date$ - */ -public class DuplicateRecordException extends StoreWriteException { - private static final long serialVersionUID = 3116253222569378447L; - - /** - * {@inheritDoc} - */ - public DuplicateRecordException() { - super(); - } - - /** - * {@inheritDoc} - */ - public DuplicateRecordException(String message, Throwable cause) { - super(message, cause); - } - - /** - * {@inheritDoc} - */ - public DuplicateRecordException(String message) { - super(message); - } - - /** - * {@inheritDoc} - */ - public DuplicateRecordException(Throwable cause) { - super(cause); - } -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/RecoveryListener.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/RecoveryListener.java deleted file mode 100644 index 9d965a3369..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/RecoveryListener.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.store; - -import java.util.UUID; - -/** - * Implementations receive callback events during a store recovery operation - * - * @version $Rev$ $Date$ - */ -public interface RecoveryListener { - - /** - * Signals the start of a recovery - */ - void onBegin(); - - /** - * Received when a record is recovered - * - * @param id - */ - void onRecord(UUID id); - - /** - * Signals the end of recovery - */ - void onEnd(); -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/Store.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/Store.java deleted file mode 100644 index b15cde066a..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/Store.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.store; - -import org.apache.tuscany.sca.event.EventPublisher; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * Implementations provide a persistent store for runtime data such as conversational state. A persistent store could be - * implemented in a durable fashion using JDBC or a journaling system, or using a non-durable mechanism such as an - * in-memory map. - * - * @version $Rev$ $Date$ - */ -public interface Store extends EventPublisher { - - /* Used to indicate an the default expiration offset for records for the store */ - long DEFAULT_EXPIRATION_OFFSET = -1; - - /* Used to indicate an entry should not expire */ - long NEVER = -2; - - /** - * Adds the given record to the store. Implementations may choose different strategies for writing data such as - * write-through or write-behind. - * - * @param owner the instance owner - * @param id the unique id of the record - * @param object the object representing the data to write - * @param expiration the time in milliseconds when the entry expires - * @throws StoreWriteException if an error occurs during the write operation - */ - void insertRecord(RuntimeComponent owner, String id, Object object, long expiration) throws StoreWriteException; - - /** - * Updates a given record in the store, overwriting previous information. - * - * @param owner the instance owner - * @param id the unique id of the record - * @param object the object representing the data to write - * @param expiration the time in milliseconds when the entry expires - * @throws StoreWriteException - */ - void updateRecord(RuntimeComponent owner, String id, Object object, long expiration) throws StoreWriteException; - - /** - * Returns the deserialized object in the store corresponding to the given id - * - * @param owner the instance owner - * @param id the unique id of the record - * @return the deserialized object or null if one is not found - * @throws StoreReadException - */ - Object readRecord(RuntimeComponent owner, String id) throws StoreReadException; - - /** - * Removes a record from the store - * - * @param owner the instance owner - * @param id the unique id of the record - * @throws StoreWriteException - */ - void removeRecord(RuntimeComponent owner, String id) throws StoreWriteException; - - /** - * Removes all records from the store - * - * @throws StoreWriteException - */ - void removeRecords() throws StoreWriteException; - - /** - * Initiates a recovery operation, for example during restart after a crash - * - * @param listener the listener to receive recovery callback events - * @throws StoreReadException - */ - void recover(RecoveryListener listener) throws StoreReadException; - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreException.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreException.java deleted file mode 100644 index 24eaddd3e0..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreException.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.store; - - -/** - * Represents a generic exception thrown by a Store - * - * @version $Rev$ $Date$ - */ -public class StoreException extends Exception { - private static final long serialVersionUID = -319152147419962709L; - - /** - * {@inheritDoc} - */ - public StoreException() { - super(); - } - - /** - * {@inheritDoc} - */ - public StoreException(String message, Throwable cause) { - super(message, cause); - } - - /** - * {@inheritDoc} - */ - public StoreException(String message) { - super(message); - } - - /** - * {@inheritDoc} - */ - public StoreException(Throwable cause) { - super(cause); - } -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreExpirationEvent.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreExpirationEvent.java deleted file mode 100644 index 5c1a3ca79d..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreExpirationEvent.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.store; - -import org.apache.tuscany.sca.event.Event; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * Fired when a store implementation expires a resource - * - * @version $Rev$ $Date$ - */ -public class StoreExpirationEvent implements Event { - private Object source; - private RuntimeComponent owner; - private Object instance; - - /** - * Constructor. - * - * @param source the source of the event - * @param owner the owner of the expiring object - * @param instance the expiring object - */ - public StoreExpirationEvent(Object source, RuntimeComponent owner, Object instance) { - assert source != null; - assert owner != null; - assert instance != null; - this.source = source; - this.owner = owner; - this.instance = instance; - } - - public Object getSource() { - return source; - } - - /** - * Returns the owner of the expiring object. - * - * @return the owner of the expiring object. - */ - public RuntimeComponent getOwner() { - return owner; - } - - /** - * Returns the expiring object. - * - * @return the expiring object. - */ - public Object getInstance() { - return instance; - } -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreMonitor.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreMonitor.java deleted file mode 100644 index 4bc7facf39..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreMonitor.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.store; - - -/** - * A generic monitor interface for services to log events - * - * @version $Rev$ $Date$ - */ -public interface StoreMonitor { - - /** - * Signals the service has started - * - * @param msg - */ - void start(String msg); - - /** - * Signals the service has been shutdown - * - * @param msg - */ - void stop(String msg); - - /** - * Fired when recovery is started - */ - - void beginRecover(); - - /** - * Fired when recovery is completed - */ - - void endRecover(); - - /** - * Fired when a record is processed during recovery - * - * @param recordId the id of the record being recovered - */ - - void recover(Object recordId); - - /** - * Signals an error event - * - * @param e the error - */ - - void error(Throwable e); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreReadException.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreReadException.java deleted file mode 100644 index c2346bddca..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreReadException.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.store; - -/** - * Thrown when an error occurs reading from persistent storage - * - * @version $Rev$ $Date$ - */ -public class StoreReadException extends StoreException { - private static final long serialVersionUID = -8624542082121467271L; - - /** - * {@inheritDoc} - */ - public StoreReadException() { - super(); - } - - /** - * {@inheritDoc} - */ - public StoreReadException(String message, Throwable cause) { - super(message, cause); - } - - /** - * {@inheritDoc} - */ - public StoreReadException(String message) { - super(message); - } - - /** - * {@inheritDoc} - */ - public StoreReadException(Throwable cause) { - super(cause); - } -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreWriteException.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreWriteException.java deleted file mode 100644 index b37519b31c..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreWriteException.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.store; - -/** - * Thrown when an error occurs writing to persistent storage - * - * @version $Rev$ $Date$ - */ -public class StoreWriteException extends StoreException { - private static final long serialVersionUID = 5539070473942048555L; - - /** - * {@inheritDoc} - */ - public StoreWriteException() { - super(); - } - - /** - * {@inheritDoc} - */ - public StoreWriteException(String message, Throwable cause) { - super(message, cause); - } - - /** - * {@inheritDoc} - */ - public StoreWriteException(String message) { - super(message); - } - - /** - * {@inheritDoc} - */ - public StoreWriteException(Throwable cause) { - super(cause); - } -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/NotificationListener.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/NotificationListener.java deleted file mode 100644 index d32af450ff..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/NotificationListener.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.work; - -/** - * A callback interface that can be optionally used for registering - * interest in status of asynchronously scheduled unit of work. - * - * @version $Rev$ $Date$ - */ -public interface NotificationListener { - - /** - * Callback method when the unit of work is accepted. - * - * @param work Work that was accepted. - */ - void workAccepted(T work); - - /** - * Callback method when the unit of work is successfully completed. - * - * @param work Work that was successfully completed. - */ - void workCompleted(T work); - - /** - * Callback when the unit of work is started. - * - * @param work Unit of work that was started. - */ - void workStarted(T work); - - /** - * Callback when the unit of work is rejected. - * - * @param work Unit of work that was rejected. - */ - void workRejected(T work); - - /** - * Callback when the unit of work fails to complete. - * - * @param work Unit of work that failed to complete. - * @param error Error that caused the unit of work to fail. - */ - void workFailed(T work, Throwable error); - - - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/WorkScheduler.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/WorkScheduler.java deleted file mode 100644 index b1beac78e2..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/WorkScheduler.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.work; - -/** - * Defines the contract for scheduling asynchronous units of work. - * - *

- * Units of work can be scheduled with an optional NotificationListener. - * If a notification listener is specified, the caller will be notified regarding the - * status of the work. The unit of work can either be completed, rejected or completed - * with an error. If the work completed with an error, the caller is notified with the - * error details. - *

- * - * @version $Rev$ $Date$ - */ -public interface WorkScheduler { - - /** - * Schedules a unit of work for future execution. The notification listener - * is used to register interest in callbacks regarding the status of the work. - * - * @param work The unit of work that needs to be asynchronously executed. - * @param listener Notification listener for callbacks. - */ - void scheduleWork(T work, NotificationListener listener); - - /** - * Schedules a unit of work for future execution. The notification listener - * is used to register interest in callbacks regarding the status of the work. - * - * @param work The unit of work that needs to be asynchronously executed. - */ - void scheduleWork(T work); - - /** - * Destroys the work scheduler - */ - void destroy(); - -} diff --git a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/WorkSchedulerException.java b/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/WorkSchedulerException.java deleted file mode 100644 index 18ec2dfeaa..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/WorkSchedulerException.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.work; - - -/** - * Exception thrown by the work scheduler in case of unexpected exceptions. - * - * @version $Rev$ $Date$ - * - * @version $Rev$ $Date$ - */ -public class WorkSchedulerException extends RuntimeException { - private static final long serialVersionUID = 1L; - - /** - * {@inheritDoc} - */ - public WorkSchedulerException() { - super(); - } - - /** - * {@inheritDoc} - */ - public WorkSchedulerException(String message, Throwable cause) { - super(message, cause); - } - - /** - * {@inheritDoc} - */ - public WorkSchedulerException(String message) { - super(message); - } - - /** - * {@inheritDoc} - */ - public WorkSchedulerException(Throwable cause) { - super(cause); - } -} diff --git a/java/sca/contrib/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.context.ContextFactoryExtensionPoint b/java/sca/contrib/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.context.ContextFactoryExtensionPoint deleted file mode 100644 index ddd91bceac..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.context.ContextFactoryExtensionPoint +++ /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.context.DefaultContextFactoryExtensionPoint diff --git a/java/sca/contrib/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactoryExtensionPoint b/java/sca/contrib/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactoryExtensionPoint deleted file mode 100644 index 91839e998f..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactoryExtensionPoint +++ /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.endpointresolver.DefaultEndpointResolverFactoryExtensionPoint diff --git a/java/sca/contrib/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint b/java/sca/contrib/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint deleted file mode 100644 index e9de1f135f..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint +++ /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.provider.DefaultProviderFactoryExtensionPoint diff --git a/java/sca/contrib/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProviderExtensionPoint b/java/sca/contrib/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProviderExtensionPoint deleted file mode 100644 index 2f700671ca..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProviderExtensionPoint +++ /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. - -org.apache.tuscany.sca.provider.DefaultSCADefinitionsProviderExtensionPoint - \ No newline at end of file diff --git a/java/sca/contrib/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint b/java/sca/contrib/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint deleted file mode 100644 index 95591dca5d..0000000000 --- a/java/sca/contrib/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint +++ /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.runtime.DefaultWireProcessorExtensionPoint diff --git a/java/sca/contrib/modules/core-spi/src/test/java/org/apache/tuscany/sca/context/DefaultContextFactoryExtensionPointTestCase.java b/java/sca/contrib/modules/core-spi/src/test/java/org/apache/tuscany/sca/context/DefaultContextFactoryExtensionPointTestCase.java deleted file mode 100644 index 3a27569a3b..0000000000 --- a/java/sca/contrib/modules/core-spi/src/test/java/org/apache/tuscany/sca/context/DefaultContextFactoryExtensionPointTestCase.java +++ /dev/null @@ -1,208 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.tuscany.sca.context; - -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; - -import org.junit.Assert; -import org.junit.Test; - -/** - * This test case will test the class - * org.apache.tuscany.sca.context.DefaultContextFactoryExtensionPoint - * - * $Date$ $Rev$ - */ -public class DefaultContextFactoryExtensionPointTestCase { - - /** - * Tests adding/getting/removing a factory with no interfaces - */ - @Test - public void testFactoryWithNoInterfaces() { - Object factory = new FactoryWithNoInterfaces(); - Class[] ifaces = {}; - addGetRemoveFactory(factory, ifaces); - } - - /** - * Tests adding/getting/removing a factory with one interface - */ - @Test - public void testFactoryWithOneInterface() { - Object factory = new FactoryWithOneInterface(); - Class[] ifaces = { FactoryOneInterface.class }; - addGetRemoveFactory(factory, ifaces); - } - - /** - * Tests adding/getting/removing a factory with two interfaces - */ - @Test - public void testFactoryWithTwoInterfaces() { - Object factory = new FactoryWithTwoInterfaces(); - Class[] ifaces = { FactoryTwoInterfacesA.class, FactoryTwoInterfacesB.class }; - addGetRemoveFactory(factory, ifaces); - } - - /** - * Tests having multiple factories registered - */ - @Test - public void testMultipleFactories() { - // Create new factories - FactoryWithOneInterface factory1 = new FactoryWithOneInterface(); - FactoryWithTwoInterfaces factory2 = new FactoryWithTwoInterfaces(); - - ExtensionPointRegistry registry = new DefaultExtensionPointRegistry(); - - // Register the factories - DefaultContextFactoryExtensionPoint ctxFactory = new DefaultContextFactoryExtensionPoint(registry); - ctxFactory.addFactory(factory1); - ctxFactory.addFactory(factory2); - - // Re-get each of the factories - FactoryOneInterface regotFactory1 = ctxFactory.getFactory(FactoryOneInterface.class); - Assert.assertNotNull(regotFactory1); - Assert.assertSame(factory1, regotFactory1); - FactoryTwoInterfacesA regotFactory2A = ctxFactory.getFactory(FactoryTwoInterfacesA.class); - Assert.assertNotNull(regotFactory2A); - Assert.assertSame(factory2, regotFactory2A); - FactoryTwoInterfacesB regotFactory2B = ctxFactory.getFactory(FactoryTwoInterfacesB.class); - Assert.assertNotNull(regotFactory1); - Assert.assertSame(factory2, regotFactory2B); - } - - /** - * Tests passing in null to addFactory() - */ - @Test - public void testAddingNullFactory() { - - ExtensionPointRegistry registry = new DefaultExtensionPointRegistry(); - DefaultContextFactoryExtensionPoint ctxFactory = new DefaultContextFactoryExtensionPoint(registry); - try { - ctxFactory.addFactory(null); - Assert.fail("Should have thrown IllegalArgumentException"); - } catch (IllegalArgumentException ex) { - // As expected - } - } - - /** - * Test passing in null to removeFactory() - */ - @Test - public void testRemovingNullFactory() { - ExtensionPointRegistry registry = new DefaultExtensionPointRegistry(); - DefaultContextFactoryExtensionPoint ctxFactory = new DefaultContextFactoryExtensionPoint(registry); - try { - ctxFactory.removeFactory(null); - Assert.fail("Should have thrown IllegalArgumentException"); - } catch (IllegalArgumentException ex) { - // As expected - } - } - - /** - * Test passing in null to getFactory() - */ - @Test - public void testGetNullFactory() { - ExtensionPointRegistry registry = new DefaultExtensionPointRegistry(); - DefaultContextFactoryExtensionPoint ctxFactory = new DefaultContextFactoryExtensionPoint(registry); - try { - ctxFactory.getFactory(null); - Assert.fail("Should have thrown IllegalArgumentException"); - } catch (IllegalArgumentException ex) { - // As expected - } - } - - /** - * Utility method for testing adding and removing a factory - * - * @param factory The factory class to test - * @param factoryInterfaces The list of interfaces implemented by the factory - */ - private void addGetRemoveFactory(Object factory, Class[] factoryInterfaces) { - ExtensionPointRegistry registry = new DefaultExtensionPointRegistry(); - DefaultContextFactoryExtensionPoint ctxFactory = new DefaultContextFactoryExtensionPoint(registry); - - // Make sure factory not already present - for (Class iface : factoryInterfaces) { - Assert.assertNull(ctxFactory.getFactory(iface)); - } - - // Add the factory - ctxFactory.addFactory(factory); - - // Make sure we can get the factory recently registered factory - for (Class iface : factoryInterfaces) { - Object regot = ctxFactory.getFactory(iface); - Assert.assertNotNull(regot); - Assert.assertSame(factory, regot); - } - - // Remove the factory - ctxFactory.removeFactory(factory); - - // Make sure factory is no longer registered - for (Class iface : factoryInterfaces) { - Assert.assertNull(ctxFactory.getFactory(iface)); - } - } - - /** - * Simple factory with no interfaces - */ - private class FactoryWithNoInterfaces { - } - - /** - * Simple interface for the factory with one interface - */ - private interface FactoryOneInterface { - } - - /** - * Simple factory with one interface - */ - private class FactoryWithOneInterface implements FactoryOneInterface { - } - - /** - * Simple interface for the factory with two interfaces - */ - private interface FactoryTwoInterfacesA { - } - - /** - * Simple interface for the factory with two interfaces - */ - private interface FactoryTwoInterfacesB { - } - - /** - * Simple factory with two interfaces - */ - private class FactoryWithTwoInterfaces implements FactoryTwoInterfacesA, FactoryTwoInterfacesB { - } -} diff --git a/java/sca/contrib/modules/core-spi/src/test/java/org/apache/tuscany/sca/event/TrueFilterTestCase.java b/java/sca/contrib/modules/core-spi/src/test/java/org/apache/tuscany/sca/event/TrueFilterTestCase.java deleted file mode 100644 index 2425133273..0000000000 --- a/java/sca/contrib/modules/core-spi/src/test/java/org/apache/tuscany/sca/event/TrueFilterTestCase.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.event; - -import org.junit.Assert; -import org.junit.Test; - -/** - * Test case for TrueFilter - * - * @version $Rev$ $Date$ - */ -public class TrueFilterTestCase { - - /** - * Test TrueFilter matching an event - */ - @Test - public void testTrueFilterMatch() { - EventFilter filter = new TrueFilter(); - - Assert.assertTrue(filter.match(new DummyEvent())); - } - - /** - * Test TrueFilter matching null - */ - @Test - public void testTrueFilterMatchNull() { - EventFilter filter = new TrueFilter(); - - Assert.assertTrue(filter.match(null)); - } - - /** - * Dummy Event implementation for testing - */ - private class DummyEvent implements Event { - - /** - * {@inheritDoc} - */ - public Object getSource() { - throw new UnsupportedOperationException(); - } - } -} diff --git a/java/sca/contrib/modules/core-spring/LICENSE b/java/sca/contrib/modules/core-spring/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/core-spring/NOTICE b/java/sca/contrib/modules/core-spring/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/core-spring/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/core-spring/pom.xml b/java/sca/contrib/modules/core-spring/pom.xml deleted file mode 100644 index 15156bd980..0000000000 --- a/java/sca/contrib/modules/core-spring/pom.xml +++ /dev/null @@ -1,126 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-core-spring - Apache Tuscany SCA Spring-based Core Runtime - - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-java - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java - 2.0-SNAPSHOT - - - - org.springframework - spring-core - 2.5.5 - - - - org.springframework - spring-beans - 2.5.5 - - - - org.springframework - spring-context - 2.5.5 - - - - org.apache.tuscany.sca - tuscany-sca-api - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-assembly-xml - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-java-xml - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-xml - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-contribution-impl - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-binding-sca - 2.0-SNAPSHOT - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.core.spring - ${pom.name} - org.apache.tuscany.sca.core.spring* - - - - - - - diff --git a/java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanAssemblyFactory.java b/java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanAssemblyFactory.java deleted file mode 100644 index 94bd5c8cf2..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanComponentImpl.java b/java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanComponentImpl.java deleted file mode 100644 index f2c517b092..0000000000 --- a/java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanComponentImpl.java +++ /dev/null @@ -1,233 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.AbstractBeanDefinition; -import org.springframework.beans.factory.support.GenericBeanDefinition; - -/** - * An implementation of the SCA assembly Component interface backed by a Spring - * Bean definition. - * - * @version $Rev$ $Date$ - */ -public class BeanComponentImpl extends GenericBeanDefinition implements Component, Cloneable { - private List applicablePolicySets = new ArrayList(); - - 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 services = new ArrayList(); - private List requiredIntents = new ArrayList(); - private List policySets = new ArrayList(); - private List extensions = new ArrayList(); - private boolean unresolved = false; - private BeanDefinitionRegistry beanRegistry; - - protected BeanComponentImpl(BeanDefinitionRegistry beanRegistry) { - //super((String)""); - this.beanRegistry = beanRegistry; - } - - @Override - public AbstractBeanDefinition cloneBeanDefinition() { - BeanComponentImpl clone = (BeanComponentImpl)super.cloneBeanDefinition(); - clone.getProperties().clear(); - try { - 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; - } catch (CloneNotSupportedException e) { - //throw new CloneNotSupportedException(e.getMessage()); - } - 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 properties = new ArrayList() { - 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 getProperties() { - return properties; - } - - //TODO use a better list implementation - private List references = new ArrayList() { - 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 getReferences() { - return references; - } - - public List 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 getRequiredIntents() { - return requiredIntents; - } - - public List 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 getExtensions() { - return extensions; - } - - public boolean isUnresolved() { - return unresolved; - } - - public void setUnresolved(boolean undefined) { - this.unresolved = undefined; - } - - public void setPolicySets(List policySets) { - this.policySets = policySets; - } - - public void setRequiredIntents(List intents) { - this.requiredIntents = intents; - } - - public List getApplicablePolicySets() { - return applicablePolicySets; - } - -} diff --git a/java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanReferenceImpl.java b/java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/assembly/impl/BeanReferenceImpl.java deleted file mode 100644 index 7b747372b4..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/ModelResolverImpl.java b/java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/ModelResolverImpl.java deleted file mode 100644 index b275bfa9a7..0000000000 --- a/java/sca/contrib/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 map = new HashMap(); - - private WeakReference classLoader; - - public ModelResolverImpl(ClassLoader classLoader) { - this.classLoader = new WeakReference(classLoader); - } - - public T resolveModel(Class 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/java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/SCADomainContext.java b/java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/context/SCADomainContext.java deleted file mode 100644 index 8fa5f4cd53..0000000000 --- a/java/sca/contrib/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 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 composites = new ArrayList(); - 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 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 getService(Class businessInterface, String serviceName) { - Object bean = beanFactory.getBean(serviceName); - return businessInterface.cast(bean); - } - -} diff --git a/java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanBaseJavaImplementationImpl.java b/java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanBaseJavaImplementationImpl.java deleted file mode 100644 index 49abfb4162..0000000000 --- a/java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanBaseJavaImplementationImpl.java +++ /dev/null @@ -1,211 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.AbstractBeanDefinition; -import org.springframework.beans.factory.support.GenericBeanDefinition; - -/** - * An implementation of the SCA assembly JavaImplementation interface backed by a Spring - * Bean definition. - * - * @version $Rev$ $Date$ - */ -public class BeanBaseJavaImplementationImpl extends GenericBeanDefinition implements BaseJavaImplementation, Cloneable { - private static final long serialVersionUID = 1L; - - private List services = new ArrayList(); - private ConstrainingType constrainingType; - private List extensions = new ArrayList(); - private boolean unresolved; - private BeanDefinitionRegistry beanRegistry; - private String uri; - - private List applicablePolicySets = new ArrayList(); - private List configuredOperations = new ArrayList(); - private List policySets = new ArrayList(); - private List requiredIntents = new ArrayList(); - 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 AbstractBeanDefinition cloneBeanDefinition() { - BeanBaseJavaImplementationImpl clone = (BeanBaseJavaImplementationImpl)super.cloneBeanDefinition(); - clone.getServices().clear(); - try { - 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; - } catch (CloneNotSupportedException e) { - //throw new CloneNotSupportedException(e.getMessage()); - } - 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 properties = new ArrayList() { - 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 getProperties() { - return properties; - } - - //TODO use a better list implementation - private List references = new ArrayList() { - 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 getReferences() { - return references; - } - - public List getServices() { - return services; - } - - public void setConstrainingType(ConstrainingType constrainingType) { - this.constrainingType = constrainingType; - } - - public List getExtensions() { - return extensions; - } - - public boolean isUnresolved() { - return unresolved; - } - - public void setUnresolved(boolean unresolved) { - this.unresolved = unresolved; - } - - public List getApplicablePolicySets() { - return applicablePolicySets; - } - - public List getConfiguredOperations() { - return configuredOperations; - } - - public List getPolicySets() { - return policySets; - } - - public List getRequiredIntents() { - return requiredIntents; - } - - public IntentAttachPointType getType() { - return type; - } - - public void setType(IntentAttachPointType type) { - this.type = type; - } -} diff --git a/java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaImplementationFactory.java b/java/sca/contrib/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/java/sca/contrib/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 visitors = new ArrayList(); - 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 getClassVisitors() { - return visitors; - } - -} diff --git a/java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaImplementationImpl.java b/java/sca/contrib/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/java/sca/contrib/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 constructors = new HashMap(); - private Method initMethod; - private Method destroyMethod; - private final Map resources = new HashMap(); - private final Map propertyMembers = new HashMap(); - private final Map referenceMembers = new HashMap(); - private final Map> callbackMembers = new HashMap>(); - private List conversationIDMember = new ArrayList(); - private boolean eagerInit; - private boolean allowsPassByReference; - private List allowsPassByReferenceMethods = new ArrayList(); - private long maxAge = -1; - private long maxIdleTime = -1; - private JavaScopeImpl scope = JavaScopeImpl.STATELESS; - private List 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 getResources() { - return resources; - } - - public List 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 getAllowsPassByReferenceMethods() { - return allowsPassByReferenceMethods; - } - - public boolean isAllowsPassByReference(Method method) { - return allowsPassByReference || allowsPassByReferenceMethods.contains(method); - } - - public Map getConstructors() { - return constructors; - } - - public boolean isEagerInit() { - return eagerInit; - } - - public void setEagerInit(boolean eagerInit) { - this.eagerInit = eagerInit; - } - - public Map> getCallbackMembers() { - return callbackMembers; - } - - public Map getPropertyMembers() { - return propertyMembers; - } - - public Map 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 getPolicyHandlerClassNames() { - return policyHandlerClassNames; - } - - public void setPolicyHandlerClassNames(List policyHandlerClassNames) { - this.policyHandlerClassNames = policyHandlerClassNames; - } -} diff --git a/java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceContractImpl.java b/java/sca/contrib/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/java/sca/contrib/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/java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceFactory.java b/java/sca/contrib/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/java/sca/contrib/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 visitors = new ArrayList(); - 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 getInterfaceVisitors() { - return visitors; - } -} diff --git a/java/sca/contrib/modules/core-spring/src/main/java/org/apache/tuscany/sca/core/spring/implementation/java/impl/BeanJavaInterfaceImpl.java b/java/sca/contrib/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/java/sca/contrib/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 requiredIntents = new ArrayList(); - private List extensions = new ArrayList(); - private List operations = new ArrayList(); - 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 getRequiredIntents() { - return requiredIntents; - } - - public List getExtensions() { - return extensions; - } - - @Override - public List 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/java/sca/contrib/modules/core-spring/src/test/java/calculator/AddService.java b/java/sca/contrib/modules/core-spring/src/test/java/calculator/AddService.java deleted file mode 100644 index f3a24ed6b2..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/core-spring/src/test/java/calculator/AddServiceImpl.java b/java/sca/contrib/modules/core-spring/src/test/java/calculator/AddServiceImpl.java deleted file mode 100644 index 7ea5a32668..0000000000 --- a/java/sca/contrib/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.oasisopen.sca.annotation.EagerInit; -import org.oasisopen.sca.annotation.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/java/sca/contrib/modules/core-spring/src/test/java/calculator/CalculatorClient.java b/java/sca/contrib/modules/core-spring/src/test/java/calculator/CalculatorClient.java deleted file mode 100644 index 73aa028084..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/core-spring/src/test/java/calculator/CalculatorService.java b/java/sca/contrib/modules/core-spring/src/test/java/calculator/CalculatorService.java deleted file mode 100644 index e0cf23dc17..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/core-spring/src/test/java/calculator/CalculatorServiceImpl.java b/java/sca/contrib/modules/core-spring/src/test/java/calculator/CalculatorServiceImpl.java deleted file mode 100644 index 9f64dc8bca..0000000000 --- a/java/sca/contrib/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.oasisopen.sca.annotation.Reference; -import org.oasisopen.sca.annotation.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/java/sca/contrib/modules/core-spring/src/test/java/calculator/DivideService.java b/java/sca/contrib/modules/core-spring/src/test/java/calculator/DivideService.java deleted file mode 100644 index 7c69b10b25..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/core-spring/src/test/java/calculator/DivideServiceImpl.java b/java/sca/contrib/modules/core-spring/src/test/java/calculator/DivideServiceImpl.java deleted file mode 100644 index f5b8ff5be0..0000000000 --- a/java/sca/contrib/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.oasisopen.sca.annotation.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/java/sca/contrib/modules/core-spring/src/test/java/calculator/MultiplyService.java b/java/sca/contrib/modules/core-spring/src/test/java/calculator/MultiplyService.java deleted file mode 100644 index 686542c18e..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/core-spring/src/test/java/calculator/MultiplyServiceImpl.java b/java/sca/contrib/modules/core-spring/src/test/java/calculator/MultiplyServiceImpl.java deleted file mode 100644 index d146d23153..0000000000 --- a/java/sca/contrib/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.oasisopen.sca.annotation.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/java/sca/contrib/modules/core-spring/src/test/java/calculator/NestedCalculatorClient.java b/java/sca/contrib/modules/core-spring/src/test/java/calculator/NestedCalculatorClient.java deleted file mode 100644 index e8e4a6f71b..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/core-spring/src/test/java/calculator/SubtractService.java b/java/sca/contrib/modules/core-spring/src/test/java/calculator/SubtractService.java deleted file mode 100644 index 30632688f9..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/core-spring/src/test/java/calculator/SubtractServiceImpl.java b/java/sca/contrib/modules/core-spring/src/test/java/calculator/SubtractServiceImpl.java deleted file mode 100644 index ffe09c3dde..0000000000 --- a/java/sca/contrib/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.oasisopen.sca.annotation.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/java/sca/contrib/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/CalculatorTestCase.java b/java/sca/contrib/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/CalculatorTestCase.java deleted file mode 100644 index 44b447cc64..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/NestedCalculatorTestCaseFIXME.java b/java/sca/contrib/modules/core-spring/src/test/java/org/apache/tuscany/sca/core/spring/NestedCalculatorTestCaseFIXME.java deleted file mode 100644 index baf73ac197..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/Calculator.composite b/java/sca/contrib/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/Calculator.composite deleted file mode 100644 index 6d998ba035..0000000000 --- a/java/sca/contrib/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/Calculator.composite +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerCalculator.composite b/java/sca/contrib/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerCalculator.composite deleted file mode 100644 index 8b043f2b4f..0000000000 --- a/java/sca/contrib/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerCalculator.composite +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerOperations.composite b/java/sca/contrib/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerOperations.composite deleted file mode 100644 index d7d1124050..0000000000 --- a/java/sca/contrib/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/InnerOperations.composite +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/OuterCalculator.composite b/java/sca/contrib/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/OuterCalculator.composite deleted file mode 100644 index c2b6cced36..0000000000 --- a/java/sca/contrib/modules/core-spring/src/test/resources/org/apache/tuscany/sca/core/spring/OuterCalculator.composite +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/core/LICENSE b/java/sca/contrib/modules/core/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/core/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/java/sca/contrib/modules/core/META-INF/MANIFEST.MF b/java/sca/contrib/modules/core/META-INF/MANIFEST.MF deleted file mode 100644 index 40e4bf6afb..0000000000 --- a/java/sca/contrib/modules/core/META-INF/MANIFEST.MF +++ /dev/null @@ -1,89 +0,0 @@ -Manifest-Version: 1.0 -Export-Package: org.apache.tuscany.sca.core.assembly;uses:="org.apache - .tuscany.sca.runtime,org.apache.tuscany.sca.context,org.apache.tuscan - y.sca.provider,org.apache.tuscany.sca.core.context,org.apache.tuscany - .sca.assembly.impl,org.apache.tuscany.sca.core,org.apache.tuscany.sca - .core.conversation,javax.xml.namespace,javax.xml.stream,org.apache.tu - scany.sca.endpointresolver,org.apache.tuscany.sca.contribution.resolv - er,org.apache.tuscany.sca.core.invocation,org.oasisopen.sca,org.apache.tus - cany.sca.core.scope,org.apache.tuscany.sca.assembly,org.apache.tuscan - y.sca.monitor,org.apache.tuscany.sca.interfacedef.java,org.apache.tus - cany.sca.interfacedef,org.apache.tuscany.sca.invocation,org.apache.tu - scany.sca.work,org.apache.tuscany.sca.contribution.processor";version - ="2.0",org.apache.tuscany.sca.core.work;uses:="javax.naming,org.oasisopen. - sca.annotations,commonj.work,org.apache.tuscany.sca.work";version="1. - 4",org.apache.tuscany.sca.core.context;uses:="org.apache.tuscany.sca. - runtime,org.apache.tuscany.sca.assembly,org.apache.tuscany.sca.contex - t,javax.security.auth,org.apache.tuscany.sca.monitor,org.apache.tusca - ny.sca.interfacedef.java,org.apache.tuscany.sca.core.conversation,org - .apache.tuscany.sca.interfacedef,javax.xml.namespace,org.apache.tusca - ny.sca.invocation,javax.xml.stream,org.apache.tuscany.sca.core.assemb - ly,org.apache.tuscany.sca.core.factory,org.apache.tuscany.sca.contrib - ution.processor,org.oasisopen.sca,org.apache.tuscany.sca.core.invocation,o - rg.apache.tuscany.sca.core.scope,org.apache.tuscany.sca.assembly.buil - der";version="2.0",org.apache.tuscany.sca.core.factory;version="2.0", - org.apache.tuscany.sca.core.invocation;uses:="org.apache.tuscany.sca. - runtime,org.apache.tuscany.sca.interfacedef.util,org.apache.tuscany.s - ca.assembly,net.sf.cglib.proxy,org.apache.tuscany.sca.provider,org.ap - ache.tuscany.sca.core.context,org.apache.tuscany.sca.core,org.apache. - tuscany.sca.core.conversation,org.apache.tuscany.sca.interfacedef.jav - a,org.apache.tuscany.sca.extensibility,org.apache.tuscany.sca.interfa - cedef,org.apache.tuscany.sca.invocation,org.apache.tuscany.sca.core.a - ssembly,org.apache.tuscany.sca.work,org.apache.tuscany.sca.core.facto - ry,org.oasisopen.sca,org.apache.tuscany.sca.core.scope";version="2.0",org. - apache.tuscany.sca.core.conversation;uses:="org.apache.tuscany.sca.ru - ntime,org.apache.tuscany.sca.provider,org.oasisopen.sca,org.apache.tuscany - .sca.core.scope";version="2.0",org.apache.tuscany.sca.core.scope;uses - :="org.apache.tuscany.sca.invocation,org.apache.tuscany.sca.runtime,o - rg.apache.tuscany.sca.provider,org.apache.tuscany.sca.core.context,or - g.apache.tuscany.sca.core.invocation,org.apache.tuscany.sca.core.conv - ersation";version="2.0" -Tool: Bnd-0.0.255 -Bundle-Name: Apache Tuscany SCA Core Runtime -Created-By: 1.6.0_07 (Sun Microsystems Inc.) -Bundle-Vendor: The Apache Software Foundation -Bundle-Version: 2.0 -Bnd-LastModified: 1225397162265 -Bundle-ManifestVersion: 2 -Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt -Bundle-Description: Apache Tuscany SCA Core Runtime -Import-Package: commonj.work, - javax.naming, - javax.security.auth, - javax.xml.namespace, - javax.xml.stream, - - net.sf.cglib.proxy, - org.apache.tuscany.sca.assembly;version="2.0", - org.apache.tuscany.sca.assembly.builder;version="2.0", - org.apache.tuscany.sca.assembly.impl;version="2.0", - org.apache.tuscany.sca.context;version="2.0", - org.apache.tuscany.sca.contribution.processor;version="2.0", - org.apache.tuscany.sca.contribution.resolver;version="2.0", - org.apache.tuscany.sca.core;version="2.0", - org.apache.tuscany.sca.core.assembly;version="2.0", - org.apache.tuscany.sca.core.context;version="2.0", - org.apache.tuscany.sca.core.conversation;version="2.0", - org.apache.tuscany.sca.core.factory;version="2.0", - org.apache.tuscany.sca.core.invocation;version="2.0", - org.apache.tuscany.sca.core.scope;version="2.0", - org.apache.tuscany.sca.core.wire;version="2.0";resolution:=optional, - org.apache.tuscany.sca.core.work;version="2.0", - org.apache.tuscany.sca.endpointresolver;version="2.0", - org.apache.tuscany.sca.extensibility;version="2.0", - org.apache.tuscany.sca.interfacedef;version="2.0", - org.apache.tuscany.sca.interfacedef.impl;version="2.0";resolution:=optional, - org.apache.tuscany.sca.interfacedef.java;version="2.0", - org.apache.tuscany.sca.interfacedef.util;version="2.0", - org.apache.tuscany.sca.invocation;version="2.0", - org.apache.tuscany.sca.monitor;version="2.0", - org.apache.tuscany.sca.policy;version="2.0.0", - org.apache.tuscany.sca.provider;version="2.0", - org.apache.tuscany.sca.runtime;version="2.0", - org.apache.tuscany.sca.work;version="2.0", - - org.oasisopen.sca;version="2.0", - org.oasisopen.sca.annotation;version="2.0" -Bundle-SymbolicName: org.apache.tuscany.sca.core -Bundle-DocURL: http://www.apache.org/ - diff --git a/java/sca/contrib/modules/core/NOTICE b/java/sca/contrib/modules/core/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/core/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/core/pom.xml b/java/sca/contrib/modules/core/pom.xml deleted file mode 100644 index a7bf9d55d5..0000000000 --- a/java/sca/contrib/modules/core/pom.xml +++ /dev/null @@ -1,107 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-core - Apache Tuscany SCA Core Runtime - - - - org.apache.tuscany.sca - tuscany-extensibility - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-contribution - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-contribution-java - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface-java - 2.0-SNAPSHOT - - - - org.apache.geronimo.specs - geronimo-commonj_1.1_spec - 1.0 - - - - org.codehaus.woodstox - wstx-asl - 3.2.4 - runtime - - - stax - stax-api - - - - - - cglib - cglib-nodep - 2.1_3 - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.core - ${pom.name} - org.apache.tuscany.sca.core* - - - - - - - diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/ActivationException.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/ActivationException.java deleted file mode 100644 index c86c876075..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/ActivationException.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.core.assembly; - - -/** - * Denotes an error starting the runtime - * - * @version $Rev$ $Date$ - */ -public class ActivationException extends Exception { - private static final long serialVersionUID = 8612661660934426123L; - - public ActivationException(String message) { - super(message); - } - - public ActivationException(Throwable cause) { - super(cause); - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/CompositeActivator.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/CompositeActivator.java deleted file mode 100644 index 29dcc20f0b..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/CompositeActivator.java +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.assembly; - -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.Composite; -import org.apache.tuscany.sca.core.context.ComponentContextHelper; -import org.apache.tuscany.sca.core.conversation.ConversationManager; -import org.apache.tuscany.sca.core.invocation.ProxyFactory; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * Start/stop a composite - * - * @version $Rev$ $Date$ - */ -public interface CompositeActivator { - /** - * Activate a composite - * @param composite - */ - void activate(Composite composite) throws ActivationException; - - /** - * Activate a component reference - * @param component - * @param ref - */ - void start(RuntimeComponent component, RuntimeComponentReference ref); - - /** - * Activate a component reference - * @param component - * @param ref - */ - void activate(RuntimeComponent component, RuntimeComponentReference ref); - - /** - * Activate a component reference - * @param component - * @param ref - */ - void activate(RuntimeComponent component, RuntimeComponentService service); - - /** - * De-activate a component reference - * @param component - * @param ref - */ - void deactivate(RuntimeComponent component, RuntimeComponentReference ref); - - /** - * De-activate a component reference - * @param component - * @param ref - */ - void deactivate(RuntimeComponent component, RuntimeComponentService service); - - /** - * Stop a composite - * @param composite - */ - void deactivate(Composite composite) throws ActivationException; - - /** - * Start a component - * @param component - */ - void start(Component component) throws ActivationException; - - /** - * Stop a component - * @param component - */ - void stop(Component component) throws ActivationException; - - /** - * Start components in a composite - * @param composite - */ - void start(Composite composite) throws ActivationException; - - /** - * Stop components in a composite - * @param composite - */ - void stop(Composite composite) throws ActivationException; - - /** - * Get the component context helper - * @return - */ - ComponentContextHelper getComponentContextHelper(); - - /** - * Get the proxy factory - * @return - */ - ProxyFactory getProxyFactory(); - - /** - * Get the java interface factory - * @return - */ - JavaInterfaceFactory getJavaInterfaceFactory(); - - ConversationManager getConversationManager(); - - /** - * Configure the runtime component with component context - * @param component - */ - void configureComponentContext(RuntimeComponent component); - - /** - * Resolve a component by URI in the domain - * @param componentURI - * @return - */ - Component resolve(String componentURI); - - /** - * Set the domain composite - * @param domainComposite - */ - void setDomainComposite(Composite domainComposite); - - /** - * Get the domain composite - * @return - */ - Composite getDomainComposite(); - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/CompositeActivatorImpl.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/CompositeActivatorImpl.java deleted file mode 100644 index f51931c53b..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/CompositeActivatorImpl.java +++ /dev/null @@ -1,1101 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.assembly; - -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -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.CompositeService; -import org.apache.tuscany.sca.assembly.Endpoint; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.assembly.OptimizableBinding; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.SCABindingFactory; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.context.RequestContextFactory; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.core.context.ComponentContextHelper; -import org.apache.tuscany.sca.core.context.ComponentContextImpl; -import org.apache.tuscany.sca.core.conversation.ConversationManager; -import org.apache.tuscany.sca.core.invocation.ProxyFactory; -import org.apache.tuscany.sca.core.scope.ConversationalScopeContainer; -import org.apache.tuscany.sca.core.scope.Scope; -import org.apache.tuscany.sca.core.scope.ScopeContainer; -import org.apache.tuscany.sca.core.scope.ScopeRegistry; -import org.apache.tuscany.sca.core.scope.ScopedRuntimeComponent; -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.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; -import org.apache.tuscany.sca.invocation.MessageFactory; -import org.apache.tuscany.sca.provider.BindingProviderFactory; -import org.apache.tuscany.sca.provider.ImplementationProvider; -import org.apache.tuscany.sca.provider.ImplementationProviderFactory; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.PolicyProviderFactory; -import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint; -import org.apache.tuscany.sca.provider.ReferenceBindingProvider; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; -import org.apache.tuscany.sca.runtime.EndpointReference; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentContext; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.apache.tuscany.sca.runtime.RuntimeWireProcessor; -import org.apache.tuscany.sca.work.WorkScheduler; - -/** - * @version $Rev$ $Date$ - */ -public class CompositeActivatorImpl implements CompositeActivator { - private static final Logger logger = Logger.getLogger(CompositeActivatorImpl.class.getName()); - - private final AssemblyFactory assemblyFactory; - private final MessageFactory messageFactory; - private final InterfaceContractMapper interfaceContractMapper; - private final ScopeRegistry scopeRegistry; - private final WorkScheduler workScheduler; - private final RuntimeWireProcessor wireProcessor; - private final ProviderFactoryExtensionPoint providerFactories; - private final EndpointResolverFactoryExtensionPoint endpointResolverFactories; - - private final RequestContextFactory requestContextFactory; - private final ProxyFactory proxyFactory; - private final JavaInterfaceFactory javaInterfaceFactory; - private final ConversationManager conversationManager; - - private final ComponentContextHelper componentContextHelper; - - private Composite domainComposite; - - /** - * @param assemblyFactory - * @param interfaceContractMapper - * @param workScheduler - * @param conversationManager TODO - * @param workContext - * @param wirePostProcessorRegistry - */ - public CompositeActivatorImpl(AssemblyFactory assemblyFactory, - MessageFactory messageFactory, - JavaInterfaceFactory javaInterfaceFactory, - SCABindingFactory scaBindingFactory, - InterfaceContractMapper interfaceContractMapper, - ScopeRegistry scopeRegistry, - WorkScheduler workScheduler, - RuntimeWireProcessor wireProcessor, - RequestContextFactory requestContextFactory, - ProxyFactory proxyFactory, - ProviderFactoryExtensionPoint providerFactories, - EndpointResolverFactoryExtensionPoint endpointResolverFactories, - StAXArtifactProcessorExtensionPoint processors, - ConversationManager conversationManager) { - this.assemblyFactory = assemblyFactory; - this.messageFactory = messageFactory; - this.interfaceContractMapper = interfaceContractMapper; - this.scopeRegistry = scopeRegistry; - this.workScheduler = workScheduler; - this.wireProcessor = wireProcessor; - this.providerFactories = providerFactories; - this.endpointResolverFactories = endpointResolverFactories; - this.javaInterfaceFactory = javaInterfaceFactory; - this.requestContextFactory = requestContextFactory; - this.proxyFactory = proxyFactory; - this.conversationManager = conversationManager; - this.componentContextHelper = new ComponentContextHelper(assemblyFactory, javaInterfaceFactory, processors); - } - - /** - * @see org.apache.tuscany.sca.core.assembly.CompositeActivator#activate(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.runtime.RuntimeComponentReference) - */ - public void activate(RuntimeComponent component, RuntimeComponentReference ref) { - if (logger.isLoggable(Level.FINE)) { - logger.fine("Activating component reference: " + component.getURI() + "#" + ref.getName()); - } - resolveTargets(ref); - for (Binding binding : ref.getBindings()) { - addReferenceBindingProvider(component, ref, binding); - } - - for (Endpoint endpoint : ref.getEndpoints()){ - // TODO - source component should be set in the builder but the - // way the builder is written it's difficult to get at it - endpoint.setSourceComponent(component); - - addEndpointResolver(component, ref, endpoint); - } - } - - public void start(RuntimeComponent component, RuntimeComponentReference ref) { - synchronized (ref) { - resolveTargets(ref); - for (Binding binding : ref.getBindings()) { - ReferenceBindingProvider provider = ref.getBindingProvider(binding); - if (provider == null) { - provider = addReferenceBindingProvider(component, ref, binding); - } - if (provider != null) { - provider.start(); - } - addReferenceWire(component, ref, binding); - } - - // targets now have an endpoint representation. We can use this to - // look for unresolved endpoints using dummy wires for late resolution - for (Endpoint endpoint : ref.getEndpoints()){ - addReferenceEndpointWire(component, ref, endpoint); - } - } - } - - public void stop(Component component, ComponentReference reference) { - if (logger.isLoggable(Level.FINE)) { - logger.fine("Stopping component reference: " + component.getURI() + "#" + reference.getName()); - } - RuntimeComponentReference runtimeRef = ((RuntimeComponentReference)reference); - for (Binding binding : reference.getBindings()) { - ReferenceBindingProvider bindingProvider = runtimeRef.getBindingProvider(binding); - if (bindingProvider != null) { - bindingProvider.stop(); - } - } - } - - public void deactivate(RuntimeComponent component, RuntimeComponentReference ref) { - if (logger.isLoggable(Level.FINE)) { - logger.fine("Deactivating component reference: " + component.getURI() + "#" + ref.getName()); - } - removeReferenceWires(ref); - for (Binding binding : ref.getBindings()) { - removeReferenceBindingProvider(component, ref, binding); - } - - } - - /** - * @param component - * @param reference - * @param binding - */ - private EndpointResolver addEndpointResolver(RuntimeComponent component, - RuntimeComponentReference reference, - Endpoint endpoint){ - - // only create endpoint resolvers for unresolved endpoints currently - // this will also prevent a wire from being created later - if (!endpoint.isUnresolved()){ - return null; - } - - // This souldn't happen as the endpoint resolver extension point is in core-spi but - // just in case returning null here will mean that no wire is created and calling - // the reference will fail with NPE - if (endpointResolverFactories == null){ - return null; - } - - EndpointResolverFactory resolverFactory = - (EndpointResolverFactory)endpointResolverFactories.getEndpointResolverFactory(endpoint.getClass()); - - if (resolverFactory != null) { - @SuppressWarnings("unchecked") - EndpointResolver endpointResolver = - resolverFactory.createEndpointResolver(endpoint, null); - if (endpointResolver != null) { - ((RuntimeComponentReference)reference).setEndpointResolver(endpoint, endpointResolver); - } - - return endpointResolver; - } else { - // TODO - for the time being allow the lack of an endpoint provider to be the - // switch to turn off endpoint processing - return null; - //throw new IllegalStateException("Endpoint provider factory not found for class: " + endpoint.getClass().getName()); - } - } - - public void addReferenceBindingProviderForEndpoint(Endpoint endpoint){ - addReferenceBindingProvider((RuntimeComponent)endpoint.getSourceComponent(), - (RuntimeComponentReference)endpoint.getSourceComponentReference(), - endpoint.getSourceBinding()); - } - - /** - * @param component - * @param reference - * @param binding - */ - private ReferenceBindingProvider addReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - BindingProviderFactory providerFactory = - (BindingProviderFactory)providerFactories.getProviderFactory(binding.getClass()); - if (providerFactory != null) { - @SuppressWarnings("unchecked") - ReferenceBindingProvider bindingProvider = - providerFactory.createReferenceBindingProvider((RuntimeComponent)component, - (RuntimeComponentReference)reference, - binding); - if (bindingProvider != null) { - ((RuntimeComponentReference)reference).setBindingProvider(binding, bindingProvider); - } - for (PolicyProviderFactory f : providerFactories.getPolicyProviderFactories()) { - PolicyProvider policyProvider = f.createReferencePolicyProvider(component, reference, binding); - if (policyProvider != null) { - reference.addPolicyProvider(binding, policyProvider); - } - } - - return bindingProvider; - } else { - throw new IllegalStateException("Provider factory not found for class: " + binding.getClass().getName()); - } - } - - /** - * @param reference - */ - private void resolveTargets(RuntimeComponentReference reference) { - // The code that used to be here to resolved unresolved targets is now - // at the bottom of BaseWireBuilder.connectComponentReferences() - } - - /** - * Create the runtime wires for a reference endpoint. Currently this method - * only deals with the late binding case and creates a dummy wire that - * will use the Endpoint to resolve the target at the point when the - * wire chains are created. - * - * @param component - * @param reference - * @param binding - */ - private void addReferenceEndpointWire(Component component, ComponentReference reference, Endpoint endpoint) { - // only deal with unresolved endpoints as, to prevent breaking changes, targets that are resolved - // at build time are still represented as bindings in the binding list - if (((RuntimeComponentReference)reference).getEndpointResolver(endpoint) == null){ - // no endpoint provider has previously been created so don't create the - // wire - return; - } - - // TODO: TUSCANY-2580: avoid NPE if the InterfaceCOntract is null - Reference ctref = endpoint.getSourceComponentReference().getReference(); - if (ctref != null && ctref.getInterfaceContract() == null) { - ctref.setInterfaceContract(reference.getInterfaceContract()); - } - - RuntimeWire wire = new EndpointWireImpl(endpoint, this); - - RuntimeComponentReference runtimeRef = (RuntimeComponentReference)reference; - runtimeRef.getRuntimeWires().add(wire); - } - - - /** - * Create the runtime wires for a reference binding - * - * @param component - * @param reference - * @param binding - */ - private void addReferenceWire(Component component, ComponentReference reference, Binding binding) { - if (!(reference instanceof RuntimeComponentReference)) { - return; - } - - // create wire if binding has an endpoint - Component targetComponent = null; - ComponentService targetComponentService = null; - Binding targetBinding = null; - - if (binding instanceof OptimizableBinding) { - OptimizableBinding endpoint = (OptimizableBinding)binding; - targetComponent = endpoint.getTargetComponent(); - targetComponentService = endpoint.getTargetComponentService(); - targetBinding = endpoint.getTargetBinding(); - // FIXME: TUSCANY-2136, For unresolved binding, don't add wire. Is it the right solution? - if (!reference.isCallback() && binding.getURI() == null && targetComponentService == null) { - return; - } - } - - // create a forward wire, either static or dynamic - addReferenceWire(component, reference, binding, targetComponent, targetComponentService, targetBinding); - - /* - // if static forward wire (not from self-reference), try to create a static callback wire - if (targetComponentService != null && !reference.getName().startsWith("$self$.")) { - ComponentReference callbackReference = targetComponentService.getCallbackReference(); - if (callbackReference != null) { - Binding callbackBinding = null; - Binding callbackServiceBinding = null; - // select a service callback binding that can be wired back to this component - for (Binding refBinding : callbackReference.getBindings()) { - // first look for a callback binding whose name matches the target binding name - if (refBinding.getName().equals(targetBinding.getName())) { - callbackBinding = refBinding; - break; - } - } - // see if there is a matching reference callback binding - if (callbackBinding != null) { - callbackServiceBinding = reference.getCallbackService().getBinding(callbackBinding.getClass()); - } - // if there isn't an end-to-end match, try again based on target binding type - if (callbackBinding == null || callbackServiceBinding == null) { - callbackBinding = callbackReference.getBinding(targetBinding.getClass()); - if (callbackBinding != null) { - callbackServiceBinding = reference.getCallbackService().getBinding(callbackBinding.getClass()); - } - } - if (callbackBinding != null && callbackServiceBinding != null) { - // end-to-end match, so create a static callback wire as well as the static forward wire - - addReferenceWire(targetComponent, callbackReference, callbackBinding, component, reference - .getCallbackService(), callbackServiceBinding); - } else { - // no end-to-end match, so do not create a static callback wire - } - } - } - */ - } - - public void addReferenceWireForEndpoint(Endpoint endpoint){ - addReferenceWire(endpoint.getSourceComponent(), - endpoint.getSourceComponentReference(), - endpoint.getSourceBinding(), - endpoint.getTargetComponent(), - endpoint.getTargetComponentService(), - endpoint.getTargetBinding()); - } - /** - * Create a reference wire for a forward call or a callback - * @param reference - * @param service - * @param serviceBinding - * @param component - * @param referenceBinding - */ - private RuntimeWire addReferenceWire(Component refComponent, - ComponentReference reference, - Binding refBinding, - Component serviceComponent, - ComponentService service, - Binding serviceBinding) { - RuntimeComponentReference runtimeRef = (RuntimeComponentReference)reference; - InterfaceContract bindingContract = getInterfaceContract(reference, refBinding); - - // Use the interface contract of the reference on the component type - Reference componentTypeRef = reference.getReference(); - - InterfaceContract sourceContract; - if (componentTypeRef == null || componentTypeRef.getInterfaceContract() == null) { - sourceContract = reference.getInterfaceContract(); - } else { - sourceContract = componentTypeRef.getInterfaceContract(); - } - - sourceContract = sourceContract.makeUnidirectional(false); - - EndpointReference wireSource = - new EndpointReferenceImpl((RuntimeComponent)refComponent, reference, refBinding, sourceContract); - ComponentService callbackService = reference.getCallbackService(); - if (callbackService != null) { - // select a reference callback binding to pass with invocations on this wire - Binding callbackBinding = null; - for (Binding binding : callbackService.getBindings()) { - // first look for a callback binding whose name matches the reference binding name - if (refBinding.getName().startsWith(binding.getName())) { - callbackBinding = binding; - break; - } - } - // if no callback binding found, try again based on reference binding type - if (callbackBinding == null) { - callbackBinding = callbackService.getBinding(refBinding.getClass()); - } - InterfaceContract callbackContract = callbackService.getInterfaceContract(); - EndpointReference callbackEndpoint = - new EndpointReferenceImpl((RuntimeComponent)refComponent, callbackService, callbackBinding, - callbackContract); - wireSource.setCallbackEndpoint(callbackEndpoint); - } - - EndpointReference wireTarget = - new EndpointReferenceImpl((RuntimeComponent)serviceComponent, service, serviceBinding, bindingContract); - - // TUSCANY-2029 - We should use the URI of the serviceBinding because the target may be a Component in a - // nested composite. - if (serviceBinding != null) { - wireTarget.setURI(serviceBinding.getURI()); - } - - RuntimeWire wire = - new RuntimeWireImpl(wireSource, wireTarget, interfaceContractMapper, workScheduler, wireProcessor, - messageFactory, conversationManager); - runtimeRef.getRuntimeWires().add(wire); - - return wire; - } - - private void addImplementationProvider(RuntimeComponent component, Implementation implementation) { - ImplementationProviderFactory providerFactory = - (ImplementationProviderFactory)providerFactories.getProviderFactory(implementation.getClass()); - if (providerFactory != null) { - @SuppressWarnings("unchecked") - ImplementationProvider implementationProvider = - providerFactory.createImplementationProvider(component, implementation); - if (implementationProvider != null) { - component.setImplementationProvider(implementationProvider); - } - } else { - throw new IllegalStateException("Provider factory not found for class: " + implementation.getClass() - .getName()); - } - for (PolicyProviderFactory f : providerFactories.getPolicyProviderFactories()) { - PolicyProvider policyProvider = f.createImplementationPolicyProvider(component, implementation); - if (policyProvider != null) { - component.addPolicyProvider(policyProvider); - } - } - - } - - private void removeImplementationProvider(RuntimeComponent component) { - component.setImplementationProvider(null); - component.getPolicyProviders().clear(); - } - - /** - * @param component - * @param service - * @param binding - */ - private ServiceBindingProvider addServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding) { - BindingProviderFactory providerFactory = - (BindingProviderFactory)providerFactories.getProviderFactory(binding.getClass()); - if (providerFactory != null) { - @SuppressWarnings("unchecked") - ServiceBindingProvider bindingProvider = - providerFactory.createServiceBindingProvider((RuntimeComponent)component, - (RuntimeComponentService)service, - binding); - if (bindingProvider != null) { - ((RuntimeComponentService)service).setBindingProvider(binding, bindingProvider); - } - for (PolicyProviderFactory f : providerFactories.getPolicyProviderFactories()) { - PolicyProvider policyProvider = f.createServicePolicyProvider(component, service, binding); - if (policyProvider != null) { - service.addPolicyProvider(binding, policyProvider); - } - } - return bindingProvider; - } else { - throw new IllegalStateException("Provider factory not found for class: " + binding.getClass().getName()); - } - } - - private void removeServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding) { - service.setBindingProvider(binding, null); - for (Binding b : service.getBindings()) { - List pps = service.getPolicyProviders(b); - if (pps != null) { - pps.clear(); - } - } - } - - private void removeReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - reference.setBindingProvider(binding, null); - for (Binding b : reference.getBindings()) { - List pps = reference.getPolicyProviders(b); - if (pps != null) { - pps.clear(); - } - } - } - - public void start(Composite composite) { - if (logger.isLoggable(Level.FINE)) { - logger.fine("Starting composite: " + composite.getName()); - } - for (Component component : composite.getComponents()) { - start(component); - } - } - - public void stop(Composite composite) { - if (logger.isLoggable(Level.FINE)) { - logger.fine("Stopping composite: " + composite.getName()); - } - for (final Component component : composite.getComponents()) { - stop(component); - } - } - - public void start(Component component) { - if (logger.isLoggable(Level.FINE)) { - logger.fine("Starting component: " + component.getURI()); - } - RuntimeComponent runtimeComponent = ((RuntimeComponent)component); - if(runtimeComponent.isStarted()) { - return; - } - - configureComponentContext(runtimeComponent); - - for (ComponentReference reference : component.getReferences()) { - if (logger.isLoggable(Level.FINE)) { - logger.fine("Starting component reference: " + component.getURI() + "#" + reference.getName()); - } - RuntimeComponentReference runtimeRef = ((RuntimeComponentReference)reference); - runtimeRef.setComponent(runtimeComponent); - - for (Endpoint endpoint : reference.getEndpoints()) { - final EndpointResolver endpointResolver = runtimeRef.getEndpointResolver(endpoint); - if (endpointResolver != null) { - // Allow endpoint resolvers to do any startup reference manipulation - AccessController.doPrivileged(new PrivilegedAction() { - public Object run() { - endpointResolver.start(); - return null; - } - }); - } - } - - for (Binding binding : reference.getBindings()) { - final ReferenceBindingProvider bindingProvider = runtimeRef.getBindingProvider(binding); - if (bindingProvider != null) { - // Allow bindings to add shutdown hooks. Requires RuntimePermission shutdownHooks in policy. - AccessController.doPrivileged(new PrivilegedAction() { - public Object run() { - bindingProvider.start(); - return null; - } - }); - } - } - } - - for (ComponentService service : component.getServices()) { - if (logger.isLoggable(Level.FINE)) { - logger.fine("Starting component service: " + component.getURI() + "#" + service.getName()); - } - RuntimeComponentService runtimeService = (RuntimeComponentService)service; - for (Binding binding : service.getBindings()) { - final ServiceBindingProvider bindingProvider = runtimeService.getBindingProvider(binding); - if (bindingProvider != null) { - // bindingProvider.start(); - // Allow bindings to add shutdown hooks. Requires RuntimePermission shutdownHooks in policy. - AccessController.doPrivileged(new PrivilegedAction() { - public Object run() { - bindingProvider.start(); - return null; - } - }); - } - } - } - - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - start((Composite)implementation); - } else { - ImplementationProvider implementationProvider = runtimeComponent.getImplementationProvider(); - if (implementationProvider != null) { - implementationProvider.start(); - } - } - - if (component instanceof ScopedRuntimeComponent) { - ScopedRuntimeComponent scopedRuntimeComponent = (ScopedRuntimeComponent)component; - if (scopedRuntimeComponent.getScopeContainer() != null) { - scopedRuntimeComponent.getScopeContainer().start(); - } - } - - runtimeComponent.setStarted(true); - } - - /** - * @param runtimeComponent - */ - public void configureComponentContext(RuntimeComponent runtimeComponent) { - RuntimeComponentContext componentContext = - new ComponentContextImpl(this, assemblyFactory, proxyFactory, interfaceContractMapper, - requestContextFactory, javaInterfaceFactory, runtimeComponent); - runtimeComponent.setComponentContext(componentContext); - } - - /** - * Stop a component - */ - public void stop(Component component) { - if (!((RuntimeComponent)component).isStarted()) { - return; - } - if (logger.isLoggable(Level.FINE)) { - logger.fine("Stopping component: " + component.getURI()); - } - for (ComponentService service : component.getServices()) { - if (logger.isLoggable(Level.FINE)) { - logger.fine("Stopping component service: " + component.getURI() + "#" + service.getName()); - } - for (Binding binding : service.getBindings()) { - final ServiceBindingProvider bindingProvider = ((RuntimeComponentService)service).getBindingProvider(binding); - if (bindingProvider != null) { - // Allow bindings to read properties. Requires PropertyPermission read in security policy. - AccessController.doPrivileged(new PrivilegedAction() { - public Object run() { - bindingProvider.stop(); - return null; - } - }); - } - } - } - for (ComponentReference reference : component.getReferences()) { - if (logger.isLoggable(Level.FINE)) { - logger.fine("Starting component reference: " + component.getURI() + "#" + reference.getName()); - } - RuntimeComponentReference runtimeRef = ((RuntimeComponentReference)reference); - - for (Binding binding : reference.getBindings()) { - final ReferenceBindingProvider bindingProvider = runtimeRef.getBindingProvider(binding); - if (bindingProvider != null) { - // Allow bindings to read properties. Requires PropertyPermission read in security policy. - AccessController.doPrivileged(new PrivilegedAction() { - public Object run() { - bindingProvider.stop(); - return null; - } - }); - } - } - - for (Endpoint endpoint : reference.getEndpoints()) { - final EndpointResolver endpointResolver = runtimeRef.getEndpointResolver(endpoint); - if (endpointResolver != null) { - // Allow endpoint resolvers to do any shutdown reference manipulation - AccessController.doPrivileged(new PrivilegedAction() { - public Object run() { - endpointResolver.stop(); - return null; - } - }); - } - } - } - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - stop((Composite)implementation); - } else { - final ImplementationProvider implementationProvider = ((RuntimeComponent)component).getImplementationProvider(); - if (implementationProvider != null) { - // Allow bindings to read properties. Requires PropertyPermission read in security policy. - AccessController.doPrivileged(new PrivilegedAction() { - public Object run() { - implementationProvider.stop(); - return null; - } - }); - } - } - - if (component instanceof ScopedRuntimeComponent) { - ScopedRuntimeComponent runtimeComponent = (ScopedRuntimeComponent)component; - if (runtimeComponent.getScopeContainer() != null && - runtimeComponent.getScopeContainer().getLifecycleState() != ScopeContainer.STOPPED) { - runtimeComponent.getScopeContainer().stop(); - } - } - - ((RuntimeComponent)component).setStarted(false); - } - - /** - * Get the effective interface contract for a reference binding - * - * @param reference - * @param binding - * @return - */ - private InterfaceContract getInterfaceContract(ComponentReference reference, Binding binding) { - InterfaceContract interfaceContract = reference.getInterfaceContract(); - ReferenceBindingProvider provider = ((RuntimeComponentReference)reference).getBindingProvider(binding); - if (provider != null) { - InterfaceContract bindingContract = provider.getBindingInterfaceContract(); - if (bindingContract != null) { - interfaceContract = bindingContract; - } - } - return interfaceContract.makeUnidirectional(false); - } - - /** - * Remove the runtime wires for a reference binding - * @param reference - */ - private void removeReferenceWires(ComponentReference reference) { - if (!(reference instanceof RuntimeComponentReference)) { - return; - } - // [rfeng] Comment out the following statements to avoid the on-demand activation - // RuntimeComponentReference runtimeRef = (RuntimeComponentReference)reference; - // runtimeRef.getRuntimeWires().clear(); - } - - /** - * Get the effective interface contract for the service binding - * - * @param service - * @param binding - * @return - */ - private InterfaceContract getInterfaceContract(ComponentService service, Binding binding) { - InterfaceContract interfaceContract = service.getInterfaceContract(); - - ServiceBindingProvider provider = ((RuntimeComponentService)service).getBindingProvider(binding); - if (provider != null) { - InterfaceContract bindingContract = provider.getBindingInterfaceContract(); - if (bindingContract != null) { - interfaceContract = bindingContract; - } - } - return interfaceContract.makeUnidirectional(false); - } - - /** - * Remove runtime wires for a service binding - * - * @param component - * @param service - */ - private void removeServiceWires(ComponentService service) { - if (!(service instanceof RuntimeComponentService)) { - return; - } - RuntimeComponentService runtimeService = (RuntimeComponentService)service; - runtimeService.getRuntimeWires().clear(); - } - - /** - * Create a service wire for a forward call or a callback - * @param service - * @param serviceBinding - * @param reference - * @param component - * @param referenceBinding - */ - private RuntimeWire addServiceWire(Component serviceComponent, ComponentService service, Binding serviceBinding) { - if (!(service instanceof RuntimeComponentService)) { - return null; - } - RuntimeComponentService runtimeService = (RuntimeComponentService)service; - - // FIXME: [rfeng] We might need a better way to get the impl interface contract - Service targetService = service.getService(); - if (targetService == null) { - targetService = service; - } - InterfaceContract targetContract = targetService.getInterfaceContract().makeUnidirectional(false); - - InterfaceContract sourceContract = getInterfaceContract(service, serviceBinding); - - EndpointReference wireSource = new EndpointReferenceImpl(null, null, serviceBinding, sourceContract); - - EndpointReference wireTarget = - new EndpointReferenceImpl((RuntimeComponent)serviceComponent, (RuntimeComponentService)service, - serviceBinding, targetContract); - - RuntimeWire wire = - new RuntimeWireImpl(wireSource, wireTarget, interfaceContractMapper, workScheduler, wireProcessor, - messageFactory, conversationManager); - runtimeService.getRuntimeWires().add(wire); - - return wire; - } - - public void activate(RuntimeComponent component, RuntimeComponentService service) { - if (service.getService() == null) { - if (logger.isLoggable(Level.WARNING)) { - logger.warning("Skipping component service not defined in the component type: " + component.getURI() - + "#" - + service.getName()); - } - return; - } - if (service.getService() instanceof CompositeService) { - return; - } - if (logger.isLoggable(Level.FINE)) { - logger.fine("Activating component service: " + component.getURI() + "#" + service.getName()); - } - - for (Binding binding : service.getBindings()) { - addServiceBindingProvider(component, service, binding); - addServiceWire(component, service, binding); - } - } - - public void deactivate(RuntimeComponent component, RuntimeComponentService service) { - if (logger.isLoggable(Level.FINE)) { - logger.fine("Deactivating component service: " + component.getURI() + "#" + service.getName()); - } - removeServiceWires(service); - for (Binding binding : service.getBindings()) { - removeServiceBindingProvider(component, service, binding); - } - } - - private void addScopeContainer(Component component) { - if (!(component instanceof ScopedRuntimeComponent)) { - return; - } - ScopedRuntimeComponent runtimeComponent = (ScopedRuntimeComponent)component; - ScopeContainer scopeContainer = scopeRegistry.getScopeContainer(runtimeComponent); - if (scopeContainer != null && scopeContainer.getScope() == Scope.CONVERSATION) { - conversationManager.addListener((ConversationalScopeContainer)scopeContainer); - } - runtimeComponent.setScopeContainer(scopeContainer); - } - - private void removeScopeContainer(Component component) { - if (!(component instanceof ScopedRuntimeComponent)) { - return; - } - ScopedRuntimeComponent runtimeComponent = (ScopedRuntimeComponent)component; - ScopeContainer scopeContainer = runtimeComponent.getScopeContainer(); - if(scopeContainer != null && scopeContainer.getScope() == Scope.CONVERSATION) { - conversationManager.removeListener((ConversationalScopeContainer) scopeContainer); - } - runtimeComponent.setScopeContainer(null); - } - - public void activateComponent(Component component) - throws ActivationException { - try { - if (logger.isLoggable(Level.FINE)) { - logger.fine("Activating component: " + component.getURI()); - } - - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - activate((Composite) implementation); - } else if (implementation != null) { - addImplementationProvider((RuntimeComponent) component, - implementation); - addScopeContainer(component); - } - - for (ComponentService service : component.getServices()) { - activate((RuntimeComponent) component, - (RuntimeComponentService) service); - } - - for (ComponentReference reference : component.getReferences()) { - activate((RuntimeComponent) component, - (RuntimeComponentReference) reference); - } - } catch (Exception e) { - throw new ActivationException(e); - } - } - - public void deactivateComponent(Component component) - throws ActivationException { - try { - if (logger.isLoggable(Level.FINE)) { - logger.fine("Deactivating component: " + component.getURI()); - } - for (ComponentService service : component.getServices()) { - deactivate((RuntimeComponent) component, - (RuntimeComponentService) service); - } - - for (ComponentReference reference : component.getReferences()) { - deactivate((RuntimeComponent) component, - (RuntimeComponentReference) reference); - } - - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - deactivate((Composite) implementation); - } else if (implementation != null) { - removeImplementationProvider((RuntimeComponent) component); - removeScopeContainer(component); - } - } catch (Exception e) { - throw new ActivationException(e); - } - } - - public void activate(Composite composite) throws ActivationException { - try { - if (logger.isLoggable(Level.FINE)) { - logger.fine("Activating composite: " + composite.getName()); - } - for (Component component : composite.getComponents()) { - if (logger.isLoggable(Level.FINE)) { - logger.fine("Activating component: " + component.getURI()); - } - - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - activate((Composite)implementation); - } else if (implementation != null) { - addImplementationProvider((RuntimeComponent)component, implementation); - addScopeContainer(component); - } - - for (ComponentService service : component.getServices()) { - activate((RuntimeComponent)component, (RuntimeComponentService)service); - } - - for (ComponentReference reference : component.getReferences()) { - activate((RuntimeComponent)component, (RuntimeComponentReference)reference); - } - } - } catch (Exception e) { - throw new ActivationException(e); - } - } - - public void deactivate(Composite composite) throws ActivationException { - try { - if (logger.isLoggable(Level.FINE)) { - logger.fine("Deactivating composite: " + composite.getName()); - } - for (Component component : composite.getComponents()) { - if (logger.isLoggable(Level.FINE)) { - logger.fine("Deactivating component: " + component.getURI()); - } - for (ComponentService service : component.getServices()) { - deactivate((RuntimeComponent)component, (RuntimeComponentService)service); - } - - for (ComponentReference reference : component.getReferences()) { - deactivate((RuntimeComponent)component, (RuntimeComponentReference)reference); - } - - Implementation implementation = component.getImplementation(); - if (implementation instanceof Composite) { - deactivate((Composite)implementation); - } else if (implementation != null) { - removeImplementationProvider((RuntimeComponent)component); - removeScopeContainer(component); - } - } - } catch (Exception e) { - throw new ActivationException(e); - } - } - - /** - * @return the referenceHelper - */ - public ComponentContextHelper getComponentContextHelper() { - return componentContextHelper; - } - - /** - * @return the proxyFactory - */ - public ProxyFactory getProxyFactory() { - return proxyFactory; - } - - /** - * @return the domainComposite - */ - public Composite getDomainComposite() { - return domainComposite; - } - - /** - * @param domainComposite the domainComposite to set - */ - public void setDomainComposite(Composite domainComposite) { - this.domainComposite = domainComposite; - } - - public Component resolve(String componentURI) { - for (Composite composite : domainComposite.getIncludes()) { - Component component = resolve(composite, componentURI); - if (component != null) { - return component; - } - } - return null; - } - - public Component resolve(Composite composite, String componentURI) { - for (Component component : composite.getComponents()) { - String uri = component.getURI(); - if (uri.equals(componentURI)) { - return component; - } - if (componentURI.startsWith(uri)) { - Implementation implementation = component.getImplementation(); - if (!(implementation instanceof Composite)) { - return null; - } - return resolve((Composite)implementation, componentURI); - } - } - return null; - } - - /** - * @return the javaInterfaceFactory - */ - public JavaInterfaceFactory getJavaInterfaceFactory() { - return javaInterfaceFactory; - } - - /** - * @return the conversationManager - */ - public ConversationManager getConversationManager() { - return conversationManager; - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/EndpointReferenceImpl.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/EndpointReferenceImpl.java deleted file mode 100644 index 78096b20ab..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/EndpointReferenceImpl.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.core.assembly; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Contract; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.runtime.EndpointReference; -import org.apache.tuscany.sca.runtime.ReferenceParameters; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * @version $Rev$ $Date$ - */ -public class EndpointReferenceImpl implements EndpointReference { - private RuntimeComponent component; - private Contract contract; - private Binding binding; - private InterfaceContract interfaceContract; - private String uri; - private EndpointReference callbackEndpoint; - private ReferenceParameters parameters = new ReferenceParametersImpl(); - - /** - * @param component - * @param contract - * @param binding - * @param interfaceContract - */ - public EndpointReferenceImpl(RuntimeComponent component, - Contract contract, - Binding binding, - InterfaceContract interfaceContract) { - super(); - this.component = component; - this.contract = contract; - this.binding = binding; - this.interfaceContract = interfaceContract; - this.uri = (component != null ? component.getURI() : "") + '/' + - (contract != null ? contract.getName() : ""); - } - - /** - * @param uri - */ - public EndpointReferenceImpl(String uri) { - super(); - this.uri = uri; - } - - public Binding getBinding() { - return binding; - } - - public void setBinding(Binding binding) { - this.binding = binding; - } - - public RuntimeComponent getComponent() { - return component; - } - - public void setComponent(RuntimeComponent component) { - this.component = component; - } - - public Contract getContract() { - return contract; - } - - public void setContract(Contract contract) { - this.contract = contract; - } - - public InterfaceContract getInterfaceContract() { - return interfaceContract; - } - - public void setInterfaceContract(InterfaceContract interfaceContract) { - this.interfaceContract = interfaceContract; - } - - public String getURI() { - return uri; - } - - public void setURI(String uri) { - this.uri = uri; - } - - public EndpointReference getCallbackEndpoint() { - return callbackEndpoint; - } - - public void setCallbackEndpoint(EndpointReference callbackEndpoint) { - this.callbackEndpoint = callbackEndpoint; - } - - @Override - public int hashCode() { - final int PRIME = 31; - int result = 1; - result = PRIME * result + ((uri == null) ? 0 : uri.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - final EndpointReferenceImpl other = (EndpointReferenceImpl)obj; - if (uri == null) { - if (other.uri != null) { - return false; - } - } else if (!uri.equals(other.uri)) { - return false; - } - return true; - } - - /** - * @see java.lang.Object#clone() - */ - @Override - public Object clone() throws CloneNotSupportedException { - EndpointReferenceImpl copy = (EndpointReferenceImpl)super.clone(); - /* [nash] no need to copy callback endpoint - if (callbackEndpoint != null) { - copy.callbackEndpoint = (EndpointReference)callbackEndpoint.clone(); - } - */ - if (parameters != null) { - copy.parameters = (ReferenceParameters)parameters.clone(); - } - return copy; - } - - /** - * @return the parameters - */ - public ReferenceParameters getReferenceParameters() { - return parameters; - } - - /** - * @param parameters the parameters to set - */ - public void setReferenceParameters(ReferenceParameters parameters) { - this.parameters = parameters; - } - - public void mergeEndpoint(EndpointReference epr) { - this.component = epr.getComponent(); - this.contract = epr.getContract(); - this.binding = epr.getBinding(); - this.interfaceContract = epr.getInterfaceContract(); - this.uri = epr.getURI(); - this.callbackEndpoint = epr.getCallbackEndpoint(); - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/EndpointWireImpl.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/EndpointWireImpl.java deleted file mode 100644 index 8fc3b629bf..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/EndpointWireImpl.java +++ /dev/null @@ -1,185 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.assembly; - -import java.lang.reflect.InvocationTargetException; -import java.util.List; - -import org.apache.tuscany.sca.assembly.Endpoint; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.core.invocation.InvocationChainImpl; -import org.apache.tuscany.sca.endpointresolver.EndpointResolver; -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.ReferenceBindingProvider; -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.oasisopen.sca.ServiceUnavailableException; - -/** - * @version $Rev$ $Date$ - */ -public class EndpointWireImpl implements RuntimeWire { - - private Endpoint endpoint; - private CompositeActivatorImpl compositeActivator; - - private EndpointResolver endpointResolver; - private EndpointReference source; - private RuntimeWire wire; - private InvocationChain binidngInvocationChain; - - /** - * @param endpoint - */ - public EndpointWireImpl(Endpoint endpoint, CompositeActivator compositeActivator) { - super(); - this.endpoint = endpoint; - // TODO - improve the SPI to get rid of this cast - this.compositeActivator = (CompositeActivatorImpl)compositeActivator; - - // store source configuration as we have most of this now. We don't though know what the - // target is yet. - Reference componentTypeRef = endpoint.getSourceComponentReference().getReference(); - InterfaceContract sourceContract = - componentTypeRef == null ? endpoint.getSourceComponentReference().getInterfaceContract() : componentTypeRef.getInterfaceContract(); - sourceContract = sourceContract.makeUnidirectional(false); - - source = new EndpointReferenceImpl((RuntimeComponent)endpoint.getSourceComponent(), - endpoint.getSourceComponentReference(), - null, - sourceContract); - - RuntimeComponentReference runtimeRef = ((RuntimeComponentReference)endpoint.getSourceComponentReference()); - endpointResolver = runtimeRef.getEndpointResolver(endpoint); - - } - - public synchronized List getInvocationChains() { - // where late binding happens. Find the endpoint provider and - // ask it to do the endpoint resolution. - if (endpoint.isUnresolved()){ - - // this method should locate a viable target service and complete the - // endpoint configuration - endpointResolver.resolve(); - - if (endpoint.isUnresolved()){ - throw new ServiceUnavailableException("Unable to resolve service for component: " + - endpoint.getSourceComponent().getName() + - " reference: " + - endpoint.getSourceComponentReference().getName() + - " target: " + - endpoint.getTargetName()); - } - } - - if (wire == null){ - RuntimeComponentReference runtimeRef = ((RuntimeComponentReference)endpoint.getSourceComponentReference()); - - // add the resolved binding into the reference - runtimeRef.getBindings().add(endpoint.getSourceBinding()); - - // add a binding provider into the reference for the resolved binding - compositeActivator.addReferenceBindingProviderForEndpoint(endpoint); - - // extract the binding provider that has been created - ReferenceBindingProvider bindingProvider = runtimeRef.getBindingProvider(endpoint.getSourceBinding()); - - // start the binding provider - bindingProvider.start(); - - // create the wire - compositeActivator.addReferenceWireForEndpoint(endpoint); - - // extract the wire that has been created - wire = runtimeRef.getRuntimeWire(endpoint.getSourceBinding()); - } - - return wire.getInvocationChains(); - } - - public InvocationChain getInvocationChain(Operation operation) { - if (wire ==null){ - return null; - } else { - return wire.getInvocationChain(operation); - } - } - - public Object invoke(Message msg) throws InvocationTargetException { - // not called as the endpoint wire only appears on the reference side - return null; - } - - public Object invoke(Operation operation, Object[] args) throws InvocationTargetException { - // not called as the endpoint wire only appears on the reference side - return null; - } - - public Object invoke(Operation operation, Message msg) throws InvocationTargetException { - // not called as the endpoint wire only appears on the reference side - return null; - } - - - public EndpointReference getSource() { - return source; - } - - public EndpointReference getTarget() { - return null; - } - - public void setTarget(EndpointReference target) { - } - - public void rebuild() { - } - - public synchronized InvocationChain getBindingInvocationChain() { - if (binidngInvocationChain == null) { - if (source instanceof RuntimeComponentReference) { - binidngInvocationChain = new InvocationChainImpl(null, null, true); - } else { - binidngInvocationChain = new InvocationChainImpl(null, null, false); - } - } - return binidngInvocationChain; - } - - // TODO: TUSCANY-2580: give RuntimeComponentReferenceImpl a way to get at the endpoint - public Endpoint getEndpoint() { - return endpoint; - } - - /** - * @see java.lang.Object#clone() - */ - @Override - public Object clone() throws CloneNotSupportedException { - EndpointWireImpl copy = (EndpointWireImpl)super.clone(); - return copy; - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/ReferenceParameterProcessor.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/ReferenceParameterProcessor.java deleted file mode 100644 index c82543c4ca..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/ReferenceParameterProcessor.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.core.assembly; - -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.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.monitor.Monitor; -import org.apache.tuscany.sca.runtime.ReferenceParameters; - -/** - * Artifact processor for reference parameters. - * - * @version $Rev$ $Date$ - */ -public class ReferenceParameterProcessor implements StAXArtifactProcessor { - private static final QName REFERENCE_PARAMETERS = - new QName("http://tuscany.apache.org/xmlns/sca/1.0", "referenceParameters", "tuscany"); - - /** - * Constructs a new processor. - * - * @param modelFactories - */ - public ReferenceParameterProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - } - - /** - * @see org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor#getArtifactType() - */ - public QName getArtifactType() { - return REFERENCE_PARAMETERS; - } - - /** - * @see org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor#read(javax.xml.stream.XMLStreamReader) - */ - public ReferenceParameters read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - ReferenceParameters parameters = new ReferenceParametersImpl(); - parameters.setConversationID(reader.getAttributeValue(null, "conversationID")); - parameters.setCallbackID(reader.getAttributeValue(null, "callbackID")); - return parameters; - } - - /** - * @see org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor#write(java.lang.Object, javax.xml.stream.XMLStreamWriter) - */ - public void write(ReferenceParameters model, XMLStreamWriter writer) throws ContributionWriteException, - XMLStreamException { - writer.writeStartElement(REFERENCE_PARAMETERS.getPrefix(), - REFERENCE_PARAMETERS.getLocalPart(), - REFERENCE_PARAMETERS.getNamespaceURI()); - writer.writeNamespace(REFERENCE_PARAMETERS.getPrefix(), REFERENCE_PARAMETERS.getNamespaceURI()); - if (model.getConversationID() != null) { - writer.writeAttribute("conversationID", model.getConversationID().toString()); - } - if (model.getCallbackID() != null) { - writer.writeAttribute("callbackID", model.getCallbackID().toString()); - } - writer.writeEndElement(); - } - - /** - * @see org.apache.tuscany.sca.contribution.processor.ArtifactProcessor#getModelType() - */ - public Class getModelType() { - return ReferenceParameters.class; - } - - /** - * @see org.apache.tuscany.sca.contribution.processor.ArtifactProcessor#resolve(java.lang.Object, org.apache.tuscany.sca.contribution.resolver.ModelResolver) - */ - public void resolve(ReferenceParameters model, ModelResolver resolver) throws ContributionResolveException { - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/ReferenceParametersImpl.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/ReferenceParametersImpl.java deleted file mode 100644 index 14a5f565fc..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/ReferenceParametersImpl.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.assembly; - -import org.apache.tuscany.sca.runtime.EndpointReference; -import org.apache.tuscany.sca.runtime.ReferenceParameters; - -/** - * @version $Rev$ $Date$ - */ -public class ReferenceParametersImpl implements ReferenceParameters { - private Object callbackID; - private Object conversationID; - private EndpointReference callbackReference; - private Object callbackObjectID; - - /** - * @return the callbackID - */ - public Object getCallbackID() { - return callbackID; - } - /** - * @param callbackID the callbackID to set - */ - public void setCallbackID(Object callbackID) { - this.callbackID = callbackID; - } - /** - * @return the conversationID - */ - public Object getConversationID() { - return conversationID; - } - /** - * @param conversationID the conversationID to set - */ - public void setConversationID(Object conversationID) { - this.conversationID = conversationID; - } - - /** - * @see org.apache.tuscany.sca.runtime.ReferenceParameters#getCallbackReference() - */ - public EndpointReference getCallbackReference() { - return callbackReference; - } - /** - * @see org.apache.tuscany.sca.runtime.ReferenceParameters#setCallback(java.lang.Object) - */ - public void setCallbackReference(EndpointReference callback) { - this.callbackReference = callback; - } - - /** - * @see java.lang.Object#clone() - */ - @Override - public Object clone() throws CloneNotSupportedException { - return super.clone(); - } - - /** - * @return the callbackObjectID - */ - public Object getCallbackObjectID() { - return callbackObjectID; - } - /** - * @param callbackObjectID the callbackObjectID to set - */ - public void setCallbackObjectID(Object callbackObjectID) { - this.callbackObjectID = callbackObjectID; - } - /** - * @see java.lang.Object#hashCode() - */ - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((callbackID == null) ? 0 : callbackID.hashCode()); - result = prime * result + ((callbackObjectID == null) ? 0 : callbackObjectID.hashCode()); - result = prime * result + ((callbackReference == null) ? 0 : callbackReference.hashCode()); - result = prime * result + ((conversationID == null) ? 0 : conversationID.hashCode()); - return result; - } - /** - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (!(obj instanceof ReferenceParametersImpl)) - return false; - final ReferenceParametersImpl other = (ReferenceParametersImpl)obj; - if (callbackID == null) { - if (other.callbackID != null) - return false; - } else if (!callbackID.equals(other.callbackID)) - return false; - if (callbackObjectID == null) { - if (other.callbackObjectID != null) - return false; - } else if (!callbackObjectID.equals(other.callbackObjectID)) - return false; - if (callbackReference == null) { - if (other.callbackReference != null) - return false; - } else if (!callbackReference.equals(other.callbackReference)) - return false; - if (conversationID == null) { - if (other.conversationID != null) - return false; - } else if (!conversationID.equals(other.conversationID)) - return false; - return true; - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeAssemblyFactory.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeAssemblyFactory.java deleted file mode 100644 index b174dea6ce..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeAssemblyFactory.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.core.assembly; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -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.DefaultAssemblyFactory; - -/** - * The runtime version of assembly factory - * @version $Rev$ $Date$ - */ -public class RuntimeAssemblyFactory extends DefaultAssemblyFactory implements AssemblyFactory { - - public RuntimeAssemblyFactory() { - super(); - } - - @Override - public Component createComponent() { - return new RuntimeComponentImpl(); - } - - @Override - public ComponentReference createComponentReference() { - return new RuntimeComponentReferenceImpl(); - } - - @Override - public ComponentService createComponentService() { - return new RuntimeComponentServiceImpl(); - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeComponentImpl.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeComponentImpl.java deleted file mode 100644 index 32ac611e54..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeComponentImpl.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.assembly; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.assembly.impl.ComponentImpl; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.contribution.resolver.ResolverExtension; -import org.apache.tuscany.sca.core.scope.ScopeContainer; -import org.apache.tuscany.sca.core.scope.ScopedRuntimeComponent; -import org.apache.tuscany.sca.provider.ImplementationProvider; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentContext; - -/** - * @version $Rev$ $Date$ - */ -public class RuntimeComponentImpl extends ComponentImpl implements RuntimeComponent, - ScopedRuntimeComponent, ResolverExtension { - protected RuntimeComponentContext componentContext; - protected ImplementationProvider implementationProvider; - protected List policyProviders = new ArrayList(); - protected ScopeContainer scopeContainer; - protected boolean started; - protected ModelResolver modelResolver; - - /** - */ - public RuntimeComponentImpl() { - super(); - } - - public ImplementationProvider getImplementationProvider() { - return implementationProvider; - } - - public void setImplementationProvider(ImplementationProvider provider) { - this.implementationProvider = provider; - } - - public ScopeContainer getScopeContainer() { - return scopeContainer; - } - - public void setScopeContainer(ScopeContainer scopeContainer) { - this.scopeContainer = scopeContainer; - } - - public boolean isStarted() { - return started; - } - - public void setStarted(boolean started) { - this.started = started; - } - - /** - * @return the componentContext - */ - public RuntimeComponentContext getComponentContext() { - return componentContext; - } - - /** - * @param componentContext the componentContext to set - */ - public void setComponentContext(RuntimeComponentContext componentContext) { - this.componentContext = componentContext; - } - - public void addPolicyProvider(PolicyProvider policyProvider) { - policyProviders.add(policyProvider); - } - - public List getPolicyProviders() { - return policyProviders; - } - - public ModelResolver getModelResolver() { - return modelResolver; - } - - public void setModelResolver(ModelResolver modelResolver) { - this.modelResolver = modelResolver; - } - - @Override - public String toString() { - return getName(); - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeComponentReferenceImpl.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeComponentReferenceImpl.java deleted file mode 100644 index b386495a08..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeComponentReferenceImpl.java +++ /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. - */ - -package org.apache.tuscany.sca.core.assembly; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Endpoint; -import org.apache.tuscany.sca.assembly.impl.ComponentReferenceImpl; -import org.apache.tuscany.sca.endpointresolver.EndpointResolver; -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.provider.PolicyProvider; -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.runtime.RuntimeWire; - -/** - * Implementation of a Component Reference. - * - * @version $Rev$ $Date$ - */ -public class RuntimeComponentReferenceImpl extends ComponentReferenceImpl implements RuntimeComponentReference { - private ArrayList wires; - private HashMap bindingProviders = - new HashMap(); - private HashMap endpointResolvers = - new HashMap(); - private HashMap> policyProviders = new HashMap>(); - - private RuntimeComponent component; - - public RuntimeComponentReferenceImpl() { - super(); - } - - public synchronized List getRuntimeWires() { - if (wires == null) { - wires = new ArrayList(); - component.getComponentContext().start(this); - } - return wires; - } - - public RuntimeWire getRuntimeWire(Binding binding) { - for (RuntimeWire wire : getRuntimeWires()) { - if (wire.getSource().getBinding() == binding) { - return wire; - } - } - - // TODO: TUSCANY-2580: before returning null see if a candidate binding matches - for (RuntimeWire wire : getRuntimeWires()) { - if (wire instanceof EndpointWireImpl) { - Endpoint endpoint = ((EndpointWireImpl)wire).getEndpoint(); - for (Binding b : endpoint.getCandidateBindings()) { - if (b == binding) { - return wire; - } - } - } - } - return null; - } - - public ReferenceBindingProvider getBindingProvider(Binding binding) { - return bindingProviders.get(binding); - } - - public void setBindingProvider(Binding binding, ReferenceBindingProvider bindingProvider) { - bindingProviders.put(binding, bindingProvider); - } - - public EndpointResolver getEndpointResolver(Endpoint endpoint){ - return endpointResolvers.get(endpoint); - } - - public void setEndpointResolver(Endpoint endpoint, EndpointResolver endpointResolver){ - endpointResolvers.put(endpoint, endpointResolver); - } - - public Invoker getInvoker(Binding binding, Operation operation) { - RuntimeWire wire = getRuntimeWire(binding); - if (wire == null) { - return null; - } - InvocationChain chain = wire.getInvocationChain(operation); - return chain == null ? null : chain.getHeadInvoker(); - } - - /** - * @return the component - */ - public RuntimeComponent getComponent() { - return component; - } - - /** - * @param component the component to set - */ - public void setComponent(RuntimeComponent component) { - this.component = component; - } - - /** - * @see org.apache.tuscany.sca.assembly.impl.ComponentReferenceImpl#clone() - */ - @Override - public Object clone() throws CloneNotSupportedException { - RuntimeComponentReferenceImpl ref = (RuntimeComponentReferenceImpl)super.clone(); - ref.wires = null; - ref.bindingProviders = new HashMap(); - ref.policyProviders = new HashMap>(); - return ref; - } - - public void addPolicyProvider(Binding binding, PolicyProvider policyProvider) { - List providers = policyProviders.get(binding); - if (providers == null) { - providers = new ArrayList(); - policyProviders.put(binding, providers); - } - providers.add(policyProvider); - } - - public List getPolicyProviders(Binding binding) { - return policyProviders.get(binding); - } - - @Override - public String toString() { - return getName(); - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeComponentServiceImpl.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeComponentServiceImpl.java deleted file mode 100644 index 1f2ffa2ae6..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeComponentServiceImpl.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.core.assembly; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.impl.ComponentServiceImpl; -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.Invoker; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * Implementation of a Component Service. - * - * @version $Rev$ $Date$ - */ -public class RuntimeComponentServiceImpl extends ComponentServiceImpl implements RuntimeComponentService { - private ArrayList wires = new ArrayList(); - private ArrayList callbackWires = new ArrayList(); - private HashMap bindingProviders = new HashMap(); - private HashMap> policyProviders = new HashMap>(); - - public RuntimeComponentServiceImpl() { - super(); - } - - public List getRuntimeWires() { - return wires; - } - - public RuntimeWire getRuntimeWire(Binding binding) { - for (RuntimeWire wire : wires) { - if (wire.getTarget().getBinding() == binding) { - return wire; - } - } - return null; - } - - public RuntimeWire getRuntimeWire(Binding binding, InterfaceContract interfaceContract) { - RuntimeWire wire = getRuntimeWire(binding); - if (wire == null) { - return null; - } - if (interfaceContract != null && interfaceContract != wire.getSource().getInterfaceContract()) { - try { - // FIXME: [rfeng] We could avoid clone() using a better comparison of the two interface contracts - wire = (RuntimeWire)wire.clone(); - wire.getSource().setInterfaceContract(interfaceContract); - wire.rebuild(); - } catch (CloneNotSupportedException e) { - throw new ServiceRuntimeException(e); - } - } - - return wire; - } - - public List getCallbackWires() { - return callbackWires; - } - - public ServiceBindingProvider getBindingProvider(Binding binding) { - return bindingProviders.get(binding); - } - - public void setBindingProvider(Binding binding, ServiceBindingProvider bindingProvider) { - bindingProviders.put(binding, bindingProvider); - } - - public Invoker getInvoker(Binding binding, Operation operation) { - return getInvoker(binding, null, operation); - } - - public Invoker getInvoker(Binding binding, InterfaceContract interfaceContract, Operation operation) { - InvocationChain chain = getInvocationChain(binding, interfaceContract, operation); - if (chain != null) { - return chain.getHeadInvoker(); - } else { - return null; - } - } - - public InvocationChain getInvocationChain(Binding binding, InterfaceContract interfaceContract, Operation operation) { - RuntimeWire wire = getRuntimeWire(binding); - if (wire == null) { - return null; - } - if (interfaceContract != null && interfaceContract != wire.getSource().getInterfaceContract()) { - try { - // FIXME: [rfeng] We could avoid clone() using a better comparison of the two interface contracts - wire = (RuntimeWire)wire.clone(); - wire.getSource().setInterfaceContract(interfaceContract); - wire.rebuild(); - } catch (CloneNotSupportedException e) { - throw new ServiceRuntimeException(e); - } - } - return wire.getInvocationChain(operation); - } - - public InvocationChain getInvocationChain(Binding binding, Operation operation) { - return getInvocationChain(binding, null, operation); - } - - /** - * @see org.apache.tuscany.sca.assembly.impl.ComponentServiceImpl#clone() - */ - @SuppressWarnings("unchecked") - @Override - public Object clone() throws CloneNotSupportedException { - RuntimeComponentServiceImpl clone = (RuntimeComponentServiceImpl)super.clone(); - clone.bindingProviders = (HashMap)bindingProviders.clone(); - clone.wires = (ArrayList)wires.clone(); - clone.callbackWires = (ArrayList)callbackWires.clone(); - clone.policyProviders = (HashMap>)policyProviders.clone(); - return clone; - } - - public void addPolicyProvider(Binding binding, PolicyProvider policyProvider) { - List providers = policyProviders.get(binding); - if (providers == null) { - providers = new ArrayList(); - policyProviders.put(binding, providers); - } - providers.add(policyProvider); - } - - public List getPolicyProviders(Binding binding) { - return policyProviders.get(binding); - } - - @Override - public String toString() { - return getName(); - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeWireImpl.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeWireImpl.java deleted file mode 100644 index 133037a5c1..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/assembly/RuntimeWireImpl.java +++ /dev/null @@ -1,463 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.assembly; - -import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; -import java.util.List; - -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.Contract; -import org.apache.tuscany.sca.core.conversation.ConversationManager; -import org.apache.tuscany.sca.core.invocation.InvocationChainImpl; -import org.apache.tuscany.sca.core.invocation.NonBlockingInterceptor; -import org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker; -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.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.invocation.MessageFactory; -import org.apache.tuscany.sca.invocation.Phase; -import org.apache.tuscany.sca.policy.PolicySet; -import org.apache.tuscany.sca.policy.PolicySetAttachPoint; -import org.apache.tuscany.sca.provider.ImplementationProvider; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.PolicyProviderRRB; -import org.apache.tuscany.sca.provider.ReferenceBindingProvider; -import org.apache.tuscany.sca.provider.ReferenceBindingProviderRRB; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; -import org.apache.tuscany.sca.provider.ServiceBindingProviderRRB; -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.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.apache.tuscany.sca.runtime.RuntimeWireProcessor; -import org.apache.tuscany.sca.work.WorkScheduler; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * @version $Rev$ $Date$ - */ -public class RuntimeWireImpl implements RuntimeWire { - private EndpointReference wireSource; - private EndpointReference wireTarget; - - private transient RuntimeWireProcessor wireProcessor; - private transient InterfaceContractMapper interfaceContractMapper; - private transient WorkScheduler workScheduler; - private transient MessageFactory messageFactory; - private transient ConversationManager conversationManager; - private transient RuntimeWireInvoker invoker; - - // the following is a very simple cache that avoids re-cloning a wire - // when consecutive callbacks to the same endpoint are made - private EndpointReference lastCallback; - private RuntimeWire cachedWire; - private boolean wireReserved; - private RuntimeWireImpl clonedFrom; - - private List chains; - private InvocationChain bindingInvocationChain; - - /** - * @param source - * @param target - * @param interfaceContractMapper - * @param workScheduler - * @param wireProcessor - * @param messageFactory - * @param conversationManager - */ - public RuntimeWireImpl(EndpointReference source, - EndpointReference target, - InterfaceContractMapper interfaceContractMapper, - WorkScheduler workScheduler, - RuntimeWireProcessor wireProcessor, - MessageFactory messageFactory, - ConversationManager conversationManager) { - super(); - this.wireSource = source; - this.wireTarget = target; - this.interfaceContractMapper = interfaceContractMapper; - this.workScheduler = workScheduler; - this.wireProcessor = wireProcessor; - this.messageFactory = messageFactory; - this.conversationManager = conversationManager; - this.invoker = new RuntimeWireInvoker(this.messageFactory, this.conversationManager, this); - } - - public synchronized List getInvocationChains() { - if (chains == null) { - initInvocationChains(); - } - return chains; - } - - public synchronized InvocationChain getBindingInvocationChain() { - if (bindingInvocationChain == null) { - Contract source = wireSource.getContract(); - if (source instanceof RuntimeComponentReference) { - bindingInvocationChain = new InvocationChainImpl(null, null, true); - initReferenceBindingInvocationChains(); - } else { - bindingInvocationChain = new InvocationChainImpl(null, null, false); - initServiceBindingInvocationChains(); - } - } - return bindingInvocationChain; - } - - public InvocationChain getInvocationChain(Operation operation) { - for (InvocationChain chain : getInvocationChains()) { - Operation op = null; - if (wireSource.getContract() != null) { - // Reference chain - op = chain.getSourceOperation(); - } else { - // Service chain - op = chain.getTargetOperation(); - } - if (interfaceContractMapper.isCompatible(operation, op, op.getInterface().isRemotable())) { - return chain; - } - } - return null; - } - - public Object invoke(Message msg) throws InvocationTargetException { - return getBindingInvocationChain().getHeadInvoker().invoke(msg); - } - - public Object invoke(Operation operation, Object[] args) throws InvocationTargetException { - Message msg = messageFactory.createMessage(); - msg.setBody(args); - return invoker.invoke(operation, msg); - } - - public Object invoke(Operation operation, Message msg) throws InvocationTargetException { - return invoker.invoke(operation, msg); - } - - /** - * Initialize the invocation chains - */ - private void initInvocationChains() { - chains = new ArrayList(); - InterfaceContract sourceContract = wireSource.getInterfaceContract(); - InterfaceContract targetContract = wireTarget.getInterfaceContract(); - - Contract source = wireSource.getContract(); - if (source instanceof RuntimeComponentReference) { - // It's the reference wire - RuntimeComponentReference reference = (RuntimeComponentReference)wireSource.getContract(); - Binding refBinding = wireSource.getBinding(); - for (Operation operation : sourceContract.getInterface().getOperations()) { - Operation targetOperation = interfaceContractMapper.map(targetContract.getInterface(), operation); - if (targetOperation == null) { - throw new ServiceRuntimeException("No matching operation for " + operation.getName() - + " is found in reference " - + wireSource.getComponent().getURI() - + "#" - + reference.getName()); - } - InvocationChain chain = new InvocationChainImpl(operation, targetOperation, true); - if (operation.isNonBlocking()) { - addNonBlockingInterceptor(reference, refBinding, chain); - } - addReferenceBindingInterceptor(reference, refBinding, chain, operation); - chains.add(chain); - } - - } else { - // It's the service wire - RuntimeComponentService service = (RuntimeComponentService)wireTarget.getContract(); - RuntimeComponent serviceComponent = wireTarget.getComponent(); - Binding serviceBinding = wireTarget.getBinding(); - for (Operation operation : sourceContract.getInterface().getOperations()) { - Operation targetOperation = interfaceContractMapper.map(targetContract.getInterface(), operation); - if (targetOperation == null) { - throw new ServiceRuntimeException("No matching operation for " + operation.getName() - + " is found in service " - + serviceComponent.getURI() - + "#" - + service.getName()); - } - InvocationChain chain = new InvocationChainImpl(operation, targetOperation, false); - if (operation.isNonBlocking()) { - addNonBlockingInterceptor(service, serviceBinding, chain); - } - addServiceBindingInterceptor(service, serviceBinding, chain, operation); - addImplementationInterceptor(serviceComponent, service, chain, targetOperation); - chains.add(chain); - } - - } - wireProcessor.process(this); - } - - private void initReferenceBindingInvocationChains() { - RuntimeComponentReference reference = (RuntimeComponentReference)wireSource.getContract(); - Binding referenceBinding = wireSource.getBinding(); - - // add the binding interceptors to the reference binding wire - ReferenceBindingProvider provider = reference.getBindingProvider(referenceBinding); - if ((provider != null) && - (provider instanceof ReferenceBindingProviderRRB)){ - ((ReferenceBindingProviderRRB)provider).configureBindingChain(this); - } - - // add the policy interceptors to the service binding wire - // find out which policies are active - List pps = ((RuntimeComponentReference)reference).getPolicyProviders(referenceBinding); - if (pps != null) { - for (PolicyProvider p : pps) { - if (p instanceof PolicyProviderRRB) { - Interceptor interceptor = ((PolicyProviderRRB)p).createBindingInterceptor(); - if (interceptor != null) { - bindingInvocationChain.addInterceptor(p.getPhase(), interceptor); - } - } - } - } - } - - private void initServiceBindingInvocationChains() { - RuntimeComponentService service = (RuntimeComponentService)wireTarget.getContract(); - Binding serviceBinding = wireTarget.getBinding(); - - // add the binding interceptors to the service binding wire - ServiceBindingProvider provider = service.getBindingProvider(serviceBinding); - if ((provider != null) && - (provider instanceof ServiceBindingProviderRRB)){ - ((ServiceBindingProviderRRB)provider).configureBindingChain(this); - } - - // add the policy interceptors to the service binding wire - List pps = ((RuntimeComponentService)service).getPolicyProviders(serviceBinding); - if (pps != null) { - for (PolicyProvider p : pps) { - if (p instanceof PolicyProviderRRB) { - Interceptor interceptor = ((PolicyProviderRRB)p).createBindingInterceptor(); - if (interceptor != null) { - bindingInvocationChain.addInterceptor(p.getPhase(), interceptor); - } - } - } - } - - - // TODO - add something on the end of the wire to invoke the - // invocation chain. Need to split out the runtime - // wire invoker into conversation, callback interceptors etc - bindingInvocationChain.addInvoker(invoker); - - } - - public EndpointReference getSource() { - return wireSource; - } - - public EndpointReference getTarget() { - return wireTarget; - } - - public void setTarget(EndpointReference target) { - if (this.wireTarget != target) { - rebuild(); - } - this.wireTarget = target; - } - - public void rebuild() { - this.chains = null; - } - - /** - * Add the interceptor for a reference binding - * - * @param reference - * @param binding - * @param chain - * @param operation - */ - private void addReferenceBindingInterceptor(ComponentReference reference, - Binding binding, - InvocationChain chain, - Operation operation) { - ReferenceBindingProvider provider = ((RuntimeComponentReference)reference).getBindingProvider(binding); - if (provider != null) { - Invoker invoker = provider.createInvoker(operation); - if (invoker != null) { - chain.addInvoker(invoker); - } - } - List pps = ((RuntimeComponentReference)reference).getPolicyProviders(binding); - if (pps != null) { - for (PolicyProvider p : pps) { - Interceptor interceptor = p.createInterceptor(operation); - if (interceptor != null) { - chain.addInterceptor(p.getPhase(), p.createInterceptor(operation)); - } - } - } - } - - /** - * Add the interceptor for a binding - * - * @param reference - * @param binding - * @param chain - * @param operation - */ - private void addServiceBindingInterceptor(ComponentService service, - Binding binding, - InvocationChain chain, - Operation operation) { - List pps = ((RuntimeComponentService)service).getPolicyProviders(binding); - if (pps != null) { - for (PolicyProvider p : pps) { - Interceptor interceptor = p.createInterceptor(operation); - if (interceptor != null) { - chain.addInterceptor(p.getPhase(), p.createInterceptor(operation)); - } - } - } - } - - /** - * Add a non-blocking interceptor if the reference binding needs it - * - * @param reference - * @param binding - * @param chain - */ - private void addNonBlockingInterceptor(ComponentReference reference, Binding binding, InvocationChain chain) { - ReferenceBindingProvider provider = ((RuntimeComponentReference)reference).getBindingProvider(binding); - if (provider != null) { - boolean supportsOneWayInvocation = provider.supportsOneWayInvocation(); - if (!supportsOneWayInvocation) { - chain.addInterceptor(Phase.REFERENCE, new NonBlockingInterceptor(workScheduler)); - } - } - } - - /** - * Add a non-blocking interceptor if the service binding needs it - * - * @param service - * @param binding - * @param chain - */ - private void addNonBlockingInterceptor(ComponentService service, Binding binding, InvocationChain chain) { - ServiceBindingProvider provider = ((RuntimeComponentService)service).getBindingProvider(binding); - if (provider != null) { - if (!provider.supportsOneWayInvocation()) { - chain.addInterceptor(Phase.SERVICE, new NonBlockingInterceptor(workScheduler)); - } - } - } - - /** - * Add the interceptor for a component implementation - * - * @param component - * @param service - * @param chain - * @param operation - */ - private void addImplementationInterceptor(Component component, - ComponentService service, - InvocationChain chain, - Operation operation) { - ImplementationProvider provider = ((RuntimeComponent)component).getImplementationProvider(); - if (provider != null) { - Invoker invoker = null; - invoker = provider.createInvoker((RuntimeComponentService)service, operation); - chain.addInvoker(invoker); - } - List pps = ((RuntimeComponent)component).getPolicyProviders(); - if (pps != null) { - for (PolicyProvider p : pps) { - Interceptor interceptor = p.createInterceptor(operation); - if (interceptor != null) { - chain.addInterceptor(p.getPhase(), p.createInterceptor(operation)); - } - } - } - } - - /** - * @see java.lang.Object#clone() - */ - @Override - public Object clone() throws CloneNotSupportedException { - RuntimeWireImpl copy = (RuntimeWireImpl)super.clone(); - copy.wireSource = (EndpointReference)wireSource.clone(); - copy.wireTarget = (EndpointReference)wireTarget.clone(); - copy.invoker = new RuntimeWireInvoker(copy.messageFactory, copy.conversationManager, copy); - copy.cachedWire = null; // TUSCANY-2630 - return copy; - } - - /** - * @return the conversationManager - */ - public ConversationManager getConversationManager() { - return conversationManager; - } - - public synchronized RuntimeWire lookupCache(EndpointReference callback) { - if (lastCallback != null && callback.getURI().equals(lastCallback.getURI()) && !wireReserved) { - wireReserved = true; - return cachedWire; - } else { - return null; - } - } - - public synchronized void addToCache(EndpointReference callback, RuntimeWire clonedWire) { - ((RuntimeWireImpl)clonedWire).setClonedFrom(this); - lastCallback = callback; - cachedWire = clonedWire; - wireReserved = true; - } - - public synchronized void releaseClonedWire(RuntimeWire wire) { - if (cachedWire == wire) { - wireReserved = false; - } - } - - public synchronized void releaseWire() { - clonedFrom.releaseClonedWire(this); - } - - private void setClonedFrom(RuntimeWireImpl wire) { - clonedFrom = wire; - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/CallableReferenceImpl.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/CallableReferenceImpl.java deleted file mode 100644 index bcc8b91569..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/CallableReferenceImpl.java +++ /dev/null @@ -1,605 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.context; - -import java.io.Externalizable; -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.UUID; - -import javax.xml.stream.XMLStreamReader; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.CompositeService; -import org.apache.tuscany.sca.assembly.OptimizableBinding; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.SCABinding; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.assembly.builder.BindingBuilderExtension; -import org.apache.tuscany.sca.core.assembly.CompositeActivator; -import org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl; -import org.apache.tuscany.sca.core.assembly.EndpointReferenceImpl; -import org.apache.tuscany.sca.core.assembly.EndpointWireImpl; -import org.apache.tuscany.sca.core.assembly.ReferenceParametersImpl; -import org.apache.tuscany.sca.core.conversation.ConversationManager; -import org.apache.tuscany.sca.core.conversation.ConversationState; -import org.apache.tuscany.sca.core.conversation.ExtendedConversation; -import org.apache.tuscany.sca.core.factory.ObjectCreationException; -import org.apache.tuscany.sca.core.invocation.ProxyFactory; -import org.apache.tuscany.sca.interfacedef.Interface; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.runtime.EndpointReference; -import org.apache.tuscany.sca.runtime.ReferenceParameters; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.Conversation; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * Base class for implementations of service and callback references. - * - * @version $Rev$ $Date$ - * @param the type of the business interface - */ -public class CallableReferenceImpl implements CallableReference, Externalizable { - static final long serialVersionUID = -521548304761848325L; - protected transient CompositeActivator compositeActivator; - protected transient ProxyFactory proxyFactory; - protected transient Class businessInterface; - protected transient Object proxy; - - // if the wire targets a conversational service this holds the conversation state - protected transient ConversationManager conversationManager; - protected transient ExtendedConversation conversation; - protected transient Object conversationID; - protected Object callbackID; // The callbackID should be serializable - - protected transient RuntimeComponent component; - protected transient RuntimeComponentReference reference; - protected transient Binding binding; - - protected String scdl; - - private transient RuntimeComponentReference clonedRef; - private transient ReferenceParameters refParams; - private transient XMLStreamReader xmlReader; - - private transient RuntimeWire endpointWire; - - /* - * Public constructor for Externalizable serialization/deserialization - */ - public CallableReferenceImpl() { - super(); - } - - /* - * Public constructor for use by XMLStreamReader2CallableReference - */ - public CallableReferenceImpl(XMLStreamReader xmlReader) throws Exception { - this.xmlReader = xmlReader; - resolve(); - } - - protected CallableReferenceImpl(Class businessInterface, - RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding, - ProxyFactory proxyFactory, - CompositeActivator compositeActivator) { - this.proxyFactory = proxyFactory; - this.businessInterface = businessInterface; - this.component = component; - this.reference = reference; - this.binding = binding; - // FIXME: The SCA Specification is not clear how we should handle multiplicity - // for CallableReference - if (this.binding == null) { - this.binding = this.reference.getBinding(SCABinding.class); - if (this.binding == null) { - - // TODO: TUSCANY-2580: if the refernece doesn't have a binding yet then instead of NPE use a candidate one if its avaialable - if (reference.getBindings() != null && reference.getBindings().size() > 0) { - this.binding = this.reference.getBindings().get(0); - } else { - this.binding = this.reference.getEndpoints().get(0).getCandidateBindings().get(0); - if (this.reference.getEndpoints().get(0).getInterfaceContract() == null) { - this.reference.getEndpoints().get(0).setInterfaceContract(reference.getInterfaceContract()); - } - } - } - } - - // FIXME: Should we normalize the componentName/serviceName URI into an absolute SCA URI in the SCA binding? - // sca:component1/component11/component112/service1? - this.compositeActivator = compositeActivator; - this.conversationManager = this.compositeActivator.getConversationManager(); - initCallbackID(); - } - - public CallableReferenceImpl(Class businessInterface, RuntimeWire wire, ProxyFactory proxyFactory) { - this.proxyFactory = proxyFactory; - this.businessInterface = businessInterface; - bind(wire); - } - - public RuntimeWire getRuntimeWire() { - try { - resolve(); - if (endpointWire != null){ - return endpointWire; - } else if (reference != null) { - return reference.getRuntimeWire(binding); - } else { - return null; - } - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - } - - protected void bind(RuntimeWire wire) { - if (wire != null) { - - if (wire instanceof EndpointWireImpl){ - endpointWire = wire; - } - this.component = wire.getSource().getComponent(); - this.reference = (RuntimeComponentReference)wire.getSource().getContract(); - this.binding = wire.getSource().getBinding(); - this.compositeActivator = ((ComponentContextImpl)component.getComponentContext()).getCompositeActivator(); - this.conversationManager = this.compositeActivator.getConversationManager(); - initCallbackID(); - } - } - - protected void initCallbackID() { - if (reference.getInterfaceContract() != null) { - if (reference.getInterfaceContract().getCallbackInterface() != null) { - this.callbackID = createCallbackID(); - } - } - } - - public B getProxy() throws ObjectCreationException { - try { - if (proxy == null) { - proxy = createProxy(); - } - return businessInterface.cast(proxy); - } catch (Exception e) { - throw new ObjectCreationException(e); - } - } - - public void setProxy(Object proxy) { - this.proxy = proxy; - } - - protected Object createProxy() throws Exception { - return proxyFactory.createProxy(this); - } - - public B getService() { - try { - resolve(); - return getProxy(); - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - } - - public Class getBusinessInterface() { - try { - resolve(); - return businessInterface; - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - } - - public boolean isConversational() { - try { - resolve(); - return reference == null ? false : reference.getInterfaceContract().getInterface().isConversational(); - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - } - - public Conversation getConversation() { - try { - // resolve from XML just in case this CallableReference is the result of - // passing a CallableReference as a parameter - resolve(); - - if (conversation == null || conversation.getState() == ConversationState.ENDED) { - conversation = null; - } - return conversation; - - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - } - - public Object getCallbackID() { - try { - resolve(); - return callbackID; - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - } - - /** - * @see java.io.Externalizable#readExternal(java.io.ObjectInput) - */ - public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { - final boolean hasSCDL = in.readBoolean(); - if (hasSCDL) { - this.scdl = in.readUTF(); - } else { - this.scdl = null; - } - } - - /** - * @throws IOException - */ - private synchronized void resolve() throws Exception { - if ((scdl != null || xmlReader != null) && component == null && reference == null) { - ComponentContextHelper componentContextHelper = ComponentContextHelper.getCurrentComponentContextHelper(); - if (componentContextHelper != null) { - this.compositeActivator = ComponentContextHelper.getCurrentCompositeActivator(); - this.conversationManager = this.compositeActivator.getConversationManager(); - Component c; - if (xmlReader != null) { - c = componentContextHelper.fromXML(xmlReader); - xmlReader = null; // OK to GC this now - } else { - c = componentContextHelper.fromXML(scdl); - scdl = null; // OK to GC this now - } - this.component = (RuntimeComponent)c; - compositeActivator.configureComponentContext(this.component); - this.reference = (RuntimeComponentReference)c.getReferences().get(0); - this.reference.setComponent(this.component); - clonedRef = reference; - ReferenceParameters parameters = null; - for (Object ext : reference.getExtensions()) { - if (ext instanceof ReferenceParameters) { - parameters = (ReferenceParameters)ext; - break; - } - } - if (parameters != null) { - refParams = parameters; - this.callbackID = parameters.getCallbackID(); - attachConversation(parameters.getConversationID()); - } - - for (Binding binding : reference.getBindings()) { - if (binding instanceof OptimizableBinding) { - // Resolve the Component - final String bindingURI = binding.getURI(); - final Component targetComponent = resolveComponentURI(bindingURI); - - // Find the Service - ComponentService targetService = resolveServiceURI(bindingURI, targetComponent); - - // if the target service is a promoted service then find the - // service it promotes - if ((targetService != null) && (targetService.getService() instanceof CompositeService)) { - CompositeService compositeService = (CompositeService) targetService.getService(); - // Find the promoted component service - ComponentService promotedComponentService = getPromotedComponentService(compositeService); - if (promotedComponentService != null && !promotedComponentService.isUnresolved()) { - targetService = promotedComponentService; - } - } - - OptimizableBinding optimizableBinding = (OptimizableBinding)binding; - optimizableBinding.setTargetComponent(targetComponent); - optimizableBinding.setTargetComponentService(targetService); - if (targetService != null) { - for (Binding serviceBinding : targetService.getBindings()) { - if (serviceBinding.getClass() == binding.getClass()) { - optimizableBinding.setTargetBinding(serviceBinding); - break; - } - } - } - } - } - // FIXME: The SCA Specification is not clear how we should handle multiplicity - // for CallableReference - if (binding == null) { - binding = reference.getBinding(SCABinding.class); - if (binding == null) { - binding = reference.getBindings().get(0); - } - } - Interface i = reference.getInterfaceContract().getInterface(); - if (i instanceof JavaInterface) { - JavaInterface javaInterface = (JavaInterface)i; - if (javaInterface.isUnresolved()) { - // Allow privileged access to get ClassLoader. Requires RuntimePermission in - // security policy. - ClassLoader classLoader = AccessController.doPrivileged(new PrivilegedAction() { - public ClassLoader run() { - return Thread.currentThread().getContextClassLoader(); - } - }); - javaInterface.setJavaClass(classLoader.loadClass(javaInterface.getName())); - compositeActivator.getJavaInterfaceFactory().createJavaInterface(javaInterface, - javaInterface.getJavaClass()); - //FIXME: If the interface needs XSDs to be loaded (e.g., for static SDO), - // this needs to be done here. We usually search for XSDs in the current - // contribution at resolve time. Is it possible to locate the current - // contribution at runtime? - } - this.businessInterface = (Class)javaInterface.getJavaClass(); - } - if (binding instanceof BindingBuilderExtension) { - ((BindingBuilderExtension)binding).getBuilder().build(component, reference, binding, null); - } - this.proxyFactory = compositeActivator.getProxyFactory(); - } - } else { - this.compositeActivator = ComponentContextHelper.getCurrentCompositeActivator(); - if (this.compositeActivator != null) { - this.proxyFactory = this.compositeActivator.getProxyFactory(); - } - } - } - - /** - * Follow a service promotion chain down to the inner most (non composite) - * component service. - * - * @param topCompositeService - * @return - */ - private ComponentService getPromotedComponentService(CompositeService compositeService) { - ComponentService componentService = compositeService.getPromotedService(); - if (componentService != null) { - Service service = componentService.getService(); - if (componentService.getName() != null && service instanceof CompositeService) { - - // Continue to follow the service promotion chain - return getPromotedComponentService((CompositeService)service); - - } else { - - // Found a non-composite service - return componentService; - } - } else { - - // No promoted service - return null; - } - } - - /** - * @see java.io.Externalizable#writeExternal(java.io.ObjectOutput) - */ - public void writeExternal(ObjectOutput out) throws IOException { - try { - final String xml = toXMLString(); - if (xml == null) { - out.writeBoolean(false); - } else { - out.writeBoolean(true); - out.writeUTF(xml); - } - } catch (Exception e) { - // e.printStackTrace(); - throw new IOException(e.toString()); - } - } - - public String toXMLString() throws IOException { - if (reference != null) { - if (clonedRef == null) { - try { - clonedRef = (RuntimeComponentReference)reference.clone(); - } catch (CloneNotSupportedException e) { - // will not happen - } - } - if (refParams == null) { - refParams = new ReferenceParametersImpl(); - - // remove any existing reference parameters from the clone - Object toRemove = null; - for (Object extension : clonedRef.getExtensions()){ - if (extension instanceof ReferenceParameters){ - toRemove = extension; - } - } - - if (toRemove != null){ - clonedRef.getExtensions().remove(toRemove); - } - - // add the new reference parameter object - clonedRef.getExtensions().add(refParams); - } - refParams.setCallbackID(callbackID); - if (conversation != null){ - refParams.setConversationID(conversation.getConversationID()); - } - return ((CompositeActivatorImpl)compositeActivator).getComponentContextHelper() - .toXML(component, clonedRef); - } else { - return scdl; - } - } - - /** - * Create a callback id - * - * @return the callback id - */ - private String createCallbackID() { - return UUID.randomUUID().toString(); - } - - public void attachCallbackID(Object callbackID) { - this.callbackID = callbackID; - } - - public void attachConversationID(Object conversationID) { - this.conversationID = conversationID; - } - - public void attachConversation(ExtendedConversation conversation) { - this.conversation = conversation; - } - - public void attachConversation(Object conversationID) { - if (conversationID != null) { - ExtendedConversation conversation = conversationManager.getConversation(conversationID); - if (conversation == null){ - conversation = conversationManager.startConversation(conversationID); - } - this.conversation = conversation; - } else { - this.conversation = null; - } - } - - protected ReferenceParameters getReferenceParameters() { - ReferenceParameters parameters = new ReferenceParametersImpl(); - parameters.setCallbackID(callbackID); - if (getConversation() != null) { - parameters.setConversationID(conversation.getConversationID()); - } - return parameters; - } - - public EndpointReference getEndpointReference() { - try { - resolve(); - - // Use the interface contract of the reference on the component type - Reference componentTypeRef = reference.getReference(); - InterfaceContract sourceContract = - componentTypeRef == null ? reference.getInterfaceContract() : componentTypeRef.getInterfaceContract(); - sourceContract = sourceContract.makeUnidirectional(false); - EndpointReference epr = new EndpointReferenceImpl(component, reference, binding, sourceContract); - ReferenceParameters parameters = getReferenceParameters(); - epr.setReferenceParameters(parameters); - return epr; - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - } - - public XMLStreamReader getXMLReader() { - return xmlReader; - } - - /** - * Resolves the specified URI to a Component using the compositeActivator. - * There are two cases that we need to handle: - *
    - *
  • URI containing just Composite name(s) (i.e. no Service name specified) - *
  • URI containing Composite name(s) and a Service Name - *
- * - * @param componentURI The URI of the Component to resolve - * @return The Component for the specified URI or null if not founds - */ - protected Component resolveComponentURI(String componentURI) { - // If the URI has come from a binding, it may well start with a '/'. We will need - // to remove this so we can match it to the composite names. - if (componentURI.startsWith("/")) { - componentURI = componentURI.substring(1); - } - - // First assume that we are dealing with a Component URI without a Service Name - Component component = compositeActivator.resolve(componentURI); - if (component != null) { - return component; - } - - // Perhaps we have a ComponentURI that has a ServiceName on the end of it - final int index = componentURI.lastIndexOf('/'); - if (index > -1) { - componentURI = componentURI.substring(0, index); - return compositeActivator.resolve(componentURI); - } - - // We could not resolve the Component URI - return null; - } - - /** - * Examines the Services on the specified Component and returns the Service that matches the - * specified Binding URI. - * - * @param bindingURI The Binding URI to resolve on the Component - * @param targetComponent The Component containing the Services - * @return The Service with the specified serviceName or null if no such Service found. - */ - protected ComponentService resolveServiceURI(String bindingURI, Component targetComponent) { - - ComponentService targetService = null; - - if (targetComponent != null) { - if (bindingURI.startsWith("/")) { - bindingURI = bindingURI.substring(1); - } - - final String componentURI = targetComponent.getURI(); - final String serviceName; - if (componentURI.equals(bindingURI)) { - // No service specified - serviceName = ""; - } else { - // Get the Service name from the Binding URI - serviceName = bindingURI.substring(componentURI.length() + 1); - } - - if ("".equals(serviceName)) { - targetService = ComponentContextHelper.getSingleService(targetComponent); - } else { - for (ComponentService service : targetComponent.getServices()) { - if (service.getName().equals(serviceName)) { - targetService = service; - break; - } - } - } - } - - return targetService; - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java deleted file mode 100644 index 30808bff0f..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextHelper.java +++ /dev/null @@ -1,320 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.context; - -import java.io.IOException; -import java.io.Reader; -import java.io.StringReader; -import java.io.StringWriter; -import java.io.Writer; -import java.util.ArrayList; -import java.util.List; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLOutputFactory; -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.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.OptimizableBinding; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.core.assembly.CompositeActivator; -import org.apache.tuscany.sca.core.invocation.ThreadMessageContext; -import org.apache.tuscany.sca.interfacedef.Interface; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; -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.RuntimeComponentService; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * @version $Rev$ $Date$ - */ -public class ComponentContextHelper { - - private final AssemblyFactory assemblyFactory; - private final JavaInterfaceFactory javaInterfaceFactory; - private final StAXArtifactProcessorExtensionPoint staxProcessors; - - /** - * @param assemblyFactory The factory to create assembly models - * @param processors The extension point for StAX artifact processors - */ - public ComponentContextHelper(AssemblyFactory assemblyFactory, - JavaInterfaceFactory javaInterfaceFactory, - StAXArtifactProcessorExtensionPoint processors) { - this.assemblyFactory = assemblyFactory; - this.javaInterfaceFactory = javaInterfaceFactory; - this.staxProcessors = processors; - } - - /** - * Create a self-reference for a component service - * @param component - * @param service - * @throws CloneNotSupportedException - * @throws InvalidInterfaceException - */ - public ComponentReference createSelfReference(Component component, - ComponentService service, - Class businessInterface) throws CloneNotSupportedException, - InvalidInterfaceException { - ComponentReference componentReference = assemblyFactory.createComponentReference(); - componentReference.setName("$self$." + service.getName()); - for (Binding binding : service.getBindings()) { - if (binding instanceof OptimizableBinding) { - OptimizableBinding optimizableBinding = (OptimizableBinding)((OptimizableBinding)binding).clone(); - optimizableBinding.setTargetBinding(binding); - optimizableBinding.setTargetComponent(component); - optimizableBinding.setTargetComponentService(service); - componentReference.getBindings().add(optimizableBinding); - } else { - componentReference.getBindings().add(binding); - } - } - - componentReference.setCallback(service.getCallback()); - componentReference.getTargets().add(service); - componentReference.getPolicySets().addAll(service.getPolicySets()); - componentReference.getRequiredIntents().addAll(service.getRequiredIntents()); - - InterfaceContract interfaceContract = service.getInterfaceContract(); - Service componentTypeService = service.getService(); - if (componentTypeService != null && componentTypeService.getInterfaceContract() != null) { - interfaceContract = componentTypeService.getInterfaceContract(); - } - interfaceContract = getInterfaceContract(interfaceContract, businessInterface); - componentReference.setInterfaceContract(interfaceContract); - componentReference.setMultiplicity(Multiplicity.ONE_ONE); - // component.getReferences().add(componentReference); - return componentReference; - } - - /** - * @param interfaceContract - * @param businessInterface - * @return - * @throws CloneNotSupportedException - * @throws InvalidInterfaceException - */ - private InterfaceContract getInterfaceContract(InterfaceContract interfaceContract, Class businessInterface) - throws CloneNotSupportedException, InvalidInterfaceException { - Interface interfaze = interfaceContract.getInterface(); - boolean compatible = false; - if (interfaze instanceof JavaInterface) { - Class cls = ((JavaInterface)interfaze).getJavaClass(); - if (businessInterface.isAssignableFrom(cls)) { - compatible = true; - } - } - if (!compatible) { - // The interface is not assignable from the interface contract - interfaceContract = (InterfaceContract)interfaceContract.clone(); - interfaceContract.setInterface(javaInterfaceFactory.createJavaInterface(businessInterface)); - } - - return interfaceContract; - } - - /** - * Bind a component reference to a component service - * @param - * @param businessInterface - * @param reference - * @param service - * @return - * @throws CloneNotSupportedException - * @throws InvalidInterfaceException - */ - public RuntimeComponentReference bindComponentReference(Class businessInterface, - RuntimeComponentReference reference, - RuntimeComponent component, - RuntimeComponentService service) - throws CloneNotSupportedException, InvalidInterfaceException { - RuntimeComponentReference ref = (RuntimeComponentReference)reference.clone(); - InterfaceContract interfaceContract = reference.getInterfaceContract(); - Reference componentTypeReference = reference.getReference(); - if (componentTypeReference != null && componentTypeReference.getInterfaceContract() != null) { - interfaceContract = componentTypeReference.getInterfaceContract(); - } - InterfaceContract refInterfaceContract = getInterfaceContract(interfaceContract, businessInterface); - if (refInterfaceContract != interfaceContract) { - ref = (RuntimeComponentReference)reference.clone(); - ref.setInterfaceContract(interfaceContract); - } - ref.setComponent(component); - ref.getTargets().add(service); - ref.getBindings().clear(); - for (Binding binding : service.getBindings()) { - if (binding instanceof OptimizableBinding) { - OptimizableBinding optimizableBinding = (OptimizableBinding)((OptimizableBinding)binding).clone(); - optimizableBinding.setTargetBinding(binding); - optimizableBinding.setTargetComponent(component); - optimizableBinding.setTargetComponentService(service); - ref.getBindings().add(optimizableBinding); - } else { - ref.getBindings().add(binding); - } - } - return ref; - } - - public void write(Component component, ComponentReference reference, Writer writer) throws IOException { - write(component, reference, null, writer); - } - - public void write(Component component, ComponentReference reference, ComponentService service, Writer writer) throws IOException { - try { - StAXArtifactProcessor processor = staxProcessors.getProcessor(Composite.class); - Composite composite = assemblyFactory.createComposite(); - composite.setName(new QName("http://tuscany.apache.org/xmlns/sca/1.0", "default")); - Component comp = assemblyFactory.createComponent(); - comp.setName("default"); - comp.setURI(component.getURI()); - composite.getComponents().add(comp); - if (reference != null) { - comp.getReferences().add(reference); - } - if (service != null) { - comp.getServices().add(service); - } - - XMLOutputFactory outputFactory = XMLOutputFactory.newInstance(); - XMLStreamWriter streamWriter = outputFactory.createXMLStreamWriter(writer); - processor.write(composite, streamWriter); - } catch (Exception e) { - throw new IOException(e.getMessage()); - } - } - - public String toXML(Component component, ComponentReference reference) throws IOException { - StringWriter writer = new StringWriter(); - write(component, reference, writer); - return writer.toString(); - } - - public String toXML(Component component, ComponentService service) throws IOException { - StringWriter writer = new StringWriter(); - write(component, null, service, writer); - return writer.toString(); - } - - public RuntimeComponent read(Reader reader) throws IOException { - try { - XMLInputFactory inputFactory = XMLInputFactory.newInstance(); - XMLStreamReader streamReader = inputFactory.createXMLStreamReader(reader); - return read(streamReader); - } catch (Exception e) { - throw new IOException(e.getMessage()); - } - } - - public RuntimeComponent read(XMLStreamReader streamReader) throws IOException { - try { - StAXArtifactProcessor processor = staxProcessors.getProcessor(Composite.class); - Composite composite = processor.read(streamReader); - RuntimeComponent component = (RuntimeComponent)composite.getComponents().get(0); - return component; - } catch (Exception e) { - throw new IOException(e.getMessage()); - } - } - - public Component fromXML(String xml) throws IOException { - return read(new StringReader(xml)); - } - - public Component fromXML(XMLStreamReader streamReader) throws IOException { - return read(streamReader); - } - - public static RuntimeComponent getCurrentComponent() { - Message message = ThreadMessageContext.getMessageContext(); - if (message != null) { - EndpointReference to = message.getTo(); - if (to == null) { - return null; - } - RuntimeComponent component = message.getTo().getComponent(); - return component; - } - return null; - } - - public static CompositeActivator getCurrentCompositeActivator() { - RuntimeComponent component = getCurrentComponent(); - if (component != null) { - ComponentContextImpl context = (ComponentContextImpl)component.getComponentContext(); - return context.getCompositeActivator(); - } - return null; - } - - public static ComponentContextHelper getCurrentComponentContextHelper() { - CompositeActivator activator = getCurrentCompositeActivator(); - if (activator != null) { - return activator.getComponentContextHelper(); - } - return null; - } - - /** - * @param component - */ - public static ComponentService getSingleService(Component component) { - ComponentService targetService; - List services = component.getServices(); - List regularServices = new ArrayList(); - for (ComponentService service : services) { - if (service.isCallback()) { - continue; - } - String name = service.getName(); - if (!name.startsWith("$") || name.startsWith("$dynamic$")) { - regularServices.add(service); - } - } - if (regularServices.size() == 0) { - throw new ServiceRuntimeException("No service is declared on component " + component.getURI()); - } - if (regularServices.size() != 1) { - throw new ServiceRuntimeException("More than one service is declared on component " + component.getURI() - + ". Service name is required to get the service."); - } - targetService = regularServices.get(0); - return targetService; - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextImpl.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextImpl.java deleted file mode 100644 index a939d6d5da..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ComponentContextImpl.java +++ /dev/null @@ -1,452 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.context; - -import java.io.IOException; -import java.io.Reader; -import java.io.Writer; -import java.util.Collection; -import java.util.ArrayList; - -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.ComponentProperty; -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.Multiplicity; -import org.apache.tuscany.sca.assembly.OptimizableBinding; -import org.apache.tuscany.sca.assembly.Reference; -import org.apache.tuscany.sca.assembly.Service; -import org.apache.tuscany.sca.context.PropertyValueFactory; -import org.apache.tuscany.sca.context.RequestContextFactory; -import org.apache.tuscany.sca.core.assembly.CompositeActivator; -import org.apache.tuscany.sca.core.invocation.ProxyFactory; -import org.apache.tuscany.sca.interfacedef.Interface; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -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.JavaInterfaceFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentContext; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; -import org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.RequestContext; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * Implementation of ComponentContext that delegates to a ComponentContextProvider. - * - * @version $Rev$ $Date$ - */ -public class ComponentContextImpl implements RuntimeComponentContext { - private final RuntimeComponent component; - - private final CompositeActivator compositeActivator; - private final RequestContextFactory requestContextFactory; - private final ProxyFactory proxyFactory; - private final AssemblyFactory assemblyFactory; - private final JavaInterfaceFactory javaInterfaceFactory; - - /** - * This is a reference to the PropertyValueFactory that is provided by the Implementation - * that can be used to get the value from a Property Object. - * - * @see #setPropertyValueFactory(PropertyValueFactory) - * @see #getProperty(Class, String) - */ - private PropertyValueFactory propertyFactory; - - public ComponentContextImpl(CompositeActivator compositeActivator, - AssemblyFactory assemblyFactory, - ProxyFactory proxyFactory, - InterfaceContractMapper interfaceContractMapper, - RequestContextFactory requestContextFactory, - JavaInterfaceFactory javaInterfaceFactory, - RuntimeComponent component) { - super(); - this.compositeActivator = compositeActivator; - this.assemblyFactory = assemblyFactory; - this.proxyFactory = proxyFactory; - this.requestContextFactory = requestContextFactory; - this.javaInterfaceFactory = javaInterfaceFactory; - this.component = component; - } - - public String getURI() { - return component.getURI(); - } - - public > R cast(B target) throws IllegalArgumentException { - return (R)proxyFactory.cast(target); - } - - public B getService(Class businessInterface, String referenceName) { - ServiceReference serviceRef = getServiceReference(businessInterface, referenceName); - return serviceRef.getService(); - } - - public ServiceReference getServiceReference(Class businessInterface, String referenceName) { - try { - for (ComponentReference ref : component.getReferences()) { - if (referenceName.equals(ref.getName())) { - /* ******************** Contribution for issue TUSCANY-2281 ******************** */ - Multiplicity multiplicity = ref.getMultiplicity(); - if( multiplicity == Multiplicity.ZERO_N || multiplicity == Multiplicity.ONE_N) - { - throw new IllegalArgumentException("Reference " + referenceName + " has multiplicity " + multiplicity); - } - /* ******************** Contribution for issue TUSCANY-2281 ******************** */ - - return getServiceReference(businessInterface, (RuntimeComponentReference)ref, null); - } - } - throw new ServiceRuntimeException("Reference not found: " + referenceName); - } catch (ServiceRuntimeException e) { - throw e; - } catch (Exception e) { - throw new ServiceRuntimeException(e.getMessage(), e); - } - } - - /** - * The Implementation is responsible for calling this method to set the - * PropertyValueFactory that is used to get the Property Value from - * a Tuscany Property object. - * - * @param factory The PropertyValueFactory to use - * - * @see #getProperty(Class, String) - */ - public void setPropertyValueFactory(PropertyValueFactory factory) { - propertyFactory = factory; - } - - /** - * Gets the value for the specified property with the specified type. - * - * @param type The type of the property value we are getting - * @param propertyName The name of the property we are getting - * @param B The class of the property value we are getting - * - * @throws ServiceRuntimeException If a Property for the specified propertyName - * is not found - * - * @see #setPropertyValueFactory(PropertyValueFactory) - */ - public B getProperty(Class type, String propertyName) { - for (ComponentProperty p : component.getProperties()) { - if (propertyName.equals(p.getName())) { - return propertyFactory.createPropertyValue(p, type); - } - } - throw new ServiceRuntimeException("Property not found: " + propertyName); - } - - public ServiceReference createSelfReference(Class businessInterface) { - ComponentService service = ComponentContextHelper.getSingleService(component); - try { - return createSelfReference(businessInterface, service); - } catch (Exception e) { - throw new ServiceRuntimeException(e.getMessage(), e); - } - } - - public ServiceReference createSelfReference(Class businessInterface, String serviceName) { - try { - for (ComponentService service : component.getServices()) { - if (serviceName.equals(service.getName())) { - return createSelfReference(businessInterface, service); - } - } - throw new ServiceRuntimeException("Service not found: " + serviceName); - } catch (ServiceRuntimeException e) { - throw e; - } catch (Exception e) { - throw new ServiceRuntimeException(e.getMessage(), e); - } - } - - /** - * @param - * @param businessInterface - * @param service - * @return - */ - public ServiceReference createSelfReference(Class businessInterface, ComponentService service) { - try { - RuntimeComponentReference ref = - (RuntimeComponentReference)createSelfReference(component, service, businessInterface); - ref.setComponent(component); - return getServiceReference(businessInterface, ref, null); - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - } - - public RequestContext getRequestContext() { - if (requestContextFactory != null) { - return requestContextFactory.createRequestContext(); - } else { - return new RequestContextImpl(proxyFactory); - } - } - - /** - * @param businessInterface - * @param reference - * @return - * @throws CloneNotSupportedException - * @throws InvalidInterfaceException - */ - public ServiceReference getServiceReference(Class businessInterface, RuntimeComponentReference reference, Binding binding) { - try { - RuntimeComponentReference ref = (RuntimeComponentReference)reference; - InterfaceContract interfaceContract = reference.getInterfaceContract(); - Reference componentTypeReference = reference.getReference(); - if (componentTypeReference != null && componentTypeReference.getInterfaceContract() != null) { - interfaceContract = componentTypeReference.getInterfaceContract(); - } - InterfaceContract refInterfaceContract = getInterfaceContract(interfaceContract, businessInterface); - if (refInterfaceContract != interfaceContract) { - ref = (RuntimeComponentReference)reference.clone(); - if (interfaceContract != null) { - ref.setInterfaceContract(interfaceContract); - } else { - ref.setInterfaceContract(refInterfaceContract); - } - } - ref.setComponent(component); - return new ServiceReferenceImpl(businessInterface, component, ref, binding, proxyFactory, compositeActivator); - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - } - - /** - * Bind a component reference to a component service - * @param - * @param businessInterface - * @param reference - * @param service - * @return - * @throws CloneNotSupportedException - * @throws InvalidInterfaceException - */ - public ServiceReference getServiceReference(Class businessInterface, - RuntimeComponentReference reference, - RuntimeComponent component, - RuntimeComponentService service) { - try { - RuntimeComponentReference ref = (RuntimeComponentReference)reference.clone(); - InterfaceContract interfaceContract = reference.getInterfaceContract(); - Reference componentTypeReference = reference.getReference(); - if (componentTypeReference != null && componentTypeReference.getInterfaceContract() != null) { - interfaceContract = componentTypeReference.getInterfaceContract(); - } - InterfaceContract refInterfaceContract = getInterfaceContract(interfaceContract, businessInterface); - if (refInterfaceContract != interfaceContract) { - ref = (RuntimeComponentReference)reference.clone(); - ref.setInterfaceContract(interfaceContract); - } - ref.getTargets().add(service); - ref.getBindings().clear(); - for (Binding binding : service.getBindings()) { - if (binding instanceof OptimizableBinding) { - OptimizableBinding optimizableBinding = (OptimizableBinding)((OptimizableBinding)binding).clone(); - optimizableBinding.setTargetBinding(binding); - optimizableBinding.setTargetComponent(component); - optimizableBinding.setTargetComponentService(service); - ref.getBindings().add(optimizableBinding); - } else { - ref.getBindings().add(binding); - } - } - return new ServiceReferenceImpl(businessInterface, component, ref, proxyFactory, compositeActivator); - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - } - - public CallableReference getCallableReference(Class businessInterface, - RuntimeComponent component, - RuntimeComponentService service) { - try { - if (businessInterface == null) { - InterfaceContract contract = service.getInterfaceContract(); - businessInterface = (Class)((JavaInterface)contract.getInterface()).getJavaClass(); - } - RuntimeComponentReference ref = - (RuntimeComponentReference)createSelfReference(component, service, businessInterface); - ref.setComponent(component); - return new CallableReferenceImpl(businessInterface, component, ref, null, proxyFactory, - compositeActivator); - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - } - - /** - * Create a self-reference for a component service - * @param component - * @param service - * @throws CloneNotSupportedException - * @throws InvalidInterfaceException - */ - private ComponentReference createSelfReference(Component component, - ComponentService service, - Class businessInterface) throws CloneNotSupportedException, - InvalidInterfaceException { - ComponentReference componentReference = assemblyFactory.createComponentReference(); - componentReference.setName("$self$." + service.getName()); - for (Binding binding : service.getBindings()) { - if (binding instanceof OptimizableBinding) { - OptimizableBinding optimizableBinding = (OptimizableBinding)((OptimizableBinding)binding).clone(); - optimizableBinding.setTargetBinding(binding); - optimizableBinding.setTargetComponent(component); - optimizableBinding.setTargetComponentService(service); - componentReference.getBindings().add(optimizableBinding); - } else { - componentReference.getBindings().add(binding); - } - } - - componentReference.setCallback(service.getCallback()); - componentReference.getTargets().add(service); - componentReference.getPolicySets().addAll(service.getPolicySets()); - componentReference.getRequiredIntents().addAll(service.getRequiredIntents()); - - InterfaceContract interfaceContract = service.getInterfaceContract(); - Service componentTypeService = service.getService(); - if (componentTypeService != null && componentTypeService.getInterfaceContract() != null) { - interfaceContract = componentTypeService.getInterfaceContract(); - } - interfaceContract = getInterfaceContract(interfaceContract, businessInterface); - componentReference.setInterfaceContract(interfaceContract); - componentReference.setMultiplicity(Multiplicity.ONE_ONE); - // component.getReferences().add(componentReference); - return componentReference; - } - - /** - * @param interfaceContract - * @param businessInterface - * @return - * @throws CloneNotSupportedException - * @throws InvalidInterfaceException - */ - private InterfaceContract getInterfaceContract(InterfaceContract interfaceContract, Class businessInterface) - throws CloneNotSupportedException, InvalidInterfaceException { - boolean compatible = false; - if (interfaceContract != null && interfaceContract.getInterface() != null) { - Interface interfaze = interfaceContract.getInterface(); - if (interfaze instanceof JavaInterface) { - Class cls = ((JavaInterface)interfaze).getJavaClass(); - if (businessInterface.isAssignableFrom(cls)) { - compatible = true; - } - } - } - - if (!compatible) { - // The interface is not assignable from the interface contract - interfaceContract = javaInterfaceFactory.createJavaInterfaceContract(); - JavaInterface callInterface = javaInterfaceFactory.createJavaInterface(businessInterface); - interfaceContract.setInterface(callInterface); - if (callInterface.getCallbackClass() != null) { - interfaceContract.setCallbackInterface(javaInterfaceFactory.createJavaInterface(callInterface - .getCallbackClass())); - } - } - - return interfaceContract; - } - - /** - * @return the compositeActivator - */ - public CompositeActivator getCompositeActivator() { - return compositeActivator; - } - - /** - * @see org.apache.tuscany.sca.runtime.RuntimeComponentContext#start(org.apache.tuscany.sca.runtime.RuntimeComponentReference) - */ - public void start(RuntimeComponentReference reference) { - compositeActivator.start(component, reference); - } - - /** - * @see org.apache.tuscany.sca.runtime.RuntimeComponentContext#read(java.io.Reader) - */ - public RuntimeComponent read(Reader reader) throws IOException { - RuntimeComponent component = compositeActivator.getComponentContextHelper().read(reader); - compositeActivator.configureComponentContext(component); - return component; - } - - /** - * @see org.apache.tuscany.sca.runtime.RuntimeComponentContext#write(org.apache.tuscany.sca.runtime.RuntimeComponentReference, java.io.Writer) - */ - public void write(RuntimeComponentReference reference, Writer writer) throws IOException { - compositeActivator.getComponentContextHelper().write(component, reference, writer); - } - - /* ******************** Contribution for issue TUSCANY-2281 ******************** */ - - /** - * @see ComponentContext#getServices(Class, String) - */ - public Collection getServices(Class businessInterface, String referenceName) { - ArrayList services = new ArrayList(); - Collection> serviceRefs = getServiceReferences(businessInterface, referenceName); - for (ServiceReference serviceRef : serviceRefs) { - services.add(serviceRef.getService()); - } - return services; - } - - /** - * @see ComponentContext#getServiceReferences(Class, String) - */ - public Collection> getServiceReferences(Class businessInterface, String referenceName) { - try { - for (ComponentReference ref : component.getReferences()) { - if (referenceName.equals(ref.getName())) { - ArrayList> serviceRefs = new ArrayList>(); - for(Binding binding : ref.getBindings()) - { - serviceRefs.add( getServiceReference(businessInterface, (RuntimeComponentReference) ref, binding) ); - } - return serviceRefs; - } - } - throw new ServiceRuntimeException("Reference not found: " + referenceName); - } catch (ServiceRuntimeException e) { - throw e; - } catch (Exception e) { - throw new ServiceRuntimeException(e.getMessage(), e); - } - } - /* ******************** Contribution for issue TUSCANY-2281 ******************** */ - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/DefaultComponentContextFactory.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/DefaultComponentContextFactory.java deleted file mode 100644 index 1d1539c9ed..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/DefaultComponentContextFactory.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.context; - -import org.apache.tuscany.sca.assembly.AssemblyFactory; -import org.apache.tuscany.sca.context.ComponentContextFactory; -import org.apache.tuscany.sca.context.RequestContextFactory; -import org.apache.tuscany.sca.core.assembly.CompositeActivator; -import org.apache.tuscany.sca.core.invocation.ProxyFactory; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.oasisopen.sca.ComponentContext; - -/** - * @version $Rev$ $Date$ - */ -public class DefaultComponentContextFactory implements ComponentContextFactory { - private final CompositeActivator compositeActivator; - private final RequestContextFactory requestContextFactory; - private final ProxyFactory proxyFactory; - private final AssemblyFactory assemblyFactory; - private final JavaInterfaceFactory javaInterfaceFactory; - private final InterfaceContractMapper interfaceContractMapper; - - public DefaultComponentContextFactory(CompositeActivator compositeActivator, - AssemblyFactory assemblyFactory, - ProxyFactory proxyFactory, - InterfaceContractMapper interfaceContractMapper, - RequestContextFactory requestContextFactory, - JavaInterfaceFactory javaInterfaceFactory) { - super(); - this.compositeActivator = compositeActivator; - this.assemblyFactory = assemblyFactory; - this.proxyFactory = proxyFactory; - this.requestContextFactory = requestContextFactory; - this.javaInterfaceFactory = javaInterfaceFactory; - this.interfaceContractMapper = interfaceContractMapper; - } - - /** - * @see org.apache.tuscany.sca.context.ComponentContextFactory#createComponentContext(org.apache.tuscany.sca.runtime.RuntimeComponent, org.apache.tuscany.sca.context.RequestContextFactory) - */ - public ComponentContext createComponentContext(RuntimeComponent component, - RequestContextFactory requestContextFactory) { - if (requestContextFactory == null) { - requestContextFactory = this.requestContextFactory; - } - return new ComponentContextImpl(compositeActivator, assemblyFactory, proxyFactory, interfaceContractMapper, - requestContextFactory, javaInterfaceFactory, component); - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/InstanceWrapper.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/InstanceWrapper.java deleted file mode 100644 index b577180291..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/InstanceWrapper.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.core.context; - -import org.apache.tuscany.sca.core.scope.TargetDestructionException; -import org.apache.tuscany.sca.core.scope.TargetInitializationException; - - -/** - * Provides lifecycle management for an implementation instance associated with - * a component for use by the component's associated {@link org.apache.tuscany.sca.core.scope.ScopeContainer} - * - * @version $Rev$ $Date$ - */ -public interface InstanceWrapper { - - /** - * @return - */ - T getInstance(); - - /** - * @throws TargetInitializationException - */ - void start() throws TargetInitializationException; - - /** - * @throws TargetDestructionException - */ - void stop() throws TargetDestructionException; - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/RequestContextImpl.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/RequestContextImpl.java deleted file mode 100644 index 3459aba2ff..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/RequestContextImpl.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.context; - -import java.util.List; - -import javax.security.auth.Subject; - -import org.apache.tuscany.sca.core.invocation.CallbackReferenceImpl; -import org.apache.tuscany.sca.core.invocation.ProxyFactory; -import org.apache.tuscany.sca.core.invocation.ThreadMessageContext; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.runtime.EndpointReference; -import org.apache.tuscany.sca.runtime.ReferenceParameters; -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.runtime.RuntimeWire; -import org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.RequestContext; - -/** - * @version $Rev$ $Date$ - */ -public class RequestContextImpl implements RequestContext { - - private ProxyFactory proxyFactory; - - public RequestContextImpl(ProxyFactory proxyFactory) { - this.proxyFactory = proxyFactory; - } - - public Subject getSecuritySubject() { - Subject subject = null; - - for (Object header : ThreadMessageContext.getMessageContext().getHeaders()){ - if (header instanceof Subject){ - subject = (Subject)header; - break; - } - } - return subject; - } - - public String getServiceName() { - return ThreadMessageContext.getMessageContext().getTo().getContract().getName(); - } - - @SuppressWarnings("unchecked") - public CallableReference getServiceReference() { - Message msgContext = ThreadMessageContext.getMessageContext(); - // FIXME: [rfeng] Is this the service reference matching the caller side? - EndpointReference to = msgContext.getTo(); - RuntimeComponentService service = (RuntimeComponentService) to.getContract(); - RuntimeComponent component = (RuntimeComponent) to.getComponent(); - - CallableReference callableReference = component.getComponentContext().getCallableReference(null, component, service); - ReferenceParameters parameters = msgContext.getFrom().getReferenceParameters(); - ((CallableReferenceImpl) callableReference).attachCallbackID(parameters.getCallbackID()); - ((CallableReferenceImpl) callableReference).attachConversation(parameters.getConversationID()); - return callableReference; - } - - @SuppressWarnings("unchecked") - public CB getCallback() { - CallableReference cb = getCallbackReference(); - if (cb == null) { - return null; - } - return cb.getService(); - } - - @SuppressWarnings("unchecked") - public CallableReference getCallbackReference() { - Message msgContext = ThreadMessageContext.getMessageContext(); - EndpointReference to = msgContext.getTo(); - RuntimeComponentService service = (RuntimeComponentService) to.getContract(); - RuntimeComponentReference callbackReference = (RuntimeComponentReference)service.getCallbackReference(); - if (callbackReference == null) { - return null; - } - JavaInterface javaInterface = (JavaInterface) callbackReference.getInterfaceContract().getInterface(); - Class javaClass = (Class)javaInterface.getJavaClass(); - List wires = callbackReference.getRuntimeWires(); - CallbackReferenceImpl ref = CallbackReferenceImpl.newInstance(javaClass, proxyFactory, wires); - if (ref != null) { - //ref.resolveTarget(); - ReferenceParameters parameters = msgContext.getFrom().getReferenceParameters(); - ref.attachCallbackID(parameters.getCallbackID()); - if (ref.getConversation() != null) { - ref.attachConversationID(parameters.getConversationID()); - } - } - return ref; - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ServiceReferenceImpl.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ServiceReferenceImpl.java deleted file mode 100644 index 1ee09598f5..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/context/ServiceReferenceImpl.java +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.context; - -import javax.xml.stream.XMLStreamReader; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.core.assembly.CompositeActivator; -import org.apache.tuscany.sca.core.conversation.ConversationState; -import org.apache.tuscany.sca.core.invocation.ProxyFactory; -import org.apache.tuscany.sca.runtime.EndpointReference; -import org.apache.tuscany.sca.runtime.ReferenceParameters; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.ServiceReference; - -/** - * Default implementation of a ServiceReference. - * - * @version $Rev$ $Date$ - * @param the type of the business interface - */ -public class ServiceReferenceImpl extends CallableReferenceImpl implements ServiceReference { - private static final long serialVersionUID = 6763709434194361540L; - - protected transient Object callback; - - /* - * Public constructor for Externalizable serialization/deserialization - */ - public ServiceReferenceImpl() { - super(); - } - - /* - * Public constructor for use by XMLStreamReader2CallableReference - */ - public ServiceReferenceImpl(XMLStreamReader xmlReader) throws Exception { - super(xmlReader); - } - - /** - * @param businessInterface - * @param wire - * @param proxyFactory - */ - public ServiceReferenceImpl(Class businessInterface, RuntimeWire wire, ProxyFactory proxyFactory) { - super(businessInterface, wire, proxyFactory); - } - - public ServiceReferenceImpl(Class businessInterface, - RuntimeComponent component, - RuntimeComponentReference reference, - ProxyFactory proxyFactory, - CompositeActivator compositeActivator) { - super(businessInterface, component, reference, null, proxyFactory, compositeActivator); - } - - public ServiceReferenceImpl(Class businessInterface, - RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding, - ProxyFactory proxyFactory, - CompositeActivator compositeActivator) { - super(businessInterface, component, reference, binding, proxyFactory, compositeActivator); - } - - public Object getConversationID() { - return conversationID; - } - - public void setConversationID(Object conversationID) throws IllegalStateException { - if (conversation == null || conversation.getState() != ConversationState.ENDED) { - this.conversationID = conversationID; - this.conversation = null; - } else { - throw new IllegalStateException("Trying to set the conversationId on a service reference but the state of the conversation " - + conversation.getConversationID() - + " is " - + conversation.getState()); - } - } - - public void setCallbackID(Object callbackID) { - this.callbackID = callbackID; - } - - public Object getCallback() { - return callback; - } - - public void setCallback(Object callback) { - if (callback != null && !(callback instanceof CallableReference)) { - //FIXME: need to check if callback object supports the callback interface - // returned by reference.getInterfaceContract().getCallbackInterface() - } - this.callback = callback; - } - - @Override - protected ReferenceParameters getReferenceParameters() { - ReferenceParameters parameters = super.getReferenceParameters(); - if (callback != null) { - if (callback instanceof ServiceReference) { - EndpointReference callbackRef = ((CallableReferenceImpl)callback).getEndpointReference(); - parameters.setCallbackReference(callbackRef); - } else { - EndpointReference callbackRef = getRuntimeWire().getSource().getCallbackEndpoint(); - parameters.setCallbackReference(callbackRef); - parameters.setCallbackObjectID(callback); - } - } - return parameters; - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ConversationListener.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ConversationListener.java deleted file mode 100644 index efa362a929..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ConversationListener.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.core.conversation; - -/** - * Listener for the events of a conversation - * - * @version $Rev$ $Date$ - */ -public interface ConversationListener { - /** - * The conversation is started - */ - void conversationStarted(ExtendedConversation conversation); - /** - * The conversation is ended - */ - void conversationEnded(ExtendedConversation conversation); - /** - * The conversation is expired - */ - void conversationExpired(ExtendedConversation conversation); -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ConversationManager.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ConversationManager.java deleted file mode 100644 index 28e22b4f2c..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ConversationManager.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.conversation; - -/** - * The manager of conversations - * - * @version $Rev$ $Date$ - */ -public interface ConversationManager { - /** - * @param conversationID - * @return - */ - ExtendedConversation startConversation(Object conversationID); - - /** - * @param conversationID - */ - void endConversation(Object conversationID); - - /** - * @param conversationID - * @return - */ - ExtendedConversation getConversation(Object conversationID); - - /** - * @param conversationID - */ - void expireConversation(Object conversationID); - - /** - * Add a listener to this conversation - * @param listener - */ - void addListener(ConversationListener listener); - - /** - * Remove a listener from this conversation - * @param listener - */ - void removeListener(ConversationListener listener); - - /** - * @return the default max age for a conversation - */ - long getMaxAge(); - - /** - * @return the default max idle time for a conversation - */ - long getMaxIdleTime(); -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ConversationManagerImpl.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ConversationManagerImpl.java deleted file mode 100644 index 8a883f8e15..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ConversationManagerImpl.java +++ /dev/null @@ -1,216 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.conversation; - -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.UUID; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; - -/** - * @version $Rev$ $Date$ - */ -public class ConversationManagerImpl implements ConversationManager { - - private List listeners = Collections.synchronizedList(new ArrayList()); - private Map conversations = new ConcurrentHashMap(); - - /** - * the default max age. this is set to 1 hour - */ - private static final long DEFAULT_MAX_AGE = 60 * 60 * 1000; ; - - /** - * the default max idle time. this is set to 1 hour - */ - private static final long DEFAULT_MAX_IDLE_TIME = 60 * 60 * 1000; - - /** - * the globally used max age - */ - private final long maxAge; - - /** - * the globally used max idle time - */ - private final long maxIdleTime; - - /** - * the reaper thread - */ - private final ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(); - - /** - * constructor - */ - public ConversationManagerImpl() { - long mit = DEFAULT_MAX_IDLE_TIME; - long ma = DEFAULT_MAX_AGE; - - // Allow privileged access to read system property. Requires PropertyPermission in security - // policy. - String aProperty = AccessController.doPrivileged(new PrivilegedAction() { - public String run() { - return System.getProperty("org.apache.tuscany.sca.core.scope.ConversationalScopeContainer.MaxIdleTime"); - } - }); - if (aProperty != null) { - try { - mit = (new Long(aProperty) * 1000); - } catch (NumberFormatException nfe) { - // Ignore - } - } - - // Allow privileged access to read system property. Requires PropertyPermission in security - // policy. - aProperty = AccessController.doPrivileged(new PrivilegedAction() { - public String run() { - return System.getProperty("org.apache.tuscany.sca.core.scope.ConversationalScopeContainer.MaxAge"); - } - }); - if (aProperty != null) { - try { - ma = (new Long(aProperty) * 1000); - } catch (NumberFormatException nfe) { - // Ignore - } - } - - maxAge = ma; - maxIdleTime = mit; - } - - /** - * @see org.apache.tuscany.sca.core.conversation.ConversationManager#addListener(org.apache.tuscany.sca.core.conversation.ConversationListener) - */ - public void addListener(ConversationListener listener) { - listeners.add(listener); - } - - /** - * @see org.apache.tuscany.sca.core.conversation.ConversationManager#endConversation(org.apache.tuscany.sca.core.conversation.ExtendedConversation) - */ - public void endConversation(Object conversationID) { - ExtendedConversation conv = getConversation(conversationID); - if (conv != null) { - conv.setState(ConversationState.ENDED); - for (ConversationListener listener : listeners) { - listener.conversationEnded(conv); - } - conv.setConversationID(null); - conversations.remove(conversationID); - } else { - throw new IllegalStateException("Conversation " + conversationID + " doesn't exist."); - } - } - - public void expireConversation(Object conversationID) { - ExtendedConversation conv = getConversation(conversationID); - if (conv != null) { - for (ConversationListener listener : listeners) { - listener.conversationExpired(conv); - } - conversations.remove(conversationID); - } else { - throw new IllegalStateException("Conversation " + conversationID + " doesn't exist."); - } - - } - - /** - * @see org.apache.tuscany.sca.core.conversation.ConversationManager#getConversation(java.lang.Object) - */ - public ExtendedConversation getConversation(Object conversationID) { - // ConcurrentHashMap cannot take null key - return conversationID == null ? null : conversations.get(conversationID); - } - - /** - * @see org.apache.tuscany.sca.core.conversation.ConversationManager#removeListener(org.apache.tuscany.sca.core.conversation.ConversationListener) - */ - public void removeListener(ConversationListener listener) { - listeners.remove(listener); - } - - /** - * starts the reaper thread - */ - public void scheduleConversation(ExtendedConversationImpl aConversation, long time) - { - this.scheduler.schedule(aConversation, time, TimeUnit.MILLISECONDS); - } - - /** - * stops the reaper thread - */ - public synchronized void stopReaper() { - - // Prevent the scheduler from submitting any additional reapers, - // initiate an orderly shutdown if a reaper task is in progress. - this.scheduler.shutdown(); - } - - - /** - * @see org.apache.tuscany.sca.core.conversation.ConversationManager#startConversation(java.lang.Object) - */ - public ExtendedConversation startConversation(Object conversationID) { - - if (conversationID == null) { - conversationID = UUID.randomUUID().toString(); - } - ExtendedConversation conversation = getConversation(conversationID); - if (conversation != null && conversation.getState() != ConversationState.ENDED) { - throw new IllegalStateException(conversation + " already exists."); - } - - conversation = new ExtendedConversationImpl( - this, conversationID, ConversationState.STARTED); - conversations.put(conversationID, conversation); - for (ConversationListener listener : listeners) { - listener.conversationStarted(conversation); - } - return conversation; - } - - /** - * return the default max idle time - * @param impProvider the implementation Provider to extract any ConversationAttribute details - */ - public long getMaxIdleTime() { - return maxIdleTime; - } - - /** - * returns the default max age - * @param impProvider the implementation Provider to extract any ConversationAttribute details - */ - public long getMaxAge(){ - return maxAge; - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ConversationState.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ConversationState.java deleted file mode 100644 index 692d6861ba..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ConversationState.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.core.conversation; - -/** - * The states of a conversation - * - * @version $Rev$ $Date$ - */ -public enum ConversationState { - STARTED, ENDED, EXPIRED -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ExtendedConversation.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ExtendedConversation.java deleted file mode 100644 index 77064bd8e8..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ExtendedConversation.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.core.conversation; - -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.oasisopen.sca.Conversation; - -/** - * An extended interface over org.oasisopen.Conversation - * - * @version $Rev$ $Date$ - */ -public interface ExtendedConversation extends Conversation { - /** - * Get the state of a conversation - * @return The state - */ - ConversationState getState(); - - /** - * @param state the state to set - */ - void setState(ConversationState state); - - /** - * @param conversationID the conversationID to set - */ - void setConversationID(Object conversationID); - - - /** - * will check whether this conversation has expired and update state if it has - * @return true if it has expired - */ - boolean isExpired(); - - /** - * updates the last time this conversation was referenced - */ - void updateLastReferencedTime(); - - void initializeConversationAttributes(RuntimeComponent targetComponent); - - - /** - * @return true if the conversational attributes have been initialized - */ - boolean conversationalAttributesInitialized(); -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ExtendedConversationImpl.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ExtendedConversationImpl.java deleted file mode 100644 index 0bf66b2817..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/conversation/ExtendedConversationImpl.java +++ /dev/null @@ -1,265 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.conversation; - -import org.apache.tuscany.sca.core.scope.ScopedImplementationProvider; -import org.apache.tuscany.sca.provider.ImplementationProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - - -/** - * - * @version $Rev$ $Date$ - */ -public class ExtendedConversationImpl implements ExtendedConversation, Runnable { - - private final ConversationManagerImpl manager; - private volatile Object conversationID; - private ConversationState state; - - /** - * syncs access to the state - */ - private final Object stateSync = new Object(); - - /** - * the maximum time a conversation can exist - */ - private long expirationTime = 0; - - /** - * the maximum time this conversation can be idle - */ - private long maxIdleTime = 0; - - /** - * the maximum age of this conversation - */ - private long maxAge = 0; - - /** - * the time that this object was created - */ - private long creationTime; - - /** - * the time that this object was last referenced - */ - private long lastReferencedTime; - - /** - * boolean to ensure expiry only occurs once - */ - private boolean expired = false; - - /** - * boolean to indicate if the conversation attributes have - * been set. In the case where a remote binding is used - * within a composite the JDKInvocationHandler can create the - * conversation but the conversationAttributes are not available - * until the conversation is retrieved by the RuntimeWireInvoker - */ - private boolean conversationAttributesInitialized = false; - - /** - * Constructor - * @param manager the conversation manager - * @param conversationID the conversation id associated with this conversation - * @param state the initial state of this conversation - * @param aMaxAge the maximum age of the conversation - * @param aMaxIdleTime the maximum idle time - */ - public ExtendedConversationImpl(ConversationManagerImpl manager, - Object conversationID, ConversationState state) { - super(); - - this.creationTime = System.currentTimeMillis(); - this.lastReferencedTime = creationTime; - this.manager = manager; - this.conversationID = conversationID; - this.state = state; - } - - /** - * will check whether this conversation has expired and update state if it has - * @return true if it has expired - */ - public boolean isExpired() { - long currentTime; - synchronized (stateSync) { - - // if the attributes haven't been initialized then - // this conversation object can't expire - if (conversationAttributesInitialized == false) { - return false; - } - - // check state first - if (state == ConversationState.EXPIRED) { - return true; - } - - // check whether the time is finished - currentTime = System.currentTimeMillis(); - if (((this.lastReferencedTime + this.maxIdleTime) <= currentTime) - || (this.expirationTime <= currentTime)) { - setState(ConversationState.EXPIRED); - return true; - } - } - scheduleNextExpiryTime(currentTime); - return false; - } - - /** - * schedule next expiry time - */ - public void scheduleNextExpiryTime(long currentTime) { - if ((lastReferencedTime + maxIdleTime) < expirationTime){ - manager.scheduleConversation(this, (lastReferencedTime + maxIdleTime) - currentTime); - } else { - manager.scheduleConversation(this, expirationTime - currentTime); - } - } - /** - * updates the last time this conversation was referenced - */ - public void updateLastReferencedTime() { - this.lastReferencedTime = System.currentTimeMillis(); - if (conversationAttributesInitialized == true){ - scheduleNextExpiryTime(lastReferencedTime); - } - } - - public ConversationState getState() { - synchronized (stateSync){ - return state; - } - } - - public void end() { - manager.endConversation(conversationID); - } - - public Object getConversationID() { - return conversationID; - } - - /** - * @param state the state to set - */ - public void setState(ConversationState state) { - synchronized (stateSync){ - this.state = state; - } - } - - /** - * @param conversationID the conversationID to set - */ - public void setConversationID(Object conversationID) { - synchronized (stateSync){ - if (state != ConversationState.ENDED) { - throw new IllegalStateException("The state of conversation " + conversationID + " " + state); - } - } - this.conversationID = conversationID; - } - - /** - * @param maxAge the maximum age of this conversation - */ - public void initializeConversationAttributes(RuntimeComponent targetComponent){ - if (targetComponent != null){ - this.maxAge = getMaxIdleTime(targetComponent.getImplementationProvider()); - this.maxIdleTime = getMaxAge(targetComponent.getImplementationProvider()); - this.expirationTime = creationTime + maxAge; - this.conversationAttributesInitialized = true; - } - } - - /** - * @return true if the conversational attributes have been initialized - */ - public boolean conversationalAttributesInitialized(){ - return this.conversationAttributesInitialized; - } - - /** - * return the max idle time - * @param impProvider the implementation Provider to extract any ConversationAttribute details - */ - private long getMaxIdleTime(ImplementationProvider impProvider) { - // Check to see if the maxIdleTime has been specified using @ConversationAttributes. - // Implementation annotated attributes are honoured first. - if ((impProvider != null) && - (impProvider instanceof ScopedImplementationProvider)) { - ScopedImplementationProvider aScopedImpl = - (ScopedImplementationProvider) impProvider; - - long maxIdleTime = aScopedImpl.getMaxIdleTime(); - if (maxIdleTime > 0) { - return maxIdleTime; - } - } - return manager.getMaxIdleTime(); - } - - /** - * returns the max age - * @param impProvider the implementation Provider to extract any ConversationAttribute details - */ - private long getMaxAge(ImplementationProvider impProvider){ - - // Check to see if the maxAge has been specified using @ConversationAttributes. - // Implementation annotated attributes are honoured first. - if ((impProvider != null) && - (impProvider instanceof ScopedImplementationProvider)) { - ScopedImplementationProvider aScopedImpl = - (ScopedImplementationProvider) impProvider; - - long maxAge = aScopedImpl.getMaxAge(); - if (maxAge > 0) { - return maxAge; - } - } - return manager.getMaxAge(); - } - - /** - * called when expiring - */ - public void run() { - synchronized (stateSync){ - if (!expired){ - if (isExpired()) { - expired = true; - try { - manager.expireConversation(getConversationID()); - } catch (IllegalStateException ise) { - // ignore this.. this can occur if another thread has subsequently ended - // the conversation - } - } - } - } - - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/BaseEventPublisher.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/BaseEventPublisher.java deleted file mode 100644 index 517e5579a4..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/BaseEventPublisher.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.core.event; - -import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; - -import org.apache.tuscany.sca.event.Event; -import org.apache.tuscany.sca.event.EventFilter; -import org.apache.tuscany.sca.event.EventPublisher; -import org.apache.tuscany.sca.event.RuntimeEventListener; -import org.apache.tuscany.sca.event.TrueFilter; - -/** - * Base implementation of an EventPublisher - * - * @version $Rev$ $Date$ - */ -public abstract class BaseEventPublisher implements EventPublisher { - protected static final EventFilter TRUE_FILTER = new TrueFilter(); - protected Map> listeners; - - public void addListener(RuntimeEventListener listener) { - addListener(TRUE_FILTER, listener); - } - - public void removeListener(RuntimeEventListener listener) { - assert listener != null : "Listener cannot be null"; - synchronized (getListeners()) { - for (List currentList : getListeners().values()) { - for (RuntimeEventListener current : currentList) { - if (current == listener) { - currentList.remove(current); - return; - } - } - } - } - } - - public void addListener(EventFilter filter, RuntimeEventListener listener) { - assert listener != null : "Listener cannot be null"; - synchronized (getListeners()) { - List list = getListeners().get(filter); - if (list == null) { - list = new CopyOnWriteArrayList(); - listeners.put(filter, list); - } - list.add(listener); - } - } - - public void publish(Event event) { - assert event != null : "Event object was null"; - for (Map.Entry> entry : getListeners().entrySet()) { - if (entry.getKey().match(event)) { - for (RuntimeEventListener listener : entry.getValue()) { - listener.onEvent(event); - } - } - } - } - - protected Map> getListeners() { - if (listeners == null) { - listeners = new ConcurrentHashMap>(); - } - return listeners; - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/ComponentStart.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/ComponentStart.java deleted file mode 100644 index 45eab7da1b..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/ComponentStart.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.core.event; - -import java.net.URI; - -import org.apache.tuscany.sca.event.Event; - -/** - * Propagated when a component starts - * - * @version $Rev$ $Date$ - */ -public class ComponentStart implements Event { - - private Object source; - private URI uri; - - /** - * Creates a component start event - * - * @param source the source of the event - * @param componentURI the URI of the component being started - */ - public ComponentStart(Object source, URI componentURI) { - this.source = source; - this.uri = componentURI; - } - - public URI getComponentURI() { - return uri; - } - - public Object getSource() { - return source; - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/ComponentStop.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/ComponentStop.java deleted file mode 100644 index 4dc79c3844..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/ComponentStop.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.core.event; - -import java.net.URI; - -import org.apache.tuscany.sca.event.Event; - -/** - * Propagated when a component stops - * - * @version $Rev$ $Date$ - */ -public class ComponentStop implements Event { - - private Object source; - private URI uri; - - /** - * Creates a component stop event - * - * @param source the source of the event - * @param componentUri the composite component associated the component being stopped - */ - public ComponentStop(Object source, URI componentUri) { - this.source = source; - this.uri = componentUri; - } - - public URI getComponentURI() { - return uri; - } - - public Object getSource() { - return source; - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/ConversationEnd.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/ConversationEnd.java deleted file mode 100644 index d3106c7052..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/ConversationEnd.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.core.event; - -import org.apache.tuscany.sca.event.Event; - - - -/** - * Propagated when a conversation is expired - * - * @version $Rev$ $Date$ - */ -public class ConversationEnd implements Event { - - private Object source; - private Object id; - - /** - * Creates a new event - * - * @param source the source of the event - * @param id the id of the conversation being ended - */ - public ConversationEnd(Object source, Object id) { - this.source = source; - this.id = id; - } - - public Object getSource() { - return source; - } - - public Object getConversationID() { - return id; - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/ConversationStart.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/ConversationStart.java deleted file mode 100644 index 123400fbdd..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/ConversationStart.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.event; - -import org.apache.tuscany.sca.event.Event; - - -/** - * Propagated when a conversation has started - * - * @version $Rev$ $Date$ - */ -public class ConversationStart implements Event { - - private Object source; - private Object id; - - /** - * Creates a new event - * - * @param source the source of the event - * @param id the id of the conversation being started - */ - public ConversationStart(Object source, Object id) { - this.source = source; - this.id = id; - } - - public Object getSource() { - return source; - } - - public Object getConversationID() { - return id; - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/HttpSessionEnd.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/HttpSessionEnd.java deleted file mode 100644 index 68cb5c2966..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/HttpSessionEnd.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.core.event; - -import org.apache.tuscany.sca.event.Event; - - - -/** - * Propagated when an HTTP-based session is expired - * - * @version $Rev$ $Date$ - */ -public class HttpSessionEnd implements Event { - - private Object source; - private Object id; - - /** - * Creates a new event - * - * @param source the source of the event - * @param id the id of the HTTP session being ended - */ - public HttpSessionEnd(Object source, Object id) { - this.source = source; - this.id = id; - } - - public Object getSource() { - return source; - } - - public Object getSessionID() { - return id; - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/HttpSessionStart.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/HttpSessionStart.java deleted file mode 100644 index 38a4fb10d6..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/HttpSessionStart.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.event; - -import org.apache.tuscany.sca.event.Event; - - -/** - * Propagated when an HTTP-based session has started - * - * @version $Rev$ $Date$ - */ -public class HttpSessionStart implements Event { - - private Object source; - private Object id; - - /** - * Creates a new event - * - * @param source the source of the event - * @param id the id of the HTTP session being started - */ - public HttpSessionStart(Object source, Object id) { - this.source = source; - this.id = id; - } - - public Object getSource() { - return source; - } - - public Object getSessionID() { - return id; - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/RequestEnd.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/RequestEnd.java deleted file mode 100644 index d7e797bbb9..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/RequestEnd.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.core.event; - -import org.apache.tuscany.sca.event.Event; - -/** - * Propagated when a request completes or is ended - * - * @version $Rev$ $Date$ - */ -public class RequestEnd implements Event { - - private Object source; - - /** - * Creates a new event - * - * @param source the source of the event - */ - public RequestEnd(Object source) { - this.source = source; - } - - public Object getSource() { - return source; - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/RequestStart.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/RequestStart.java deleted file mode 100644 index 7530156b11..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/event/RequestStart.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.core.event; - -import org.apache.tuscany.sca.event.Event; - -/** - * Propagated when a request is started in the runtime - * - * @version $Rev$ $Date$ - */ -public class RequestStart implements Event { - - private Object source; - - /** - * Creates a new event - * - * @param source the source of the event - */ - public RequestStart(Object source) { - this.source = source; - } - - public Object getSource() { - return source; - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/factory/ObjectCreationException.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/factory/ObjectCreationException.java deleted file mode 100644 index d35b27fd24..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/factory/ObjectCreationException.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.core.factory; - - -/** - * Denotes an error creating a new object instance - * - * @version $Rev$ $Date$ - */ -public class ObjectCreationException extends RuntimeException { - private static final long serialVersionUID = -6423113430265944499L; - - public ObjectCreationException() { - super(); - } - - public ObjectCreationException(String message, Throwable cause) { - super(message, cause); - } - - public ObjectCreationException(String message) { - super(message); - } - - public ObjectCreationException(Throwable cause) { - super(cause); - } - -} - diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/factory/ObjectFactory.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/factory/ObjectFactory.java deleted file mode 100644 index 3f64d2405b..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/factory/ObjectFactory.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.core.factory; - -/** - * Implementations create new instances of a particular type - * - * @version $Rev$ $Date$ - */ -public interface ObjectFactory { - - /** - * Return a instance of the type that this factory creates. - * - * @return a instance from this factory - */ - T getInstance() throws ObjectCreationException; - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallableReferenceObjectFactory.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallableReferenceObjectFactory.java deleted file mode 100644 index 8a54b7568f..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallableReferenceObjectFactory.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.core.invocation; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.core.factory.ObjectCreationException; -import org.apache.tuscany.sca.core.factory.ObjectFactory; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.oasisopen.sca.CallableReference; - -/** - * Uses a wire to return a CallableReference - * - * @version $Rev$ $Date$ - */ -public class CallableReferenceObjectFactory implements ObjectFactory> { - private Class businessInterface; - private RuntimeComponent component; - private RuntimeComponentReference reference; - private Binding binding; - - /** - * Constructor. - * - * To support the @Reference protected CallableReference ref; - * - * @param businessInterface the interface to inject - * @param component the component defining the reference to be injected - * @param reference the reference to be injected - * @param binding the binding for the reference - */ - public CallableReferenceObjectFactory(Class businessInterface, - RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - this.businessInterface = businessInterface; - this.component = component; - this.reference = reference; - this.binding = binding; - } - - public CallableReference getInstance() throws ObjectCreationException { - return component.getComponentContext().getServiceReference(businessInterface, reference, binding); - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackInterfaceInterceptor.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackInterfaceInterceptor.java deleted file mode 100644 index 1ee922144f..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackInterfaceInterceptor.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.core.invocation; - -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.runtime.ReferenceParameters; -import org.oasisopen.sca.NoRegisteredCallbackException; - -/** - * An interceptor applied to the forward direction of a wire that ensures the callback target implements the required - * service contract. This is required as callback targets may be set dynamically by service implementations. - * - * @version $Rev$ $Date$ - */ -public class CallbackInterfaceInterceptor implements Interceptor { - private Invoker next; - - public CallbackInterfaceInterceptor() { - } - - public Message invoke(Message msg) { - ReferenceParameters parameters = msg.getFrom().getReferenceParameters(); - if (parameters.getCallbackObjectID() != null || parameters.getCallbackReference() != msg.getFrom() - .getCallbackEndpoint()) { - return next.invoke(msg); - } else { - throw new NoRegisteredCallbackException("Callback target does not implement the callback interface"); - } - } - - public void setNext(Invoker next) { - this.next = next; - } - - public Invoker getNext() { - return next; - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackReferenceImpl.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackReferenceImpl.java deleted file mode 100644 index 97c69c33cb..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackReferenceImpl.java +++ /dev/null @@ -1,268 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.invocation; - -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.assembly.Contract; -import org.apache.tuscany.sca.assembly.OptimizableBinding; -import org.apache.tuscany.sca.core.assembly.EndpointReferenceImpl; -import org.apache.tuscany.sca.core.assembly.RuntimeComponentReferenceImpl; -import org.apache.tuscany.sca.core.assembly.RuntimeWireImpl; -import org.apache.tuscany.sca.core.context.CallableReferenceImpl; -import org.apache.tuscany.sca.core.context.ComponentContextHelper; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.java.JavaInterface; -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.RuntimeComponentService; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * Returns proxy instance for a wire callback - * - * @version $Rev: 576055 $ $Date: 2007-09-16 08:11:45 +0100 (Sun, 16 Sep 2007) $ - */ -public class CallbackReferenceImpl extends CallableReferenceImpl { - private RuntimeWire wire; - private List wires; - private EndpointReference resolvedEndpoint; - private Object convID; - - public static CallbackReferenceImpl newInstance(Class interfaze, - ProxyFactory proxyFactory, - List wires) { - if (getCallbackEndpoint(ThreadMessageContext.getMessageContext()) != null) { - return new CallbackReferenceImpl(interfaze, proxyFactory, wires); - } else { - return null; - } - } - - /** - * Public constructor for Externalizable serialization/deserialization. - */ - public CallbackReferenceImpl() { - super(); - } - - private CallbackReferenceImpl(Class interfaze, ProxyFactory proxyFactory, List wires) { - super(interfaze, null, proxyFactory); - this.wires = wires; - init(); - } - - public void init() { - Message msgContext = ThreadMessageContext.getMessageContext(); - wire = selectCallbackWire(msgContext); - if (wire == null) { - //FIXME: need better exception - throw new RuntimeException("No callback binding found for " + msgContext.getTo().getURI()); - } - resolvedEndpoint = getCallbackEndpoint(msgContext); - convID = msgContext.getFrom().getReferenceParameters().getConversationID(); - callbackID = msgContext.getFrom().getReferenceParameters().getCallbackID(); - } - - @Override - protected Object createProxy() throws Exception { - return proxyFactory.createCallbackProxy(this); - } - - protected RuntimeWire getCallbackWire() { - if (resolvedEndpoint == null) { - return null; - } else { - return cloneAndBind(wire); - } - } - - protected Object getConvID() { - return convID; - } - - protected EndpointReference getResolvedEndpoint() { - return resolvedEndpoint; - } - - private RuntimeWire selectCallbackWire(Message msgContext) { - // look for callback binding with same name as service binding - EndpointReference to = msgContext.getTo(); - if (to == null) { - //FIXME: need better exception - throw new RuntimeException("Destination for forward call is not available"); - } - for (RuntimeWire wire : wires) { - if (wire.getSource().getBinding().getName().equals(to.getBinding().getName())) { - return wire; - } - } - - // if no match, look for callback binding with same type as service binding - for (RuntimeWire wire : wires) { - if (wire.getSource().getBinding().getClass() == to.getBinding().getClass()) { - return wire; - } - } - - // no suitable callback wire was found - return null; - } - - /** - * @param msgContext - */ - private static EndpointReference getCallbackEndpoint(Message msgContext) { - EndpointReference from = msgContext.getFrom(); - if (from == null) { - return null; - } - return from.getReferenceParameters().getCallbackReference(); - } - - private RuntimeWire cloneAndBind(RuntimeWire wire) { - RuntimeWire boundWire = null; - if (resolvedEndpoint != null) { - boundWire = ((RuntimeWireImpl)wire).lookupCache(resolvedEndpoint); - if (boundWire != null) { - return boundWire; - } - try { - Contract contract = resolvedEndpoint.getContract(); - RuntimeComponentReference ref = null; - if (contract == null) { - boundWire = (RuntimeWire)wire.clone(); - - } else if (contract instanceof RuntimeComponentReference) { - ref = (RuntimeComponentReference)contract; - boundWire = ref.getRuntimeWire(resolvedEndpoint.getBinding()); - - } else { // contract instanceof RuntimeComponentService - ref = bind((RuntimeComponentReference)wire.getSource().getContract(), - resolvedEndpoint.getComponent(), - (RuntimeComponentService)contract); - boundWire = ref.getRuntimeWires().get(0); - } - configureWire(boundWire); - ((RuntimeWireImpl)wire).addToCache(resolvedEndpoint, boundWire); - } catch (CloneNotSupportedException e) { - // will not happen - } - } - return boundWire; - } - - private static RuntimeComponentReference bind(RuntimeComponentReference reference, - RuntimeComponent component, - RuntimeComponentService service) throws CloneNotSupportedException { - RuntimeComponentReference ref = (RuntimeComponentReference)reference.clone(); - ref.getTargets().add(service); - ref.getBindings().clear(); - for (Binding binding : service.getBindings()) { - if (binding instanceof OptimizableBinding) { - OptimizableBinding optimizableBinding = (OptimizableBinding)((OptimizableBinding)binding).clone(); - optimizableBinding.setTargetBinding(binding); - optimizableBinding.setTargetComponent(component); - optimizableBinding.setTargetComponentService(service); - ref.getBindings().add(optimizableBinding); - } else { - ref.getBindings().add(binding); - } - } - return ref; - } - - private void configureWire(RuntimeWire wire) { - // need to set the endpoint on the binding also so that when the chains are created next - // the sca binding can decide whether to provide local or remote invokers. - // TODO - there is a problem here though in that I'm setting a target on a - // binding that may possibly be trying to point at two things in the multi threaded - // case. Need to confirm the general model here and how the clone and bind part - // is intended to work - Binding binding = wire.getSource().getBinding(); - binding.setURI(resolvedEndpoint.getURI()); - - // also need to set the target contract as it varies for the sca binding depending on - // whether it is local or remote - RuntimeComponentReference ref = (RuntimeComponentReference)wire.getSource().getContract(); - wire.getTarget().setInterfaceContract(ref.getBindingProvider(binding).getBindingInterfaceContract()); - } - - /** - * {@inheritDoc} - */ - @Override - public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { - super.readExternal(in); - this.callbackID = in.readObject(); - this.convID = in.readObject(); - - this.compositeActivator = ComponentContextHelper.getCurrentCompositeActivator(); - - // Get the target Component and Service from the URI - final String uri = in.readUTF(); - final Component targetComponent = super.resolveComponentURI(uri); - final ComponentService targetService = super.resolveServiceURI(uri, targetComponent); - final InterfaceContract targetServiceIfaceContract = targetService.getInterfaceContract(); - - // Re-create the resolved Endpoint - this.resolvedEndpoint = new EndpointReferenceImpl( - (RuntimeComponent) targetComponent, targetService, null, - targetServiceIfaceContract); - - // Copy the Java Interface from the Service - final JavaInterface ji = (JavaInterface) targetServiceIfaceContract.getInterface(); - this.businessInterface = (Class) ji.getJavaClass(); - - // We need to re-create the callback wire. We need to do this on a clone of the Service - // wire since we need to change some details on it. - // FIXME: Is this the best way to do this? - final RuntimeWire cbWire = ((RuntimeComponentService) targetService).getRuntimeWires().get(0); - try { - this.wire = (RuntimeWireImpl) cbWire.clone(); - } catch (CloneNotSupportedException e) { - throw new IOException(e.toString()); - } - - // Setup the reference on the cloned wire - final RuntimeComponentReference ref = new RuntimeComponentReferenceImpl(); - ref.setComponent((RuntimeComponent) targetComponent); - ref.setInterfaceContract(targetServiceIfaceContract); - ((EndpointReferenceImpl) this.wire.getSource()).setContract(ref); - } - - /** - * {@inheritDoc} - */ - @Override - public void writeExternal(ObjectOutput out) throws IOException { - super.writeExternal(out); - out.writeObject(this.callbackID); - out.writeObject(this.convID); - out.writeUTF(this.resolvedEndpoint.getURI()); - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackReferenceObjectFactory.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackReferenceObjectFactory.java deleted file mode 100644 index c07fd443e5..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackReferenceObjectFactory.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.core.invocation; - -import java.util.List; - -import org.apache.tuscany.sca.core.factory.ObjectCreationException; -import org.apache.tuscany.sca.core.factory.ObjectFactory; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.oasisopen.sca.CallableReference; - -/** - * Uses a wire to return a CallableReference - * - * @version $Rev: 574648 $ $Date: 2007-09-11 18:45:36 +0100 (Tue, 11 Sep 2007) $ - */ -public class CallbackReferenceObjectFactory implements ObjectFactory> { - private Class businessInterface; - private ProxyFactory proxyFactory; - private List wires; - - public CallbackReferenceObjectFactory(Class interfaze, ProxyFactory proxyFactory, List wires) { - this.businessInterface = interfaze; - this.proxyFactory = proxyFactory; - this.wires = wires; - } - - public CallableReference getInstance() throws ObjectCreationException { - return CallbackReferenceImpl.newInstance(businessInterface, proxyFactory, wires); - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackWireObjectFactory.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackWireObjectFactory.java deleted file mode 100644 index 2b37c30451..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CallbackWireObjectFactory.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.core.invocation; - -import java.util.List; - -import org.apache.tuscany.sca.core.factory.ObjectCreationException; -import org.apache.tuscany.sca.core.factory.ObjectFactory; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * Returns proxy instance for a wire callback - * - * @version $Rev$ $Date$ - */ -public class CallbackWireObjectFactory implements ObjectFactory { - private Class businessInterface; - private ProxyFactory proxyFactory; - private List wires; - - public CallbackWireObjectFactory(Class interfaze, ProxyFactory proxyFactory, List wires) { - this.businessInterface = interfaze; - this.proxyFactory = proxyFactory; - this.wires = wires; - } - - public B getInstance() throws ObjectCreationException { - return proxyFactory.createCallbackProxy(businessInterface, wires); - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CglibProxyFactory.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CglibProxyFactory.java deleted file mode 100644 index 0afc9122de..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/CglibProxyFactory.java +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.invocation; - -import java.lang.reflect.Method; -import java.util.List; - -import net.sf.cglib.proxy.Callback; -import net.sf.cglib.proxy.Enhancer; -import net.sf.cglib.proxy.Factory; -import net.sf.cglib.proxy.MethodInterceptor; -import net.sf.cglib.proxy.MethodProxy; - -import org.apache.tuscany.sca.core.context.CallableReferenceImpl; -import org.apache.tuscany.sca.core.context.ServiceReferenceImpl; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl; -import org.apache.tuscany.sca.invocation.MessageFactory; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.ServiceReference; - -/** - * The implementation of a wire service that uses cglib dynamic proxies - * - * @version $Rev$ $Date$ - */ -@SuppressWarnings("unused") -public class CglibProxyFactory implements ProxyFactory { - private MessageFactory messageFactory; - - public CglibProxyFactory(MessageFactory messageFactory, InterfaceContractMapper mapper) { - this.messageFactory = messageFactory; - - } - - public T createProxy(Class interfaze, RuntimeWire wire) throws ProxyCreationException { - ServiceReference serviceReference = new ServiceReferenceImpl(interfaze, wire, this); - return createProxy(serviceReference); - } - - /** - * create the proxy with cglib. use the same JDKInvocationHandler as - * JDKProxyService. - */ - public T createProxy(CallableReference callableReference) throws ProxyCreationException { - Enhancer enhancer = new Enhancer(); - Class interfaze = callableReference.getBusinessInterface(); - enhancer.setSuperclass(interfaze); - enhancer.setCallback(new CglibMethodInterceptor(callableReference)); - Object proxy = enhancer.create(); - ((CallableReferenceImpl)callableReference).setProxy(proxy); - return interfaze.cast(proxy); - } - - /** - * create the callback proxy with cglib. use the same - * JDKCallbackInvocationHandler as JDKProxyService. - */ - public T createCallbackProxy(Class interfaze, final List wires) throws ProxyCreationException { - CallbackReferenceImpl callbackReference = CallbackReferenceImpl.newInstance(interfaze, this, wires); - return callbackReference != null ? createCallbackProxy(callbackReference) : null; - } - - /** - * create the callback proxy with cglib. use the same - * JDKCallbackInvocationHandler as JDKProxyService. - */ - public T createCallbackProxy(CallbackReferenceImpl callbackReference) throws ProxyCreationException { - Enhancer enhancer = new Enhancer(); - Class interfaze = callbackReference.getBusinessInterface(); - enhancer.setSuperclass(interfaze); - enhancer.setCallback(new CglibMethodInterceptor(callbackReference)); - Object proxy = enhancer.create(); - callbackReference.setProxy(proxy); - return interfaze.cast(proxy); - } - - @SuppressWarnings("unchecked") - public > R cast(B target) throws IllegalArgumentException { - if (isProxyClass(target.getClass())) { - Factory factory = (Factory)target; - Callback[] callbacks = factory.getCallbacks(); - if (callbacks.length != 1 || !(callbacks[0] instanceof CglibMethodInterceptor)) { - throw new IllegalArgumentException("The object is not a known proxy."); - } - CglibMethodInterceptor interceptor = (CglibMethodInterceptor)callbacks[0]; - return (R)interceptor.invocationHandler.getCallableReference(); - } else { - throw new IllegalArgumentException("The object is not a known proxy."); - } - } - - /** - * @see org.apache.tuscany.sca.core.invocation.ProxyFactory#isProxyClass(java.lang.Class) - */ - public boolean isProxyClass(Class clazz) { - return Factory.class.isAssignableFrom(clazz); - } - - private class CglibMethodInterceptor implements MethodInterceptor { - private JDKInvocationHandler invocationHandler; - - public CglibMethodInterceptor(CallableReference callableReference) { - invocationHandler = new JDKInvocationHandler(messageFactory, callableReference); - } - - public CglibMethodInterceptor(CallbackReferenceImpl callbackReference) { - invocationHandler = new JDKCallbackInvocationHandler(messageFactory, callbackReference); - } - - /* - public CglibMethodInterceptor(Class interfaze, RuntimeWire wire) { - ServiceReference serviceRef = new ServiceReferenceImpl(interfaze, wire, CglibProxyFactory.this); - invocationHandler = new JDKInvocationHandler(messageFactory, serviceRef); - } - - public CglibMethodInterceptor(Class interfaze, List wires) { - CallbackReferenceImpl ref = new CallbackReferenceImpl(interfaze, CglibProxyFactory.this, wires); - invocationHandler = new JDKCallbackInvocationHandler(messageFactory, ref); - } - */ - - /** - * @see net.sf.cglib.proxy.MethodInterceptor#intercept(java.lang.Object, java.lang.reflect.Method, java.lang.Object[], net.sf.cglib.proxy.MethodProxy) - */ - public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable { - Object result = invocationHandler.invoke(proxy, method, args); - return result; - } - - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/DefaultProxyFactoryExtensionPoint.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/DefaultProxyFactoryExtensionPoint.java deleted file mode 100644 index 9acb4be6f8..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/DefaultProxyFactoryExtensionPoint.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.core.invocation; - -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.core.UtilityExtensionPoint; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.invocation.MessageFactory; - -/** - * Default implementation of a ProxyFactoryExtensionPoint. - * - * @version $Rev$ $Date$ - */ -public class DefaultProxyFactoryExtensionPoint implements ProxyFactoryExtensionPoint { - private InterfaceContractMapper interfaceContractMapper; - private MessageFactory messageFactory; - - private ProxyFactory interfaceFactory; - private ProxyFactory classFactory; - - public DefaultProxyFactoryExtensionPoint(ExtensionPointRegistry extensionPoints) { - UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(UtilityExtensionPoint.class); - this.interfaceContractMapper = utilities.getUtility(InterfaceContractMapper.class); - - ModelFactoryExtensionPoint modelFactories = extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class); - this.messageFactory = modelFactories.getFactory(MessageFactory.class); - - interfaceFactory = new JDKProxyFactory(messageFactory, interfaceContractMapper); - } - - public DefaultProxyFactoryExtensionPoint(MessageFactory messageFactory, InterfaceContractMapper mapper) { - this.interfaceContractMapper = mapper; - this.messageFactory = messageFactory; - interfaceFactory = new JDKProxyFactory(messageFactory, mapper); - } - - public ProxyFactory getClassProxyFactory() { - return classFactory; - } - - public ProxyFactory getInterfaceProxyFactory() { - return interfaceFactory; - } - - public void setClassProxyFactory(ProxyFactory factory) { - this.classFactory = factory; - - } - - public void setInterfaceProxyFactory(ProxyFactory factory) { - this.interfaceFactory = factory; - - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ExtensibleProxyFactory.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ExtensibleProxyFactory.java deleted file mode 100644 index e20cfff007..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ExtensibleProxyFactory.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.invocation; - -import java.util.List; - -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.oasisopen.sca.CallableReference; - -/** - * An extensible proxy factory. - * - * @version $Rev$ $Date$ - */ -public class ExtensibleProxyFactory implements ProxyFactory { - - private ProxyFactoryExtensionPoint proxyFactories; - - public ExtensibleProxyFactory(ProxyFactoryExtensionPoint proxyFactories) { - this.proxyFactories = proxyFactories; - } - - /** - * @see org.apache.tuscany.sca.core.invocation.ProxyFactory#cast(java.lang.Object) - */ - @SuppressWarnings("unchecked") - public > R cast(B target) throws IllegalArgumentException { - ProxyFactory interfaceFactory = proxyFactories.getInterfaceProxyFactory(); - ProxyFactory classFactory = proxyFactories.getClassProxyFactory(); - if (interfaceFactory.isProxyClass(target.getClass())) { - return (R)interfaceFactory.cast(target); - } else if (classFactory != null && classFactory.isProxyClass(target.getClass())) { - return (R)classFactory.cast(target); - } else { - throw new IllegalArgumentException("The target is not a callable proxy"); - } - } - - /** - * @see org.apache.tuscany.sca.core.invocation.ProxyFactory#createCallbackProxy(java.lang.Class, - * java.util.List) - */ - public T createCallbackProxy(Class interfaze, List wires) throws ProxyCreationException { - ProxyFactory interfaceFactory = proxyFactories.getInterfaceProxyFactory(); - ProxyFactory classFactory = proxyFactories.getClassProxyFactory(); - if (interfaze.isInterface()) { - return interfaceFactory.createCallbackProxy(interfaze, wires); - } else { - return classFactory.createCallbackProxy(interfaze, wires); - } - } - - public T createProxy(CallableReference callableReference) throws ProxyCreationException { - ProxyFactory interfaceFactory = proxyFactories.getInterfaceProxyFactory(); - ProxyFactory classFactory = proxyFactories.getClassProxyFactory(); - if (callableReference.getBusinessInterface().isInterface()) { - return interfaceFactory.createProxy(callableReference); - } else { - return classFactory.createProxy(callableReference); - } - } - - public T createCallbackProxy(CallbackReferenceImpl callbackReference) throws ProxyCreationException { - ProxyFactory interfaceFactory = proxyFactories.getInterfaceProxyFactory(); - ProxyFactory classFactory = proxyFactories.getClassProxyFactory(); - if (callbackReference.getBusinessInterface().isInterface()) { - return interfaceFactory.createCallbackProxy(callbackReference); - } else { - return classFactory.createCallbackProxy(callbackReference); - } - } - - /** - * @see org.apache.tuscany.sca.core.invocation.ProxyFactory#createProxy(java.lang.Class, - * org.apache.tuscany.sca.runtime.RuntimeWire) - */ - public T createProxy(Class interfaze, RuntimeWire wire) throws ProxyCreationException { - ProxyFactory interfaceFactory = proxyFactories.getInterfaceProxyFactory(); - ProxyFactory classFactory = proxyFactories.getClassProxyFactory(); - if (interfaze.isInterface()) { - return interfaceFactory.createProxy(interfaze, wire); - } else { - return classFactory.createProxy(interfaze, wire); - } - } - - /** - * @see org.apache.tuscany.sca.core.invocation.ProxyFactory#isProxyClass(java.lang.Class) - */ - public boolean isProxyClass(Class clazz) { - ProxyFactory interfaceFactory = proxyFactories.getInterfaceProxyFactory(); - ProxyFactory classFactory = proxyFactories.getClassProxyFactory(); - return interfaceFactory.isProxyClass(clazz) || (classFactory != null && classFactory.isProxyClass(clazz)); - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ExtensibleWireProcessor.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ExtensibleWireProcessor.java deleted file mode 100644 index 934f2f7aa0..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ExtensibleWireProcessor.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.core.invocation; - -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.apache.tuscany.sca.runtime.RuntimeWireProcessor; -import org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint; - -/** - * The default implementation of an extensible WireProcessor - * - * @version $Rev$ $Date$ - */ -public class ExtensibleWireProcessor implements RuntimeWireProcessor { - - private RuntimeWireProcessorExtensionPoint processors; - - public ExtensibleWireProcessor(RuntimeWireProcessorExtensionPoint processors) { - this.processors = processors; - } - - public void process(RuntimeWire wire) { - for (RuntimeWireProcessor processor : processors.getWireProcessors()) { - processor.process(wire); - } - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/InvocationChainImpl.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/InvocationChainImpl.java deleted file mode 100644 index c559a42bdc..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/InvocationChainImpl.java +++ /dev/null @@ -1,191 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.invocation; - -import java.util.ArrayList; -import java.util.List; -import java.util.ListIterator; - -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.DataExchangeSemantics; -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.Phase; - -/** - * Default implementation of an invocation chain - * - * @version $Rev$ $Date$ - */ -public class InvocationChainImpl implements InvocationChain { - private Operation sourceOperation; - private Operation targetOperation; - private List nodes = new ArrayList(); - - // FIXME: Not a good practice to use static reference - private static final PhaseManager phaseManager = new PhaseManager(); - private boolean forReference; - private boolean allowsPassByReference; - - public InvocationChainImpl(Operation sourceOperation, Operation targetOperation, boolean forReference) { - // TODO - binding invocation chain doesn't provide operations - //assert sourceOperation != null; - //assert targetOperation != null; - this.targetOperation = targetOperation; - this.sourceOperation = sourceOperation; - this.forReference = forReference; - } - - public Operation getTargetOperation() { - return targetOperation; - } - - public void setTargetOperation(Operation operation) { - this.targetOperation = operation; - } - - public void addInterceptor(Interceptor interceptor) { - String phase = forReference ? Phase.REFERENCE : Phase.SERVICE; - addInterceptor(phase, interceptor); - } - - public void addInvoker(Invoker invoker) { - String phase = forReference ? Phase.REFERENCE_BINDING : Phase.IMPLEMENTATION; - addInvoker(phase, invoker); - } - - public Invoker getHeadInvoker() { - return nodes.isEmpty() ? null : nodes.get(0).getInvoker(); - } - - public Invoker getTailInvoker() { - return nodes.isEmpty() ? null : nodes.get(nodes.size() - 1).getInvoker(); - } - - /** - * @return the sourceOperation - */ - public Operation getSourceOperation() { - return sourceOperation; - } - - /** - * @param sourceOperation the sourceOperation to set - */ - public void setSourceOperation(Operation sourceOperation) { - this.sourceOperation = sourceOperation; - } - - public void addInterceptor(int index, Interceptor interceptor) { - addInterceptor(interceptor); - } - - public void addInterceptor(String phase, Interceptor interceptor) { - addInvoker(phase, interceptor); - } - - private void addInvoker(String phase, Invoker invoker) { - int index = phaseManager.getAllPhases().indexOf(phase); - if (index == -1) { - throw new IllegalArgumentException("Invalid phase name: " + phase); - } - Node node = new Node(index, invoker); - ListIterator li = nodes.listIterator(); - Node before = null, after = null; - boolean found = false; - while (li.hasNext()) { - before = after; - after = li.next(); - if (after.getPhaseIndex() > index) { - // Move back - li.previous(); - li.add(node); - found = true; - break; - } - } - if (!found) { - // Add to the end - nodes.add(node); - before = after; - after = null; - } - - // Relink the interceptors - if (before != null) { - if (before.getInvoker() instanceof Interceptor) { - ((Interceptor)before.getInvoker()).setNext(invoker); - } - } - if (after != null) { - if (invoker instanceof Interceptor) { - ((Interceptor)invoker).setNext(after.getInvoker()); - } - } - - } - - public boolean allowsPassByReference() { - if (allowsPassByReference) { - // No need to check the invokers - return true; - } - // Check if any of the invokers allows pass-by-reference - boolean allowsPBR = false; - for (Node i : nodes) { - if (i.getInvoker() instanceof DataExchangeSemantics) { - if (((DataExchangeSemantics)i.getInvoker()).allowsPassByReference()) { - allowsPBR = true; - break; - } - } - } - return allowsPBR; - } - - public void setAllowsPassByReference(boolean allowsPBR) { - this.allowsPassByReference = allowsPBR; - } - - private static class Node { - private int phaseIndex; - private Invoker invoker; - - public Node(int phaseIndex, Invoker invoker) { - super(); - this.phaseIndex = phaseIndex; - this.invoker = invoker; - } - - public int getPhaseIndex() { - return phaseIndex; - } - - public Invoker getInvoker() { - return invoker; - } - - @Override - public String toString() { - return "(" + phaseIndex + ")" + invoker; - } - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKCallbackInvocationHandler.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKCallbackInvocationHandler.java deleted file mode 100644 index cf4de5874f..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKCallbackInvocationHandler.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.core.invocation; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; - -import org.apache.tuscany.sca.core.assembly.RuntimeWireImpl; -import org.apache.tuscany.sca.core.context.CallableReferenceImpl; -import org.apache.tuscany.sca.core.conversation.ConversationState; -import org.apache.tuscany.sca.invocation.InvocationChain; -import org.apache.tuscany.sca.invocation.MessageFactory; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.oasisopen.sca.NoRegisteredCallbackException; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * Responsible for dispatching to a callback through a wire.

TODO cache - * target invoker - * - * @version $Rev$ $Date$ - */ -public class JDKCallbackInvocationHandler extends JDKInvocationHandler { - private static final long serialVersionUID = -3350283555825935609L; - - public JDKCallbackInvocationHandler(MessageFactory messageFactory, CallbackReferenceImpl ref) { - super(messageFactory, ref); - this.fixedWire = false; - } - - @Override - @SuppressWarnings( {"unchecked"}) - public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { - if (Object.class == method.getDeclaringClass()) { - return invokeObjectMethod(method, args); - } - - // obtain a dedicated wire to be used for this callback invocation - RuntimeWire wire = ((CallbackReferenceImpl)callableReference).getCallbackWire(); - if (wire == null) { - //FIXME: need better exception - throw new ServiceRuntimeException("No callback wire found"); - } - - // set the conversational state based on the interface that - // is specified for the reference that this wire belongs to - initConversational(wire); - - // set the conversation id into the conversation object. This is - // a special case for callbacks as, unless otherwise set manually, - // the callback should use the same conversation id as was received - // on the incoming call to this component - if (conversational) { - - if (conversation == null || conversation.getState() == ConversationState.ENDED) { - conversation = null; - } - Object convID = conversation == null ? null : conversation.getConversationID(); - - // create a conversation id if one doesn't exist - // already, i.e. the conversation is just starting - if (convID == null) { - convID = ((CallbackReferenceImpl)callableReference).getConvID(); - if (convID != null) { - conversation = ((RuntimeWireImpl)wire).getConversationManager().getConversation(convID); - if (callableReference != null) { - ((CallableReferenceImpl)callableReference).attachConversation(conversation); - } - } - } - } - - setEndpoint(((CallbackReferenceImpl)callableReference).getResolvedEndpoint()); - - InvocationChain chain = getInvocationChain(method, wire); - if (chain == null) { - throw new IllegalArgumentException("No matching operation is found: " + method); - } - - try { - return invoke(chain, args, wire, wire.getSource()); - } catch (InvocationTargetException e) { - Throwable t = e.getCause(); - if (t instanceof NoRegisteredCallbackException) { - throw t; - } - throw e; - } finally { - // allow the cloned wire to be reused by subsequent callbacks - ((RuntimeWireImpl)wire).releaseWire(); - } - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKInvocationHandler.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKInvocationHandler.java deleted file mode 100644 index c9d38cb2b7..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKInvocationHandler.java +++ /dev/null @@ -1,516 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.invocation; - -import java.io.Serializable; -import java.lang.reflect.InvocationHandler; -import java.lang.reflect.Method; -import java.lang.reflect.Proxy; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.UUID; - -import org.apache.tuscany.sca.core.assembly.RuntimeWireImpl; -import org.apache.tuscany.sca.core.context.CallableReferenceImpl; -import org.apache.tuscany.sca.core.context.InstanceWrapper; -import org.apache.tuscany.sca.core.conversation.ConversationManager; -import org.apache.tuscany.sca.core.conversation.ConversationState; -import org.apache.tuscany.sca.core.conversation.ExtendedConversation; -import org.apache.tuscany.sca.core.scope.Scope; -import org.apache.tuscany.sca.core.scope.ScopeContainer; -import org.apache.tuscany.sca.core.scope.ScopedRuntimeComponent; -import org.apache.tuscany.sca.core.scope.TargetDestructionException; -import org.apache.tuscany.sca.core.scope.TargetResolutionException; -import org.apache.tuscany.sca.interfacedef.ConversationSequence; -import org.apache.tuscany.sca.interfacedef.DataType; -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.interfacedef.java.JavaOperation; -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.EndpointReference; -import org.apache.tuscany.sca.runtime.ReferenceParameters; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.ConversationEndedException; -import org.oasisopen.sca.ServiceReference; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * @version $Rev$ $Date$ - */ -public class JDKInvocationHandler implements InvocationHandler, Serializable { - private static final long serialVersionUID = -3366410500152201371L; - - protected boolean conversational; - protected ExtendedConversation conversation; - protected MessageFactory messageFactory; - protected EndpointReference source; - protected EndpointReference target; - protected RuntimeWire wire; - protected CallableReference callableReference; - protected Class businessInterface; - - protected boolean fixedWire = true; - - protected transient Map chains = new HashMap(); - - public JDKInvocationHandler(MessageFactory messageFactory, Class businessInterface, RuntimeWire wire) { - this.messageFactory = messageFactory; - this.wire = wire; - this.businessInterface = businessInterface; - init(this.wire); - } - - public JDKInvocationHandler(MessageFactory messageFactory, CallableReference callableReference) { - this.messageFactory = messageFactory; - this.callableReference = callableReference; - if (callableReference != null) { - this.businessInterface = callableReference.getBusinessInterface(); - this.conversation = (ExtendedConversation)callableReference.getConversation(); - this.wire = ((CallableReferenceImpl)callableReference).getRuntimeWire(); - if (wire != null) { - init(wire); - } - } - } - - protected void init(RuntimeWire wire) { - if (wire != null) { - try { - // Clone the endpoint reference so that reference parameters can be changed - source = (EndpointReference)wire.getSource().clone(); - } catch (CloneNotSupportedException e) { - throw new ServiceRuntimeException(e); - } - initConversational(wire); - } - } - - protected void initConversational(RuntimeWire wire) { - InterfaceContract contract = wire.getSource().getInterfaceContract(); - this.conversational = contract.getInterface().isConversational(); - } - - protected Object getCallbackID() { - if (callableReference != null) { - return callableReference.getCallbackID(); - } else { - return null; - } - } - - protected Object getConversationID() { - if (callableReference != null && callableReference instanceof ServiceReference) { - return ((ServiceReference)callableReference).getConversationID(); - } else { - return null; - } - } - - protected Object getCallbackObject() { - if (callableReference != null && callableReference instanceof ServiceReference) { - return ((ServiceReference)callableReference).getCallback(); - } else { - return null; - } - } - - public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { - if (Object.class == method.getDeclaringClass()) { - return invokeObjectMethod(method, args); - } - if (wire == null) { - throw new ServiceRuntimeException("No runtime wire is available"); - } - InvocationChain chain = getInvocationChain(method, wire); - if (chain == null) { - throw new IllegalArgumentException("No matching operation is found: " + method); - } - - // send the invocation down the wire - Object result = invoke(chain, args, wire, source); - - return result; - } - - /** - * Handle the methods on the Object.class - * @param method - * @param args - */ - protected Object invokeObjectMethod(Method method, Object[] args) throws Throwable { - String name = method.getName(); - if ("toString".equals(name)) { - return "[Proxy - " + toString() + "]"; - } else if ("equals".equals(name)) { - Object obj = args[0]; - if (obj == null) { - return false; - } - if (!Proxy.isProxyClass(obj.getClass())) { - return false; - } - return equals(Proxy.getInvocationHandler(obj)); - } else if ("hashCode".equals(name)) { - return hashCode(); - } else { - return method.invoke(this); - } - } - - /** - * Determines if the given operation matches the given method - * - * @return true if the operation matches, false if does not - */ - // FIXME: Should it be in the InterfaceContractMapper? - @SuppressWarnings("unchecked") - private static boolean match(Operation operation, Method method) { - if (operation instanceof JavaOperation) { - JavaOperation javaOp = (JavaOperation)operation; - Method m = javaOp.getJavaMethod(); - if (!method.getName().equals(m.getName())) { - return false; - } - if (method.equals(m)) { - return true; - } - } else { - if (!method.getName().equals(operation.getName())) { - return false; - } - } - - // For remotable interface, operation is not overloaded. - if (operation.getInterface().isRemotable()) { - return true; - } - - Class[] params = method.getParameterTypes(); - - DataType> inputType = null; - if (operation.isWrapperStyle()) { - inputType = operation.getWrapper().getUnwrappedInputType(); - } else { - inputType = operation.getInputType(); - } - List types = inputType.getLogical(); - boolean matched = true; - if (types.size() == params.length && method.getName().equals(operation.getName())) { - for (int i = 0; i < params.length; i++) { - Class clazz = params[i]; - Class type = types.get(i).getPhysical(); - // Object.class.isAssignableFrom(int.class) returns false - if (type != Object.class && (!type.isAssignableFrom(clazz))) { - matched = false; - } - } - } else { - matched = false; - } - return matched; - - } - - protected synchronized InvocationChain getInvocationChain(Method method, RuntimeWire wire) { - if (fixedWire && chains.containsKey(method)) { - return chains.get(method); - } - InvocationChain found = null; - for (InvocationChain chain : wire.getInvocationChains()) { - Operation operation = chain.getSourceOperation(); - if (operation.isDynamic()) { - operation.setName(method.getName()); - found = chain; - break; - } else if (match(operation, method)) { - found = chain; - break; - } - } - if (fixedWire) { - chains.put(method, found); - } - return found; - } - - protected void setEndpoint(EndpointReference endpoint) { - this.target = endpoint; - } - - protected Object invoke(InvocationChain chain, Object[] args, RuntimeWire wire, EndpointReference source) - throws Throwable { - Message msg = messageFactory.createMessage(); - msg.setFrom(source); - if (target != null) { - msg.setTo(target); - } else { - msg.setTo(wire.getTarget()); - } - Invoker headInvoker = chain.getHeadInvoker(); - Operation operation = chain.getTargetOperation(); - msg.setOperation(operation); - msg.setBody(args); - - Message msgContext = ThreadMessageContext.getMessageContext(); - Object currentConversationID = msgContext.getFrom().getReferenceParameters().getConversationID(); - - conversationPreinvoke(msg, wire); - handleCallback(msg, wire, currentConversationID); - ThreadMessageContext.setMessageContext(msg); - boolean abnormalEndConversation = false; - try { - // dispatch the wire down the chain and get the response - Message resp = headInvoker.invoke(msg); - Object body = resp.getBody(); - if (resp.isFault()) { - // mark the conversation as ended if the exception is not a business exception - if (currentConversationID != null ){ - try { - boolean businessException = false; - - for (DataType dataType : operation.getFaultTypes()){ - if (dataType.getPhysical() == ((Throwable)body).getClass()){ - businessException = true; - break; - } - } - - if (businessException == false){ - abnormalEndConversation = true; - } - } catch (Exception ex){ - // TODO - sure what the best course of action is here. We have - // a system exception in the middle of a business exception - } - } - throw (Throwable)body; - } - return body; - } finally { - conversationPostInvoke(msg, wire, abnormalEndConversation); - ThreadMessageContext.setMessageContext(msgContext); - } - } - - /** - * @param msg - * @param wire - * @param interfaze - * @throws TargetResolutionException - */ - private void handleCallback(Message msg, RuntimeWire wire, Object currentConversationID) - throws TargetResolutionException { - ReferenceParameters parameters = msg.getFrom().getReferenceParameters(); - parameters.setCallbackID(getCallbackID()); - if (msg.getFrom() == null || msg.getFrom().getCallbackEndpoint() == null) { - return; - } - - parameters.setCallbackReference(msg.getFrom().getCallbackEndpoint()); - - // If we are passing out a callback target - // register the calling component instance against this - // new conversation id so that stateful callbacks will be - // able to find it - Object callbackObject = getCallbackObject(); - if (conversational && callbackObject == null) { - // the component instance is already registered - // so add another registration - ScopeContainer scopeContainer = getConversationalScopeContainer(wire); - - if (scopeContainer != null && currentConversationID != null) { - scopeContainer.addWrapperReference(currentConversationID, conversation.getConversationID()); - } - } - - Interface interfaze = msg.getFrom().getCallbackEndpoint().getInterfaceContract().getInterface(); - if (callbackObject != null) { - if (callbackObject instanceof ServiceReference) { - EndpointReference callbackRef = ((CallableReferenceImpl)callbackObject).getEndpointReference(); - parameters.setCallbackReference(callbackRef); - } else { - if (interfaze != null) { - if (!interfaze.isConversational()) { - throw new IllegalArgumentException( - "Callback object for stateless callback is not a ServiceReference"); - } else { - if (!(callbackObject instanceof Serializable)) { - throw new IllegalArgumentException( - "Callback object for stateful callback is not Serializable"); - } - ScopeContainer scopeContainer = getConversationalScopeContainer(wire); - if (scopeContainer != null) { - InstanceWrapper wrapper = new CallbackObjectWrapper(callbackObject); - scopeContainer.registerWrapper(wrapper, conversation.getConversationID()); - } - parameters.setCallbackObjectID(callbackObject); - } - } - } - } - } - - /** - * Pre-invoke for the conversation handling - * @param msg - * @throws TargetResolutionException - */ - private void conversationPreinvoke(Message msg, RuntimeWire wire) { - if (!conversational) { - // Not conversational or the conversation has been started - return; - } - - ConversationManager conversationManager = ((RuntimeWireImpl)wire).getConversationManager(); - - if (conversation == null || conversation.getState() == ConversationState.ENDED) { - - conversation = conversationManager.startConversation(getConversationID()); - - // if this is a local wire then set up the conversation timeouts here based on the - // parameters from the component - if (wire.getTarget().getComponent() != null){ - conversation.initializeConversationAttributes(wire.getTarget().getComponent()); - } - - // connect the conversation to the CallableReference so it can be retrieve in the future - if (callableReference != null) { - ((CallableReferenceImpl)callableReference).attachConversation(conversation); - } - } else if (conversation.isExpired()) { - throw new ConversationEndedException("Conversation " + conversation.getConversationID() + " has expired."); - } - - // if this is a local wire then schedule conversation timeouts based on the timeout - // parameters from the service implementation. If this isn't a local wire then - // the RuntimeWireInvoker will take care of this - if (wire.getTarget().getComponent() != null){ - conversation.updateLastReferencedTime(); - } - - msg.getFrom().getReferenceParameters().setConversationID(conversation.getConversationID()); - - } - - /** - * Post-invoke for the conversation handling - * @param wire - * @param operation - * @throws TargetDestructionException - */ - @SuppressWarnings("unchecked") - private void conversationPostInvoke(Message msg, RuntimeWire wire, boolean abnormalEndConversation) - throws TargetDestructionException { - Operation operation = msg.getOperation(); - ConversationSequence sequence = operation.getConversationSequence(); - // We check that conversation has not already ended as there is only one - // conversation manager in the runtime and so, in the case of remote bindings, - // the conversation will already have been stopped when we get back to the client - if ((sequence == ConversationSequence.CONVERSATION_END || abnormalEndConversation) && - (conversation.getState() != ConversationState.ENDED)) { - - // remove conversation id from scope container - ScopeContainer scopeContainer = getConversationalScopeContainer(wire); - - if (scopeContainer != null) { - scopeContainer.remove(conversation.getConversationID()); - } - - conversation.end(); - } - } - - private ScopeContainer getConversationalScopeContainer(RuntimeWire wire) { - ScopeContainer scopeContainer = null; - - RuntimeComponent runtimeComponent = wire.getSource().getComponent(); - - if (runtimeComponent instanceof ScopedRuntimeComponent) { - ScopedRuntimeComponent scopedRuntimeComponent = (ScopedRuntimeComponent)runtimeComponent; - ScopeContainer tmpScopeContainer = scopedRuntimeComponent.getScopeContainer(); - - if ((tmpScopeContainer != null) && (tmpScopeContainer.getScope() == Scope.CONVERSATION)) { - scopeContainer = tmpScopeContainer; - } - } - - return scopeContainer; - } - - /** - * Creates a new conversation id - * - * @return the conversation id - */ - private Object createConversationID() { - if (getConversationID() != null) { - return getConversationID(); - } else { - return UUID.randomUUID().toString(); - } - } - - /** - * @return the callableReference - */ - public CallableReference getCallableReference() { - return callableReference; - } - - /** - * @param callableReference the callableReference to set - */ - public void setCallableReference(CallableReference callableReference) { - this.callableReference = callableReference; - } - - /** - * Minimal wrapper for a callback object contained in a ServiceReference - */ - private static class CallbackObjectWrapper implements InstanceWrapper { - - private T instance; - - private CallbackObjectWrapper(T instance) { - this.instance = instance; - } - - public T getInstance() { - return instance; - } - - public void start() { - // do nothing - } - - public void stop() { - // do nothing - } - - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKProxyFactory.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKProxyFactory.java deleted file mode 100644 index e21d7cba0c..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/JDKProxyFactory.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.invocation; - -import java.lang.reflect.InvocationHandler; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.List; -import java.util.HashMap; - -import org.apache.tuscany.sca.core.invocation.SCAProxy; -import org.apache.tuscany.sca.core.context.CallableReferenceImpl; -import org.apache.tuscany.sca.core.context.ServiceReferenceImpl; -import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; -import org.apache.tuscany.sca.invocation.MessageFactory; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.oasisopen.sca.CallableReference; -import org.oasisopen.sca.ServiceReference; - -/** - * the default implementation of a wire service that uses JDK dynamic proxies - * - * @version $Rev$ $Date$ - */ -public class JDKProxyFactory implements ProxyFactory { - protected InterfaceContractMapper contractMapper; - private MessageFactory messageFactory; - - public JDKProxyFactory(MessageFactory messageFactory, InterfaceContractMapper mapper) { - this.contractMapper = mapper; - this.messageFactory = messageFactory; - } - - /** - * The original createProxy method assumes that the proxy doesn't want to - * share conversation state so sets the conversation object to null - */ - public T createProxy(Class interfaze, RuntimeWire wire) throws ProxyCreationException { - ServiceReference serviceReference = new ServiceReferenceImpl(interfaze, wire, this); - return createProxy(serviceReference); - } - - public T createProxy(CallableReference callableReference) throws ProxyCreationException { - assert callableReference != null; - final Class interfaze = callableReference.getBusinessInterface(); - InvocationHandler handler = new JDKInvocationHandler(messageFactory, callableReference); - // Allow privileged access to class loader. Requires RuntimePermission in security policy. - ClassLoader cl = AccessController.doPrivileged(new PrivilegedAction() { - public ClassLoader run() { - return interfaze.getClassLoader(); - } - }); - Object proxy = SCAProxy.newProxyInstance(cl, new Class[] {interfaze}, handler); - ((CallableReferenceImpl)callableReference).setProxy(proxy); - return interfaze.cast(proxy); - } - - public T createCallbackProxy(Class interfaze, List wires) throws ProxyCreationException { - CallbackReferenceImpl callbackReference = CallbackReferenceImpl.newInstance(interfaze, this, wires); - return callbackReference != null ? createCallbackProxy(callbackReference) : null; - } - - public T createCallbackProxy(CallbackReferenceImpl callbackReference) throws ProxyCreationException { - assert callbackReference != null; - Class interfaze = callbackReference.getBusinessInterface(); - InvocationHandler handler = new JDKCallbackInvocationHandler(messageFactory, callbackReference); - ClassLoader cl = interfaze.getClassLoader(); - Object proxy = SCAProxy.newProxyInstance(cl, new Class[] {interfaze}, handler); - callbackReference.setProxy(proxy); - return interfaze.cast(proxy); - } - - public > R cast(B target) throws IllegalArgumentException { - InvocationHandler handler = SCAProxy.getInvocationHandler(target); - if (handler instanceof JDKInvocationHandler) { - return (R)((JDKInvocationHandler)handler).getCallableReference(); - } else { - throw new IllegalArgumentException("The object is not a known proxy."); - } - } - - /** - * @see org.apache.tuscany.sca.core.invocation.ProxyFactory#isProxyClass(java.lang.Class) - */ - public boolean isProxyClass(Class clazz) { - return SCAProxy.isProxyClass(clazz); - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/MessageFactoryImpl.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/MessageFactoryImpl.java deleted file mode 100644 index 6e182a6a14..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/MessageFactoryImpl.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.core.invocation; - -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.invocation.MessageFactory; - -/** - * Implementation of MessageFactory. - * - * @version $Rev$ $Date$ - */ -public class MessageFactoryImpl implements MessageFactory { - - public Message createMessage() { - return new MessageImpl(); - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/MessageImpl.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/MessageImpl.java deleted file mode 100644 index a45362a92d..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/MessageImpl.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.invocation; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.core.assembly.EndpointReferenceImpl; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.runtime.EndpointReference; - -/** - * The default implementation of a message flowed through a wire during an invocation - * - * @version $Rev $Date$ - */ -public class MessageImpl implements Message { - private List headers = new ArrayList(); - private Object body; - private Object messageID; - private boolean isFault; - private Operation operation; - - private EndpointReference from; - private EndpointReference to; - - public MessageImpl() { - this.from = new EndpointReferenceImpl("/"); - this.to = new EndpointReferenceImpl("/"); - } - - @SuppressWarnings("unchecked") - public T getBody() { - return (T)body; - } - - public void setBody(T body) { - this.isFault = false; - this.body = body; - } - - public Object getMessageID() { - return messageID; - } - - public void setMessageID(Object messageId) { - this.messageID = messageId; - } - - public boolean isFault() { - return isFault; - } - - public void setFaultBody(Object fault) { - this.isFault = true; - this.body = fault; - } - - public EndpointReference getFrom() { - return from; - } - - public void setFrom(EndpointReference from) { - this.from = from; - } - - public EndpointReference getTo() { - return to; - } - - public void setTo(EndpointReference to) { - this.to = to; - } - - public Operation getOperation() { - return operation; - } - - public void setOperation(Operation op) { - this.operation = op; - } - - public List getHeaders() { - return headers; - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/NoMethodForOperationException.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/NoMethodForOperationException.java deleted file mode 100644 index 733544d387..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/NoMethodForOperationException.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.core.invocation; - - -/** - * Thrown when an {@link org.apache.tuscany.sca.core.factory.model.Operation} cannot be mapped to a method on an interface - * @version $Rev$ $Date$ - */ -public class NoMethodForOperationException extends ProxyCreationException { - private static final long serialVersionUID = 5116536602309483679L; - - public NoMethodForOperationException() { - } - - public NoMethodForOperationException(String message) { - super(message); - } - - public NoMethodForOperationException(String message, Throwable cause) { - super(message, cause); - } - - public NoMethodForOperationException(Throwable cause) { - super(cause); - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/NonBlockingInterceptor.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/NonBlockingInterceptor.java deleted file mode 100644 index 92d6d25d46..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/NonBlockingInterceptor.java +++ /dev/null @@ -1,195 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.invocation; - -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; -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.RuntimeWire; -import org.apache.tuscany.sca.work.WorkScheduler; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * Adds non-blocking behavior to an invocation chain - * - * @version $Rev$ $Date$ - */ -public class NonBlockingInterceptor implements Interceptor { - - private static final Message RESPONSE = new ImmutableMessage(); - - /** - * The JDK logger that will be used to log messages. - */ - private static final Logger LOGGER = Logger.getLogger(NonBlockingInterceptor.class.getName()); - - private WorkScheduler workScheduler; - private Invoker next; - - public NonBlockingInterceptor(WorkScheduler workScheduler) { - this.workScheduler = workScheduler; - } - - public NonBlockingInterceptor(WorkScheduler workScheduler, Interceptor next) { - this.workScheduler = workScheduler; - this.next = next; - } - - /** - * Sets desired workScheduler to NonBlockingInterceptor. This is a useful function for the extension framework - * to set desired workmanager on the InvocationChain, other than default workmanager which is set per Tuscany runtime. - * Using this function, extension framework can set desired workmanager on InvocationChain during post wire processing. - * @param workScheduler workScheduler which contains workmanager - */ - public void setWorkScheduler(WorkScheduler workScheduler){ - this.workScheduler = workScheduler; - } - - public Message invoke(final Message msg) { - // Schedule the invocation of the next interceptor in a new Work instance - try { - workScheduler.scheduleWork(new Runnable() { - public void run() { - Message context = ThreadMessageContext.setMessageContext(msg); - try { - Message response = null; - - Throwable ex = null; - try { - response = next.invoke(msg); - } catch (Throwable t) { - ex = t; - } - - // Tuscany-2225 - Did the @OneWay method complete successfully? - // (i.e. no exceptions) - if (response != null && response.isFault()) { - // The @OneWay method threw an Exception. Lets log it and - // then pass it on to the WorkScheduler so it can notify any - // listeners - ex = (Throwable)response.getBody(); - } - if (ex != null) { - LOGGER.log(Level.SEVERE, "Exception from @OneWay invocation", ex); - throw new ServiceRuntimeException("Exception from @OneWay invocation", ex); - } - } finally { - ThreadMessageContext.setMessageContext(context); - } - } - }); - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - return RESPONSE; - } - - public Invoker getNext() { - return next; - } - - public void setNext(Invoker next) { - this.next = next; - } - - /** - * A dummy message passed back on an invocation - */ - private static class ImmutableMessage implements Message { - - @SuppressWarnings("unchecked") - public Object getBody() { - return null; - } - - public void setBody(Object body) { - if (body != null) { - throw new UnsupportedOperationException(); - } - } - - public void setCallbackWires(LinkedList wires) { - - } - - public Object getMessageID() { - return null; - } - - public void setMessageID(Object messageId) { - throw new UnsupportedOperationException(); - } - - public boolean isFault() { - return false; - } - - public void setFaultBody(Object fault) { - throw new UnsupportedOperationException(); - } - - public EndpointReference getFrom() { - return null; - } - - public EndpointReference getTo() { - return null; - } - - public void setFrom(EndpointReference from) { - throw new UnsupportedOperationException(); - } - - public void setTo(EndpointReference to) { - 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 getQoSContext() { - return null; - } - - public List getHeaders() { - return null; - } - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/PhaseManager.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/PhaseManager.java deleted file mode 100644 index 8ee425fe9f..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/PhaseManager.java +++ /dev/null @@ -1,298 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.invocation; - -import static org.apache.tuscany.sca.invocation.Phase.IMPLEMENTATION; -import static org.apache.tuscany.sca.invocation.Phase.IMPLEMENTATION_POLICY; -import static org.apache.tuscany.sca.invocation.Phase.REFERENCE; -import static org.apache.tuscany.sca.invocation.Phase.REFERENCE_BINDING; -import static org.apache.tuscany.sca.invocation.Phase.REFERENCE_BINDING_POLICY; -import static org.apache.tuscany.sca.invocation.Phase.REFERENCE_BINDING_TRANSPORT; -import static org.apache.tuscany.sca.invocation.Phase.REFERENCE_BINDING_WIREFORMAT; -import static org.apache.tuscany.sca.invocation.Phase.REFERENCE_INTERFACE; -import static org.apache.tuscany.sca.invocation.Phase.REFERENCE_POLICY; -import static org.apache.tuscany.sca.invocation.Phase.SERVICE; -import static org.apache.tuscany.sca.invocation.Phase.SERVICE_BINDING; -import static org.apache.tuscany.sca.invocation.Phase.SERVICE_BINDING_OPERATION_SELECTOR; -import static org.apache.tuscany.sca.invocation.Phase.SERVICE_BINDING_POLICY; -import static org.apache.tuscany.sca.invocation.Phase.SERVICE_BINDING_TRANSPORT; -import static org.apache.tuscany.sca.invocation.Phase.SERVICE_BINDING_WIREFORMAT; -import static org.apache.tuscany.sca.invocation.Phase.SERVICE_INTERFACE; -import static org.apache.tuscany.sca.invocation.Phase.SERVICE_POLICY; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -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.ServiceDiscovery; -import org.apache.tuscany.sca.invocation.Phase; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * @version $Rev$ $Date$ - */ -public class PhaseManager { - private static final Logger log = Logger.getLogger(PhaseManager.class.getName()); - - public static final String STAGE_REFERENCE = "reference"; - public static final String STAGE_REFERENCE_BINDING = "reference.binding"; - public static final String STAGE_SERVICE_BINDING = "service.binding"; - public static final String STAGE_SERVICE = "service"; - public static final String STAGE_IMPLEMENTATION = "implementation"; - - private static final String[] SYSTEM_REFERENCE_PHASES = - {REFERENCE, REFERENCE_INTERFACE, REFERENCE_POLICY, REFERENCE_BINDING}; - - private static final String[] SYSTEM_REFERENCE_BINDING_PHASES = - {REFERENCE_BINDING_WIREFORMAT, REFERENCE_BINDING_POLICY, REFERENCE_BINDING_TRANSPORT}; - - private static final String[] SYSTEM_SERVICE_BINDING_PHASES = - {SERVICE_BINDING_TRANSPORT, SERVICE_BINDING_OPERATION_SELECTOR, SERVICE_BINDING_WIREFORMAT, SERVICE_BINDING_POLICY}; - - private static final String[] SYSTEM_SERVICE_PHASES = - {SERVICE_BINDING, SERVICE_POLICY, SERVICE_INTERFACE, SERVICE}; - - private static final String[] SYSTEM_IMPLEMENTATION_PHASES = {IMPLEMENTATION_POLICY, IMPLEMENTATION}; - - private String pattern = Phase.class.getName(); - private Map stages; - private List phases; - - public class Stage { - private String name; - private PhaseSorter sorter = new PhaseSorter(); - private Set firstSet = new HashSet(); - private Set lastSet = new HashSet(); - private List phases = new ArrayList(); - - public Stage(String name) { - super(); - this.name = name; - } - - public String getName() { - return name; - } - - public PhaseSorter getSorter() { - return sorter; - } - - public Set getFirstSet() { - return firstSet; - } - - public Set getLastSet() { - return lastSet; - } - - public List getPhases() { - return phases; - } - - @Override - public String toString() { - return name + phases; - } - } - - // For unit test purpose - PhaseManager(String pattern) { - super(); - this.pattern = pattern; - } - - public PhaseManager() { - } - - private List getPhases(String stage) { - Stage s = getStages().get(stage); - return s == null ? null : s.getPhases(); - } - - public List getReferencePhases() { - return getPhases(STAGE_REFERENCE); - } - - public List getServicePhases() { - return getPhases(STAGE_SERVICE); - } - - public List getReferenceBindingPhases() { - return getPhases(STAGE_REFERENCE_BINDING); - } - - public List getServiceBindingPhases() { - return getPhases(STAGE_SERVICE_BINDING); - } - - public List getImplementationPhases() { - return getPhases(STAGE_IMPLEMENTATION); - } - - public synchronized List getAllPhases() { - if (phases == null) { - phases = new ArrayList(); - phases.addAll(getReferencePhases()); - phases.addAll(getReferenceBindingPhases()); - phases.addAll(getServiceBindingPhases()); - phases.addAll(getServicePhases()); - phases.addAll(getImplementationPhases()); - } - return phases; - } - - public synchronized Map getStages() { - if (stages != null) { - return stages; - } - init(); - - Set services; - try { - services = ServiceDiscovery.getInstance().getServiceDeclarations(pattern); - } catch (IOException e) { - throw new ServiceRuntimeException(e); - } - - for (ServiceDeclaration d : services) { - if (log.isLoggable(Level.FINE)) { - log.fine(d.getLocation() + ": " + d.getAttributes()); - } - String name = d.getAttributes().get("name"); - if (name == null) { - throw new ServiceRuntimeException("Required attribute 'name' is missing."); - } - String stageName = d.getAttributes().get("stage"); - if (stageName == null) { - throw new ServiceRuntimeException("Required attribute 'stage' is missing."); - } - Stage stage = stages.get(stageName); - if (stage == null) { - throw new ServiceRuntimeException("Invalid stage: " + stage); - } - PhaseSorter graph = stage.getSorter(); - Set firstSet = stage.getFirstSet(), lastSet = stage.getLastSet(); - - String before = d.getAttributes().get("before"); - String after = d.getAttributes().get("after"); - if (before != null) { - StringTokenizer tokenizer = new StringTokenizer(before); - while (tokenizer.hasMoreTokens()) { - String p = tokenizer.nextToken(); - if (!"*".equals(p)) { - graph.addEdge(name, p); - } else { - firstSet.add(name); - } - } - } - if (after != null) { - StringTokenizer tokenizer = new StringTokenizer(after); - while (tokenizer.hasMoreTokens()) { - String p = tokenizer.nextToken(); - if (!"*".equals(p)) { - graph.addEdge(p, name); - } else { - lastSet.add(name); - } - } - } - graph.addVertext(name); - if(firstSet.size()>1) { - log.warning("More than one phases are declared to be first: "+firstSet); - } - for (String s : firstSet) { - for (String v : new HashSet(graph.getVertices().keySet())) { - if (!firstSet.contains(v)) { - graph.addEdge(s, v); - } - } - } - if(lastSet.size()>1) { - log.warning("More than one phases are declared to be the last: "+lastSet); - } - for (String s : lastSet) { - for (String v : new HashSet(graph.getVertices().keySet())) { - if (!lastSet.contains(v)) { - graph.addEdge(v, s); - } - } - } - - } - - for (Stage s : stages.values()) { - List phases = s.getSorter().topologicalSort(false); - s.getPhases().clear(); - s.getPhases().addAll(phases); - } - if (log.isLoggable(Level.FINE)) { - log.fine("Stages: " + stages); - } - return stages; - } - - private void init() { - stages = new HashMap(); - - Stage referenceStage = new Stage(STAGE_REFERENCE); - for (int i = 1; i < SYSTEM_REFERENCE_PHASES.length; i++) { - referenceStage.getSorter().addEdge(SYSTEM_REFERENCE_PHASES[i - 1], SYSTEM_REFERENCE_PHASES[i]); - } - referenceStage.getLastSet().add(REFERENCE_BINDING); - stages.put(referenceStage.getName(), referenceStage); - - Stage referenceBindingStage = new Stage(STAGE_REFERENCE_BINDING); - for (int i = 1; i < SYSTEM_REFERENCE_BINDING_PHASES.length; i++) { - referenceBindingStage.getSorter().addEdge(SYSTEM_REFERENCE_BINDING_PHASES[i - 1], SYSTEM_REFERENCE_BINDING_PHASES[i]); - } - stages.put(referenceBindingStage.getName(), referenceBindingStage); - - Stage serviceBindingStage = new Stage(STAGE_SERVICE_BINDING); - for (int i = 1; i < SYSTEM_SERVICE_BINDING_PHASES.length; i++) { - serviceBindingStage.getSorter().addEdge(SYSTEM_SERVICE_BINDING_PHASES[i - 1], SYSTEM_SERVICE_BINDING_PHASES[i]); - } - stages.put(serviceBindingStage.getName(), serviceBindingStage); - - - Stage serviceStage = new Stage(STAGE_SERVICE); - for (int i = 1; i < SYSTEM_SERVICE_PHASES.length; i++) { - serviceStage.getSorter().addEdge(SYSTEM_SERVICE_PHASES[i - 1], SYSTEM_SERVICE_PHASES[i]); - } - stages.put(serviceStage.getName(), serviceStage); - - Stage implementationStage = new Stage(STAGE_IMPLEMENTATION); - for (int i = 1; i < SYSTEM_IMPLEMENTATION_PHASES.length; i++) { - implementationStage.getSorter().addEdge(SYSTEM_IMPLEMENTATION_PHASES[i - 1], - SYSTEM_IMPLEMENTATION_PHASES[i]); - } - implementationStage.getLastSet().add(IMPLEMENTATION); - stages.put(implementationStage.getName(), implementationStage); - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/PhaseSorter.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/PhaseSorter.java deleted file mode 100644 index fc4bea3d9f..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/PhaseSorter.java +++ /dev/null @@ -1,236 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.invocation; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * Directed, weighted graph - * - * @param The type of vertex object - * @param The type of edge object - * - * @version $Rev$ $Date$ - */ -public class PhaseSorter implements Cloneable { - private final Map vertices = new HashMap(); - - /** - * Vertex of a graph - */ - public final class Vertex { - private V value; - - // TODO: Do we want to support multiple edges for a vertex pair? If so, - // we should use a List instead of Map - private Map outEdges = new HashMap(); - private Map inEdges = new HashMap(); - - private Vertex(V value) { - this.value = value; - } - - @Override - public String toString() { - return "(" + value + ")"; - } - - public V getValue() { - return value; - } - - public Map getOutEdges() { - return outEdges; - } - - public Map getInEdges() { - return inEdges; - } - - } - - /** - * An Edge connects two vertices in one direction - */ - public final class Edge { - private Vertex sourceVertex; - - private Vertex targetVertex; - - public Edge(Vertex source, Vertex target) { - this.sourceVertex = source; - this.targetVertex = target; - } - - @Override - public String toString() { - return sourceVertex + "->" + targetVertex; - } - - public Vertex getTargetVertex() { - return targetVertex; - } - - public void setTargetVertex(Vertex vertex) { - this.targetVertex = vertex; - } - - public Vertex getSourceVertex() { - return sourceVertex; - } - - public void setSourceVertex(Vertex sourceVertex) { - this.sourceVertex = sourceVertex; - } - } - - public void addEdge(V source, V target) { - Vertex s = getVertex(source); - if (s == null) { - s = new Vertex(source); - vertices.put(source, s); - } - Vertex t = getVertex(target); - if (t == null) { - t = new Vertex(target); - vertices.put(target, t); - } - Edge edge = new Edge(s, t); - s.outEdges.put(t, edge); - t.inEdges.put(s, edge); - } - - public void addVertext(V source) { - Vertex s = getVertex(source); - if (s == null) { - s = new Vertex(source); - vertices.put(source, s); - } - } - - public Vertex getVertex(V source) { - Vertex s = vertices.get(source); - return s; - } - - public boolean removeEdge(V source, V target) { - Vertex s = getVertex(source); - if (s == null) { - return false; - } - - Vertex t = getVertex(target); - if (t == null) { - return false; - } - - return s.outEdges.remove(t) != null && t.inEdges.remove(s) != null; - - } - - public void removeEdge(Edge edge) { - edge.sourceVertex.outEdges.remove(edge.targetVertex); - edge.targetVertex.inEdges.remove(edge.sourceVertex); - } - - public void removeVertex(Vertex vertex) { - vertices.remove(vertex.getValue()); - for (Edge e : new ArrayList(vertex.outEdges.values())) { - removeEdge(e); - } - for (Edge e : new ArrayList(vertex.inEdges.values())) { - removeEdge(e); - } - } - - public Edge getEdge(Vertex source, Vertex target) { - return source.outEdges.get(target); - } - - public Edge getEdge(V source, V target) { - Vertex sv = getVertex(source); - if (sv == null) { - return null; - } - Vertex tv = getVertex(target); - if (tv == null) { - return null; - } - return getEdge(getVertex(source), getVertex(target)); - } - - @Override - public String toString() { - StringBuffer sb = new StringBuffer(); - for (Vertex v : vertices.values()) { - sb.append(v.outEdges.values()).append("\n"); - } - return sb.toString(); - } - - public Map getVertices() { - return vertices; - } - - public void addGraph(PhaseSorter otherGraph) { - for (Vertex v : otherGraph.vertices.values()) { - for (Edge e : v.outEdges.values()) { - addEdge(e.sourceVertex.value, e.targetVertex.value); - } - } - } - - private Vertex getFirst() { - for (Vertex v : vertices.values()) { - if (v.inEdges.isEmpty()) { - return v; - } - } - if (!vertices.isEmpty()) { - throw new IllegalArgumentException("Circular ordering has been detected: " + toString()); - } else { - return null; - } - } - - public List topologicalSort(boolean readOnly) { - PhaseSorter graph = (!readOnly) ? this : (PhaseSorter)clone(); - List list = new ArrayList(); - while (true) { - Vertex v = graph.getFirst(); - if (v == null) { - break; - } - list.add(v.getValue()); - graph.removeVertex(v); - } - - return list; - } - - @Override - public Object clone() { - PhaseSorter copy = new PhaseSorter(); - copy.addGraph(this); - return copy; - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ProxyCreationException.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ProxyCreationException.java deleted file mode 100644 index 0b36b178f3..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ProxyCreationException.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.core.invocation; - -import org.apache.tuscany.sca.core.factory.ObjectCreationException; - - -/** - * Denotes an error creating a proxy - * - * @version $Rev$ $Date$ - */ -public class ProxyCreationException extends ObjectCreationException { - private static final long serialVersionUID = 8002454344828513781L; - - public ProxyCreationException() { - super(); - } - - public ProxyCreationException(String message, Throwable cause) { - super(message, cause); - } - - public ProxyCreationException(String message) { - super(message); - } - - public ProxyCreationException(Throwable cause) { - super(cause); - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ProxyFactory.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ProxyFactory.java deleted file mode 100644 index af9d44e473..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ProxyFactory.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.core.invocation; - -import java.util.List; - -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.oasisopen.sca.CallableReference; - -/** - * Creates proxies that implement Java interfaces and invocation handlers for fronting wires - * - * @version $Rev$ $Date$ - */ - -public interface ProxyFactory { - - /** - * Creates a Java proxy for the given wire - * - * @param interfaze the interface the proxy implements - * @param wire the wire to proxy - * @return the proxy - * @throws ProxyCreationException - */ - T createProxy(Class interfaze, RuntimeWire wire) throws ProxyCreationException; - - /** - * Creates a Java proxy for the given CallableReference - * - * @param callableReference The CallableReference - * @return the proxy - * @throws ProxyCreationException - */ - T createProxy(CallableReference callableReference) throws ProxyCreationException; - - /** - * Creates a Java proxy for the service contract callback - * - * @param interfaze the interface the proxy should implement - * @return the proxy - * @throws ProxyCreationException - */ - T createCallbackProxy(Class interfaze, List wires) throws ProxyCreationException; - - /** - * Creates a Java proxy for the given callback reference - * - * @param callableReference The CallableReference - * @return the proxy - * @throws ProxyCreationException - */ - T createCallbackProxy(CallbackReferenceImpl callbackReference) throws ProxyCreationException; - - /** - * Cast a proxy to a CallableReference. - * - * @param target a proxy generated by this implementation - * @return a CallableReference (or subclass) equivalent to this proxy - * @throws IllegalArgumentException if the object supplied is not a proxy - */ - > R cast(B target) throws IllegalArgumentException; - - /** - * Test if a given class is a generated proxy class by this factory - * @param clazz A java class or interface - * @return true if the class is a generated proxy class by this factory - */ - boolean isProxyClass(Class clazz); - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ProxyFactoryExtensionPoint.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ProxyFactoryExtensionPoint.java deleted file mode 100644 index 875a252798..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ProxyFactoryExtensionPoint.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.core.invocation; - - -/** - * The extension point to plug in proxy factories - * @version $Rev$ $Date$ - */ -public interface ProxyFactoryExtensionPoint { - - /** - * Get the proxy factory for java interfaces - * @return - */ - ProxyFactory getInterfaceProxyFactory(); - - /** - * Get the proxy factory for java classes - * @return - */ - ProxyFactory getClassProxyFactory(); - - /** - * Set the proxy factory for java interfaces - * @param factory - */ - void setInterfaceProxyFactory(ProxyFactory factory); - - /** - * Set the proxy factory for java classes - * @param factory - */ - void setClassProxyFactory(ProxyFactory factory); - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/RuntimeWireInvoker.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/RuntimeWireInvoker.java deleted file mode 100644 index d3a6b20fb8..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/RuntimeWireInvoker.java +++ /dev/null @@ -1,264 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.invocation; - -import java.lang.reflect.InvocationTargetException; - -import org.apache.tuscany.sca.core.context.InstanceWrapper; -import org.apache.tuscany.sca.core.conversation.ConversationManager; -import org.apache.tuscany.sca.core.conversation.ConversationState; -import org.apache.tuscany.sca.core.conversation.ExtendedConversation; -import org.apache.tuscany.sca.core.scope.Scope; -import org.apache.tuscany.sca.core.scope.ScopeContainer; -import org.apache.tuscany.sca.core.scope.ScopedRuntimeComponent; -import org.apache.tuscany.sca.core.scope.TargetDestructionException; -import org.apache.tuscany.sca.core.scope.TargetResolutionException; -import org.apache.tuscany.sca.interfacedef.ConversationSequence; -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.Invoker; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.invocation.MessageFactory; -import org.apache.tuscany.sca.runtime.EndpointReference; -import org.apache.tuscany.sca.runtime.ReferenceParameters; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeWire; -import org.oasisopen.sca.ConversationEndedException; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * @version $Rev$ $Date$ - */ -public class RuntimeWireInvoker implements Invoker{ - protected ConversationManager conversationManager; - protected boolean conversational; - protected ExtendedConversation conversation; - protected MessageFactory messageFactory; - protected Object conversationID; - protected Object callbackID; - protected Object callbackObject; - protected RuntimeWire wire; - - public RuntimeWireInvoker(MessageFactory messageFactory, ConversationManager conversationManager, RuntimeWire wire) { - this.messageFactory = messageFactory; - this.wire = wire; - this.conversationManager = conversationManager; - init(wire); - } - - protected void init(RuntimeWire wire) { - if (wire != null) { - ReferenceParameters parameters = wire.getSource().getReferenceParameters(); - this.callbackID = parameters.getCallbackID(); - this.callbackObject = parameters.getCallbackReference(); - this.conversationID = parameters.getConversationID(); - InterfaceContract contract = wire.getSource().getInterfaceContract(); - this.conversational = contract.getInterface().isConversational(); - } - } - - /* - * TODO - Introduced to allow the RuntimeWireInvoker to sit on the end of the - * service binding chain. Runtime wire invoke needs splitting up into - * separate conversation, callback interceptors etc. - */ - public Message invoke(Message msg) { - - try { - Object response = invoke(msg.getOperation(),msg); - // Hack to put the response back in a message. - // shouldn't take it out of the response message in the first place - msg.setBody(response); - } catch (InvocationTargetException e) { - throw new ServiceRuntimeException(e); - } - - return msg; - } - - public Object invoke(Operation operation, Message msg) throws InvocationTargetException { - return invoke(wire, operation, msg); - } - - public Object invoke(RuntimeWire wire, Operation operation, Message msg) throws InvocationTargetException { - RuntimeWire runtimeWire = wire == null ? this.wire : wire; - InvocationChain chain = runtimeWire.getInvocationChain(operation); - return invoke(chain, msg, runtimeWire); - } - - protected Object invoke(InvocationChain chain, Message msg, RuntimeWire wire) throws InvocationTargetException { - EndpointReference from = msg.getFrom(); - EndpointReference epFrom = wire.getSource(); - if (from != null) { - from.mergeEndpoint(epFrom); - } else { - msg.setFrom(epFrom); - } - msg.setTo(wire.getTarget()); - - Invoker headInvoker = chain.getHeadInvoker(); - Operation operation = chain.getTargetOperation(); - msg.setOperation(operation); - - Message msgContext = ThreadMessageContext.getMessageContext(); - Object currentConversationID = msgContext.getFrom().getReferenceParameters().getConversationID(); - - ThreadMessageContext.setMessageContext(msg); - try { - conversationPreinvoke(msg); - // handleCallback(msg, currentConversationID); - // dispatch the wire down the chain and get the response - Message resp = headInvoker.invoke(msg); - Object body = resp.getBody(); - if (resp.isFault()) { - throw new InvocationTargetException((Throwable)body); - } - return body; - } catch (InvocationTargetException e) { - throw e; - } catch (Throwable e) { - throw new ServiceRuntimeException(e); - } finally { - try { - conversationPostInvoke(msg); - } catch (TargetDestructionException e) { - throw new ServiceRuntimeException(e); - } finally { - ThreadMessageContext.setMessageContext(msgContext); - } - } - } - - /** - * @param msgContext - */ - protected EndpointReference getCallbackEndpoint(Message msgContext) { - EndpointReference from = msgContext.getFrom(); - return from == null ? null : from.getReferenceParameters().getCallbackReference(); - } - - /** - * Pre-invoke for the conversation handling - * @param msg - * @throws TargetResolutionException - */ - private void conversationPreinvoke(Message msg) { - if (conversational) { - ReferenceParameters parameters = msg.getFrom().getReferenceParameters(); - // in some cases the ConversationID that should be used comes in with the - // message, e.g. when ws binding is in use. - Object convID = parameters.getConversationID(); - if (convID != null) { - conversationID = convID; - } - conversation = conversationManager.getConversation(conversationID); - - if (conversation == null || conversation.getState() == ConversationState.ENDED) { - conversation = conversationManager.startConversation(conversationID); - conversation.initializeConversationAttributes(wire.getTarget().getComponent()); - } else if (conversation.conversationalAttributesInitialized() == false) { - conversation.initializeConversationAttributes(wire.getTarget().getComponent()); - } else if (conversation.isExpired()){ - throw new ConversationEndedException("Conversation has expired."); - } - - conversation.updateLastReferencedTime(); - - parameters.setConversationID(conversation.getConversationID()); - } - } - - /** - * Post-invoke for the conversation handling - * @param wire - * @param operation - * @throws TargetDestructionException - */ - @SuppressWarnings("unchecked") - private void conversationPostInvoke(Message msg) throws TargetDestructionException { - if (conversational) { - Operation operation = msg.getOperation(); - ConversationSequence sequence = operation.getConversationSequence(); - if (sequence == ConversationSequence.CONVERSATION_END) { - // in some cases the ConversationID that should be used comes in with the - // message, e.g. when ws binding is in use. - Object convID = msg.getFrom().getReferenceParameters().getConversationID(); - if (convID != null) { - conversationID = convID; - } - conversation = conversationManager.getConversation(conversationID); - - // remove conversation id from scope container - ScopeContainer scopeContainer = getConversationalScopeContainer(msg); - - if (scopeContainer != null) { - scopeContainer.remove(conversation.getConversationID()); - } - - conversation.end(); - } - } - } - - @SuppressWarnings("unchecked") - private ScopeContainer getConversationalScopeContainer(Message msg) { - ScopeContainer scopeContainer = null; - - RuntimeComponent component = msg.getTo().getComponent(); - - if (component instanceof ScopedRuntimeComponent) { - ScopedRuntimeComponent scopedRuntimeComponent = (ScopedRuntimeComponent)component; - ScopeContainer container = scopedRuntimeComponent.getScopeContainer(); - - if ((container != null) && (container.getScope() == Scope.CONVERSATION)) { - scopeContainer = container; - } - } - - return scopeContainer; - } - - - /** - * Minimal wrapper for a callback object contained in a ServiceReference - */ - private static class CallbackObjectWrapper implements InstanceWrapper { - - private T instance; - - private CallbackObjectWrapper(T instance) { - this.instance = instance; - } - - public T getInstance() { - return instance; - } - - public void start() { - // do nothing - } - - public void stop() { - // do nothing - } - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/SCAProxy.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/SCAProxy.java deleted file mode 100644 index 1112d02b7e..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/SCAProxy.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.core.invocation; - -import java.lang.reflect.InvocationHandler; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Proxy; -import java.lang.reflect.Constructor; -import java.util.WeakHashMap; - -public class SCAProxy extends Proxy -{ - protected SCAProxy (InvocationHandler handler) { - super(handler); - } - - // This is a cache containing the proxy class constructor for each business interface. - // This improves performance compared to calling Proxy.newProxyInstance() - // every time that a proxy is needed. - private static WeakHashMap cache = new WeakHashMap(); - - public static Object newProxyInstance(ClassLoader classloader, Class aclass[], InvocationHandler invocationhandler) - throws IllegalArgumentException - { - try { - if(invocationhandler == null) - throw new NullPointerException(); - // Lookup cached constructor. aclass[0] is the reference's business interface. - Constructor proxyCTOR; - synchronized(cache) { - proxyCTOR = (Constructor) cache.get(aclass[0]); - } - if(proxyCTOR == null) { - Class proxyClass = getProxyClass(classloader, aclass); - proxyCTOR = proxyClass.getConstructor(constructorParams); - synchronized(cache){ - cache.put(aclass[0],proxyCTOR); - } - } - return proxyCTOR.newInstance(new Object[] { invocationhandler }); - } - catch(NoSuchMethodException e) { - throw new InternalError(e.toString()); - } - catch(IllegalAccessException e) { - throw new InternalError(e.toString()); - } - catch (InstantiationException e) { - throw new InternalError(e.toString()); - } - catch (InvocationTargetException e) { - throw new InternalError(e.toString()); - } - } - - private static final Class constructorParams[] = { InvocationHandler.class }; - -} \ No newline at end of file diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/TargetInvocationException.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/TargetInvocationException.java deleted file mode 100644 index 2c4d657882..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/TargetInvocationException.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.core.invocation; - -/** - * Raised when an error is encountered during a target invocation - * - * @version $Rev$ $Date$ - */ -public class TargetInvocationException extends Exception { - - private static final long serialVersionUID = -6553427708442761743L; - - public TargetInvocationException() { - super(); - } - - public TargetInvocationException(String message, Throwable cause) { - super(message, cause); - } - - public TargetInvocationException(String message) { - super(message); - } - - public TargetInvocationException(Throwable cause) { - super(cause); - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ThreadMessageContext.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ThreadMessageContext.java deleted file mode 100644 index 504bd9b036..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ThreadMessageContext.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.core.invocation; - -import org.apache.tuscany.sca.core.assembly.EndpointReferenceImpl; -import org.apache.tuscany.sca.invocation.Message; - -/** - * Class for tunnelling a WorkContext through the invocation of a user class. - * - * @version $Rev$ $Date$ - */ -public final class ThreadMessageContext { - - private static final ThreadLocal CONTEXT = new ThreadLocal() { - @Override - protected synchronized Message initialValue() { - Message msg = new MessageImpl(); - msg.setFrom(new EndpointReferenceImpl("/")); - return msg; - } - }; - - private ThreadMessageContext() { - } - - /** - * Set the WorkContext for the current thread. - * The current work context is returned and must be restored after the invocation is complete. - * Typical usage would be: - *
-     *   WorkContext old = PojoWorkContextTunnel.setThreadWorkContext(newContext);
-     *   try {
-     *      ... invoke user code ...
-     *   } finally {
-     *     PojoWorkContextTunnel.setThreadWorkContext(old);
-     *   }
-     * 
- * @param context - * @return the current work context for the thread; this must be restored after the invocation is made - */ - public static Message setMessageContext(Message context) { - Message old = CONTEXT.get(); - CONTEXT.set(context); - return old; - } - - /** - * Returns the WorkContext for the current thread. - * - * @return the WorkContext for the current thread - */ - public static Message getMessageContext() { - return CONTEXT.get(); - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/WireObjectFactory.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/WireObjectFactory.java deleted file mode 100644 index 246f9c45d6..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/WireObjectFactory.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.core.invocation; - -import org.apache.tuscany.sca.core.context.ServiceReferenceImpl; -import org.apache.tuscany.sca.core.factory.ObjectCreationException; -import org.apache.tuscany.sca.core.factory.ObjectFactory; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * Uses a wire to return an object instance - * - * @version $Rev$ $Date$ - */ -public class WireObjectFactory implements ObjectFactory { - private Class interfaze; - private RuntimeWire wire; - private ProxyFactory proxyService; - - /** - * Constructor. - * - * @param interfaze the interface to inject on the client - * @param wire the backing wire - * @param proxyService the wire service to create the proxy - * @throws NoMethodForOperationException - */ - public WireObjectFactory(Class interfaze, RuntimeWire wire, ProxyFactory proxyService) { - this.interfaze = interfaze; - this.wire = wire; - this.proxyService = proxyService; - } - - public T getInstance() throws ObjectCreationException { - return new ServiceReferenceImpl(interfaze, wire, proxyService).getProxy(); - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/AbstractScopeContainer.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/AbstractScopeContainer.java deleted file mode 100644 index 1168d1d0dd..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/AbstractScopeContainer.java +++ /dev/null @@ -1,200 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.scope; - -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -import org.apache.tuscany.sca.core.context.InstanceWrapper; -import org.apache.tuscany.sca.event.Event; -import org.apache.tuscany.sca.provider.ImplementationProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * Implements functionality common to scope contexts. - * - * @version $Rev$ $Date$ - */ -public abstract class AbstractScopeContainer implements ScopeContainer { - protected Map> wrappers = new ConcurrentHashMap>(); - protected final Scope scope; - - protected RuntimeComponent component; - protected volatile int lifecycleState = UNINITIALIZED; - - - public AbstractScopeContainer(Scope scope, RuntimeComponent component) { - this.scope = scope; - this.component = component; - } - - protected void checkInit() { - if (getLifecycleState() != RUNNING) { - throw new IllegalStateException("Scope container not running [" + getLifecycleState() + "]"); - } - } - - /** - * Creates a new physical instance of a component, wrapped in an - * InstanceWrapper. - * - * @param component the component whose instance should be created - * @return a wrapped instance that has been injected but not yet started - * @throws TargetResolutionException if there was a problem creating the - * instance - */ - protected InstanceWrapper createInstanceWrapper() throws TargetResolutionException { - ImplementationProvider implementationProvider = component.getImplementationProvider(); - if (implementationProvider instanceof ScopedImplementationProvider) { - return ((ScopedImplementationProvider)implementationProvider).createInstanceWrapper(); - } - return null; - } - - public InstanceWrapper getAssociatedWrapper(KEY contextId) throws TargetResolutionException { - return getWrapper(contextId); // TODO: what is this method supposed to do diff than getWrapper? - } - - public Scope getScope() { - return scope; - } - - public InstanceWrapper getWrapper(KEY contextId) throws TargetResolutionException { - return wrappers.get(contextId); - } - - public void addWrapperReference(KEY existingContextId, KEY newContextId) - throws TargetResolutionException { - // do nothing here. the conversational scope container implements this - } - - public void registerWrapper(InstanceWrapper wrapper, KEY contextId) throws TargetResolutionException { - // do nothing here. the conversational scope container implements this - } - - public void onEvent(Event event) { - } - - protected boolean isEagerInit() { - ImplementationProvider implementationProvider = ((RuntimeComponent)component).getImplementationProvider(); - if (implementationProvider instanceof ScopedImplementationProvider) { - return ((ScopedImplementationProvider)implementationProvider).isEagerInit(); - } - return false; - } - - public void returnWrapper(InstanceWrapper wrapper, KEY contextId) throws TargetDestructionException { - } - - /** - * Default implementation of remove which does nothing - * - * @param contextId the identifier of the context to remove. - */ - public void remove(KEY contextId) - throws TargetDestructionException { - } - - public synchronized void start() { - int lifecycleState = getLifecycleState(); - if (lifecycleState != UNINITIALIZED && lifecycleState != STOPPED) { - throw new IllegalStateException("Scope must be in UNINITIALIZED or STOPPED state [" + lifecycleState + "]"); - } - setLifecycleState(RUNNING); - } - - public void startContext(KEY contextId) { - if(isEagerInit()) { - try { - getWrapper(contextId); - } catch (TargetResolutionException e) { - // - } - } - } - - public synchronized void stop() { - int lifecycleState = getLifecycleState(); - if (lifecycleState != RUNNING) { - throw new IllegalStateException("Scope in wrong state [" + lifecycleState + "]"); - } - setLifecycleState(STOPPED); - } - - public void stopContext(KEY contextId) { - wrappers.remove(contextId); - } - - @Override - public String toString() { - String s; - switch (lifecycleState) { - case ScopeContainer.CONFIG_ERROR: - s = "CONFIG_ERROR"; - break; - case ScopeContainer.ERROR: - s = "ERROR"; - break; - case ScopeContainer.INITIALIZING: - s = "INITIALIZING"; - break; - case ScopeContainer.INITIALIZED: - s = "INITIALIZED"; - break; - case ScopeContainer.RUNNING: - s = "RUNNING"; - break; - case ScopeContainer.STOPPING: - s = "STOPPING"; - break; - case ScopeContainer.STOPPED: - s = "STOPPED"; - break; - case ScopeContainer.UNINITIALIZED: - s = "UNINITIALIZED"; - break; - default: - s = "UNKNOWN"; - break; - } - return "In state [" + s + ']'; - } - - public RuntimeComponent getComponent() { - return component; - } - - public void setComponent(RuntimeComponent component) { - this.component = component; - } - - public int getLifecycleState() { - return lifecycleState; - } - - /** - * Set the current state of the Lifecycle. - * - * @param lifecycleState the new state - */ - protected void setLifecycleState(int lifecycleState) { - this.lifecycleState = lifecycleState; - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/CompositeScopeContainer.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/CompositeScopeContainer.java deleted file mode 100644 index 7e7ab7a9e4..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/CompositeScopeContainer.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.core.scope; - -import org.apache.tuscany.sca.core.context.InstanceWrapper; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * A scope context which manages atomic component instances keyed by composite - * - * @version $Rev$ $Date$ - */ -public class CompositeScopeContainer extends AbstractScopeContainer { - private InstanceWrapper wrapper; - - public CompositeScopeContainer(RuntimeComponent component) { - super(Scope.COMPOSITE, component); - } - - @Override - public synchronized void stop() { - super.stop(); - if (wrapper != null) { - try { - wrapper.stop(); - } catch (TargetDestructionException e) { - throw new IllegalStateException(e); - } - } - wrapper = null; - } - - @Override - public synchronized InstanceWrapper getWrapper(KEY contextId) throws TargetResolutionException { - if (wrapper == null) { - wrapper = createInstanceWrapper(); - wrapper.start(); - } - return wrapper; - } - - @Override - public InstanceWrapper getAssociatedWrapper(KEY contextId) throws TargetResolutionException { - if (wrapper == null) { - throw new TargetNotFoundException(component.getURI()); - } - return wrapper; - } - - @Override - public synchronized void start() { - super.start(); - if (isEagerInit()) { - try { - getWrapper(null); - } catch (TargetResolutionException e) { - throw new IllegalStateException(e); - } - } - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/CompositeScopeContainerFactory.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/CompositeScopeContainerFactory.java deleted file mode 100644 index 786988613b..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/CompositeScopeContainerFactory.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.core.scope; - -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * @version $Rev$ $Date$ - */ -public class CompositeScopeContainerFactory implements ScopeContainerFactory { - - public ScopeContainer createScopeContainer(RuntimeComponent component) { - return new CompositeScopeContainer(component); - } - - public Scope getScope() { - return Scope.COMPOSITE; - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ConversationalScopeContainer.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ConversationalScopeContainer.java deleted file mode 100644 index 3ae1ca51c5..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ConversationalScopeContainer.java +++ /dev/null @@ -1,290 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.scope; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.UUID; -import java.util.concurrent.ConcurrentHashMap; - -import org.apache.tuscany.sca.core.context.InstanceWrapper; -import org.apache.tuscany.sca.core.conversation.ConversationListener; -import org.apache.tuscany.sca.core.conversation.ConversationManager; -import org.apache.tuscany.sca.core.conversation.ExtendedConversation; -import org.apache.tuscany.sca.core.invocation.ThreadMessageContext; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.store.Store; - -/** - * A scope context which manages atomic component instances keyed on ConversationID - * - * @version $Rev$ $Date$ - */ -public class ConversationalScopeContainer extends AbstractScopeContainer implements ConversationListener { - private ConversationManager conversationManager; - private Map instanceLifecycleCollection = - new ConcurrentHashMap(); - - public ConversationalScopeContainer(Store aStore, RuntimeComponent component) { - super(Scope.CONVERSATION, component); - - // Note: aStore is here to preserve the original factory interface. It is not currently used in this - // implementation since we do not support instance persistence. - - // Check System properties to see if timeout values have been specified. All timeout values - // will be specified in seconds. - // - - } - - - protected InstanceWrapper getInstanceWrapper(boolean create, Object contextId) throws TargetResolutionException { - - // we might get a null context if the target service has - // conversational scope but only its callback interface - // is conversational. In this case we need to invent a - // conversation Id here to store the service against - // and populate the thread context - if (contextId == null) { - contextId = UUID.randomUUID().toString(); - Message msgContext = ThreadMessageContext.getMessageContext(); - - if (msgContext != null) { - msgContext.getFrom().getReferenceParameters().setConversationID(contextId); - } - } - - InstanceLifeCycleWrapper anInstanceWrapper = this.instanceLifecycleCollection.get(contextId); - - if (anInstanceWrapper == null && !create) - return null; - - if (anInstanceWrapper == null) { - anInstanceWrapper = new InstanceLifeCycleWrapper(contextId); - this.instanceLifecycleCollection.put(contextId, anInstanceWrapper); - } - - return anInstanceWrapper.getInstanceWrapper(contextId); - - } - - @Override - public InstanceWrapper getWrapper(Object contextId) throws TargetResolutionException { - return getInstanceWrapper(true, contextId); - } - - /** - * This method allows a new context id to be registered alongside an existing one. This happens in - * one case, when a conversation includes a stateful callback. The client component instance - * must be registered against all outgoing conversation ids so that the component instance - * can be found when the callback arrives - * - * @param existingContextId the context id against which the component is already registered - * @param context this should be a conversation object so that the conversation can b stored - * and reset when the component instance is removed - */ - @Override - public void addWrapperReference(Object existingContextId, Object contextId) throws TargetResolutionException { - - - // get the instance wrapper via the existing id - InstanceLifeCycleWrapper existingInstanceWrapper = this.instanceLifecycleCollection.get(existingContextId); - InstanceLifeCycleWrapper newInstanceWrapper = this.instanceLifecycleCollection.get(contextId); - - // only add the extra reference once - if (newInstanceWrapper == null) { - // add the id to the list of ids that the wrapper holds. Used for reference - // counting and conversation resetting on destruction. - existingInstanceWrapper.addCallbackConversation(contextId); - - // add the reference to the collection - this.instanceLifecycleCollection.put(contextId, existingInstanceWrapper); - } - } - - @Override - public void registerWrapper(InstanceWrapper wrapper, Object contextId) throws TargetResolutionException { - // if a wrapper for a different instance is already registered for this contextId, remove it - InstanceLifeCycleWrapper anInstanceWrapper = this.instanceLifecycleCollection.get(contextId); - if (anInstanceWrapper != null) { - if (anInstanceWrapper.getInstanceWrapper(contextId).getInstance() != wrapper.getInstance()) { - remove(contextId); - } else { - return; - } - } - - anInstanceWrapper = new InstanceLifeCycleWrapper(wrapper, contextId); - this.instanceLifecycleCollection.put(contextId, anInstanceWrapper); - } - - // The remove is invoked when a conversation is explicitly ended. This can occur by using the @EndsConversation or API. - // In this case the instance is immediately removed. A new conversation will be started on the next operation - // associated with this conversationId's service reference. - // - @Override - public void remove(Object contextId) throws TargetDestructionException { - if (contextId != null) { - if (this.instanceLifecycleCollection.containsKey(contextId)) { - InstanceLifeCycleWrapper anInstanceLifeCycleWrapper = this.instanceLifecycleCollection.get(contextId); - this.instanceLifecycleCollection.remove(contextId); - anInstanceLifeCycleWrapper.removeInstanceWrapper(contextId); - } - } - } - - /* - * This is an inner class that keeps track of the lifecycle of a conversation scoped - * implementation instance. - * - */ - - private class InstanceLifeCycleWrapper { - private Object clientConversationId; - private List callbackConversations = new ArrayList(); - - private InstanceLifeCycleWrapper(Object contextId) throws TargetResolutionException { - this.clientConversationId = contextId; - this.createInstance(contextId); - } - - private InstanceLifeCycleWrapper(InstanceWrapper wrapper, Object contextId) throws TargetResolutionException { - this.clientConversationId = contextId; - wrappers.put(contextId, wrapper); - } - - - // Associates a callback conversation with this instance. Each time the scope container - // is asked to remove an object given a ontextId an associated conversation object will - // have its conversationId reset to null. When the list of ids is empty the component instance - // will be removed from the scope container - private void addCallbackConversation(Object conversationID) { - InstanceWrapper ctx = getInstanceWrapper(clientConversationId); - callbackConversations.add(conversationID); - wrappers.put(conversationID, ctx); - } - - // - // Return the backing implementation instance - // - private InstanceWrapper getInstanceWrapper(Object contextId) { - InstanceWrapper ctx = wrappers.get(contextId); - return ctx; - } - - private void removeInstanceWrapper(Object contextId) throws TargetDestructionException { - InstanceWrapper ctx = getInstanceWrapper(contextId); - wrappers.remove(contextId); - - // find out if we are dealing with the original client conversation id - // and reset accordingly - if ( ( clientConversationId != null ) && ( clientConversationId.equals(contextId)) ) { - clientConversationId = null; - } else { - // reset the conversationId in the conversation object if present - // so that and ending callback causes the conversation in the originating - // service reference in the client to be reset - callbackConversations.remove(contextId); - } - - // stop the component if this removes the last reference - if (clientConversationId == null && callbackConversations.isEmpty()) { - ctx.stop(); - } - } - - private void createInstance(Object contextId) throws TargetResolutionException { - InstanceWrapper instanceWrapper = createInstanceWrapper(); - instanceWrapper.start(); - wrappers.put(contextId, instanceWrapper); - } - - } - - /** - * @see org.apache.tuscany.sca.core.conversation.ConversationListener#conversationEnded(org.apache.tuscany.sca.core.conversation.ExtendedConversation) - */ - public void conversationEnded(ExtendedConversation conversation) { - try { - remove(conversation.getConversationID()); - } catch (Exception ex) { - - } - } - - /** - * @see org.apache.tuscany.sca.core.conversation.ConversationListener#conversationExpired(org.apache.tuscany.sca.core.conversation.ExtendedConversation) - */ - public void conversationExpired(ExtendedConversation conversation) { - - Object conversationId = conversation.getConversationID(); - InstanceLifeCycleWrapper ilcw = instanceLifecycleCollection.get(conversationId); - if (ilcw != null) { - // cycle through all the references to this instance and - // remove them from the underlying wrappers collection and - // from the lifecycle wrappers collection - - for (Object conversationID : ilcw.callbackConversations) { - try{ - ilcw.removeInstanceWrapper(conversationID); - remove(conversationID); - } catch(TargetDestructionException tde) { - System.out.println("Could not remove conversation id " + conversationID); - } - } - - - if (ilcw.clientConversationId != null) { - try{ - ilcw.removeInstanceWrapper(ilcw.clientConversationId); - remove(ilcw.clientConversationId); - } catch(TargetDestructionException tde) { - System.out.println("Could not remove conversation id " + ilcw.clientConversationId); - } - } - - } - - } - - /** - * @see org.apache.tuscany.sca.core.conversation.ConversationListener#conversationStarted(org.apache.tuscany.sca.core.conversation.ExtendedConversation) - */ - public void conversationStarted(ExtendedConversation conversation) { - startContext(conversation.getConversationID()); - } - - /** - * @return the conversationManager - */ - public ConversationManager getConversationManager() { - return conversationManager; - } - - /** - * @param conversationManager the conversationManager to set - */ - public void setConversationManager(ConversationManager conversationManager) { - this.conversationManager = conversationManager; - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ConversationalScopeContainerFactory.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ConversationalScopeContainerFactory.java deleted file mode 100644 index a6663aba09..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ConversationalScopeContainerFactory.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.core.scope; - -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.store.Store; - -/** - * @version $Rev$ $Date$ - */ -public class ConversationalScopeContainerFactory implements ScopeContainerFactory { - private Store store; - - public ConversationalScopeContainerFactory(Store store) { - super(); - this.store = store; - } - - public ScopeContainer createScopeContainer(RuntimeComponent component) { - return new ConversationalScopeContainer(store, component); - } - - public Scope getScope() { - return Scope.CONVERSATION; - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/HttpSessionScopeContainer.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/HttpSessionScopeContainer.java deleted file mode 100644 index 5ae8b94647..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/HttpSessionScopeContainer.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.core.scope; - -import org.apache.tuscany.sca.core.context.InstanceWrapper; -import org.apache.tuscany.sca.core.event.HttpSessionEnd; -import org.apache.tuscany.sca.event.Event; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * A scope context which manages atomic component instances keyed on HTTP - * session - * - * @version $Rev$ $Date$ - */ -public class HttpSessionScopeContainer extends AbstractScopeContainer { - - public HttpSessionScopeContainer(RuntimeComponent component) { - super(Scope.SESSION, component); - } - - @Override - public void onEvent(Event event) { - checkInit(); - if (event instanceof HttpSessionEnd) { - //FIXME key is not used - //Object key = ((HttpSessionEnd)event).getSessionID(); - // FIXME: Remove the session id - } - } - - @Override - public synchronized void start() { - if (lifecycleState != UNINITIALIZED && lifecycleState != STOPPED) { - throw new IllegalStateException("Scope must be in UNINITIALIZED or STOPPED state [" + lifecycleState + "]"); - } - lifecycleState = RUNNING; - } - - @Override - public synchronized void stop() { - lifecycleState = STOPPED; - } - - protected InstanceWrapper getInstanceWrapper(boolean create) throws TargetResolutionException { -// Object key = workContext.getIdentifier(Scope.SESSION); - // FIXME: Need to fix this - Object key ="http-session-id"; - assert key != null : "HTTP session key not bound in work context"; - InstanceWrapper ctx = wrappers.get(key); - if (ctx == null && !create) { - return null; - } - if (ctx == null) { - ctx = super.createInstanceWrapper(); - ctx.start(); - wrappers.put(key, ctx); - } - return ctx; - } - - @Override - public InstanceWrapper getWrapper(Object contextId) throws TargetResolutionException { - return getInstanceWrapper(true); - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/HttpSessionScopeContainerFactory.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/HttpSessionScopeContainerFactory.java deleted file mode 100644 index 49f89661b1..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/HttpSessionScopeContainerFactory.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.core.scope; - -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * @version $Rev$ $Date$ - */ -public class HttpSessionScopeContainerFactory implements ScopeContainerFactory { - - public HttpSessionScopeContainerFactory() { - super(); - } - - public ScopeContainer createScopeContainer(RuntimeComponent component) { - return new HttpSessionScopeContainer(component); - } - - public Scope getScope() { - return Scope.SESSION; - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/RequestScopeContainer.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/RequestScopeContainer.java deleted file mode 100644 index f11a61e662..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/RequestScopeContainer.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.core.scope; - -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -import org.apache.tuscany.sca.core.context.InstanceWrapper; -import org.apache.tuscany.sca.core.event.RequestEnd; -import org.apache.tuscany.sca.event.Event; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * A scope context which manages atomic component instances keyed on the current - * request context - * - * @version $Rev$ $Date$ - */ -public class RequestScopeContainer extends AbstractScopeContainer { - private final Map contexts; - - public RequestScopeContainer(RuntimeComponent component) { - super(Scope.REQUEST, component); - contexts = new ConcurrentHashMap(); - } - - @Override - public void onEvent(Event event) { - checkInit(); - if (event instanceof RequestEnd) { - // shutdownInstances(Thread.currentThread()); - } - } - - @Override - public synchronized void start() { - if (lifecycleState != UNINITIALIZED && lifecycleState != STOPPED) { - throw new IllegalStateException("Scope must be in UNINITIALIZED or STOPPED state [" + lifecycleState + "]"); - } - lifecycleState = RUNNING; - } - - @Override - public synchronized void stop() { - contexts.clear(); - // synchronized (destroyQueues) { - // destroyQueues.clear(); - // } - lifecycleState = STOPPED; - } - - protected InstanceWrapper getInstanceWrapper(boolean create) throws TargetResolutionException { - InstanceWrapper ctx = wrappers.get(Thread.currentThread()); - if (ctx == null && !create) { - return null; - } - if (ctx == null) { - ctx = super.createInstanceWrapper(); - ctx.start(); - wrappers.put(Thread.currentThread(), ctx); - } - return ctx; - } - - @Override - public InstanceWrapper getWrapper(Thread contextId) throws TargetResolutionException { - return getInstanceWrapper(true); - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/RequestScopeContainerFactory.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/RequestScopeContainerFactory.java deleted file mode 100644 index 1cfb6b06a4..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/RequestScopeContainerFactory.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.core.scope; - -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * @version $Rev$ $Date$ - */ -public class RequestScopeContainerFactory implements ScopeContainerFactory { - - public ScopeContainer createScopeContainer(RuntimeComponent component) { - return new RequestScopeContainer(component); - } - - public Scope getScope() { - return Scope.REQUEST; - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/Scope.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/Scope.java deleted file mode 100644 index 0a20d793f7..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/Scope.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.core.scope; - -/** - * The default implementation scopes supported by assemblies. - * - * @version $Rev$ $Date$ - */ -public class Scope { - public static final Scope STATELESS = new Scope("STATELESS"); - public static final Scope REQUEST = new Scope("REQUEST"); - public static final Scope SESSION = new Scope("SESSION"); - public static final Scope CONVERSATION = new Scope("CONVERSATION"); - public static final Scope COMPOSITE = new Scope("COMPOSITE"); - public static final Scope SYSTEM = new Scope("SYSTEM"); - public static final Scope UNDEFINED = new Scope("UNDEFINED"); - - private String scope; - - public Scope(String scope) { - this.scope = scope.toUpperCase().intern(); - } - - public String getScope() { - return scope; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - final Scope scope1 = (Scope) o; - return !(scope != null ? scope != scope1.scope.intern() : scope1.scope != null); - } - - @Override - public int hashCode() { - return scope != null ? scope.hashCode() : 0; - } - - @Override - public String toString() { - return scope; - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopeContainer.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopeContainer.java deleted file mode 100644 index 6b2980b989..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopeContainer.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.core.scope; - -import org.apache.tuscany.sca.core.context.InstanceWrapper; -import org.apache.tuscany.sca.event.RuntimeEventListener; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - - -/** - * Manages the lifecycle and visibility of instances associated with a an {@link RuntimeComponent}. - * - * @version $Rev$ $Date$ - * @param the type of IDs that this container uses to identify its contexts. - * For example, for COMPOSITE scope this could be the URI of the composite component, - * or for HTTP Session scope it might be the HTTP session ID. - */ -public interface ScopeContainer extends RuntimeEventListener { - - /** - * Returns the Scope that this container supports. - * - * @return the Scope that this container supports - */ - Scope getScope(); - - /** - * Start a new context with the supplied ID. - * - * @param contextId an ID that uniquely identifies the context. - */ - void startContext(KEY contextId); - - /** - * Stop the context with the supplied ID. - * - * @param contextId an ID that uniquely identifies the context. - */ - void stopContext(KEY contextId); - - /** - * Returns an instance wrapper associated with the current scope context, creating one if necessary - * @param contextId the id for the scope context - * - * @return the wrapper for the target instance - * @throws TargetResolutionException if there was a problem instantiating the target instance - */ - InstanceWrapper getWrapper(KEY contextId) throws TargetResolutionException; - - /** - * Allows a component to be registered against more than one context id. This is required in the - * case of stateful callbacks where we want to identify the originating client component instance - * as the callback target but we don't want to reuse the clients original conversation id - * - * @param existingContextId an id that identifies an existing component instance - * @param newContextId a new id against which this component will also be registered - * @throws TargetResolutionException - */ - void addWrapperReference(KEY existingContextId, KEY newContextId) - throws TargetResolutionException; - - /** - * Register an existing instance against a context id. This is needed - * for a stateful callback where the service reference for the forward call - * contains a callback object that is not a service reference. - * - * @param wrapper the instance wrapper for the instance to be registered - * @param contextId the id for the scope context - * @throws TargetResolutionException - */ - void registerWrapper(InstanceWrapper wrapper, KEY contextId) - throws TargetResolutionException; - - /** - * Returns an implementation instance associated with the current scope context. - * If no instance is found, a {@link TargetNotFoundException} is thrown. - * @param contextId the id for the scope context - * - * @return the wrapper for the target instance - * @throws TargetResolutionException if there was a problem instantiating the target instance - */ - InstanceWrapper getAssociatedWrapper(KEY contextId) - throws TargetResolutionException; - - /** - * Return a wrapper after use (for example, after invoking the instance). - * @param wrapper the wrapper for the target instance being returned - * @param contextId the id for the scope context - * - * @throws TargetDestructionException if there was a problem returning the target instance - */ - void returnWrapper(InstanceWrapper wrapper, KEY contextId) - throws TargetDestructionException; - - /** - * Removes an identified component implementation instance associated with the current - * context from persistent storage - * - * @param contextId the identifier of the context to remove. - */ - void remove(KEY contextId) - throws TargetDestructionException; - - /* A configuration error state */ - int CONFIG_ERROR = -1; - /* Has not been initialized */ - int UNINITIALIZED = 0; - /* In the process of being configured and initialized */ - int INITIALIZING = 1; - /* Instantiated and configured */ - int INITIALIZED = 2; - /* Configured and initialized */ - int RUNNING = 4; - /* In the process of being shutdown */ - int STOPPING = 5; - /* Has been shutdown and removed from the composite */ - int STOPPED = 6; - /* In an error state */ - int ERROR = 7; - - /** - * Returns the lifecycle state - * - * @see #UNINITIALIZED - * @see #INITIALIZING - * @see #INITIALIZED - * @see #RUNNING - * @see #STOPPING - * @see #STOPPED - */ - int getLifecycleState(); - - /** - * Starts the Lifecycle. - */ - void start(); - - /** - * Stops the Lifecycle. - */ - void stop(); - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopeContainerFactory.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopeContainerFactory.java deleted file mode 100644 index b19c14b3e0..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopeContainerFactory.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.core.scope; - -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * Factory to create ScopeContainer for components - * - * @version $Rev$ $Date$ - */ -public interface ScopeContainerFactory { - ScopeContainer createScopeContainer(RuntimeComponent component); - Scope getScope(); -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopeRegistry.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopeRegistry.java deleted file mode 100644 index 842ed4c547..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopeRegistry.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.core.scope; - -import org.apache.tuscany.sca.runtime.RuntimeComponent; - - -/** - * Manages {@link ScopeContainer}s in the runtime - * - * @version $Rev$ $Date$ - */ -public interface ScopeRegistry { - - /** - * Returns the scope container for the given scope or null if one not found - * - * @param scope the scope - * @return the scope container for the given scope or null if one not found - */ - ScopeContainer getScopeContainer(RuntimeComponent component); - - /** - * @param factory - */ - void register(ScopeContainerFactory factory); -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopeRegistryImpl.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopeRegistryImpl.java deleted file mode 100644 index 75261e11a8..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopeRegistryImpl.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.core.scope; - -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -import org.apache.tuscany.sca.provider.ImplementationProvider; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * The default implementation of a scope registry - * - * @version $Rev$ $Date$ - */ -public class ScopeRegistryImpl implements ScopeRegistry { - private final Map scopeCache = new ConcurrentHashMap(); - - public void register(ScopeContainerFactory factory) { - scopeCache.put(factory.getScope(), factory); - } - - public ScopeContainer getScopeContainer(RuntimeComponent runtimeComponent) { - if (!(runtimeComponent instanceof ScopedRuntimeComponent)) { - return null; - } - ScopedRuntimeComponent component = (ScopedRuntimeComponent)runtimeComponent; - if (component.getScopeContainer() != null) { - return component.getScopeContainer(); - } - ImplementationProvider implementationProvider = component.getImplementationProvider(); - if (implementationProvider instanceof ScopedImplementationProvider) { - ScopedImplementationProvider provider = (ScopedImplementationProvider)implementationProvider; - Scope scope = provider.getScope(); - if (scope == null) { - scope = Scope.STATELESS; - } - ScopeContainerFactory factory = scopeCache.get(scope); - ScopeContainer container = factory.createScopeContainer(component); - component.setScopeContainer(container); - return container; - } - return null; - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopedImplementationProvider.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopedImplementationProvider.java deleted file mode 100644 index 85a6626cdd..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopedImplementationProvider.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.core.scope; - -import org.apache.tuscany.sca.core.context.InstanceWrapper; -import org.apache.tuscany.sca.provider.ImplementationProvider; - -/** - * A component implementation can implement this interface to provide scope - * management for the components - * - * @version $Rev$ $Date$ - */ -public interface ScopedImplementationProvider extends ImplementationProvider { - /** - * Get the scope for the component implementation - * - * @return The scope for the component implementation, if null is returned, - * STATELESS will be used - */ - Scope getScope(); - - /** - * Indicate if the component needs to be eagerly initialized - * - * @return true if the component is marked to be eagerly initialized, false - * otherwise - */ - boolean isEagerInit(); - - /** - * @return the maxAge - */ - long getMaxAge(); - - /** - * @return the maxIdleTime - */ - long getMaxIdleTime(); - - /** - * Create a wrapper for the component instance for the scope management - * - * @return A wrapper for the component instance - */ - InstanceWrapper createInstanceWrapper(); - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopedRuntimeComponent.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopedRuntimeComponent.java deleted file mode 100644 index c27b112f8a..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/ScopedRuntimeComponent.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.core.scope; - -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * Scoped runtime component - * - * @version $Rev$ $Date$ - */ -public interface ScopedRuntimeComponent extends RuntimeComponent { - /** - * Set the associated scope container - * @param scopeContainer - */ - void setScopeContainer(ScopeContainer scopeContainer); - /** - * Get the assoicated scope container - * @return - */ - ScopeContainer getScopeContainer(); -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/StatelessScopeContainer.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/StatelessScopeContainer.java deleted file mode 100644 index a2c0edb9b4..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/StatelessScopeContainer.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.core.scope; - -import org.apache.tuscany.sca.core.context.InstanceWrapper; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * A scope context which manages stateless atomic component instances in a non-pooled fashion. - * - * @version $Rev$ $Date$ - */ -public class StatelessScopeContainer extends AbstractScopeContainer { - - public StatelessScopeContainer(RuntimeComponent component) { - super(Scope.STATELESS, component); - } - - @Override - public InstanceWrapper getWrapper(KEY contextId) - throws TargetResolutionException { - InstanceWrapper ctx = createInstanceWrapper(); - ctx.start(); - return ctx; - } - - @Override - public InstanceWrapper getAssociatedWrapper(KEY contextId) - throws TargetResolutionException { - return getWrapper(contextId); - } - - @Override - public void returnWrapper(InstanceWrapper wrapper, KEY contextId) - throws TargetDestructionException { - wrapper.stop(); - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/StatelessScopeContainerFactory.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/StatelessScopeContainerFactory.java deleted file mode 100644 index 0471b2c52e..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/StatelessScopeContainerFactory.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.core.scope; - -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * @version $Rev$ $Date$ - */ -public class StatelessScopeContainerFactory implements ScopeContainerFactory { - - public ScopeContainer createScopeContainer(RuntimeComponent component) { - return new StatelessScopeContainer(component); - } - - public Scope getScope() { - return Scope.STATELESS; - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/TargetDestructionException.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/TargetDestructionException.java deleted file mode 100644 index 0f83dad97d..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/TargetDestructionException.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.core.scope; - -/** - * Denotes an error destroying a target - * - * @version $Rev$ $Date$ - */ -public class TargetDestructionException extends TargetResolutionException { - private static final long serialVersionUID = -6126684147851674709L; - - public TargetDestructionException() { - super(); - } - - public TargetDestructionException(String message, Throwable cause) { - super(message, cause); - } - - public TargetDestructionException(String message) { - super(message); - } - - public TargetDestructionException(Throwable cause) { - super(cause); - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/TargetInitializationException.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/TargetInitializationException.java deleted file mode 100644 index 15959c0608..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/TargetInitializationException.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.core.scope; - -/** - * Denotes an error initializing a target - * - * @version $Rev$ $Date$ - */ -public class TargetInitializationException extends TargetResolutionException { - private static final long serialVersionUID = -6228778208649752698L; - - public TargetInitializationException() { - super(); - } - - public TargetInitializationException(String message, Throwable cause) { - super(message, cause); - } - - public TargetInitializationException(String message) { - super(message); - } - - public TargetInitializationException(Throwable cause) { - super(cause); - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/TargetNotFoundException.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/TargetNotFoundException.java deleted file mode 100644 index bb46a2499b..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/TargetNotFoundException.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.core.scope; - -/** - * Thrown when a target of an operation cannot be found - * - * @version $Rev$ $Date$ - */ -public class TargetNotFoundException extends TargetResolutionException { - private static final long serialVersionUID = 5541830480658471186L; - - public TargetNotFoundException() { - super(); - } - - public TargetNotFoundException(String message, Throwable cause) { - super(message, cause); - } - - public TargetNotFoundException(String message) { - super(message); - } - - public TargetNotFoundException(Throwable cause) { - super(cause); - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/TargetResolutionException.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/TargetResolutionException.java deleted file mode 100644 index ea8d0e876c..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/scope/TargetResolutionException.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.core.scope; - -/** - * Denotes an error retrieving a target instance - * - * @version $Rev$ $Date$ - */ -public class TargetResolutionException extends Exception { - private static final long serialVersionUID = 2912513650522019405L; - - public TargetResolutionException() { - super(); - } - - public TargetResolutionException(String message, Throwable cause) { - super(message, cause); - } - - public TargetResolutionException(String message) { - super(message); - } - - public TargetResolutionException(Throwable cause) { - super(cause); - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/store/MemoryStore.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/store/MemoryStore.java deleted file mode 100644 index 62fbbe4616..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/store/MemoryStore.java +++ /dev/null @@ -1,195 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.store; - -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; - -import org.apache.tuscany.sca.core.event.BaseEventPublisher; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.store.DuplicateRecordException; -import org.apache.tuscany.sca.store.RecoveryListener; -import org.apache.tuscany.sca.store.Store; -import org.apache.tuscany.sca.store.StoreExpirationEvent; -import org.apache.tuscany.sca.store.StoreMonitor; -import org.apache.tuscany.sca.store.StoreWriteException; -import org.oasisopen.sca.annotation.Destroy; -import org.oasisopen.sca.annotation.EagerInit; -import org.oasisopen.sca.annotation.Init; -import org.oasisopen.sca.annotation.Property; -import org.oasisopen.sca.annotation.Service; - -/** - * Implements a non-durable, non-transactional store using a simple in-memory map - * - * @version $Rev$ $Date$ - */ -@Service(Store.class) -@EagerInit -public class MemoryStore extends BaseEventPublisher implements Store { - private Map> store; - // TODO integrate with a core threading scheme - private ScheduledExecutorService scheduler; - private long reaperInterval = 300000; - private StoreMonitor monitor; - private long defaultExpirationOffset = 600000; // 10 minutes - - public MemoryStore(StoreMonitor monitor) { - this.monitor = monitor; - this.store = new ConcurrentHashMap>(); - this.scheduler = Executors.newSingleThreadScheduledExecutor(); - } - - /** - * Returns the maximum default expiration offset for records in the store - * - * @return the maximum default expiration offset for records in the store - */ - public long getDefaultExpirationOffset() { - return defaultExpirationOffset; - } - - /** - * Sets the maximum default expiration offset for records in the store - */ - @Property - public void setDefaultExpirationOffset(long defaultExpirationOffset) { - this.defaultExpirationOffset = defaultExpirationOffset; - } - - /** - * Sets the interval for expired entry scanning to be performed - */ - @Property - public void setReaperInterval(long reaperInterval) { - this.reaperInterval = reaperInterval; - } - - public long getReaperInterval() { - return reaperInterval; - } - - @Init - public void init() { - scheduler.scheduleWithFixedDelay(new Reaper(), reaperInterval, reaperInterval, TimeUnit.MILLISECONDS); - monitor.start("In-memory store started"); - } - - @Destroy - public void destroy() { - scheduler.shutdown(); - monitor.stop("In-memory store stopped"); - } - - public void insertRecord(RuntimeComponent owner, String id, Object object, long expiration) throws StoreWriteException { - Map map = store.get(owner); - if (map == null) { - map = new ConcurrentHashMap(); - store.put(owner, map); - } - if (map.containsKey(id)) { - throw new DuplicateRecordException("Duplicate record: " + owner.getURI() +" : " + id); - } - map.put(id, new Record(object, expiration)); - } - - public void updateRecord(RuntimeComponent owner, String id, Object object, long expiration) throws StoreWriteException { - Map map = store.get(owner); - if (map == null) { - throw new StoreWriteException("Record not found: " + owner.getURI() +" : " + id); - } - Record record = map.get(id); - if (record == null) { - throw new StoreWriteException("Record not found: " + owner.getURI() +" : " + id); - } - record.data = object; - } - - public Object readRecord(RuntimeComponent owner, String id) { - Map map = store.get(owner); - if (map == null) { - return null; - } - Record record = map.get(id); - if (record != null) { - return record.data; - } - return null; - } - - public void removeRecords() { - store.clear(); - } - - public void removeRecord(RuntimeComponent owner, String id) throws StoreWriteException { - Map map = store.get(owner); - if (map == null) { - throw new StoreWriteException("Owner not found: " + owner.getURI() +" : " + id); - } - if (map.remove(id) == null) { - throw new StoreWriteException("Owner not found: " + owner.getURI() +" : " + id); - } - } - - public void recover(RecoveryListener listener) { - throw new UnsupportedOperationException(); - } - - private class Record { - private Object data; - private long expiration = NEVER; - - public Record(Object data, long expiration) { - this.data = data; - this.expiration = expiration; - } - - public Object getData() { - return data; - } - - public long getExpiration() { - return expiration; - } - } - - private class Reaper implements Runnable { - - public void run() { - long now = System.currentTimeMillis(); - for (Map.Entry> entries : store.entrySet()) { - for (Map.Entry entry : entries.getValue().entrySet()) { - final long expiration = entry.getValue().expiration; - if (expiration != NEVER && now >= expiration) { - RuntimeComponent owner = entries.getKey(); - Object instance = entry.getValue().getData(); - // notify listeners of the expiration - StoreExpirationEvent event = new StoreExpirationEvent(this, owner, instance); - publish(event); - entries.getValue().remove(entry.getKey()); - } - } - } - } - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/work/Jsr237Work.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/work/Jsr237Work.java deleted file mode 100644 index adeb667277..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/work/Jsr237Work.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.core.work; - -/** - * JCA work wrapper. - * - * @version $Rev$ $Date$ - */ -public class Jsr237Work implements commonj.work.Work { - - // Work that is being executed. - private T work; - - /* - * Initializes the work instance. - */ - public Jsr237Work(T work) { - this.work = work; - } - - /* - * Returns the completed work. - */ - public T getWork() { - return work; - } - - /* - * Release the work. - */ - public void release() { - } - - /* - * Work attributes are not daemon. - */ - public boolean isDaemon() { - return false; - } - - /* - * Runs the work. - */ - public void run() { - work.run(); - } -} \ No newline at end of file diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/work/Jsr237WorkScheduler.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/work/Jsr237WorkScheduler.java deleted file mode 100644 index ffc34e7328..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/work/Jsr237WorkScheduler.java +++ /dev/null @@ -1,198 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.work; - -import java.security.AccessController; -import java.security.PrivilegedAction; - -import javax.naming.InitialContext; -import javax.naming.NamingException; - -import org.apache.tuscany.sca.work.NotificationListener; -import org.apache.tuscany.sca.work.WorkScheduler; -import org.apache.tuscany.sca.work.WorkSchedulerException; - -import commonj.work.WorkEvent; -import commonj.work.WorkListener; -import commonj.work.WorkManager; - -/** - * A work scheduler implementation based on a JSR 237 work manager. - *

- *

- * This needs a JSR 237 work manager implementation available for scheduling work. Instances can be configured with a - * work manager implementation that is injected in. It is the responsibility of the runtime environment to make a work - * manager implementation available. For example, if the managed environment supports work manager the runtime can use - * the appropriate lookup mechanism to inject the work manager implementation.

- * - * @version $Rev$ $Date$ - */ -public class Jsr237WorkScheduler implements WorkScheduler { - - /** - * Underlying JSR-237 work manager - */ - private WorkManager jsr237WorkManager; - - /** - * Initializes the JSR 237 work manager. - * - * @param jsr237WorkManager JSR 237 work manager. - */ - public Jsr237WorkScheduler() { - } - - private synchronized WorkManager getWorkManager() { - if (jsr237WorkManager != null) { - return jsr237WorkManager; - } - try { - InitialContext ctx = new InitialContext(); - jsr237WorkManager = (WorkManager)ctx.lookup("java:comp/env/wm/TuscanyWorkManager"); - } catch (Throwable e) { - // ignore - } - if (jsr237WorkManager == null) { - jsr237WorkManager = new ThreadPoolWorkManager(10); - } - return jsr237WorkManager; - } - - /** - * Schedules a unit of work for future execution. The notification listener is used to register interest in - * callbacks regarding the status of the work. - * - * @param work The unit of work that needs to be asynchronously executed. - */ - public void scheduleWork(T work) { - scheduleWork(work, null); - } - - /** - * Schedules a unit of work for future execution. The notification listener is used to register interest in - * callbacks regarding the status of the work. - * - * @param work The unit of work that needs to be asynchronously executed. - * @param listener Notification listener for callbacks. - */ - public void scheduleWork(T work, NotificationListener listener) { - - if (work == null) { - throw new IllegalArgumentException("Work cannot be null"); - } - - Jsr237Work jsr237Work = new Jsr237Work(work); - try { - if (listener == null) { - getWorkManager().schedule(jsr237Work); - } else { - Jsr237WorkListener jsr237WorkListener = new Jsr237WorkListener(listener, work); - getWorkManager().schedule(jsr237Work, jsr237WorkListener); - } - } catch (IllegalArgumentException ex) { - if (listener != null) { - listener.workRejected(work); - } else { - throw new WorkSchedulerException(ex); - } - } catch (Exception ex) { - throw new WorkSchedulerException(ex); - } - - } - - public void destroy() { - if (jsr237WorkManager instanceof ThreadPoolWorkManager) { - // Allow privileged access to modify threads. Requires RuntimePermission in security - // policy. - AccessController.doPrivileged(new PrivilegedAction() { - public Object run() { - ((ThreadPoolWorkManager)jsr237WorkManager).destroy(); - return null; - } - }); - } - } - - /* - * WorkListener for keeping track of work status callbacks. - * - */ - private class Jsr237WorkListener implements WorkListener { - - // Notification listener - private NotificationListener listener; - - // Work - private T work; - - /* - * Initializes the notification listener. - */ - public Jsr237WorkListener(NotificationListener listener, T work) { - this.listener = listener; - this.work = work; - } - - /* - * Callback when the work is accepted. - */ - public void workAccepted(WorkEvent workEvent) { - T work = getWork(); - listener.workAccepted(work); - } - - /* - * Callback when the work is rejected. - */ - public void workRejected(WorkEvent workEvent) { - T work = getWork(); - listener.workRejected(work); - } - - /* - * Callback when the work is started. - */ - public void workStarted(WorkEvent workEvent) { - T work = getWork(); - listener.workStarted(work); - } - - /* - * Callback when the work is completed. - */ - public void workCompleted(WorkEvent workEvent) { - T work = getWork(); - Exception exception = workEvent.getException(); - if (exception != null) { - listener.workFailed(work, exception); - } else { - listener.workCompleted(work); - } - } - - /* - * Gets the underlying work from the work event. - */ - private T getWork() { - return work; - } - - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/work/ThreadPoolWorkManager.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/work/ThreadPoolWorkManager.java deleted file mode 100644 index bfc34479ae..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/work/ThreadPoolWorkManager.java +++ /dev/null @@ -1,235 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.work; - -import java.rmi.server.UID; -import java.util.Collection; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.RejectedExecutionException; -import java.util.concurrent.ThreadFactory; - -import org.oasisopen.sca.annotation.Destroy; - -import commonj.work.Work; -import commonj.work.WorkEvent; -import commonj.work.WorkException; -import commonj.work.WorkItem; -import commonj.work.WorkListener; -import commonj.work.WorkManager; - -/** - * A thread-pool based implementation for the JSR-237 work manager. - *

- *

- * This implementation supports only local work. - *

- * TODO Elaborate the implementation.

- * - * @version $Rev$ $Date$ - */ -public class ThreadPoolWorkManager implements WorkManager { - - // Map of work items currently handled by the work manager - private Map workItems = new ConcurrentHashMap(); - - // Thread-pool - private ExecutorService executor; - - /** - * Initializes the thread-pool. - * - * @param threadPoolSize Thread-pool size. - * @throws IllegalArgumentException if threadPoolSize < 1 - */ - public ThreadPoolWorkManager(int threadPoolSize) { - if (threadPoolSize < 1) { - throw new IllegalArgumentException("Invalid threadPoolSize of " - + threadPoolSize + ". It must be >= 1"); - } - - // Creates a new Executor, use a custom ThreadFactory that - // creates daemon threads. - executor = Executors.newFixedThreadPool(threadPoolSize, new ThreadFactory() { - public Thread newThread(Runnable r) { - Thread thread = new Thread(r); - thread.setDaemon(true); - return thread; - } - }); - } - - /** - * Schedules a unit of work asynchronously. - * - * @param work Work that needs to be scheduled. - * @return Work Work item representing the asynchronous work - */ - public WorkItem schedule(Work work) throws IllegalArgumentException { - return schedule(work, null); - } - - /** - * Schedules a unit of work asynchronously. - * - * @param work Work that needs to be scheduled. - * @param workListener Work listener for callbacks. - * @return Work Work item representing the asynchronous work - */ - public WorkItem schedule(Work work, WorkListener workListener) throws IllegalArgumentException { - - WorkItemImpl workItem = new WorkItemImpl(new UID().toString(), work); - if (workListener != null) { - workItems.put(workItem, workListener); - } - workAccepted(workItem, work); - if (scheduleWork(work, workItem)) { - return workItem; - } else { - workItem.setStatus(WorkEvent.WORK_REJECTED); - if (workListener != null) { - workListener.workRejected(new WorkEventImpl(workItem)); - } - throw new IllegalArgumentException("Unable to schedule work"); - } - } - - /** - * Wait for all the specified units of work to finish. - * - * @param works Units of the work that need to finish. - * @param timeout Timeout for waiting for the units of work to finish. - */ - public boolean waitForAll(Collection works, long timeout) { - throw new UnsupportedOperationException("waitForAll not supported"); - } - - /** - * Wait for any of the specified units of work to finish. - * - * @param works Units of the work that need to finish. - * @param timeout Timeout for waiting for the units of work to finish. - */ - public Collection waitForAny(Collection works, long timeout) { - throw new UnsupportedOperationException("waitForAny not supported"); - } - - /** - * Method provided for subclasses to indicate a work acceptance. - * - * @param workItem Work item representing the work that was accepted. - * @param work Work that was accepted. - */ - private void workAccepted(final WorkItemImpl workItem, final Work work) { - WorkListener listener = workItems.get(workItem); - if (listener != null) { - workItem.setStatus(WorkEvent.WORK_ACCEPTED); - WorkEvent event = new WorkEventImpl(workItem); - listener.workAccepted(event); - } - } - - /* - * Method to indicate a work start. - */ - private void workStarted(final WorkItemImpl workItem, final Work work) { - WorkListener listener = workItems.get(workItem); - if (listener != null) { - workItem.setStatus(WorkEvent.WORK_STARTED); - WorkEvent event = new WorkEventImpl(workItem); - listener.workStarted(event); - } - } - - /* - * Method to indicate a work completion. - */ - private void workCompleted(final WorkItemImpl workItem, final Work work) { - workCompleted(workItem, work, null); - } - - /* - * Method to indicate a work completion. - */ - private void workCompleted(final WorkItemImpl workItem, final Work work, final WorkException exception) { - WorkListener listener = workItems.get(workItem); - if (listener != null) { - workItem.setStatus(WorkEvent.WORK_COMPLETED); - workItem.setResult(work); - workItem.setException(exception); - WorkEvent event = new WorkEventImpl(workItem); - listener.workCompleted(event); - workItems.remove(workItem); - } - } - - /* - * Schedules the work using the ThreadPool. - */ - private boolean scheduleWork(final Work work, final WorkItemImpl workItem) { - try { - executor.execute(new DecoratingWork(workItem, work)); - return true; - } catch (RejectedExecutionException ex) { - return false; - } - } - - /* - * Class that decorates the original worker so that it can get callbacks when work is done. - */ - private final class DecoratingWork implements Runnable { - - // Work item for this work. - private WorkItemImpl workItem; - - // The original work. - private Work decoratedWork; - - /* - * Initializes the work item and underlying work. - */ - private DecoratingWork(final WorkItemImpl workItem, final Work decoratedWork) { - this.workItem = workItem; - this.decoratedWork = decoratedWork; - } - - /* - * Overrides the run method. - */ - public void run() { - workStarted(workItem, decoratedWork); - try { - decoratedWork.run(); - workCompleted(workItem, decoratedWork); - } catch (Throwable th) { - workCompleted(workItem, decoratedWork, new WorkException(th.getMessage(), th)); - } - } - - } - - @Destroy - public void destroy() { - executor.shutdown(); - } - -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/work/WorkEventImpl.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/work/WorkEventImpl.java deleted file mode 100644 index 67d2b66f84..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/work/WorkEventImpl.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.core.work; - - -import commonj.work.WorkEvent; -import commonj.work.WorkException; -import commonj.work.WorkItem; - -/** - * Default immutable implementation of the WorkEvent class. - * - * @version $Rev$ $Date$ - */ -class WorkEventImpl implements WorkEvent { - - // Work item for this event - private WorkItem workItem; - - // Exception if something has gone wrong - private WorkException exception; - - /** - * Instantiates the event. - * - * @param workItem Work item for this event. - */ - public WorkEventImpl(final WorkItemImpl workItem) { - this.workItem = workItem; - this.exception = workItem.getException(); - } - - /** - * Returns the work type based on whether the work was accepted, started, - * rejected or completed. - * - * @return Work type. - */ - public int getType() { - return workItem.getStatus(); - } - - /** - * Returns the work item associated with this work type. - * - * @return Work item. - */ - public WorkItem getWorkItem() { - return workItem; - } - - /** - * Returns the exception if the work completed with an exception. - * - * @return Work exception. - */ - public WorkException getException() { - return exception; - } -} diff --git a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/work/WorkItemImpl.java b/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/work/WorkItemImpl.java deleted file mode 100644 index 170319b6e6..0000000000 --- a/java/sca/contrib/modules/core/src/main/java/org/apache/tuscany/sca/core/work/WorkItemImpl.java +++ /dev/null @@ -1,169 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.work; - -import commonj.work.Work; -import commonj.work.WorkException; -import commonj.work.WorkItem; - -/** - * An identity based immutable implementation of the WorkItem - * interface. - * - * @version $Rev$ $Date$ - */ -class WorkItemImpl implements WorkItem { - - // Id scoped for the VM - private String id; - - // Status - private int status = -1; - - // Result - private Work result; - - // Original work - private Work originalWork; - - // Exception - private WorkException exception; - - /** - * Instantiates an id for this item. - * - * @param id of this work event. - */ - protected WorkItemImpl(final String id, final Work orginalWork) { - this.id = id; - this.originalWork = orginalWork; - } - - /** - * Returns the id. - * - * @return Id of this item. - */ - public String getId() { - return id; - } - - /** - * Returns the original work. - * - * @return Original work. - */ - public Work getOriginalWork() { - return originalWork; - } - - /** - * Returns the work result if the work completed. - * - * @return Work. - * @throws WorkException If the work completed with an exception. - */ - public Work getResult() { - return result; - } - - /** - * Sets the result. - * - * @param result Result. - */ - protected void setResult(final Work result) { - this.result = result; - } - - /** - * Returns the exception if work completed with an exception. - * - * @return Work exception. - */ - protected WorkException getException() { - return exception; - } - - /** - * Sets the exception. - * - * @param exception Exception. - */ - protected void setException(final WorkException exception) { - this.exception = exception; - } - - /** - * Returns the work type based on whether the work was accepted, started, - * rejected or completed. - * - * @return Work status. - */ - public int getStatus() { - return status; - } - - /** - * Sets the status. - * - * @param status Status. - */ - protected void setStatus(final int status) { - this.status = status; - } - - /** - * @see Object#hashCode() - */ - @Override - public int hashCode() { - return id.hashCode(); - } - - /** - * Indicates whether some other object is "equal to" this one. - * - * @param obj Object to be compared. - * @return true if this object is the same as the obj argument; false - * otherwise.. - */ - @Override - public boolean equals(final Object obj) { - return (obj != null) && (obj.getClass() == WorkItemImpl.class) && ((WorkItemImpl) obj).id.equals(id); - } - - /** - * Compares this object with the specified object for order. Returns a - * negative integer, zero, or a positive integer as this object is less - * than, equal to, or greater than the specified object. - * - * @param o Object to be compared. - * @return A negative integer, zero, or a positive integer as this object - * is less than, equal to, or greater than the specified object. - * @throws ClassCastException needs better documentation. - */ - public int compareTo(final Object o) { - if (o.getClass() != WorkItemImpl.class) { - throw new ClassCastException(o.getClass().getName()); - } else { - return ((WorkItemImpl) o).getId().compareTo(getId()); - } - } -} diff --git a/java/sca/contrib/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index 5f54178483..0000000000 --- a/java/sca/contrib/modules/core/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.core.assembly.ReferenceParameterProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.0#referenceParameters,model=org.apache.tuscany.sca.runtime.ReferenceParameters diff --git a/java/sca/contrib/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.conversation.ConversationManager b/java/sca/contrib/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.conversation.ConversationManager deleted file mode 100644 index 898054509b..0000000000 --- a/java/sca/contrib/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.conversation.ConversationManager +++ /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.core.conversation.ConversationManagerImpl diff --git a/java/sca/contrib/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.invocation.ProxyFactoryExtensionPoint b/java/sca/contrib/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.invocation.ProxyFactoryExtensionPoint deleted file mode 100644 index af281d8f4d..0000000000 --- a/java/sca/contrib/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.core.invocation.ProxyFactoryExtensionPoint +++ /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.core.invocation.DefaultProxyFactoryExtensionPoint diff --git a/java/sca/contrib/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.invocation.MessageFactory b/java/sca/contrib/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.invocation.MessageFactory deleted file mode 100644 index bcbd5b0abf..0000000000 --- a/java/sca/contrib/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.invocation.MessageFactory +++ /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.core.invocation.MessageFactoryImpl diff --git a/java/sca/contrib/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.work.WorkScheduler b/java/sca/contrib/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.work.WorkScheduler deleted file mode 100644 index 56e99be0f2..0000000000 --- a/java/sca/contrib/modules/core/src/main/resources/META-INF/services/org.apache.tuscany.sca.work.WorkScheduler +++ /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.core.work.Jsr237WorkScheduler diff --git a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/DefaultExtensionPointRegistryTestCase.java b/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/DefaultExtensionPointRegistryTestCase.java deleted file mode 100644 index 7b44736d4b..0000000000 --- a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/DefaultExtensionPointRegistryTestCase.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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; - -import junit.framework.TestCase; - -public class DefaultExtensionPointRegistryTestCase extends TestCase { - private ExtensionPointRegistry registry; - - @Override - protected void setUp() throws Exception { - super.setUp(); - registry = new DefaultExtensionPointRegistry(); - } - - public void testRegistry() { - MyRegistry service = new MyREgistryImpl(); - registry.addExtensionPoint(service); - assertSame(service, registry.getExtensionPoint(MyRegistry.class)); - registry.removeExtensionPoint(service); - assertNull(registry.getExtensionPoint(MyRegistry.class)); - } - - public static interface MyRegistry { - void doSomething(); - } - - private static class MyREgistryImpl implements MyRegistry { - - public void doSomething() { - } - - } - -} diff --git a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/event/BaseEventPublisherTestCase.java b/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/event/BaseEventPublisherTestCase.java deleted file mode 100644 index 2bc78c3d35..0000000000 --- a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/event/BaseEventPublisherTestCase.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.event; - - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.event.Event; -import org.apache.tuscany.sca.event.EventFilter; -import org.apache.tuscany.sca.event.EventPublisher; -import org.apache.tuscany.sca.event.RuntimeEventListener; -import org.apache.tuscany.sca.event.TrueFilter; -import org.easymock.EasyMock; - -/** - * @version $Rev$ $Date$ - */ -public class BaseEventPublisherTestCase extends TestCase { - EventPublisher publisher; - - public void testFireListener() { - Event event = new TestEvent(); - RuntimeEventListener listener = EasyMock.createMock(RuntimeEventListener.class); - listener.onEvent(EasyMock.same(event)); - EasyMock.expectLastCall(); - EasyMock.replay(listener); - publisher.addListener(listener); - publisher.publish(event); - EasyMock.verify(listener); - } - - public void testRemoveListener() { - Event event = new TestEvent(); - RuntimeEventListener listener = EasyMock.createMock(RuntimeEventListener.class); - EasyMock.replay(listener); - publisher.addListener(listener); - publisher.removeListener(listener); - publisher.publish(event); - EasyMock.verify(listener); - } - - public void testFalseFilterListener() { - Event event = new TestEvent(); - RuntimeEventListener listener = EasyMock.createMock(RuntimeEventListener.class); - EasyMock.replay(listener); - publisher.addListener(new FalseFilter(), listener); - publisher.publish(event); - EasyMock.verify(listener); - } - - public void testTrueFilterListener() { - Event event = new TestEvent(); - RuntimeEventListener listener = EasyMock.createMock(RuntimeEventListener.class); - listener.onEvent(EasyMock.same(event)); - EasyMock.expectLastCall(); - EasyMock.replay(listener); - publisher.addListener(new TrueFilter(), listener); - publisher.publish(event); - EasyMock.verify(listener); - } - - @Override - protected void setUp() throws Exception { - publisher = new BaseEventPublisher() { - }; - } - - private class TestEvent implements Event { - public Object getSource() { - return null; - } - } - - private class FalseFilter implements EventFilter { - - public boolean match(Event event) { - return false; - } - } - - -} diff --git a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/event/EventTestCase.java b/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/event/EventTestCase.java deleted file mode 100644 index 48dcf8df07..0000000000 --- a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/event/EventTestCase.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.core.event; - -import java.net.URI; - -import junit.framework.TestCase; - -/** - * @version $Rev$ $Date$ - */ -public class EventTestCase extends TestCase { - private URI uri = URI.create("foo"); - - public void testCompositeStart() { - ComponentStart event = new ComponentStart(this, uri); - assertEquals(uri, event.getComponentURI()); - } - - public void testCompositeStop() { - ComponentStop event = new ComponentStop(this, uri); - assertEquals(uri, event.getComponentURI()); - } - - public void testHttpSessionStart() { - Object id = new Object(); - HttpSessionStart event = new HttpSessionStart(this, id); - assertEquals(this, event.getSource()); - assertEquals(id, event.getSessionID()); - } - - public void testHttpSessionEnd() { - Object id = new Object(); - HttpSessionEnd event = new HttpSessionEnd(this, id); - assertEquals(this, event.getSource()); - assertEquals(id, event.getSessionID()); - } - - public void testRequestStart() { - RequestStart event = new RequestStart(this); - assertEquals(this, event.getSource()); - } - - public void testReequestEnd() { - RequestEnd event = new RequestEnd(this); - assertEquals(this, event.getSource()); - } - - - @Override - protected void setUp() throws Exception { - } -} diff --git a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/invocation/PhaseManagerTestCase.java b/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/invocation/PhaseManagerTestCase.java deleted file mode 100644 index 99d5ec7bc9..0000000000 --- a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/invocation/PhaseManagerTestCase.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.core.invocation; - -import java.util.List; - -import junit.framework.Assert; - -import org.junit.Test; - -/** - * @version $Rev$ $Date$ - */ -public class PhaseManagerTestCase { - - @Test - public void testDiscovery() { - PhaseManager pm = new PhaseManager("org.apache.tuscany.sca.invocation.PhaseTest"); - List phases = pm.getAllPhases(); - System.out.println(phases.size()); - System.out.println(phases); - // Assert.assertEquals(15, phases.size()); - Assert.assertEquals("reference.first", phases.get(0)); - - int rt = phases.indexOf("reference.transaction"); - Assert.assertTrue(rt > phases.indexOf("reference.interface")); - - int st = phases.indexOf("service.transaction"); - Assert.assertTrue(st > phases.indexOf("service.binding")); - - int it = phases.indexOf("implementation.transaction"); - Assert.assertTrue(it < phases.indexOf("implementation.policy")); - } -} diff --git a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/invocation/PhaseSorterTestCase.java b/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/invocation/PhaseSorterTestCase.java deleted file mode 100644 index 61164fa2de..0000000000 --- a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/invocation/PhaseSorterTestCase.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.core.invocation; - -import java.util.Arrays; -import java.util.List; - -import junit.framework.TestCase; - -public class PhaseSorterTestCase extends TestCase { - private PhaseSorter graph; - - @Override - protected void setUp() throws Exception { - super.setUp(); - graph = new PhaseSorter(); - } - - public void testSort() { - graph.addEdge("a", "b"); - graph.addEdge("a", "c"); - graph.addEdge("c", "d"); - graph.addEdge("b", "c"); - List order = graph.topologicalSort(true); - assertEquals(Arrays.asList("a", "b", "c", "d"), order); - assertTrue(!graph.getVertices().isEmpty()); - - graph.addEdge("d", "a"); - try { - order = graph.topologicalSort(true); - assertTrue("Should have failed", false); - } catch (IllegalArgumentException e) { - assertTrue(true); - } - - graph.removeEdge("d", "a"); - order = graph.topologicalSort(false); - assertEquals(Arrays.asList("a", "b", "c", "d"), order); - assertTrue(graph.getVertices().isEmpty()); - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - } - -} diff --git a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/scope/AbstractScopeContainerTestCase.java b/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/scope/AbstractScopeContainerTestCase.java deleted file mode 100644 index 64114f7fb2..0000000000 --- a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/scope/AbstractScopeContainerTestCase.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.core.scope; - -import java.net.URI; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.core.context.InstanceWrapper; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.easymock.EasyMock; -import org.easymock.IMocksControl; - -/** - * @version $Rev$ $Date$ - */ -public abstract class AbstractScopeContainerTestCase extends TestCase { - protected IMocksControl control; - protected ScopeContainer scopeContainer; - protected URI groupId; - protected KEY contextId; - protected RuntimeComponent component; - protected ScopedImplementation implementation; - protected InstanceWrapper wrapper; - - @SuppressWarnings("unchecked") - @Override - protected void setUp() throws Exception { - super.setUp(); - control = EasyMock.createStrictControl(); - component = control.createMock(RuntimeComponent.class); - wrapper = control.createMock(InstanceWrapper.class); - implementation = control.createMock(ScopedImplementation.class); - EasyMock.expect(component.getImplementation()).andReturn(implementation).anyTimes(); - } - - protected void preRegisterComponent() throws Exception { - scopeContainer.start(); - EasyMock.expect(implementation.isEagerInit()).andStubReturn(false); - } - - protected void expectCreateWrapper() throws Exception { - EasyMock.expect(implementation.createInstanceWrapper()).andReturn(wrapper); - wrapper.start(); - } - - protected static interface ScopedImplementation extends ScopedImplementationProvider, Implementation { - - } - - -} diff --git a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/store/MemoryStoreTestCase.java b/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/store/MemoryStoreTestCase.java deleted file mode 100644 index d46d77b4b8..0000000000 --- a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/store/MemoryStoreTestCase.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.core.store; - -import java.util.UUID; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.event.RuntimeEventListener; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.store.DuplicateRecordException; -import org.apache.tuscany.sca.store.Store; -import org.apache.tuscany.sca.store.StoreExpirationEvent; -import org.apache.tuscany.sca.store.StoreMonitor; -import org.easymock.EasyMock; -import org.easymock.IAnswer; - -/** - * @version $Rev$ $Date$ - */ -public class MemoryStoreTestCase extends TestCase { - private StoreMonitor monitor; - - public void testEviction() throws Exception { - MemoryStore store = new MemoryStore(monitor); - store.setReaperInterval(10); - store.init(); - RuntimeComponent component = EasyMock.createNiceMock(RuntimeComponent.class); - EasyMock.replay(component); - String id = UUID.randomUUID().toString(); - Object value = new Object(); - store.insertRecord(component, id, value, 1); - Thread.sleep(200); - assertNull(store.readRecord(component, id)); - store.destroy(); - } - - public void testNotifyOnEviction() throws Exception { - final CountDownLatch latch = new CountDownLatch(1); - RuntimeEventListener listener = EasyMock.createMock(RuntimeEventListener.class); - listener.onEvent(EasyMock.isA(StoreExpirationEvent.class)); - EasyMock.expectLastCall().andStubAnswer(new IAnswer() { - public Object answer() throws Throwable { - latch.countDown(); - return null; - } - }); - EasyMock.replay(listener); - MemoryStore store = new MemoryStore(monitor); - store.addListener(listener); - store.setReaperInterval(10); - store.init(); - RuntimeComponent component = EasyMock.createNiceMock(RuntimeComponent.class); - EasyMock.replay(component); - String id = UUID.randomUUID().toString(); - Object value = new Object(); - store.insertRecord(component, id, value, 1); - if (!latch.await(1000, TimeUnit.MILLISECONDS)) { - // failed to notify listener - fail(); - } - EasyMock.verify(listener); - } - - public void testNoEviction() throws Exception { - MemoryStore store = new MemoryStore(monitor); - store.setReaperInterval(10); - store.init(); - RuntimeComponent component = EasyMock.createNiceMock(RuntimeComponent.class); - EasyMock.replay(component); - String id = UUID.randomUUID().toString(); - Object value = new Object(); - store.insertRecord(component, id, value, Store.NEVER); - Thread.sleep(100); - assertNotNull(store.readRecord(component, id)); - store.destroy(); - } - - public void testInsertRecord() throws Exception { - MemoryStore store = new MemoryStore(monitor); - store.setReaperInterval(10); - store.init(); - RuntimeComponent component = EasyMock.createNiceMock(RuntimeComponent.class); - EasyMock.replay(component); - String id = UUID.randomUUID().toString(); - Object value = new Object(); - store.insertRecord(component, id, value, Store.NEVER); - store.destroy(); - } - - public void testInsertAlreadyExists() throws Exception { - MemoryStore store = new MemoryStore(monitor); - store.setReaperInterval(10); - store.init(); - RuntimeComponent component = EasyMock.createMock(RuntimeComponent.class); - EasyMock.expect(component.getURI()).andReturn("component"); - EasyMock.replay(component); - String id = UUID.randomUUID().toString(); - Object value = new Object(); - store.insertRecord(component, id, value, Store.NEVER); - try { - store.insertRecord(component, id, value, Store.NEVER); - fail(); - } catch (DuplicateRecordException e) { - //expected - } - store.destroy(); - } - - public void testUpdateRecord() throws Exception { - MemoryStore store = new MemoryStore(monitor); - store.setReaperInterval(10); - store.init(); - RuntimeComponent component = EasyMock.createNiceMock(RuntimeComponent.class); - EasyMock.replay(component); - String id = UUID.randomUUID().toString(); - Object value = new Object(); - Object newValue = new Object(); - - store.insertRecord(component, id, value, Store.NEVER); - store.updateRecord(component, id, newValue, 1L); - assertEquals(newValue, store.readRecord(component, id)); - store.destroy(); - } - - public void testDeleteRecord() throws Exception { - MemoryStore store = new MemoryStore(monitor); - store.setReaperInterval(10); - store.init(); - RuntimeComponent component = EasyMock.createNiceMock(RuntimeComponent.class); - EasyMock.replay(component); - String id = UUID.randomUUID().toString(); - Object value = new Object(); - - store.insertRecord(component, id, value, Store.NEVER); - store.removeRecord(component, id); - assertNull(store.readRecord(component, id)); - store.destroy(); - } - - @Override - protected void setUp() throws Exception { - monitor = EasyMock.createNiceMock(StoreMonitor.class); - EasyMock.replay(monitor); - } - -} diff --git a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/wire/CallbackInterfaceInterceptorTestCase.java b/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/wire/CallbackInterfaceInterceptorTestCase.java deleted file mode 100644 index f960c8ebb1..0000000000 --- a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/wire/CallbackInterfaceInterceptorTestCase.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.core.wire; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.core.assembly.EndpointReferenceImpl; -import org.apache.tuscany.sca.core.invocation.CallbackInterfaceInterceptor; -import org.apache.tuscany.sca.core.invocation.MessageFactoryImpl; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Message; -import org.easymock.EasyMock; -import org.oasisopen.sca.NoRegisteredCallbackException; - -/** - * @version $Rev$ $Date$ - */ -public class CallbackInterfaceInterceptorTestCase extends TestCase { - - public void testHasCallbackObject() { - CallbackInterfaceInterceptor interceptor = new CallbackInterfaceInterceptor(); - Interceptor next = EasyMock.createMock(Interceptor.class); - EasyMock.expect(next.invoke(EasyMock.isA(Message.class))).andReturn(null); - EasyMock.replay(next); - interceptor.setNext(next); - Message msg = new MessageFactoryImpl().createMessage(); - msg.setFrom(new EndpointReferenceImpl("uri")); - msg.getFrom().getReferenceParameters().setCallbackObjectID("ABC"); - interceptor.invoke(msg); - EasyMock.verify(next); - } - - public void testNoCallbackObject() { - CallbackInterfaceInterceptor interceptor = new CallbackInterfaceInterceptor(); - Message msg = new MessageFactoryImpl().createMessage(); - msg.setFrom(new EndpointReferenceImpl("uri")); - msg.getFrom().getReferenceParameters().setCallbackObjectID(null); - try { - interceptor.invoke(msg); - fail(); - } catch (NoRegisteredCallbackException e) { - // expected - } - } - -} diff --git a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/wire/InvocationChainImplTestCase.java b/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/wire/InvocationChainImplTestCase.java deleted file mode 100644 index 1ad0927d16..0000000000 --- a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/wire/InvocationChainImplTestCase.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.core.wire; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.core.invocation.InvocationChainImpl; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.impl.OperationImpl; -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.invocation.Phase; - -/** - * @version $Rev$ $Date$ - */ -public class InvocationChainImplTestCase extends TestCase { - - public void testInsertAtEnd() throws Exception { - Operation op = newOperation("foo"); - InvocationChain chain = new InvocationChainImpl(op, op, true); - Interceptor inter2 = new MockInterceptor(); - Interceptor inter1 = new MockInterceptor(); - chain.addInterceptor(inter1); - chain.addInterceptor(inter2); - Interceptor head = (Interceptor)chain.getHeadInvoker(); - assertEquals(inter1, head); - assertEquals(inter2, head.getNext()); - assertEquals(inter2, chain.getTailInvoker()); - - } - - public void testAddByPhase() throws Exception { - Operation op = newOperation("foo"); - InvocationChain chain = new InvocationChainImpl(op, op, false); - Interceptor inter1 = new MockInterceptor(); - Interceptor inter2 = new MockInterceptor(); - Interceptor inter3 = new MockInterceptor(); - Interceptor inter4 = new MockInterceptor(); - chain.addInterceptor(inter3); // SERVICE - chain.addInterceptor(Phase.IMPLEMENTATION_POLICY, inter4); - chain.addInterceptor(Phase.SERVICE_POLICY, inter2); - chain.addInterceptor(Phase.SERVICE_BINDING, inter1); - Interceptor head = (Interceptor)chain.getHeadInvoker(); - assertEquals(inter1, head); - assertEquals(inter2, inter1.getNext()); - assertEquals(inter3, inter2.getNext()); - assertEquals(inter4, inter3.getNext()); - assertEquals(inter4, chain.getTailInvoker()); - } - - private class MockInterceptor implements Interceptor { - - private Invoker next; - - public Message invoke(Message msg) { - return null; - } - - public void setNext(Invoker next) { - this.next = next; - } - - public Invoker getNext() { - return next; - } - - } - - private static Operation newOperation(String name) { - Operation operation = new OperationImpl(); - operation.setName(name); - return operation; - } -} diff --git a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/wire/NonBlockingInterceptorTestCase.java b/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/wire/NonBlockingInterceptorTestCase.java deleted file mode 100644 index b8150d4edc..0000000000 --- a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/wire/NonBlockingInterceptorTestCase.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.core.wire; - -import static org.easymock.EasyMock.createMock; -import static org.easymock.EasyMock.expectLastCall; -import static org.easymock.EasyMock.getCurrentArguments; -import static org.easymock.EasyMock.isA; -import static org.easymock.EasyMock.replay; -import static org.easymock.EasyMock.verify; -import junit.framework.TestCase; - -import org.apache.tuscany.sca.core.invocation.NonBlockingInterceptor; -import org.apache.tuscany.sca.core.invocation.ThreadMessageContext; -import org.apache.tuscany.sca.invocation.Interceptor; -import org.apache.tuscany.sca.invocation.Message; -import org.apache.tuscany.sca.work.WorkScheduler; -import org.easymock.EasyMock; -import org.easymock.IAnswer; - -/** - * @version $Rev$ $Date$ - */ -public class NonBlockingInterceptorTestCase extends TestCase { - - public void testInvoke() throws Exception { - WorkScheduler scheduler = createMock(WorkScheduler.class); - scheduler.scheduleWork(isA(Runnable.class)); - expectLastCall().andStubAnswer(new IAnswer() { - public Object answer() throws Throwable { - Runnable runnable = (Runnable) getCurrentArguments()[0]; - runnable.run(); - return null; - } - }); - replay(scheduler); - Message context = createMock(Message.class); - //String convID = "convID"; - //TODO port to the new way of dealing with conversation IDs later - //EasyMock.expect(context.getConversationID()).andReturn(convID); - EasyMock.replay(context); - ThreadMessageContext.setMessageContext(context); - Message msg = createMock(Message.class); - //TODO port to the new way of dealing with conversation IDs later - //msg.setConversationID(convID); - Interceptor next = EasyMock.createMock(Interceptor.class); - EasyMock.expect(next.invoke(EasyMock.eq(msg))).andReturn(msg); - EasyMock.expect(msg.isFault()).andReturn(false); - EasyMock.replay(next); - EasyMock.replay(msg); - Interceptor interceptor = new NonBlockingInterceptor(scheduler, next); - interceptor.invoke(msg); - verify(context); - verify(next); - verify(msg); - } - -} diff --git a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/FailingWork.java b/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/FailingWork.java deleted file mode 100644 index 3184c3de92..0000000000 --- a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/FailingWork.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.core.work; - -import commonj.work.Work; - -/** - * Simple Work item that will throw an exception - * - * @version $Rev$ $Date$ - */ -public class FailingWork implements Work { - - /** - * {@inheritDoc} - */ - public boolean isDaemon() { - return false; - } - - /** - * {@inheritDoc} - */ - public void release() { - } - - /** - * Throws an IllegalArgumentException - */ - public void run() { - System.out.println("Starting " + this + " and throwing an Exception"); - throw new IllegalArgumentException("Sample exception from " + this); - } -} diff --git a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/JSR237MyFailingRunnable.java b/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/JSR237MyFailingRunnable.java deleted file mode 100644 index 91b45dfbcb..0000000000 --- a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/JSR237MyFailingRunnable.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.core.work; - -/** - * Simple Runnable that throws an IllegalArgumentException - * - * @version $Rev$ $Date$ - */ -public class JSR237MyFailingRunnable extends JSR237MyRunnable { - - /** - * Constructor - */ - public JSR237MyFailingRunnable() { - super(-1); - } - - /** - * Sleeps for a period of time defined by sleepTime - */ - @Override - public void run() { - System.out.println("Starting " + this + " and throwing an Exception"); - throw new IllegalArgumentException("Sample exception from " + this); - } -} diff --git a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/JSR237MyRunnable.java b/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/JSR237MyRunnable.java deleted file mode 100644 index a7617f7a70..0000000000 --- a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/JSR237MyRunnable.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.work; - -import java.util.concurrent.atomic.AtomicInteger; - -/** - * Simple Runnable that is used for testing Jsr237WorkScheduler - * - * @version $Rev$ $Date$ - */ -public class JSR237MyRunnable implements Runnable { - - /** - * Count of workAccepted() method calls - */ - private AtomicInteger runCompletedCount = new AtomicInteger(); - - /** - * The amount of time to sleep in the Run loop - */ - private final long sleepTime; - - /** - * Constructor - * - * @param sleepTime The amount of time to sleep (in milliseconds) in the run() method - */ - public JSR237MyRunnable(long sleepTime) { - this.sleepTime = sleepTime; - } - - /** - * Sleeps for a period of time defined by sleepTime - */ - public void run() { - System.out.println("Starting " + this); - try { - Thread.sleep(sleepTime); - } catch (InterruptedException e) { - e.printStackTrace(); - } - System.out.println("Done " + this); - runCompletedCount.incrementAndGet(); - } - - /** - * Returns the number of completed calls to run() - * - * @return The number of completed calls to run() - */ - public int getRunCompletedCount() { - return runCompletedCount.get(); - } -} diff --git a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/JSR237MyRunnerListener.java b/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/JSR237MyRunnerListener.java deleted file mode 100644 index 75840efef4..0000000000 --- a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/JSR237MyRunnerListener.java +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.work; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.concurrent.atomic.AtomicInteger; - -import org.apache.tuscany.sca.work.NotificationListener; - -/** - * Simple NotificationListener that is used for testing Jsr237WorkScheduler - * - * @version $Rev$ $Date$ - */ -public class JSR237MyRunnerListener implements NotificationListener { - - /** - * Count of workAccepted() method calls - */ - private AtomicInteger workAcceptedCallCount = new AtomicInteger(); - - /** - * Count of workStarted() method calls - */ - private AtomicInteger workStartedCallCount = new AtomicInteger(); - - /** - * Count of workCompleted() method calls - */ - private AtomicInteger workCompletedCallCount = new AtomicInteger(); - - /** - * Count of workFailed() method calls - */ - private AtomicInteger workFailedCallCount = new AtomicInteger(); - - /** - * Count of workRejected() method calls - */ - private AtomicInteger workRejectedCallCount = new AtomicInteger(); - - /** - * List of all exceptions thrown by Work items - */ - private List workExceptions = Collections.synchronizedList(new ArrayList()); - - /** - * {@inheritDoc} - */ - public void workAccepted(JSR237MyRunnable work) { - workAcceptedCallCount.incrementAndGet(); - } - - /** - * {@inheritDoc} - */ - public void workCompleted(JSR237MyRunnable work) { - workCompletedCallCount.incrementAndGet(); - } - - /** - * {@inheritDoc} - */ - public void workFailed(JSR237MyRunnable work, Throwable error) { - workExceptions.add(error); - workFailedCallCount.incrementAndGet(); - } - - /** - * {@inheritDoc} - */ - public void workRejected(JSR237MyRunnable work) { - workRejectedCallCount.incrementAndGet(); - } - - /** - * {@inheritDoc} - */ - public void workStarted(JSR237MyRunnable work) { - workStartedCallCount.incrementAndGet(); - } - - /** - * Returns the number of calls to workAccepted() - * - * @return The number of calls to workAccepted() - */ - public int getWorkAcceptedCallCount() { - return workAcceptedCallCount.get(); - } - - /** - * Returns the number of calls to workStarted() - * - * @return The number of calls to workStarted() - */ - public int getWorkStartedCallCount() { - return workStartedCallCount.get(); - } - - /** - * Returns the number of calls to workCompleted() - * - * @return The number of calls to workCompleted() - */ - public int getWorkCompletedCallCount() { - return workCompletedCallCount.get(); - } - - /** - * Returns the number of calls to workFailed() - * - * @return The number of calls to workFailed() - */ - public int getWorkFailedCallCount() { - return workFailedCallCount.get(); - } - - /** - * Returns the number of calls to workRejected() - * - * @return The number of calls to workRejected() - */ - public int getWorkRejectedCallCount() { - return workRejectedCallCount.get(); - } - - /** - * Returns a List of all exceptions that are thrown by the Work items - * - * @return A List of all exceptions that are thrown by the Work items - */ - public List getWorkExceptions() { - return Collections.unmodifiableList(workExceptions); - } -} diff --git a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/Jsr237WorkSchedulerTestCase.java b/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/Jsr237WorkSchedulerTestCase.java deleted file mode 100644 index 225f23cb93..0000000000 --- a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/Jsr237WorkSchedulerTestCase.java +++ /dev/null @@ -1,240 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.work; - -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Test case for Jsr237WorkScheduler - * - * @version $Rev$ $Date$ - */ -public class Jsr237WorkSchedulerTestCase { - - /** - * Wait up to 20 seconds for the Work units to complete - */ - private static final long WAIT_TIMEOUT = 20000; - - /** - * This is the shared instance of the ThreadPoolWorkManager used by the tests - */ - private static Jsr237WorkScheduler workSchedular = null; - - /** - * Setup the Jsr237WorkScheduler - */ - @BeforeClass - public static void setup() { - workSchedular = new Jsr237WorkScheduler(); - } - - /** - * Make sure that the Jsr237WorkScheduler is stopped after running the tests - */ - @AfterClass - public static void destroy() { - if (workSchedular != null) { - workSchedular.destroy(); - } - } - - /** - * Tests running a single fast job on the Jsr237WorkScheduler - */ - @Test - public void testSingleFastJob() { - // Create the work and register it - JSR237MyRunnable fast = new JSR237MyRunnable(10); - JSR237MyRunnerListener listener = new JSR237MyRunnerListener(); - workSchedular.scheduleWork(fast, listener); - - // Wait for the 1 job to complete - waitForWorkToComplete(listener, 1); - - // Test that the job completed successfully. - Assert.assertEquals(1, listener.getWorkAcceptedCallCount()); - Assert.assertEquals(0, listener.getWorkRejectedCallCount()); - Assert.assertEquals(1, listener.getWorkStartedCallCount()); - Assert.assertEquals(1, listener.getWorkCompletedCallCount()); - Assert.assertEquals(0, listener.getWorkExceptions().size()); - } - - /** - * Tests running a single job that fails on the Jsr237WorkScheduler - */ - @Test - public void testSingleFailingJob() { - // Create the work and register it - JSR237MyFailingRunnable fail = new JSR237MyFailingRunnable(); - JSR237MyRunnerListener listener = new JSR237MyRunnerListener(); - workSchedular.scheduleWork(fail, listener); - - // Wait for the 1 job to complete - waitForWorkToComplete(listener, 1); - - // Test that the job completed successfully. - Assert.assertEquals(1, listener.getWorkAcceptedCallCount()); - Assert.assertEquals(0, listener.getWorkRejectedCallCount()); - Assert.assertEquals(1, listener.getWorkStartedCallCount()); - Assert.assertEquals(0, listener.getWorkCompletedCallCount()); - Assert.assertEquals(1, listener.getWorkFailedCallCount()); - Assert.assertEquals(1, listener.getWorkExceptions().size()); - } - - /** - * Tests running a mixture of fast and slow jobs on the Jsr237WorkScheduler - */ - @Test - public void testMultipleJobs() { - // Create the work and register it - JSR237MyRunnable fast1 = new JSR237MyRunnable(50); - JSR237MyRunnable fast2 = new JSR237MyRunnable(100); - JSR237MyRunnable fast3 = new JSR237MyRunnable(200); - JSR237MyRunnable slow1= new JSR237MyRunnable(2000); - JSR237MyRunnable slow2 = new JSR237MyRunnable(2000); - JSR237MyRunnerListener listener = new JSR237MyRunnerListener(); - workSchedular.scheduleWork(fast1, listener); - workSchedular.scheduleWork(fast2, listener); - workSchedular.scheduleWork(fast3, listener); - workSchedular.scheduleWork(slow1, listener); - workSchedular.scheduleWork(slow2, listener); - - // Wait for the 5 jobs to complete - waitForWorkToComplete(listener, 5); - - // Test that the job completed successfully. - Assert.assertEquals(5, listener.getWorkAcceptedCallCount()); - Assert.assertEquals(0, listener.getWorkRejectedCallCount()); - Assert.assertEquals(5, listener.getWorkStartedCallCount()); - Assert.assertEquals(5, listener.getWorkCompletedCallCount()); - Assert.assertEquals(0, listener.getWorkExceptions().size()); - } - - /** - * Tests running a mixture of fast and slow jobs some of which fail on the - * Jsr237WorkScheduler - */ - @Test - public void testMultipleJobsSomeFail() { - // Create the work and register it - JSR237MyRunnable fast1 = new JSR237MyRunnable(50); - JSR237MyRunnable fast2 = new JSR237MyRunnable(100); - JSR237MyRunnable fast3 = new JSR237MyRunnable(200); - JSR237MyRunnable slow1= new JSR237MyRunnable(2000); - JSR237MyRunnable slow2 = new JSR237MyRunnable(2000); - JSR237MyFailingRunnable fail1 = new JSR237MyFailingRunnable(); - JSR237MyFailingRunnable fail2 = new JSR237MyFailingRunnable(); - JSR237MyRunnerListener listener = new JSR237MyRunnerListener(); - workSchedular.scheduleWork(fast1, listener); - workSchedular.scheduleWork(fast2, listener); - workSchedular.scheduleWork(fail1, listener); - workSchedular.scheduleWork(fast3, listener); - workSchedular.scheduleWork(slow1, listener); - workSchedular.scheduleWork(fail2, listener); - workSchedular.scheduleWork(slow2, listener); - - // Wait for the 7 jobs to complete - waitForWorkToComplete(listener, 7); - - // Test that the job completed successfully. - Assert.assertEquals(7, listener.getWorkAcceptedCallCount()); - Assert.assertEquals(0, listener.getWorkRejectedCallCount()); - Assert.assertEquals(7, listener.getWorkStartedCallCount()); - Assert.assertEquals(5, listener.getWorkCompletedCallCount()); - Assert.assertEquals(2, listener.getWorkFailedCallCount()); - Assert.assertEquals(2, listener.getWorkExceptions().size()); - } - - /** - * Tests running a single job that has no listener - */ - @Test - public void testSingleFastJobWithNoListener() { - // Create the work and register it - JSR237MyRunnable fast = new JSR237MyRunnable(10); - workSchedular.scheduleWork(fast); - - // Wait for the job to complete - long startTime = System.currentTimeMillis(); - while (true) { - int completedCount = fast.getRunCompletedCount(); - if (completedCount == 1) { - break; - } - - if (System.currentTimeMillis() - startTime > WAIT_TIMEOUT) { - Assert.fail("Only " + completedCount + " work items completed before timeout"); - return; - } - - // Lets wait for the job to complete - try { - Thread.sleep(25); - } catch (InterruptedException ex) { - Assert.fail("Unexpected exception: " + ex); - } - } - } - - /** - * Tests scheduling a null as the work item - */ - @Test - public void testNullWork() { - try { - workSchedular.scheduleWork(null); - Assert.fail("Should have thrown IllegalArgumentException "); - } catch (IllegalArgumentException ex) { - // As expected - Assert.assertTrue(ex.toString().indexOf("null") != -1); - } - } - - /** - * Waits for the specified number of jobs to complete or the timeout to fire. - * - * @param listener The listener to use to track Work unit completion - * @param completedWorkItemsToWaitFor The number of Work items to complete - */ - private void waitForWorkToComplete(JSR237MyRunnerListener listener, int completedWorkItemsToWaitFor) { - long startTime = System.currentTimeMillis(); - while (true) { - int completedCount = listener.getWorkCompletedCallCount() + listener.getWorkFailedCallCount(); - if (completedCount == completedWorkItemsToWaitFor) { - return; - } - - if (System.currentTimeMillis() - startTime > WAIT_TIMEOUT) { - Assert.fail("Only " + completedCount + " work items completed before timeout"); - return; - } - - // Lets wait for more jobs to complete - try { - Thread.sleep(25); - } catch (InterruptedException ex) { - Assert.fail("Unexpected exception: " + ex); - } - } - } -} diff --git a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/TestWorkListener.java b/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/TestWorkListener.java deleted file mode 100644 index ba32a92c18..0000000000 --- a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/TestWorkListener.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.core.work; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.concurrent.atomic.AtomicInteger; - -import org.junit.Assert; - -import commonj.work.WorkEvent; -import commonj.work.WorkException; -import commonj.work.WorkListener; - -/** - * A simple WorkListener that tracks invocations to it. - * - * @version $Rev$ $Date$ - */ -public class TestWorkListener implements WorkListener { - - /** - * Count of workAccepted() method calls - */ - private AtomicInteger workAcceptedCallCount = new AtomicInteger(); - - /** - * Count of workStarted() method calls - */ - private AtomicInteger workStartedCallCount = new AtomicInteger(); - - /** - * Count of workCompleted() method calls - */ - private AtomicInteger workCompletedCallCount = new AtomicInteger(); - - /** - * Count of workRejected() method calls - */ - private AtomicInteger workRejectedCallCount = new AtomicInteger(); - - /** - * List of all exceptions thrown by Work items - */ - private List workExceptions = Collections.synchronizedList(new ArrayList()); - - /** - * {@inheritDoc} - */ - public void workAccepted(WorkEvent work) { - workAcceptedCallCount.incrementAndGet(); - - // Validate the WorkEvent - Assert.assertNotNull(work.getWorkItem()); - Assert.assertEquals(WorkEvent.WORK_ACCEPTED, work.getType()); - } - - /** - * {@inheritDoc} - */ - public void workStarted(WorkEvent work) { - workStartedCallCount.incrementAndGet(); - - // Validate the WorkEvent - Assert.assertNotNull(work.getWorkItem()); - Assert.assertEquals(WorkEvent.WORK_STARTED, work.getType()); - } - - /** - * {@inheritDoc} - */ - public void workCompleted(WorkEvent work) { - if (work.getException() != null) { - workExceptions.add(work.getException()); - } - - // Validate the WorkEvent - Assert.assertNotNull(work.getWorkItem()); - Assert.assertEquals(WorkEvent.WORK_COMPLETED, work.getType()); - - workCompletedCallCount.incrementAndGet(); - } - - /** - * {@inheritDoc} - */ - public void workRejected(WorkEvent work) { - workRejectedCallCount.incrementAndGet(); - - // Validate the WorkEvent - Assert.assertNotNull(work.getWorkItem()); - Assert.assertEquals(WorkEvent.WORK_REJECTED, work.getType()); - } - - /** - * Returns the number of calls to workAccepted() - * - * @return The number of calls to workAccepted() - */ - public int getWorkAcceptedCallCount() { - return workAcceptedCallCount.get(); - } - - /** - * Returns the number of calls to workStarted() - * - * @return The number of calls to workStarted() - */ - public int getWorkStartedCallCount() { - return workStartedCallCount.get(); - } - - /** - * Returns the number of calls to workCompleted() - * - * @return The number of calls to workCompleted() - */ - public int getWorkCompletedCallCount() { - return workCompletedCallCount.get(); - } - - /** - * Returns the number of calls to workRejected() - * - * @return The number of calls to workRejected() - */ - public int getWorkRejectedCallCount() { - return workRejectedCallCount.get(); - } - - /** - * Returns a List of all exceptions that are thrown by the Work items - * - * @return A List of all exceptions that are thrown by the Work items - */ - public List getWorkExceptions() { - return Collections.unmodifiableList(workExceptions); - } -} diff --git a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/ThreadPoolWorkManagerTestCase.java b/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/ThreadPoolWorkManagerTestCase.java deleted file mode 100644 index 715f5f95c0..0000000000 --- a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/ThreadPoolWorkManagerTestCase.java +++ /dev/null @@ -1,243 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.work; - -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * This test case will test the ThreadPoolWorkManager - * - * @version $Rev$ $Date$ - */ -public class ThreadPoolWorkManagerTestCase { - - /** - * Wait up to 20 seconds for the Work units to complete - */ - private static final long WAIT_TIMEOUT = 20000; - - /** - * This is the shared instance of the ThreadPoolWorkManager used by the tests - */ - private static ThreadPoolWorkManager workManager = null; - - /** - * Setup the ThreadPoolWorkManager - */ - @BeforeClass - public static void setup() { - workManager = new ThreadPoolWorkManager(10); - } - - /** - * Make sure that the ThreadPoolWorkManager is stopped after running the tests - */ - @AfterClass - public static void destroy() { - if (workManager != null) { - workManager.destroy(); - } - } - - /** - * Tests running a single fast job on the ThreadPoolWorkManager - */ - @Test - public void testSingleFastJob() { - // Create the work and register it - TimeDelayWork fast = new TimeDelayWork(10); - TestWorkListener listener = new TestWorkListener(); - workManager.schedule(fast, listener); - - // Wait for the 1 job to complete - waitForWorkToComplete(listener, 1); - - // Test that the job completed successfully. - Assert.assertEquals(1, listener.getWorkAcceptedCallCount()); - Assert.assertEquals(0, listener.getWorkRejectedCallCount()); - Assert.assertEquals(1, listener.getWorkStartedCallCount()); - Assert.assertEquals(1, listener.getWorkCompletedCallCount()); - Assert.assertEquals(0, listener.getWorkExceptions().size()); - } - - /** - * Tests running a single job that fails on the ThreadPoolWorkManager - */ - @Test - public void testSingleFailingJob() { - // Create the work and register it - FailingWork fail = new FailingWork(); - TestWorkListener listener = new TestWorkListener(); - workManager.schedule(fail, listener); - - // Wait for the 1 job to complete - waitForWorkToComplete(listener, 1); - - // Test that the job completed successfully. - Assert.assertEquals(1, listener.getWorkAcceptedCallCount()); - Assert.assertEquals(0, listener.getWorkRejectedCallCount()); - Assert.assertEquals(1, listener.getWorkStartedCallCount()); - Assert.assertEquals(1, listener.getWorkCompletedCallCount()); - Assert.assertEquals(1, listener.getWorkExceptions().size()); - } - - /** - * Tests running a mixture of fast and slow jobs on the ThreadPoolWorkManager - */ - @Test - public void testMultipleJobs() { - // Create the work and register it - TimeDelayWork fast1 = new TimeDelayWork(50); - TimeDelayWork fast2 = new TimeDelayWork(100); - TimeDelayWork fast3 = new TimeDelayWork(200); - TimeDelayWork slow1= new TimeDelayWork(2000); - TimeDelayWork slow2 = new TimeDelayWork(2000); - TestWorkListener listener = new TestWorkListener(); - workManager.schedule(fast1, listener); - workManager.schedule(fast2, listener); - workManager.schedule(fast3, listener); - workManager.schedule(slow1, listener); - workManager.schedule(slow2, listener); - - // Wait for the 5 jobs to complete - waitForWorkToComplete(listener, 5); - - // Test that the job completed successfully. - Assert.assertEquals(5, listener.getWorkAcceptedCallCount()); - Assert.assertEquals(0, listener.getWorkRejectedCallCount()); - Assert.assertEquals(5, listener.getWorkStartedCallCount()); - Assert.assertEquals(5, listener.getWorkCompletedCallCount()); - Assert.assertEquals(0, listener.getWorkExceptions().size()); - } - - /** - * Tests running a mixture of fast and slow jobs some of which fail on the - * ThreadPoolWorkManager - */ - @Test - public void testMultipleJobsSomeFail() { - // Create the work and register it - TimeDelayWork fast1 = new TimeDelayWork(50); - TimeDelayWork fast2 = new TimeDelayWork(100); - TimeDelayWork fast3 = new TimeDelayWork(200); - TimeDelayWork slow1= new TimeDelayWork(2000); - TimeDelayWork slow2 = new TimeDelayWork(2000); - FailingWork fail1 = new FailingWork(); - FailingWork fail2 = new FailingWork(); - TestWorkListener listener = new TestWorkListener(); - workManager.schedule(fast1, listener); - workManager.schedule(fast2, listener); - workManager.schedule(fail1, listener); - workManager.schedule(fast3, listener); - workManager.schedule(slow1, listener); - workManager.schedule(fail2, listener); - workManager.schedule(slow2, listener); - - // Wait for the 7 jobs to complete - waitForWorkToComplete(listener, 7); - - // Test that the job completed successfully. - Assert.assertEquals(7, listener.getWorkAcceptedCallCount()); - Assert.assertEquals(0, listener.getWorkRejectedCallCount()); - Assert.assertEquals(7, listener.getWorkStartedCallCount()); - Assert.assertEquals(7, listener.getWorkCompletedCallCount()); - Assert.assertEquals(2, listener.getWorkExceptions().size()); - } - - /** - * Tests creating a ThreadPoolWorkManager with invalid pool sizes of -10 to 0 - * inclusive - */ - @Test - public void testThreadPoolWorkManagerLessThan1Size() { - for (int i = 0; i >= -10; i--) { - try { - new ThreadPoolWorkManager(i); - Assert.fail("Should have thrown IllegalArgumentException"); - } catch (IllegalArgumentException ex) { - Assert.assertTrue(ex.toString().indexOf(Integer.toString(i)) != -1); - } - } - } - - /** - * Tests running a single job that has no listener - */ - @Test - public void testSingleFastJobWithNoListener() { - // Create the work and register it - TimeDelayWork fast = new TimeDelayWork(10); - workManager.schedule(fast); - - // Wait for the job to complete - long startTime = System.currentTimeMillis(); - while (true) { - int completedCount = fast.getRunCompletedCount(); - if (completedCount == 1) { - break; - } - - if (System.currentTimeMillis() - startTime > WAIT_TIMEOUT) { - Assert.fail("Only " + completedCount + " work items completed before timeout"); - return; - } - - // Lets wait for the job to complete - try { - Thread.sleep(25); - } catch (InterruptedException ex) { - Assert.fail("Unexpected exception: " + ex); - } - } - - // Make sure we have got one completed run - Assert.assertEquals(1, fast.getRunCompletedCount()); - } - - /** - * Waits for the specified number of jobs to complete or the timeout to fire. - * - * @param listener The listener to use to track Work unit completion - * @param completedWorkItemsToWaitFor The number of Work items to complete - */ - private void waitForWorkToComplete(TestWorkListener listener, int completedWorkItemsToWaitFor) { - long startTime = System.currentTimeMillis(); - while (true) { - int completedCount = listener.getWorkCompletedCallCount(); - if (completedCount == completedWorkItemsToWaitFor) { - return; - } - - if (System.currentTimeMillis() - startTime > WAIT_TIMEOUT) { - Assert.fail("Only " + completedCount + " work items completed before timeout"); - return; - } - - // Lets wait for more jobs to complete - try { - Thread.sleep(25); - } catch (InterruptedException ex) { - Assert.fail("Unexpected exception: " + ex); - } - } - } -} diff --git a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/TimeDelayWork.java b/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/TimeDelayWork.java deleted file mode 100644 index 3b30d86f14..0000000000 --- a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/core/work/TimeDelayWork.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.core.work; - -import java.util.concurrent.atomic.AtomicInteger; - -import commonj.work.Work; - -/** - * Simple Work item that will sleep in the run() method for the specified - * period of time - * - * @version $Rev$ $Date$ - */ -public class TimeDelayWork implements Work { - - /** - * Count of completed run() method calls - */ - private AtomicInteger runCompletedCount = new AtomicInteger(); - - /** - * The amount of time to sleep in the Run loop - */ - private final long sleepTime; - - /** - * Constructor - * - * @param sleepTime The amount of time to sleep (in milliseconds) in the run() method - */ - public TimeDelayWork(long sleepTime) { - this.sleepTime = sleepTime; - } - - /** - * {@inheritDoc} - */ - public boolean isDaemon() { - return false; - } - - /** - * {@inheritDoc} - */ - public void release() { - } - - /** - * Sleeps for a period of time defined by sleepTime - */ - public void run() { - System.out.println("Starting " + this); - try { - Thread.sleep(sleepTime); - } catch (InterruptedException e) { - e.printStackTrace(); - } - System.out.println("Done " + this); - runCompletedCount.incrementAndGet(); - } - - /** - * Returns the number of completed calls to run() - * - * @return The number of completed calls to run() - */ - public int getRunCompletedCount() { - return runCompletedCount.get(); - } -} diff --git a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/scope/ScopeTestCase.java b/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/scope/ScopeTestCase.java deleted file mode 100644 index 341d889b7d..0000000000 --- a/java/sca/contrib/modules/core/src/test/java/org/apache/tuscany/sca/scope/ScopeTestCase.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.scope; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.core.scope.Scope; - -/** - * @version $Rev$ $Date$ - */ -public class ScopeTestCase extends TestCase { - - public void testEquals() throws Exception { - Scope scope = new Scope("COMPOSITE"); - assertTrue(scope.equals(Scope.COMPOSITE)); - } - - public void testEqualsNew() throws Exception { - Scope foo = new Scope("foo"); - Scope foo2 = new Scope("FOO"); - assertTrue(foo.equals(foo2)); - } - - public void testNotEquals() throws Exception { - Scope foo = new Scope("BAR"); - Scope foo2 = new Scope("FOO"); - assertFalse(foo.equals(foo2)); - } - - public void testNotEqualsDifferent() throws Exception { - Scope foo = new Scope("FOO"); - assertFalse(foo.equals(new Bar("FOO"))); - } - - public class Bar { - String scope; - - public Bar(String scope) { - this.scope = scope; - } - } - - -} diff --git a/java/sca/contrib/modules/core/src/test/resources/META-INF/services/org.apache.tuscany.sca.invocation.PhaseTest b/java/sca/contrib/modules/core/src/test/resources/META-INF/services/org.apache.tuscany.sca.invocation.PhaseTest deleted file mode 100644 index ad23df3761..0000000000 --- a/java/sca/contrib/modules/core/src/test/resources/META-INF/services/org.apache.tuscany.sca.invocation.PhaseTest +++ /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. - -name=implementation.last, stage=implementation, after=* -name=reference.first, stage=reference, before=* -name=reference.transaction, stage=reference, after=reference.interface -name=reference.binding.header, stage=reference.binding, after=reference.binding.transport -name=service.binding.header, stage=service.binding, after=service.binding.transport -name=service.transaction, stage=service, after=service.binding, before=component.service -name=implementation.transaction, stage=implementation, before=implementation.policy diff --git a/java/sca/contrib/modules/data-api/LICENSE b/java/sca/contrib/modules/data-api/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/data-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/java/sca/contrib/modules/data-api/NOTICE b/java/sca/contrib/modules/data-api/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/data-api/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/data-api/pom.xml b/java/sca/contrib/modules/data-api/pom.xml deleted file mode 100644 index 542e757053..0000000000 --- a/java/sca/contrib/modules/data-api/pom.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-data-api - Apache Tuscany SCA Data API - - - - org.apache.tuscany.sca - tuscany-sca-api - 2.0-SNAPSHOT - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.data.api - ${pom.name} - org.apache.tuscany.sca.data* - - - - - - - diff --git a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/Collection.java b/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/Collection.java deleted file mode 100644 index f1841c975e..0000000000 --- a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/Collection.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.data.collection; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Provides access to a collection of data items. - * - * @version $Rev$ $Date$ - */ -@Remotable -public interface Collection { - - /** - * Get the whole collection. - * - * @return the whole collection. - */ - Entry[] getAll(); - - /** - * Returns a collection resulting from a query. - * - * @return the collection. - */ - Entry[] query(String queryString); - - /** - * Creates a new item. - * - * @param key - * @param item - * @return - */ - K post(K key, D item); - - /** - * Retrieves an item. - * - * @param key - * @return - */ - D get(K key) throws NotFoundException; - - /** - * Updates an item. - * - * @param key - * @param item - * @return - */ - void put(K key, D item) throws NotFoundException; - - /** - * Delete an item. - * - * @param key - */ - void delete(K key) throws NotFoundException; - -} diff --git a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/Entry.java b/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/Entry.java deleted file mode 100644 index 5903fd95a4..0000000000 --- a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/Entry.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.data.collection; - - -/** - * Represents a key/data pair in a data collection. - * - * @version $Rev$ $Date$ - */ -public class Entry { - - private K key; - private D data; - - /** - * Constructs a new entry. - */ - public Entry() { - } - - /** - * Constructs a new entry. - * @param key the entry key - * @param data the entry data - */ - public Entry(K key, D data) { - this.key = key; - this.data = data; - } - - /** - * Returns the entry key. - * @return the key - */ - public K getKey() { - return key; - } - - /** - * Sets the entry key. - * @param key the key - */ - public void setKey(K key) { - this.key = key; - } - - /** - * Returns the entry data. - * @return the entry data - */ - public D getData() { - return data; - } - - /** - * Sets the entry data - * @param data the entry data - */ - public void setData(D data) { - this.data = data; - } - - //FIXME Temporary methods to make JAXB register the Item - // class when the Entry class is registered in a JAXB context - public void setDummy(Item item) {} - public Item getDummy() { return null; } - -} diff --git a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/Item.java b/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/Item.java deleted file mode 100644 index 37042c0895..0000000000 --- a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/Item.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.data.collection; - -import java.util.Date; - - -/** - * Represents a data item. - * - * @version $Rev$ $Date$ - */ -public class Item { - - private String title; - private String contents; - private String link; - private String related; - private String alternate; - private Date date; - - /** - * Constructs a new item. - */ - public Item() { - } - - /** - * Constructs a new item. - * @param title the item title - * @param contents the item contents - * @param link the item link to a web resource - * @param related the item link to a related web resource - * @param date the item date - */ - public Item(String title, String contents, String link, String related, Date date) { - this.title = title; - this.contents = contents; - this.link = link; - this.related = related; - this.date = date; - } - - /** - * Returns the item title. - * @return the item title - */ - public String getTitle() { - return title; - } - - /** - * Sets the item title. - * @param title the item title - */ - public void setTitle(String title) { - this.title = title; - } - - /** - * Returns the item contents - * @return the item contents - */ - public String getContents() { - return contents; - } - - /** - * Sets the item contents - * @param contents the item contents - */ - public void setContents(String contents) { - this.contents = contents; - } - - /** - * Returns the item link to a web resource - * @return the item link to a web resource - */ - public String getLink() { - return link; - } - - /** - * Sets the item link to a web resource - * @param link the item link to a web resource - */ - public void setLink(String link) { - this.link = link; - } - - /** - * Returns the item link to a related web resource - * @return the item link to a related web resource - */ - public String getRelated() { - return related; - } - - /** - * Sets the item link to a related web resource. - * - * @param related the item link to a related web resource - */ - public void setRelated(String related) { - this.related = related; - } - - /** - * Returns the item link to an alternate web resource - * @return the item link to an alternate web resource - */ - public String getAlternate() { - return alternate; - } - - /** - * Sets the item link to an alternate web resource. - * - * @param alternate the item link to an alternate web resource - */ - public void setAlternate(String alternate) { - this.alternate = alternate; - } - - /** - * Returns the item date - * @return the item date - */ - public Date getDate() { - return date; - } - - /** - * Sets the item date - * @param date the item date - */ - public void setDate(Date date) { - this.date = date; - } - - -} diff --git a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/ItemCollection.java b/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/ItemCollection.java deleted file mode 100644 index 229b29f5cd..0000000000 --- a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/ItemCollection.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.data.collection; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Provides access to a collection of data items. - * - * @version $Rev$ $Date$ - */ -@Remotable -public interface ItemCollection extends Collection { -} diff --git a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/LocalItemCollection.java b/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/LocalItemCollection.java deleted file mode 100644 index 69512058b7..0000000000 --- a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/LocalItemCollection.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.data.collection; - - -/** - * Provides access to a collection of data items. - * - * @version $Rev$ $Date$ - */ -public interface LocalItemCollection extends Collection { -} diff --git a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/NotFoundException.java b/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/collection/NotFoundException.java deleted file mode 100644 index 7f13db5228..0000000000 --- a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/data/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.data.collection; - -/** - * Indicates that an item could not be found in a collection. - * - * @version $Rev$ $Date$ - */ -public class NotFoundException extends Exception { - private static final long serialVersionUID = 6792367409396084646L; - - 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/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Collection.java b/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Collection.java deleted file mode 100644 index 4be90b6808..0000000000 --- a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Collection.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.implementation.data.collection; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Provides access to a collection of data items. - * - * @version $Rev$ $Date$ - */ -@Remotable -@Deprecated -public interface Collection extends org.apache.tuscany.sca.data.collection.Collection { -} diff --git a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Entry.java b/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Entry.java deleted file mode 100644 index a0d232a201..0000000000 --- a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Entry.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.implementation.data.collection; - - -/** - * Represents a key/data pair in a data collection. - * - * @version $Rev$ $Date$ - */ -@Deprecated -public class Entry extends org.apache.tuscany.sca.data.collection.Entry { -} diff --git a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Item.java b/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Item.java deleted file mode 100644 index 77d8173521..0000000000 --- a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Item.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.implementation.data.collection; - - - -/** - * Represents a data item. - * - * @version $Rev$ $Date$ - */ -@Deprecated -public class Item extends org.apache.tuscany.sca.data.collection.Item { -} diff --git a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/ItemCollection.java b/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/ItemCollection.java deleted file mode 100644 index 9060399dc3..0000000000 --- a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/ItemCollection.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.implementation.data.collection; - -import org.oasisopen.sca.annotation.Remotable; - -/** - * Provides access to a collection of data items. - * - * @version $Rev$ $Date$ - */ -@Remotable -@Deprecated -public interface ItemCollection extends Collection { -} diff --git a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/LocalItemCollection.java b/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/LocalItemCollection.java deleted file mode 100644 index 047ab8829e..0000000000 --- a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/LocalItemCollection.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.implementation.data.collection; - - -/** - * Provides access to a collection of data items. - * - * @version $Rev$ $Date$ - */ -@Deprecated -public interface LocalItemCollection extends Collection { -} diff --git a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/NotFoundException.java b/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/NotFoundException.java deleted file mode 100644 index ed71471d9e..0000000000 --- a/java/sca/contrib/modules/data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/NotFoundException.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.implementation.data.collection; - -/** - * Indicates that an item could not be found in a collection. - * - * @version $Rev$ $Date$ - */ -@Deprecated -public class NotFoundException extends org.apache.tuscany.sca.data.collection.NotFoundException { - private static final long serialVersionUID = 2812975065056330240L; -} diff --git a/java/sca/contrib/modules/data-engine-helper/LICENSE b/java/sca/contrib/modules/data-engine-helper/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/data-engine-helper/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/java/sca/contrib/modules/data-engine-helper/NOTICE b/java/sca/contrib/modules/data-engine-helper/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/data-engine-helper/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/data-engine-helper/pom.xml b/java/sca/contrib/modules/data-engine-helper/pom.xml deleted file mode 100644 index ba01e8fa24..0000000000 --- a/java/sca/contrib/modules/data-engine-helper/pom.xml +++ /dev/null @@ -1,142 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-data-engine-helper - Apache Tuscany SCA Data Engine Helper - - - - apache.incubator - http://people.apache.org/repo/m2-incubating-repository - - - - - - org.apache.tuscany.das - tuscany-das-rdb - 1.0-SNAPSHOT - compile - - - - org.apache.tuscany.sca - tuscany-assembly - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-core - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-assembly-xml - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-contribution-impl - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-sca-api - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-databinding - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-runtime - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-host-embedded - 2.0-SNAPSHOT - - - - junit - junit - 3.8.1 - test - - - - org.easymock - easymock - 2.2 - test - - - - org.apache.derby - derby - 10.3.1.4 - test - - - - - ${artifactId} - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.data.engine.helper - ${pom.name} - org.apache.tuscany.sca.data.engine* - - - - - - - diff --git a/java/sca/contrib/modules/data-engine-helper/src/main/java/org/apache/tuscany/sca/data/engine/ConnectionInfoArtifactProcessor.java b/java/sca/contrib/modules/data-engine-helper/src/main/java/org/apache/tuscany/sca/data/engine/ConnectionInfoArtifactProcessor.java deleted file mode 100644 index 99709857b8..0000000000 --- a/java/sca/contrib/modules/data-engine-helper/src/main/java/org/apache/tuscany/sca/data/engine/ConnectionInfoArtifactProcessor.java +++ /dev/null @@ -1,197 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.data.engine; - -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.builder.impl.ProblemImpl; -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.data.engine.config.ConnectionInfo; -import org.apache.tuscany.sca.data.engine.config.ConnectionProperties; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -/** - * Implements a StAX artifact processor for ConnectionInfo. - * This processor is shared between implementation.das and implementation.data component type implementations, - * and can be used for other applications that require database connectivity information. - * - * The artifact processor is responsible for processing - * elements in SCA assembly XML composite files. - * - * @version $Rev$ $Date$ - */ -public class ConnectionInfoArtifactProcessor implements StAXArtifactProcessor { - public static final QName CONNECTION_INFO = new QName(Constants.SCA10_TUSCANY_NS, "connectionInfo"); - private static final QName CONNECTION_PROPERTIES = new QName(Constants.SCA10_TUSCANY_NS, "connectionProperties"); - - private Monitor monitor; - public ConnectionInfoArtifactProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - this.monitor = monitor; - } - - public QName getArtifactType() { - // Returns the QName of the XML element processed by this processor - return CONNECTION_INFO; - } - - /** - * Report a exception. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "dataengine-helper-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - public Class getModelType() { - // Returns the type of model processed by this processor - return ConnectionInfo.class; - } - - /* - * - * - * - * - * - * - * - * - * - */ - public ConnectionInfo read(XMLStreamReader reader) throws ContributionReadException { - assert CONNECTION_INFO.equals(reader.getName()); - - // Create a ConnectionInfo from the component type model - ConnectionInfo connectionInfo = new ConnectionInfo(); - - /* - * - */ - String dataSource = reader.getAttributeValue(null, "datasource"); // exclusive with connection properties - if (dataSource != null && dataSource.length() > 0) { - connectionInfo.setDataSource(dataSource); - } else { - try { - int event = reader.next(); - while (event == XMLStreamConstants.CHARACTERS) { - event = reader.next(); - } - } catch (XMLStreamException e) { - ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", reader, ce); - throw ce; - } - - QName element = reader.getName(); - - assert CONNECTION_PROPERTIES.equals(element); - - /* - * - */ - - String driverClass = reader.getAttributeValue(null, "driverClass"); - String databaseURL = reader.getAttributeValue(null, "databaseURL"); - String username = reader.getAttributeValue(null, "username"); - String password = reader.getAttributeValue(null, "password"); - String loginTimeout = reader.getAttributeValue(null, "loginTimeout"); - - // FIXME: validation sending info to monitor.... - ConnectionProperties connectionProperties = new ConnectionProperties(); - connectionProperties.setDriverClass(driverClass); - connectionProperties.setDatabaseURL(databaseURL); - connectionProperties.setUsername(username); - connectionProperties.setPassword(password); - if (loginTimeout != null) { - connectionProperties.setLoginTimeout(Integer.parseInt(loginTimeout)); - } - - connectionInfo.setConnectionProperties(connectionProperties); - } - - return connectionInfo; - } - - public void resolve(ConnectionInfo impl, ModelResolver resolver) throws ContributionResolveException { - - } - - public void write(ConnectionInfo connectionInfo, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException { - - writer.writeStartElement(CONNECTION_INFO.getNamespaceURI(), CONNECTION_INFO.getLocalPart()); - - if (connectionInfo.getDataSource() != null) { - writer.writeAttribute("dataSource", connectionInfo.getDataSource()); - } - - ConnectionProperties connectionProperties = connectionInfo.getConnectionProperties(); - if (connectionProperties != null) { - writer.writeStartElement(CONNECTION_PROPERTIES.getNamespaceURI(), CONNECTION_PROPERTIES.getLocalPart()); - - if (connectionProperties.getDriverClass() != null) { - writer.writeAttribute("driverClass", connectionProperties.getDriverClass()); - } - if (connectionProperties.getDatabaseURL() != null) { - writer.writeAttribute("databaseURL", connectionProperties.getDatabaseURL()); - } - if (connectionProperties.getUsername() != null) { - writer.writeAttribute("username", connectionProperties.getUsername()); - } - if (connectionProperties.getPassword() != null) { - writer.writeAttribute("password", connectionProperties.getPassword()); - } - if (connectionProperties.getLoginTimeout() != null) { - writer.writeAttribute("loginTimeout", String.valueOf(connectionProperties.getLoginTimeout())); - } - - writer.writeEndElement(); - } - - - writer.writeEndElement(); - - } -} diff --git a/java/sca/contrib/modules/data-engine-helper/src/main/java/org/apache/tuscany/sca/data/engine/DataAccessEngine.java b/java/sca/contrib/modules/data-engine-helper/src/main/java/org/apache/tuscany/sca/data/engine/DataAccessEngine.java deleted file mode 100644 index aef9ac3261..0000000000 --- a/java/sca/contrib/modules/data-engine-helper/src/main/java/org/apache/tuscany/sca/data/engine/DataAccessEngine.java +++ /dev/null @@ -1,286 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.data.engine; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.tuscany.das.rdb.Command; -import org.apache.tuscany.das.rdb.DAS; - -import commonj.sdo.DataObject; -import commonj.sdo.Property; - -/** - * Facade to hide DAS implementation details of handling commands - * - * @version $Rev$ $Date$ - */ -public class DataAccessEngine { - private final DAS das; - - public DataAccessEngine(DAS das) { - this.das = das; - } - - public DataObject executeGet(ArrayList keyVals, String table, String key) {//TODO need to consider compound keys - try { - String sqlQuery = "select * from " + table.toUpperCase(); - List keys = null; - - if(key == null) { - if(keyVals != null && keyVals.size() == 1) { - sqlQuery += " where ID = " + keyVals.get(0); - } - } else {//can be other than ID , can be compound keys - keys = getKeys(key); - if(keyVals.size() != keys.size()) { - throw new RuntimeException("One or more PK values missing"); - } - - sqlQuery += " where "; - - for(int i=0; i executeGetAll(String table, String key) { - try { - String sqlQuery = "select * from " + table.toUpperCase(); - Command command = this.das.createCommand(sqlQuery); - DataObject result = command.executeQuery(); - List keys = getKeys(key); - List resultDataObjects = result.getList(table); - - return getMappedDataObjects(resultDataObjects, keys); - } catch (Exception e) { - //e.printStackTrace(); - throw new RuntimeException(e); - } - } - - public Map executeQuery(String queryString, String table, String key) { - try { - Command command = this.das.createCommand(queryString); - DataObject result = command.executeQuery(); - List keys = getKeys(key); - List resultDataObjects = result.getList(table); - - return getMappedDataObjects(resultDataObjects, keys); - } catch (Exception e) { - //e.printStackTrace(); - throw new RuntimeException(e); - } - } - - //origDataObject should be with change summary. table, pk is already known to DAS, so no need to have these here - public void executePut(DataObject origDataObject) { - this.das.applyChanges(origDataObject); - return; - } - - //return PK/s - public ArrayList executePost(DataObject origDataObject, String table, String key){ - //TODO check that PKs are present before insert - this is not correct for auto incr PKs, so let it be upto user whether to send PK or not - /*List keys = getKeys(key); - for(int i=0; i keys = getKeys(key); - for(int i=0; i keys = null; - - if(key == null) { - if(keyVals != null && keyVals.size() == 1) { - sqlQuery += " where ID = " + keyVals.get(0); - } - } else {//can be other than ID , can be compound keys - keys = getKeys(key); - if(keyVals.size() != keys.size()) { - throw new RuntimeException("One or more PK values missing"); - } - - sqlQuery += " where "; - - for(int i=0; i resultDOs = result.getList(table); - if(resultDOs != null) { - for(int i=0; i getMappedDataObjects(List resultDataObjects, List keys) { - Map resultMap = new HashMap(); - ArrayList keyCols = null; - for(int j=0; j(); - for(int i=0; i getKeys(String key) { - String[] keys = key.split(","); - return Arrays.asList(keys); - } - - public DataObject executeCommand(String commandName) { - try { - Command command = this.das.getCommand(commandName); - return command.executeQuery(); - } catch (Exception e) { - e.printStackTrace(); - return null; - } - } - - public DataObject executeCommand(String commandName, String xPath) { - DataObject root = executeCommand(commandName); - return root.getDataObject(xPath); - } -} diff --git a/java/sca/contrib/modules/data-engine-helper/src/main/java/org/apache/tuscany/sca/data/engine/DataAccessEngineManager.java b/java/sca/contrib/modules/data-engine-helper/src/main/java/org/apache/tuscany/sca/data/engine/DataAccessEngineManager.java deleted file mode 100644 index 572c190037..0000000000 --- a/java/sca/contrib/modules/data-engine-helper/src/main/java/org/apache/tuscany/sca/data/engine/DataAccessEngineManager.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.data.engine; - -import java.io.InputStream; -import java.util.List; - -import org.apache.tuscany.das.rdb.ConfigHelper; -import org.apache.tuscany.das.rdb.DAS; -import org.apache.tuscany.das.rdb.config.wrapper.MappingWrapper; -import org.apache.tuscany.sca.data.engine.config.ConnectionInfo; - -/** - * The DataAccessEngineManager acts like a registry and factory for DAS instances - * It holds DAS by it's config file name, reusing the same DAS for all components - * using the same config file. - * - * @version $Rev$ $Date$ - */ -public class DataAccessEngineManager { - //private final Map registry = new HashMap(); - - public DataAccessEngineManager() { - super(); - } - - protected DAS initializeDAS(String config, ConnectionInfo connectionInfo, String table, String pkColumns) throws MissingConfigFileException { - //load the config file - //System.out.println("Initializing DAS"); - - ConfigHelper configHelper; - - if(config == null) { - //no config information - configHelper = new ConfigHelper(); - } else { - //initialize the config helper by loading config file - configHelper = new ConfigHelper(this.getConfigStream(config)); - } - - //add additional connectionInfo if provided in the SCA Composite file - if( connectionInfo != null) { - String dataSource = connectionInfo.getDataSource(); - if(dataSource != null && dataSource.length() > 0) { - configHelper.addConnectionInfo(dataSource); - } else { - String driverClass = connectionInfo.getConnectionProperties().getDriverClass(); - String connectionURL = connectionInfo.getConnectionProperties().getDatabaseURL(); - String userName = connectionInfo.getConnectionProperties().getUsername(); - String password = connectionInfo.getConnectionProperties().getPassword(); - int loginTimeout = connectionInfo.getConnectionProperties().getLoginTimeout(); - - configHelper.addConnectionInfo(driverClass, connectionURL, userName, password, loginTimeout); - } - - } - - if(table != null && pkColumns != null) { - MappingWrapper configWrapper = new MappingWrapper(configHelper.getConfig()); - List pkColsList = DataAccessEngine.getKeys(pkColumns); - for(int i=0; i - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-databinding-axiom - Apache Tuscany SCA Data Binding for Axiom - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-databinding - 2.0-SNAPSHOT - - - - javax.xml.stream - stax-api - 1.0-2 - - - - org.apache.ws.commons.axiom - axiom-api - 1.2.7 - - - xerces - xercesImpl - - - stax - stax-api - - - xml-apis - xml-apis - - - - - - org.apache.ws.commons.axiom - axiom-impl - 1.2.7 - runtime - - - stax - stax-api - - - - - - commons-logging - commons-logging - 1.1.1 - runtime - - - - org.codehaus.woodstox - wstx-asl - 3.2.4 - runtime - - - stax - stax-api - - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.databinding.axiom - ${pom.name} - org.apache.tuscany.sca.databinding.axiom* - - - - - - - diff --git a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/AxiomDataBinding.java b/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/AxiomDataBinding.java deleted file mode 100644 index 142229f4f6..0000000000 --- a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/AxiomDataBinding.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.databinding.axiom; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.databinding.WrapperHandler; -import org.apache.tuscany.sca.databinding.impl.BaseDataBinding; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; - -/** - * DataBinding for AXIOM - * - * @version $Rev$ $Date$ - */ -public class AxiomDataBinding extends BaseDataBinding { - - public static final String NAME = OMElement.class.getName(); - - public AxiomDataBinding() { - super(NAME, OMElement.class); - } - - /** - * @see org.apache.tuscany.sca.databinding.impl.BaseDataBinding#getWrapperHandler() - */ - @Override - public WrapperHandler getWrapperHandler() { - return new OMElementWrapperHandler(); - } - - @Override - public Object copy(Object source, DataType dataType, Operation operation) { - if ( OMElement.class.isAssignableFrom(source.getClass()) ) { - try { - OMElement sourceElement = (OMElement)source; - return sourceElement.cloneOMElement(); - } catch ( Exception e ) { - throw new IllegalArgumentException(e); - } - } - return super.copy(source, dataType, operation); - } - -} diff --git a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/AxiomHelper.java b/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/AxiomHelper.java deleted file mode 100644 index cd820ab4b4..0000000000 --- a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/AxiomHelper.java +++ /dev/null @@ -1,142 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.axiom; - -import javax.xml.namespace.QName; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMDataSource; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; -import org.apache.axiom.om.OMNamespace; -import org.apache.axiom.om.OMXMLParserWrapper; -import org.apache.axiom.om.impl.builder.StAXBuilder; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -/** - * Helper for AXIOM - * - * @version $Rev$ $Date$ - */ -public class AxiomHelper { - private static final String DEFAULT_PREFIX = "_ns_"; - - private AxiomHelper() { - } - - /** - * See http://issues.apache.org/jira/browse/WSCOMMONS-240 - * @param om - */ - public static void completeAndClose(OMElement om) { - // Get the builder associated with the om element - OMXMLParserWrapper builder = om.getBuilder(); - if (builder != null) { - if (builder instanceof StAXBuilder) { - ((StAXBuilder)builder).releaseParserOnClose(true); - } - OMElement document = builder.getDocumentElement(); - if (document != null) { - document.build(); - } - } - if (builder instanceof StAXBuilder) { - ((StAXBuilder)builder).close(); - } - } - - /** - * This method will close the builder immediately. Any subsequent Axiom objects won't - * be built or accessible. - */ - public static void closeImmediately(OMElement om) { - // Get the builder associated with the om element - OMXMLParserWrapper builder = om.getBuilder(); - if (builder != null) { - if (builder instanceof StAXBuilder) { - ((StAXBuilder)builder).releaseParserOnClose(true); - ((StAXBuilder)builder).close(); - } - // builder.close(); - } - } - - /** - * @param context - * @param element - */ - public 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()); - } - } - } - - public static OMElement createOMElement(OMFactory factory, QName element) { - String localName = element.getLocalPart(); - OMNamespace ns = createOMNamespace(factory, element); - - return factory.createOMElement(localName, ns); - - } - - public static OMElement createOMElement(OMFactory factory, QName element, OMDataSource dataSource) { - String localName = element.getLocalPart(); - OMNamespace ns = createOMNamespace(factory, element); - - return factory.createOMElement(dataSource, localName, ns); - - } - - /** - * @param factory - * @param name - * @return - */ - public static OMNamespace createOMNamespace(OMFactory factory, QName name) { - String namespaceURI = name.getNamespaceURI(); - String prefix = name.getPrefix(); - - OMNamespace ns = null; - - // Qualified Element: we need an OMNamespace - if (prefix.length() == 0) { - // The prefix does not appear to be specified, let's create one - prefix = DEFAULT_PREFIX; - } - ns = factory.createOMNamespace(namespaceURI, prefix); - - return ns; - } -} diff --git a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/Exception2OMElement.java b/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/Exception2OMElement.java deleted file mode 100644 index 429a6dbe5d..0000000000 --- a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/Exception2OMElement.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.axiom; - -import javax.xml.namespace.QName; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMAttribute; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; -import org.apache.axiom.om.OMNamespace; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.javabeans.Java2XMLMapperException; -import org.apache.tuscany.sca.databinding.javabeans.JavaBean2XMLTransformer; - -/** - * - * @version $Rev$ $Date$ - */ -public class Exception2OMElement extends JavaBean2XMLTransformer { - - public static final String GETCAUSE = "getCause"; - public static final String GETLOCALIZEDMESSAGE = "getLocalizedMessage"; - public static final String GETSTACKTRACE = "getStackTrace"; - public static final String GETCLASS = "getClass"; - - private OMFactory factory; - - public Exception2OMElement() { - super(); - factory = OMAbstractFactory.getOMFactory(); - } - - @Override - public OMElement transform(Object source, TransformationContext context) { - OMElement element = super.transform(source, context); - AxiomHelper.adjustElementName(context, element); - return element; - } - - @Override - protected boolean isMappedGetter(String methodName) { - if (GETCAUSE.equals(methodName) - || GETLOCALIZEDMESSAGE.equals(methodName) - || GETSTACKTRACE.equals(methodName) - || GETCLASS.equals(methodName)) { - return false; - } else { - return true; - } - } - - @Override - public void appendChild(OMElement parentElement, OMElement childElement) throws Java2XMLMapperException { - parentElement.addChild(childElement); - } - - @Override - public OMElement createElement(QName qName) throws Java2XMLMapperException { - return factory.createOMElement(qName); - } - - @Override - public void appendText(OMElement parentElement, String textData) throws Java2XMLMapperException { - if (textData == null) { - OMNamespace xsi = factory.createOMNamespace("http://www.w3.org/2001/XMLSchema-instance", "xsi"); - OMAttribute nil = factory.createOMAttribute("nil", xsi, "true"); - parentElement.addAttribute(nil); - } else { - factory.createOMText(parentElement, textData); - } - } - - @Override - public Class getTargetType() { - return OMElement.class; - } - -} diff --git a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/Externalizable2OMElement.java b/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/Externalizable2OMElement.java deleted file mode 100644 index e23d89327c..0000000000 --- a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/Externalizable2OMElement.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.databinding.axiom; - -import java.io.ByteArrayOutputStream; -import java.io.Externalizable; -import java.io.ObjectOutputStream; - -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.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; - -/** - * - * @version $Rev$ $Date$ - */ -public class Externalizable2OMElement extends BaseTransformer implements - PullTransformer { - - @Override - protected Class getSourceType() { - return Externalizable.class; - } - - @Override - protected Class getTargetType() { - return OMElement.class; - } - - public OMElement transform(Externalizable source, TransformationContext context) { - OMElement element = null; - - try { - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - ObjectOutputStream out = new ObjectOutputStream(bos); - out.writeObject(source); - out.close(); - OMFactory factory = OMAbstractFactory.getOMFactory(); - OMNamespace ns = AxiomHelper.createOMNamespace(factory, new QName("http://callable")); - element = factory.createOMElement("reference",ns); - element.setText(Base64Binary.encode(bos.toByteArray())); - return element; - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2Exception.java b/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2Exception.java deleted file mode 100644 index 3dc73c89cb..0000000000 --- a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2Exception.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.axiom; - -import java.util.Iterator; - -import javax.xml.namespace.QName; - -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMNode; -import org.apache.axiom.om.OMText; -import org.apache.tuscany.sca.databinding.javabeans.XML2JavaBeanTransformer; -import org.apache.tuscany.sca.databinding.javabeans.XML2JavaMapperException; - -/** - * Transformer to convert data from an OMElement to a Java Exception - * - * @version $Rev$ $Date$ - */ -public class OMElement2Exception extends XML2JavaBeanTransformer { - - @Override - public OMElement getRootElement(OMElement element) throws XML2JavaMapperException { - return element; - } - - @Override - public Iterator getChildElements(OMElement parent) throws XML2JavaMapperException { - return parent.getChildElements(); - } - - @Override - public String getElementName(OMElement element) throws XML2JavaMapperException { - return element.getLocalName(); - } - - @Override - public String getText(OMElement element) throws XML2JavaMapperException { - return element.getText(); - } - - @Override - public boolean isTextElement(OMElement element) throws XML2JavaMapperException { - return false; - } - - @Override - public boolean isTextOnly(OMElement element) throws XML2JavaMapperException { - OMNode firstChild = element.getFirstOMChild(); - return firstChild instanceof OMText && firstChild.getNextOMSibling() == null; - } - - @Override - public OMElement getFirstChildWithName(OMElement element, QName name) throws XML2JavaMapperException { - return element.getFirstChildWithName(name); - } - - @Override - public Class getSourceType() { - return OMElement.class; - } - -} diff --git a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2Externalizable.java b/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2Externalizable.java deleted file mode 100644 index ef7359fbcd..0000000000 --- a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2Externalizable.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.axiom; - -import java.io.ByteArrayInputStream; -import java.io.Externalizable; -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 XML String - * - * @version $Rev$ $Date$ - */ -public class OMElement2Externalizable extends BaseTransformer implements PullTransformer { - // private XmlOptions options; - - public Externalizable transform(OMElement source, TransformationContext context) { - try { - String value = source.getText(); - ByteArrayInputStream bis = new ByteArrayInputStream(Base64Binary.decode(value)); - ObjectInputStream ois = new ObjectInputStream(bis); - Object obj = ois.readObject(); - ois.close(); - Externalizable aReference = (Externalizable) obj; - return aReference; - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return OMElement.class; - } - - @Override - protected Class getTargetType() { - return Externalizable.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2Object.java b/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2Object.java deleted file mode 100644 index ea40e61746..0000000000 --- a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2Object.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.databinding.axiom; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.databinding.impl.SimpleType2JavaTransformer; - -/** - * Transformer to convert data from a simple java Object to OMElement. - * - * @version $Rev$ $Date$ - */ -public class OMElement2Object extends SimpleType2JavaTransformer { - - /** - * @see org.apache.tuscany.sca.databinding.impl.SimpleType2JavaTransformer#close(java.lang.Object) - */ - @Override - protected void close(OMElement source) { - if (source != null) { - AxiomHelper.completeAndClose(source); - } - } - - @Override - protected String getText(OMElement source) { - return source.getText(); - } - - @Override - public Class getSourceType() { - return OMElement.class; - } -} diff --git a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2String.java b/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2String.java deleted file mode 100644 index b2c004324c..0000000000 --- a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2String.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.axiom; - -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.TransformationException; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; - -/** - * Transformer to convert data from an OMElement to XML String - * - * @version $Rev$ $Date$ - */ -public class OMElement2String extends BaseTransformer implements PullTransformer { - // private XmlOptions options; - - public String transform(OMElement source, TransformationContext context) { - try { - StringWriter writer = new StringWriter(); - source.serialize(writer); - return writer.toString(); - } catch (XMLStreamException e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return OMElement.class; - } - - @Override - protected Class getTargetType() { - return String.class; - } - - @Override - public int getWeight() { - return 40; - } - -} diff --git a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2XMLStreamReader.java b/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2XMLStreamReader.java deleted file mode 100644 index 01e7003b20..0000000000 --- a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElement2XMLStreamReader.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.databinding.axiom; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamReader; - -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; - -/** - * - * @version $Rev$ $Date$ - */ -public class OMElement2XMLStreamReader extends BaseTransformer implements - PullTransformer { - // private XmlOptions options; - - public static final QName QNAME_NIL = new QName("http://www.w3.org/2001/XMLSchema-instance", "nil"); - - public XMLStreamReader transform(OMElement source, TransformationContext context) { - if (source == null) { - return null; - } else { - if ("true".equals(source.getAttributeValue(QNAME_NIL))) { - return null; - } else { - return source.getXMLStreamReader(); - } - } - } - - @Override - protected Class getSourceType() { - return OMElement.class; - } - - @Override - protected Class getTargetType() { - return XMLStreamReader.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElementWrapperHandler.java b/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElementWrapperHandler.java deleted file mode 100644 index 9084f09dc0..0000000000 --- a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/OMElementWrapperHandler.java +++ /dev/null @@ -1,251 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.axiom; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import javax.xml.XMLConstants; -import javax.xml.namespace.QName; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMAttribute; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; -import org.apache.axiom.om.OMNamespace; -import org.apache.tuscany.sca.databinding.WrapperHandler; -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.ElementInfo; -import org.apache.tuscany.sca.interfacedef.util.TypeInfo; -import org.apache.tuscany.sca.interfacedef.util.WrapperInfo; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -/** - * OMElement wrapper handler implementation - * - * @version $Rev$ $Date$ - */ -public class OMElementWrapperHandler implements WrapperHandler { - - private OMFactory factory; - - public OMElementWrapperHandler() { - super(); - this.factory = OMAbstractFactory.getOMFactory(); - } - - public OMElement create(Operation operation, boolean input) { - WrapperInfo wrapperInfo = operation.getWrapper(); - ElementInfo element = input ? wrapperInfo.getInputWrapperElement() : wrapperInfo.getOutputWrapperElement(); - // Class wrapperClass = input ? wrapperInfo.getInputWrapperClass() : wrapperInfo.getOutputWrapperClass(); - OMElement wrapper = AxiomHelper.createOMElement(factory, element.getQName()); - return wrapper; - } - - public void setChildren(OMElement wrapper, Object[] childObjects, Operation operation, boolean input) { - List childElements = - input ? operation.getWrapper().getInputChildElements() : operation.getWrapper().getOutputChildElements(); - for (int i = 0; i < childElements.size(); i++) { - setChild(wrapper, i, childElements.get(i), childObjects[i]); - } - - } - - public void setChild(OMElement wrapper, int i, ElementInfo childElement, Object value) { - if (childElement.isMany()) { - Object[] elements = (Object[])value; - if (value != null) { - for (Object e : elements) { - addChild(wrapper, childElement, (OMElement)e); - } - } - } else { - OMElement element = (OMElement)value; - addChild(wrapper, childElement, element); - } - } - - private void addChild(OMElement wrapper, ElementInfo childElement, OMElement element) { - if (element == null) { - OMElement e = wrapper.getOMFactory().createOMElement(childElement.getQName(), wrapper); - attachXSINil(e); - return; - } - QName elementName = childElement.getQName(); - // Make it a bit tolerating of element QName - if (!elementName.equals(element.getQName())) { - OMNamespace namespace = factory.createOMNamespace(elementName.getNamespaceURI(), elementName.getPrefix()); - element.setNamespace(namespace); - element.setLocalName(childElement.getQName().getLocalPart()); - } - wrapper.addChild(element); - } - - public List getChildren(OMElement wrapper, Operation operation, boolean input) { - List childElements = input? operation.getWrapper().getInputChildElements(): - operation.getWrapper().getOutputChildElements(); - - List elements = new ArrayList(); - int i = 0; - for (ElementInfo e : childElements) { - elements.add(getChild(wrapper, e, i)); - i++; - } - return elements; - } - - /** - * @see org.apache.tuscany.sca.databinding.WrapperHandler#getWrapperType(Operation, boolean) - */ - public DataType getWrapperType(Operation operation, boolean input) { - WrapperInfo wrapper = operation.getWrapper(); - ElementInfo element = input ? wrapper.getInputWrapperElement() : wrapper.getOutputWrapperElement(); - DataType wrapperType = - new DataTypeImpl(AxiomDataBinding.NAME, OMElement.class, new XMLType(element)); - return wrapperType; - } - - public boolean isInstance(Object wrapperObj, Operation operation, boolean input) { - WrapperInfo wrapperInfo = operation.getWrapper(); - ElementInfo element = input ? wrapperInfo.getInputWrapperElement() : wrapperInfo.getOutputWrapperElement(); - // List childElements = - // input ? wrapperInfo.getInputChildElements() : wrapperInfo.getOutputChildElements(); - OMElement wrapper = (OMElement)wrapperObj; - if (!element.getQName().equals(wrapper.getQName())) { - return false; - } - return true; - /* - Set names = new HashSet(); - for (ElementInfo e : childElements) { - names.add(e.getQName()); - } - for (Iterator i = wrapper.getChildElements(); i.hasNext();) { - OMElement child = (OMElement)i.next(); - if (!names.contains(child.getQName())) { - return false; - } - } - return true; - */ - } - - private static final QName XSI_TYPE_QNAME = new QName("http://www.w3.org/2001/XMLSchema-instance", "type", "xsi"); - - private List> getElements(OMElement wrapper) { - List> elements = new ArrayList>(); - List current = new ArrayList(); - elements.add(current); - boolean first = true; - QName last = null; - - for (Iterator i = wrapper.getChildElements(); i.hasNext();) { - OMElement element = (OMElement)i.next(); - if (first || element.getQName().equals(last)) { - current.add(element); - last = element.getQName(); - } else { - current = new ArrayList(); - elements.add(current); - current.add(element); - last = element.getQName(); - } - first = false; - } - return elements; - } - - public Object getChild(OMElement wrapper, ElementInfo childElement, int index) { - Iterator children = wrapper.getChildrenWithName(childElement.getQName()); - if (!children.hasNext()) { - // No name match, try by index - List> list = getElements(wrapper); - List elements = list.get(index); - if (!childElement.isMany()) { - return elements.isEmpty() ? null : attachXSIType(childElement, elements.get(0)); - } else { - Object[] array = elements.toArray(); - for (Object item : array) { - attachXSIType(childElement, (OMElement)item); - } - return array; - } - } - if (!childElement.isMany()) { - if (children.hasNext()) { - OMElement child = (OMElement)children.next(); - attachXSIType(childElement, child); - return child; - } else { - return null; - } - } else { - List elements = new ArrayList(); - for (; children.hasNext();) { - OMElement child = (OMElement)children.next(); - attachXSIType(childElement, child); - elements.add(child); - } - return elements.toArray(); - } - } - - /** - * Create xis:type if required - * @param childElement - * @param element - * @return - */ - private OMElement attachXSIType(ElementInfo childElement, OMElement element) { - TypeInfo type = childElement.getType(); - if (type != null && type.getQName() != null) { - OMAttribute attr = element.getAttribute(XSI_TYPE_QNAME); - if (attr == null) { - String typeNS = type.getQName().getNamespaceURI(); - if (XMLConstants.W3C_XML_SCHEMA_NS_URI.equals(typeNS)) { - return element; - } - OMNamespace ns = element.getOMFactory().createOMNamespace(typeNS, "_typens_"); - element.declareNamespace(ns); - OMNamespace xsiNS = - element.getOMFactory().createOMNamespace(XSI_TYPE_QNAME.getNamespaceURI(), - XSI_TYPE_QNAME.getPrefix()); - element.declareNamespace(xsiNS); - attr = - element.getOMFactory().createOMAttribute("type", - xsiNS, - "_typens_:" + type.getQName().getLocalPart()); - element.addAttribute(attr); - } - } - return element; - } - - private void attachXSINil(OMElement element) { - OMNamespace xsiNS = - element.getOMFactory().createOMNamespace(XSI_TYPE_QNAME.getNamespaceURI(), XSI_TYPE_QNAME.getPrefix()); - element.declareNamespace(xsiNS); - OMAttribute attr = element.getOMFactory().createOMAttribute("nil", xsiNS, "true"); - element.addAttribute(attr); - } -} diff --git a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/Object2OMElement.java b/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/Object2OMElement.java deleted file mode 100644 index 88d6b462c1..0000000000 --- a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/Object2OMElement.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.databinding.axiom; - -import javax.xml.namespace.QName; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMAttribute; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; -import org.apache.axiom.om.OMNamespace; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.Java2SimpleTypeTransformer; - -/** - * Transformer to convert data from an simple OMElement to Java Object - * - * @version $Rev$ $Date$ - */ -public class Object2OMElement extends Java2SimpleTypeTransformer { - - private OMFactory factory; - - public Object2OMElement() { - super(); - factory = OMAbstractFactory.getOMFactory(); - } - - @Override - protected OMElement createElement(QName element, String text, TransformationContext context) { - OMElement omElement = AxiomHelper.createOMElement(factory, element); - if (text == null) { - OMNamespace xsi = factory.createOMNamespace("http://www.w3.org/2001/XMLSchema-instance", "xsi"); - OMAttribute nil = factory.createOMAttribute("nil", xsi, "true"); - omElement.addAttribute(nil); - } else { - factory.createOMText(omElement, text); - } - return omElement; - } - - @Override - public Class getTargetType() { - return OMElement.class; - } - -} diff --git a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/String2OMElement.java b/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/String2OMElement.java deleted file mode 100644 index 9eccd52d74..0000000000 --- a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/String2OMElement.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.axiom; - -import java.io.ByteArrayInputStream; - -import org.apache.axiom.om.OMElement; -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; - -/** - * - * @version $Rev$ $Date$ - */ -public class String2OMElement extends BaseTransformer implements - PullTransformer { - - @SuppressWarnings("unchecked") - public OMElement transform(String source, TransformationContext context) { - try { - StAXOMBuilder builder = new StAXOMBuilder(new ByteArrayInputStream(source.getBytes())); - OMElement element = builder.getDocumentElement(); - AxiomHelper.adjustElementName(context, element); - return element; - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getTargetType() { - return OMElement.class; - } - - @Override - protected Class getSourceType() { - return String.class; - } - - @Override - public int getWeight() { - return 40; - } - -} diff --git a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/XMLStreamReader2OMElement.java b/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/XMLStreamReader2OMElement.java deleted file mode 100644 index 761185c297..0000000000 --- a/java/sca/contrib/modules/databinding-axiom/src/main/java/org/apache/tuscany/sca/databinding/axiom/XMLStreamReader2OMElement.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.axiom; - -import javax.xml.stream.XMLStreamReader; - -import org.apache.axiom.om.OMElement; -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; - -/** - * - * @version $Rev$ $Date$ - */ -public class XMLStreamReader2OMElement extends BaseTransformer implements - PullTransformer { - - public XMLStreamReader2OMElement() { - super(); - } - - public OMElement transform(XMLStreamReader source, TransformationContext context) { - if (source == null) { - return null; - } - try { - StAXOMBuilder builder = new StAXOMBuilder(source); - OMElement element = builder.getDocumentElement(); - AxiomHelper.adjustElementName(context, element); - return element; - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getTargetType() { - return OMElement.class; - } - - @Override - protected Class getSourceType() { - return XMLStreamReader.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/java/sca/contrib/modules/databinding-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding b/java/sca/contrib/modules/databinding-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding deleted file mode 100644 index 183270f9b4..0000000000 --- a/java/sca/contrib/modules/databinding-axiom/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.axiom.AxiomDataBinding;name=org.apache.axiom.om.OMElement - diff --git a/java/sca/contrib/modules/databinding-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer b/java/sca/contrib/modules/databinding-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer deleted file mode 100644 index 9c2357d4f4..0000000000 --- a/java/sca/contrib/modules/databinding-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer +++ /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. - -# Implementation classes for the transformers -# org.apache.tuscany.sca.databinding.axiom.CallableReference2OMElement;source=org.oasisopen.sca.CallableReference,target=org.apache.axiom.om.OMElement,weight=10 -# org.apache.tuscany.sca.databinding.axiom.OMElement2CallableReference;source=org.apache.axiom.om.OMElement,target=org.oasisopen.sca.CallableReference,weight=10 -org.apache.tuscany.sca.databinding.axiom.Externalizable2OMElement;source=java.io.Externalizable,target=org.apache.axiom.om.OMElement,weight=10 -org.apache.tuscany.sca.databinding.axiom.OMElement2Externalizable;source=org.apache.axiom.om.OMElement,target=java.io.Externalizable,weight=10 -org.apache.tuscany.sca.databinding.axiom.Exception2OMElement;source=java:exception,target=org.apache.axiom.om.OMElement,weight=10 -org.apache.tuscany.sca.databinding.axiom.OMElement2Exception;source=org.apache.axiom.om.OMElement,target=java:exception,weight=10 -# org.apache.tuscany.sca.databinding.axiom.Object2OMElement;source=java:simpleType,target=org.apache.axiom.om.OMElement,weight=80000 -# org.apache.tuscany.sca.databinding.axiom.OMElement2Object;source=org.apache.axiom.om.OMElement,target=java:simpleType,weight=80000 -org.apache.tuscany.sca.databinding.axiom.OMElement2String;source=org.apache.axiom.om.OMElement,target=java.lang.String,weight=80 -org.apache.tuscany.sca.databinding.axiom.OMElement2XMLStreamReader;source=org.apache.axiom.om.OMElement,target=javax.xml.stream.XMLStreamReader,weight=60 -org.apache.tuscany.sca.databinding.axiom.String2OMElement;source=java.lang.String,target=org.apache.axiom.om.OMElement,weight=80 -org.apache.tuscany.sca.databinding.axiom.XMLStreamReader2OMElement;source=javax.xml.stream.XMLStreamReader,target=org.apache.axiom.om.OMElement,weight=60 diff --git a/java/sca/contrib/modules/databinding-axiom/src/test/java/org/apache/tuscany/sca/databinding/axiom/OMElementTestCase.java b/java/sca/contrib/modules/databinding-axiom/src/test/java/org/apache/tuscany/sca/databinding/axiom/OMElementTestCase.java deleted file mode 100644 index 7453cb787a..0000000000 --- a/java/sca/contrib/modules/databinding-axiom/src/test/java/org/apache/tuscany/sca/databinding/axiom/OMElementTestCase.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.databinding.axiom; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamReader; - -import junit.framework.Assert; -import junit.framework.TestCase; - -import org.apache.axiom.om.OMAttribute; -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.SimpleTypeMapperImpl; -import org.apache.tuscany.sca.databinding.impl.TransformationContextImpl; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -/** - * - * @version $Rev$ $Date$ - */ -public class OMElementTestCase extends TestCase { - private static final String IPO_XML = - "" + "" - + " " - + " Helen Zoe" - + " 47 Eden Street" - + " Cambridge" - + " CB1 1JR" - + " " - + " " - + " Robert Smith" - + " 8 Oak Avenue" - + " Old Town" - + " PA" - + " 95819" - + " " - + " " - + " " - + " Lapis necklace" - + " 1" - + " 99.95" - + " Want this for the holidays" - + " 1999-12-05" - + " " - + " " - + ""; - - public final void testStringTransform() { - String2OMElement t1 = new String2OMElement(); - OMElement element = t1.transform(IPO_XML, null); - OMElement2String t2 = new OMElement2String(); - String xml = t2.transform(element, null); - Assert.assertNotNull(xml); - Assert.assertNotNull(xml.indexOf("") != -1); - } - - public final void testStringTransform2() { - String str = - "Robert"; - String2OMElement t1 = new String2OMElement(); - OMElement element = t1.transform(str, null); - OMElement2String t2 = new OMElement2String(); - String xml = t2.transform(element, null); - Assert.assertNotNull(xml); - Assert.assertNotNull(xml.indexOf("") != -1); - } - - public final void testStAXTransform() { - String2OMElement t1 = new String2OMElement(); - OMElement element = t1.transform(IPO_XML, null); - - OMElement2XMLStreamReader t2 = new OMElement2XMLStreamReader(); - XMLStreamReader reader = t2.transform(element, null); - - XMLStreamReader2OMElement t3 = new XMLStreamReader2OMElement(); - OMElement element2 = t3.transform(reader, null); - - Assert.assertEquals(element2.getQName(), element.getQName()); - Assert.assertEquals(new QName("http://www.example.com/IPO", "purchaseOrder"), element2.getQName()); - } - - public final void testCopy() { - String2OMElement t1 = new String2OMElement(); - OMElement element = t1.transform(IPO_XML, null); - OMElement copy = (OMElement)new AxiomDataBinding().copy(element, null, null); - assertNotSame(element, copy); - assertEquals(new QName("http://www.example.com/IPO", "purchaseOrder"), copy.getQName()); - } - - private static final QName XSI_NIL = new QName("http://www.w3.org/2001/XMLSchema-instance", "nil", "xsi"); - - public final void testNil() { - Object2OMElement t1 = new Object2OMElement(); - TransformationContext context = new TransformationContextImpl(); - DataType dataType = - new DataTypeImpl(int.class, new XMLType(new QName("http://ns1", "nilElement"), - SimpleTypeMapperImpl.XSD_INT)); - context.setTargetDataType(dataType); - OMElement element = t1.transform(null, context); - OMAttribute attribute = element.getAttribute(XSI_NIL); - Assert.assertNotNull(attribute); - Assert.assertEquals("true", attribute.getAttributeValue()); - } - -} diff --git a/java/sca/contrib/modules/databinding-axiom/src/test/resources/ipo.xml b/java/sca/contrib/modules/databinding-axiom/src/test/resources/ipo.xml deleted file mode 100644 index df901d183d..0000000000 --- a/java/sca/contrib/modules/databinding-axiom/src/test/resources/ipo.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - Helen Zoe - 47 Eden Street - Cambridge - CB1 1JR - - - - Robert Smith - 8 Oak Avenue - Old Town - PA - 95819 - - - - - Lapis necklace - 1 - 99.95 - Want this for the holidays - 1999-12-05 - - - - diff --git a/java/sca/contrib/modules/databinding-axiom/src/test/resources/ipo.xsd b/java/sca/contrib/modules/databinding-axiom/src/test/resources/ipo.xsd deleted file mode 100755 index af1e73172d..0000000000 --- a/java/sca/contrib/modules/databinding-axiom/src/test/resources/ipo.xsd +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - International Purchase order schema for Example.com - Copyright 2000 Example.com. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/databinding-axiom/src/test/resources/order.wsdl b/java/sca/contrib/modules/databinding-axiom/src/test/resources/order.wsdl deleted file mode 100644 index a5ead60382..0000000000 --- a/java/sca/contrib/modules/databinding-axiom/src/test/resources/order.wsdl +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/databinding-fastinfoset/LICENSE b/java/sca/contrib/modules/databinding-fastinfoset/LICENSE deleted file mode 100644 index d645695673..0000000000 --- a/java/sca/contrib/modules/databinding-fastinfoset/LICENSE +++ /dev/null @@ -1,202 +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/java/sca/contrib/modules/databinding-fastinfoset/NOTICE b/java/sca/contrib/modules/databinding-fastinfoset/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/databinding-fastinfoset/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/databinding-fastinfoset/pom.xml b/java/sca/contrib/modules/databinding-fastinfoset/pom.xml deleted file mode 100644 index 4d83d1875d..0000000000 --- a/java/sca/contrib/modules/databinding-fastinfoset/pom.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-databinding-fastinfoset - Apache Tuscany Data Binding for FastInfoset - Tuscany FastInfoset Data Binding - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-databinding - 2.0-SNAPSHOT - - - - com.sun.xml.fastinfoset - FastInfoset - 1.2.2 - compile - - - - junit - junit - 4.1 - - - - - - true - - java.net - java.net Maven 1.x Repository - http://download.java.net/maven/1 - legacy - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.databinding.fastinfoset - ${pom.name} - org.apache.tuscany.sca.databinding.fastinfoset* - - - - - - - diff --git a/java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/FastInfoset2Node.java b/java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/FastInfoset2Node.java deleted file mode 100644 index 2e0aa629f3..0000000000 --- a/java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/FastInfoset2Node.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.fastinfoset; - -import java.io.InputStream; - -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.sun.xml.fastinfoset.dom.DOMDocumentParser; - -/** - * @version $Rev$ $Date$ - */ -public class FastInfoset2Node extends BaseTransformer implements - PullTransformer { - - @Override - protected Class getSourceType() { - return InputStream.class; - } - - @Override - protected Class getTargetType() { - return Node.class; - } - - public Node transform(InputStream source, TransformationContext context) { - try { - DOMDocumentParser parser = new DOMDocumentParser(); - Document doc = DOMHelper.newDocument(); - parser.parse(doc, source); - return doc.getDocumentElement(); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public int getWeight() { - return 20; - } - - @Override - public String getSourceDataBinding() { - return "xml:fastinfoset:java.io.InputStream"; - } -} diff --git a/java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/FastInfoset2SAX.java b/java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/FastInfoset2SAX.java deleted file mode 100644 index 77f6b77636..0000000000 --- a/java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/FastInfoset2SAX.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.fastinfoset; - -import java.io.InputStream; - -import org.apache.tuscany.sca.databinding.PushTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.TransformationException; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.xml.sax.ContentHandler; - -import com.sun.xml.fastinfoset.sax.SAXDocumentParser; - -/** - * @version $Rev$ $Date$ - */ -public class FastInfoset2SAX extends BaseTransformer implements - PushTransformer { - - @Override - protected Class getSourceType() { - return InputStream.class; - } - - @Override - protected Class getTargetType() { - return ContentHandler.class; - } - - - /** - * @see org.apache.tuscany.sca.databinding.PushTransformer#transform(java.lang.Object, java.lang.Object, org.apache.tuscany.sca.databinding.TransformationContext) - */ - public void transform(InputStream source, ContentHandler target, TransformationContext context) { - try { - SAXDocumentParser parser = new SAXDocumentParser(); - parser.setContentHandler(target); - parser.parse(source); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public int getWeight() { - return 20; - } - - @Override - public String getSourceDataBinding() { - return "xml:fastinfoset:java.io.InputStream"; - } -} diff --git a/java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/FastInfoset2XMLStreamReader.java b/java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/FastInfoset2XMLStreamReader.java deleted file mode 100644 index 73d549f4f8..0000000000 --- a/java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/FastInfoset2XMLStreamReader.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.databinding.fastinfoset; - -import java.io.InputStream; - -import javax.xml.stream.XMLStreamReader; - -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 com.sun.xml.fastinfoset.stax.StAXDocumentParser; - -/** - * @version $Rev$ $Date$ - */ -public class FastInfoset2XMLStreamReader extends BaseTransformer implements - PullTransformer { - - @Override - protected Class getSourceType() { - return InputStream.class; - } - - @Override - protected Class getTargetType() { - return XMLStreamReader.class; - } - - public XMLStreamReader transform(InputStream source, TransformationContext context) { - try { - StAXDocumentParser parser = new StAXDocumentParser(source); - return parser; - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public int getWeight() { - return 20; - } - - @Override - public String getSourceDataBinding() { - return "xml:fastinfoset:java.io.InputStream"; - } -} diff --git a/java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/Node2FastInfoset.java b/java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/Node2FastInfoset.java deleted file mode 100644 index 1c12a5dcad..0000000000 --- a/java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/Node2FastInfoset.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.fastinfoset; - -import java.io.OutputStream; - -import org.apache.tuscany.sca.databinding.PushTransformer; -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.Node; - -import com.sun.xml.fastinfoset.dom.DOMDocumentSerializer; - -/** - * @version $Rev$ $Date$ - */ -public class Node2FastInfoset extends BaseTransformer implements - PushTransformer { - - @Override - protected Class getSourceType() { - return Node.class; - } - - @Override - protected Class getTargetType() { - return OutputStream.class; - } - - - /** - * @see org.apache.tuscany.sca.databinding.PushTransformer#transform(java.lang.Object, java.lang.Object, org.apache.tuscany.sca.databinding.TransformationContext) - */ - public void transform(Node source, OutputStream target, TransformationContext context) { - try { - DOMDocumentSerializer serializer = new DOMDocumentSerializer(); - serializer.setOutputStream(target); - serializer.serialize(source); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public int getWeight() { - return 20; - } - - @Override - public String getTargetDataBinding() { - return "xml:fastinfoset:java.io.OutputStream"; - } -} diff --git a/java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/XMLInputStream2FastInfoset.java b/java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/XMLInputStream2FastInfoset.java deleted file mode 100644 index b0d56b3bb6..0000000000 --- a/java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/XMLInputStream2FastInfoset.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.databinding.fastinfoset; - -import java.io.InputStream; -import java.io.OutputStream; - -import javax.xml.parsers.SAXParser; -import javax.xml.parsers.SAXParserFactory; - -import org.apache.tuscany.sca.databinding.PushTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.TransformationException; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; - -import com.sun.xml.fastinfoset.sax.SAXDocumentSerializer; - -/** - * @version $Rev$ $Date$ - */ -public class XMLInputStream2FastInfoset extends BaseTransformer implements - PushTransformer { - - @Override - protected Class getSourceType() { - return InputStream.class; - } - - @Override - protected Class getTargetType() { - return OutputStream.class; - } - - /** - * @see org.apache.tuscany.sca.databinding.PushTransformer#transform(java.lang.Object, java.lang.Object, org.apache.tuscany.sca.databinding.TransformationContext) - */ - public void transform(InputStream source, OutputStream target, TransformationContext context) { - try { - - // Create Fast Infoset SAX serializer - SAXDocumentSerializer saxDocumentSerializer = new SAXDocumentSerializer(); - // Set the output stream - saxDocumentSerializer.setOutputStream(target); - - // Instantiate JAXP SAX parser factory - SAXParserFactory saxParserFactory = SAXParserFactory.newInstance(); - /* Set parser to be namespace aware - * Very important to do otherwise invalid FI documents will be - * created by the SAXDocumentSerializer - */ - saxParserFactory.setNamespaceAware(true); - // Instantiate the JAXP SAX parser - SAXParser saxParser = saxParserFactory.newSAXParser(); - // Set the lexical handler - saxParser.setProperty("http://xml.org/sax/properties/lexical-handler", saxDocumentSerializer); - // Parse the XML document and convert to a fast infoset document - saxParser.parse(source, saxDocumentSerializer); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public int getWeight() { - return 20; - } - - @Override - public String getTargetDataBinding() { - return "xml:fastinfoset:java.io.OutputStream"; - } -} diff --git a/java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/XMLStreamReader2FastInfoset.java b/java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/XMLStreamReader2FastInfoset.java deleted file mode 100644 index d18206600c..0000000000 --- a/java/sca/contrib/modules/databinding-fastinfoset/src/main/java/org/apache/tuscany/sca/databinding/fastinfoset/XMLStreamReader2FastInfoset.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.databinding.fastinfoset; - -import java.io.OutputStream; - -import javax.xml.stream.XMLStreamReader; - -import org.apache.tuscany.sca.databinding.PushTransformer; -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.xml.XMLStreamSerializer; - -import com.sun.xml.fastinfoset.stax.StAXDocumentSerializer; - -/** - * @version $Rev$ $Date$ - */ -public class XMLStreamReader2FastInfoset extends BaseTransformer implements - PushTransformer { - - @Override - protected Class getSourceType() { - return XMLStreamReader.class; - } - - @Override - protected Class getTargetType() { - return OutputStream.class; - } - - - /** - * @see org.apache.tuscany.sca.databinding.PushTransformer#transform(java.lang.Object, java.lang.Object, org.apache.tuscany.sca.databinding.TransformationContext) - */ - public void transform(XMLStreamReader source, OutputStream target, TransformationContext context) { - try { - StAXDocumentSerializer serializer = new StAXDocumentSerializer(target); - XMLStreamSerializer streamSerializer = new XMLStreamSerializer(); - streamSerializer.serialize(source, serializer); - serializer.flush(); - source.close(); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public int getWeight() { - return 20; - } - - @Override - public String getTargetDataBinding() { - return "xml:fastinfoset:java.io.OutputStream"; - } -} diff --git a/java/sca/contrib/modules/databinding-fastinfoset/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer b/java/sca/contrib/modules/databinding-fastinfoset/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer deleted file mode 100644 index ea47ee7191..0000000000 --- a/java/sca/contrib/modules/databinding-fastinfoset/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer +++ /dev/null @@ -1,22 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT 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 transformers -org.apache.tuscany.sca.databinding.fastinfoset.FastInfoset2Node;source=xml:fastinfoset:java.io.InputStream,target=org.w3c.dom.Node,weight=100 -org.apache.tuscany.sca.databinding.fastinfoset.FastInfoset2XMLStreamReader;source=xml:fastinfoset:java.io.InputStream,target=javax.xml.stream.XMLStreamReader,weight=80 - - diff --git a/java/sca/contrib/modules/databinding-fastinfoset/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PushTransformer b/java/sca/contrib/modules/databinding-fastinfoset/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PushTransformer deleted file mode 100644 index 1610b4f54d..0000000000 --- a/java/sca/contrib/modules/databinding-fastinfoset/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PushTransformer +++ /dev/null @@ -1,22 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT 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 transformers -org.apache.tuscany.sca.databinding.fastinfoset.FastInfoset2SAX;source=xml:fastinfoset:java.io.InputStream,target=org.xml.sax.ContentHandler ,weight=80 -org.apache.tuscany.sca.databinding.fastinfoset.Node2FastInfoset;source=org.w3c.dom.Node,target=xml:fastinfoset:java.io.OutputStream,weight=100 -org.apache.tuscany.sca.databinding.fastinfoset.XMLInputStream2FastInfoset;source=java.io.InputStream,target=xml:fastinfoset:java.io.OutputStream,weight=120 -org.apache.tuscany.sca.databinding.fastinfoset.XMLStreamReader2FastInfoset;source=javax.xml.stream.XMLStreamReader,target=xml:fastinfoset:java.io.OutputStream,weight=70 diff --git a/java/sca/contrib/modules/databinding-fastinfoset/src/test/java/org/apache/tuscany/sca/databinding/fastinfoset/FastInfosetTransformerTestCase.java b/java/sca/contrib/modules/databinding-fastinfoset/src/test/java/org/apache/tuscany/sca/databinding/fastinfoset/FastInfosetTransformerTestCase.java deleted file mode 100644 index bb8adf39be..0000000000 --- a/java/sca/contrib/modules/databinding-fastinfoset/src/test/java/org/apache/tuscany/sca/databinding/fastinfoset/FastInfosetTransformerTestCase.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.databinding.fastinfoset; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.io.StringReader; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamReader; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.databinding.xml.InputStream2Node; -import org.apache.tuscany.sca.databinding.xml.Node2OutputStream; -import org.apache.tuscany.sca.databinding.xml.Node2String; -import org.w3c.dom.Node; - -/** - * - * @version $Rev$ $Date$ - */ -public class FastInfosetTransformerTestCase extends TestCase { - private static final String IPO_XML = - "" + "" - + " " - + " Helen Zoe" - + " 47 Eden Street" - + " Cambridge" - + " CB1 1JR" - + " " - + " " - + " Robert Smith" - + " 8 Oak Avenue" - + " Old Town" - + " PA" - + " 95819" - + " " - + " " - + " " - + " Lapis necklace" - + " 1" - + " 99.95" - + " Want this for the holidays" - + " 1999-12-05" - + " " - + " " - + ""; - - public void testXML2FastInfoset() throws Exception { - XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(new StringReader(IPO_XML)); - XMLStreamReader2FastInfoset t1 = new XMLStreamReader2FastInfoset(); - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - - t1.transform(reader, bos, null); - // System.out.println(bos.toString()); - - ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray()); - FastInfoset2Node t2 = new FastInfoset2Node(); - Node node = t2.transform(bis, null); - String xml = new Node2String().transform(node, null); - - // System.out.println(xml); - - } - - public void testPerf() throws Exception { - byte[] str = IPO_XML.getBytes(); - ByteArrayInputStream bis = new ByteArrayInputStream(str); - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - XMLInputStream2FastInfoset t = new XMLInputStream2FastInfoset(); - t.transform(bis, bos, null); - byte[] fast = bos.toByteArray(); - System.out.println(str.length + ".vs." + fast.length); - - long d1 = 0L; - long d2 = 0L; - for (int i = 0; i < 100; i++) { - InputStream2Node t1 = new InputStream2Node(); - FastInfoset2Node t2 = new FastInfoset2Node(); - InputStream is1 = new ByteArrayInputStream(str); - InputStream is2 = new ByteArrayInputStream(fast); - long s1 = System.currentTimeMillis(); - Node n1 = t1.transform(is1, null); - long s2 = System.currentTimeMillis(); - Node n2 = t2.transform(is2, null); - long s3 = System.currentTimeMillis(); - d1 += s2 - s1; // from plain xml - d2 += s3 - s2; // from fastinfoset - Node2OutputStream t3 = new Node2OutputStream(); - Node2FastInfoset t4 = new Node2FastInfoset(); - ByteArrayOutputStream os1 = new ByteArrayOutputStream(); - ByteArrayOutputStream os2 = new ByteArrayOutputStream(); - long s4 = System.currentTimeMillis(); - t3.transform(n1, os1, null); - long s5 = System.currentTimeMillis(); - t4.transform(n2, os2, null); - long s6 = System.currentTimeMillis(); - d1 += s5 - s4; // to plain xml - d2 += s6 - s5; // to fastinfoset - } - System.out.println("POX " + d1 + ".vs. FIS " + d2); - } - -} diff --git a/java/sca/contrib/modules/databinding-fastinfoset/src/test/resources/ipo.xsd b/java/sca/contrib/modules/databinding-fastinfoset/src/test/resources/ipo.xsd deleted file mode 100644 index 5a493e1746..0000000000 --- a/java/sca/contrib/modules/databinding-fastinfoset/src/test/resources/ipo.xsd +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - International Purchase order schema for Example.com - Copyright 2000 Example.com. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/databinding-jaxb-axiom/LICENSE b/java/sca/contrib/modules/databinding-jaxb-axiom/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb-axiom/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/java/sca/contrib/modules/databinding-jaxb-axiom/NOTICE b/java/sca/contrib/modules/databinding-jaxb-axiom/NOTICE deleted file mode 100644 index 51042eab05..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb-axiom/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/databinding-jaxb-axiom/pom.xml b/java/sca/contrib/modules/databinding-jaxb-axiom/pom.xml deleted file mode 100644 index 7fb2b65669..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb-axiom/pom.xml +++ /dev/null @@ -1,189 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-databinding-jaxb-axiom - Apache Tuscany SCA Data Binding for JAXB-AXIOM - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-databinding-jaxb - 2.0-SNAPSHOT - - - org.apache.ws.commons.axiom - axiom-api - 1.2.7 - - - xerces - xercesImpl - - - javax.mail - mail - - - commons-logging - commons-logging - - - xml-apis - xml-apis - - - - - - org.apache.ws.commons.axiom - axiom-impl - 1.2.7 - runtime - - - - - - - true - - java.net - java.net Maven 1.x Repository - http://download.java.net/maven/1 - legacy - - - - - - java.net2 - java.net Maven 2.x Repository - http://download.java.net/maven/2 - - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - copy - generate-sources - - copy - - - - - javax.xml.bind - jaxb-api - 2.1 - jar - - - ${project.build.directory}/endorsed - false - true - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - -Djava.endorsed.dirs=target/endorsed - - - - org.codehaus.mojo - build-helper-maven-plugin - 1.0 - - - add-test-source - generate-sources - - add-test-source - - - - target/jaxb-source - - - - - - - - org.jvnet.jaxb2.maven2 - maven-jaxb2-plugin - 0.5 - - - generate-jaxb - generate-test-sources - - generate - - - - - com.example.ipo.jaxb - ${project.build.directory}/jaxb-source - ${basedir}/src/test/resources - - ipo.xsd - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.databinding.jaxb.axiom - ${pom.name} - org.apache.tuscany.sca.databinding.jaxb.axiom* - - - - - - - - diff --git a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/AxiomHelper.java b/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/AxiomHelper.java deleted file mode 100644 index 93277e77bf..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/AxiomHelper.java +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb.axiom; - -import javax.xml.namespace.QName; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMDataSource; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; -import org.apache.axiom.om.OMNamespace; -import org.apache.axiom.om.OMXMLParserWrapper; -import org.apache.axiom.om.impl.builder.StAXBuilder; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -/** - * Helper for AXIOM - * - * @version $Rev$ $Date$ - */ -public class AxiomHelper { - private static final String DEFAULT_PREFIX = "_ns_"; - - private AxiomHelper() { - } - - /** - * See http://issues.apache.org/jira/browse/WSCOMMONS-240 - * @param om - */ - public static void completeAndClose(OMElement om) { - // Get the builder associated with the om element - OMXMLParserWrapper builder = om.getBuilder(); - if (builder != null) { - if (builder instanceof StAXBuilder) { - ((StAXBuilder)builder).releaseParserOnClose(true); - } - OMElement document = builder.getDocumentElement(); - if (document != null) { - document.build(); - } - } - if (builder instanceof StAXBuilder) { - ((StAXBuilder)builder).close(); - } - } - - /** - * This method will close the builder immediately. Any subsequent Axiom objects won't - * be built or accessible. - */ - public static void closeImmediately(OMElement om) { - // Get the builder associated with the om element - OMXMLParserWrapper builder = om.getBuilder(); - if (builder != null) { - if (builder instanceof StAXBuilder) { - ((StAXBuilder)builder).releaseParserOnClose(true); - ((StAXBuilder)builder).close(); - } - // builder.close(); - } - } - - /** - * @param context - * @param element - */ - public 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()); - } - } - } - - public static OMElement createOMElement(OMFactory factory, QName element) { - String localName = element.getLocalPart(); - OMNamespace ns = createOMNamespace(factory, element); - - return factory.createOMElement(localName, ns); - - } - - public static OMElement createOMElement(OMFactory factory, QName element, OMDataSource dataSource) { - String localName = element.getLocalPart(); - OMNamespace ns = createOMNamespace(factory, element); - - return factory.createOMElement(dataSource, localName, ns); - - } - - /** - * @param factory - * @param name - * @return - */ - public static OMNamespace createOMNamespace(OMFactory factory, QName name) { - String namespaceURI = name.getNamespaceURI(); - String prefix = name.getPrefix(); - - OMNamespace ns = null; - // Qualified Element: we need an OMNamespace - if (prefix.length() == 0) { - // The prefix does not appear to be specified, let's create one - prefix = DEFAULT_PREFIX; - } - ns = factory.createOMNamespace(namespaceURI, prefix); - return ns; - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/JAXB2OMElement.java b/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/JAXB2OMElement.java deleted file mode 100644 index c4726ad8fa..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/JAXB2OMElement.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.databinding.jaxb.axiom; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -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.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.jaxb.JAXBContextHelper; -import org.apache.tuscany.sca.databinding.jaxb.JAXBDataBinding; - -/** - * JAXB Object --> AXIOM OMElement transformer - * - * @version $Rev$ $Date$ - */ -public class JAXB2OMElement extends BaseTransformer implements PullTransformer { - private OMFactory factory = OMAbstractFactory.getOMFactory(); - - @Override - public String getSourceDataBinding() { - return JAXBDataBinding.NAME; - } - - @SuppressWarnings("unchecked") - public OMElement transform(Object source, TransformationContext context) throws TransformationException { - JAXBContext jaxbContext; - try { - jaxbContext = JAXBContextHelper.createJAXBContext(context, true); - } catch (JAXBException e) { - throw new TransformationException(e); - } - Object element = JAXBContextHelper.createJAXBElement(jaxbContext, context.getTargetDataType(), source); - QName name = jaxbContext.createJAXBIntrospector().getElementName(element); - JAXBDataSource dataSource = new JAXBDataSource(element, jaxbContext); - OMElement omElement = AxiomHelper.createOMElement(factory, name, dataSource); - return omElement; - } - - @Override - public Class getSourceType() { - return Object.class; - } - - @Override - public Class getTargetType() { - return OMElement.class; - } - - @Override - public int getWeight() { - return 3000; - } - -} diff --git a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/JAXBDataSource.java b/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/JAXBDataSource.java deleted file mode 100644 index b6fa362ed9..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/JAXBDataSource.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.databinding.jaxb.axiom; - -import java.io.OutputStream; -import java.io.StringReader; -import java.io.StringWriter; -import java.io.Writer; -import java.security.AccessController; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Marshaller; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.axiom.om.OMDataSource; -import org.apache.axiom.om.OMOutputFormat; -import org.apache.axiom.om.util.StAXUtils; -import org.apache.tuscany.sca.databinding.jaxb.JAXBContextHelper; - -/** - * - * @version $Rev$ $Date$ - */ -public class JAXBDataSource implements OMDataSource { - private JAXBContext context; - private Object element; - private Marshaller marshaller; - - public JAXBDataSource(Object element, JAXBContext context) { - this.element = element; - this.context = context; - } - - private Marshaller getMarshaller() throws JAXBException { - if (marshaller == null) { - // For thread safety, not sure we can cache the marshaller - marshaller = JAXBContextHelper.getMarshaller(context); - } - return marshaller; - } - - private void releaseMarshaller(Marshaller marshaller) { - JAXBContextHelper.releaseJAXBMarshaller(context, marshaller); - } - - public XMLStreamReader getReader() throws XMLStreamException { - // FIXME: [rfeng] This is a quick and dirty implementation - // We could use the fastinfoset to optimize the roundtrip - StringWriter writer = new StringWriter(); - serialize(writer, new OMOutputFormat()); - StringReader reader = new StringReader(writer.toString()); - return StAXUtils.createXMLStreamReader(reader); - } - - public void serialize(final XMLStreamWriter xmlWriter) throws XMLStreamException { - try { - // marshaller.setProperty(Marshaller.JAXB_ENCODING, format.getCharSetEncoding()); - AccessController.doPrivileged(new PrivilegedExceptionAction() { - public Object run() throws Exception { - try { - Marshaller marshaller = getMarshaller(); - marshaller.marshal(element, xmlWriter); - } finally { - releaseMarshaller(marshaller); - } - return null; - } - }); - } catch (PrivilegedActionException e) { - throw new XMLStreamException(e.getException()); - } - } - - public void serialize(final OutputStream output, OMOutputFormat format) throws XMLStreamException { - try { - // marshaller.setProperty(Marshaller.JAXB_ENCODING, format.getCharSetEncoding()); - AccessController.doPrivileged(new PrivilegedExceptionAction() { - public Object run() throws Exception { - try { - Marshaller marshaller = getMarshaller(); - marshaller.marshal(element, output); - } finally { - releaseMarshaller(marshaller); - } - return null; - } - }); - } catch (PrivilegedActionException e) { - throw new XMLStreamException(e.getException()); - } - } - - public void serialize(final Writer writer, OMOutputFormat format) throws XMLStreamException { - try { - AccessController.doPrivileged(new PrivilegedExceptionAction() { - public Object run() throws Exception { - try { - Marshaller marshaller = getMarshaller(); - marshaller.marshal(element, writer); - } finally { - releaseMarshaller(marshaller); - } - return null; - } - }); - } catch (PrivilegedActionException e) { - throw new XMLStreamException(e.getException()); - } - } - - public Object getObject() { - return element; - } - -} diff --git a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/OMElement2JAXB.java b/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/OMElement2JAXB.java deleted file mode 100644 index 3753fd9d64..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/OMElement2JAXB.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb.axiom; - -import java.security.AccessController; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -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.jaxb.JAXBContextHelper; - -/** - * @version $Rev$ $Date$ - */ -public class OMElement2JAXB extends BaseTransformer implements PullTransformer { - - @Override - public String getSourceDataBinding() { - return org.apache.axiom.om.OMElement.class.getName(); - } - - @SuppressWarnings("unchecked") - public Object transform(final OMElement source, final TransformationContext context) throws TransformationException { - try { - return AccessController.doPrivileged(new PrivilegedExceptionAction() { - public Object run() throws JAXBException, XMLStreamException { - Unmarshaller unmarshaller = null; - XMLStreamReader reader = null; - Object result = null; - // Marshalling directly to the output stream is faster than marshalling through the - // XMLStreamWriter. - // Take advantage of this optimization if there is an output stream. - JAXBContext jaxbContext = JAXBContextHelper.createJAXBContext(context, false); - try { - unmarshaller = JAXBContextHelper.getUnmarshaller(jaxbContext); - reader = source.getXMLStreamReaderWithoutCaching(); - result = unmarshaller.unmarshal(reader, JAXBContextHelper.getJavaType(context.getTargetDataType())); - } finally { - if (reader != null) { - reader.close(); - } - JAXBContextHelper.releaseJAXBUnmarshaller(jaxbContext, unmarshaller); - } - return JAXBContextHelper.createReturnValue(jaxbContext, context.getTargetDataType(), result); - } - }); - } catch (PrivilegedActionException e) { - throw new TransformationException(e.getException()); - } - } - - @Override - public Class getSourceType() { - return OMElement.class; - } - - @Override - public Class getTargetType() { - return Object.class; - } - - @Override - public int getWeight() { - return 3000; - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBCustomBuilder.java b/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBCustomBuilder.java deleted file mode 100644 index b7a395a623..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBCustomBuilder.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.databinding.jaxb.axiom.ext; - - -/** - * JAXBCustomBuilder creates an OMSourcedElement backed by a JAXBDataSource - * for the specified namespace and localPart. - */ -public class JAXBCustomBuilder -//FIXME: [rfeng] Re-enable it after we move to AXIOM 1.2.7 -// implements CustomBuilder -{ - - private JAXBDSContext jdsContext; - - /** - * Create a JAXBCustomBuilder - * @param context JAXBDSContext - */ - public JAXBCustomBuilder(JAXBDSContext context) { - super(); - this.jdsContext = context; - } - - // FIXME: [rfeng] Re-enable it after we move to AXIOM 1.2.7 - /* - public OMElement create(String namespace, - String localPart, - OMContainer parent, - XMLStreamReader reader, - OMFactory factory) throws OMException { - - // There are some situations where we want to use normal - // unmarshalling, so return null - if (!shouldUnmarshal(namespace, localPart)) { - // JAXBCustomBuilderMonitor.updateTotalFailedCreates(); - return null; - } - try { - // Create an OMSourcedElement backed by an unmarshalled JAXB object - OMNamespace ns = factory.createOMNamespace(namespace, reader.getPrefix()); - - Object jaxb = jdsContext.unmarshal(reader); - - OMDataSource ds = new JAXBDataSourceExt(jaxb, jdsContext); - OMElement omse = factory.createOMElement(ds, localPart, ns); - - parent.addChild(omse); - // JAXBCustomBuilderMonitor.updateTotalCreates(); - return omse; - } catch (JAXBException e) { - // JAXBCustomBuilderMonitor.updateTotalFailedCreates(); - throw new OMException(e); - } - } - */ - - /** - * The namespace identifier for the SOAP 1.1 envelope. - */ - public static final String URI_NS_SOAP_1_1_ENVELOPE = "http://schemas.xmlsoap.org/soap/envelope/"; - /** - * The namespace identifier for the SOAP 1.2 envelope. - */ - public static final String URI_NS_SOAP_1_2_ENVELOPE = "http://www.w3.org/2003/05/soap-envelope"; - - /** - * @param namespace - * @param localPart - * @return true if this ns and local part is acceptable for unmarshalling - */ - private boolean shouldUnmarshal(String namespace, String localPart) { - - // Don't unmarshall SOAPFaults or anything else in the SOAP - // namespace. - // Don't unmarshall elements that are unqualified - if (localPart == null || namespace == null - || namespace.length() == 0 - || URI_NS_SOAP_1_1_ENVELOPE.equals(namespace) - || URI_NS_SOAP_1_2_ENVELOPE.equals(namespace)) { - return false; - } - - // Don't unmarshal if this looks like encrypted data - if (localPart.equals("EncryptedData")) { - return false; - } - - return true; - - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBDSContext.java b/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBDSContext.java deleted file mode 100644 index 6fd65d4752..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBDSContext.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb.axiom.ext; - -import java.io.OutputStream; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Marshaller; -import javax.xml.bind.Unmarshaller; -import javax.xml.bind.attachment.AttachmentMarshaller; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.axiom.om.OMException; -import org.apache.axiom.om.impl.MTOMXMLStreamWriter; -import org.apache.tuscany.sca.databinding.jaxb.JAXBContextHelper; - -/* - * To marshal or unmarshal a JAXB object, the JAXBContext is necessary. - * In addition, access to the MessageContext and other context objects may be necessary - * to get classloader information, store attachments etc. - * - * The JAXBDSContext bundles all of this information together. - */ -public class JAXBDSContext { - - private static final Logger log = Logger.getLogger(JAXBDSContext.class.getName()); - private static final boolean DEBUG_ENABLED = log.isLoggable(Level.FINER); - - private JAXBContext jaxbContext = null; // JAXBContext - - /** - * "Dispatch" Constructor Use this full constructor when the JAXBContent is provided by the - * customer. - * - * @param jaxbContext - */ - public JAXBDSContext(JAXBContext jaxbContext) { - this.jaxbContext = jaxbContext; - } - - public JAXBContext getJAXBContext() { - return jaxbContext; - } - - /** - * Unmarshal the xml into a JAXB object - * @param reader - * @return - * @throws JAXBException - */ - public Object unmarshal(XMLStreamReader reader) throws JAXBException { - - Unmarshaller u = JAXBContextHelper.getUnmarshaller(getJAXBContext()); - - Object jaxb = null; - - // Unmarshal into the business object. - jaxb = unmarshalElement(u, reader); // preferred and always used for - // style=document - - // Successfully unmarshalled the object - // JAXBUtils.releaseJAXBUnmarshaller(getJAXBContext(cl), u); - - // Don't close the reader. The reader is owned by the caller, and it - // may contain other xml instance data (other than this JAXB object) - // reader.close(); - return jaxb; - } - - /** - * Marshal the jaxb object - * @param obj - * @param writer - * @param am AttachmentMarshaller, optional Attachment - */ - public void marshal(Object obj, XMLStreamWriter writer) throws JAXBException { - - // Very easy, use the Context to get the Marshaller. - // Use the marshaller to write the object. - Marshaller m = JAXBContextHelper.getMarshaller(getJAXBContext()); - AttachmentMarshaller am = m.getAttachmentMarshaller(); - boolean xop = am != null ? am.isXOPPackage() : false; - // Marshal the object - marshalElement(obj, m, writer, !xop); - } - - /** - * Preferred way to marshal objects. - * - * @param b Object that can be rendered as an element and the element name is known by the - * Marshaller - * @param m Marshaller - * @param writer XMLStreamWriter - */ - private static void marshalElement(final Object b, - final Marshaller m, - final XMLStreamWriter writer, - final boolean optimize) { - AccessController.doPrivileged(new PrivilegedAction() { - public Object run() { - // Marshalling directly to the output stream is faster than marshalling through the - // XMLStreamWriter. - // Take advantage of this optimization if there is an output stream. - try { - OutputStream os = (optimize) ? getOutputStream(writer) : null; - if (os != null) { - writer.flush(); - m.marshal(b, os); - } else { - m.marshal(b, writer); - } - } catch (OMException e) { - throw e; - } catch (Throwable t) { - throw new OMException(t); - } - return null; - } - }); - } - - /** - * If the writer is backed by an OutputStream, then return the OutputStream - * @param writer - * @return OutputStream or null - */ - private static OutputStream getOutputStream(XMLStreamWriter writer) throws XMLStreamException { - if (writer.getClass() == MTOMXMLStreamWriter.class) { - return ((MTOMXMLStreamWriter)writer).getOutputStream(); - } - if (writer.getClass() == XMLStreamWriterWithOS.class) { - return ((XMLStreamWriterWithOS)writer).getOutputStream(); - } - return null; - } - - /** - * Preferred way to unmarshal objects - * - * @param u Unmarshaller - * @param reader XMLStreamReader - * @return Object that represents an element - */ - private static Object unmarshalElement(final Unmarshaller u, final XMLStreamReader reader) { - try { - return AccessController.doPrivileged(new PrivilegedAction() { - public Object run() { - try { - return u.unmarshal(reader); - } catch (OMException e) { - throw e; - } catch (Throwable t) { - throw new OMException(t); - } - } - }); - - } catch (OMException e) { - throw e; - } catch (Throwable t) { - throw new OMException(t); - } - } - -} diff --git a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBDataSourceExt.java b/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBDataSourceExt.java deleted file mode 100644 index 7702d099b4..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/JAXBDataSourceExt.java +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb.axiom.ext; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.UnsupportedEncodingException; -import java.io.Writer; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.xml.bind.JAXBException; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.axiom.om.OMException; -import org.apache.axiom.om.OMOutputFormat; -import org.apache.axiom.om.impl.MTOMXMLStreamWriter; -import org.apache.axiom.om.util.StAXUtils; - -/** - * OMDataSource backed by a jaxb object - */ -public class JAXBDataSourceExt - -//FIXME: [rfeng] Re-enable it after we move to AXIOM 1.2.7 -// extends OMDataSourceExtBase -{ - - private static final Logger log = Logger.getLogger(JAXBDataSourceExt.class.getName()); - - private Object jaxb; - private JAXBDSContext context; - - public JAXBDataSourceExt(Object jaxb, JAXBDSContext context) { - super(); - this.jaxb = jaxb; - this.context = context; - } - - public void close() { - } - - // FIXME: [rfeng] Re-enable it after we move to AXIOM 1.2.7 - // public OMDataSourceExt copy() { - // return new JAXBDataSourceExt(jaxb, context); - // } - - public Object getObject() { - return jaxb; - } - - public JAXBDSContext getContext() { - return context; - } - - public XMLStreamReader getReader() throws XMLStreamException { - - try { - String encoding = "utf-8"; - InputStream is = new ByteArrayInputStream(getXMLBytes(encoding)); - return StAXUtils.createXMLStreamReader(is, encoding); - } catch (UnsupportedEncodingException e) { - throw new XMLStreamException(e); - } - } - - public void serialize(OutputStream output, OMOutputFormat format) throws XMLStreamException { - MTOMXMLStreamWriter writer = new MTOMXMLStreamWriter(output, format); - serialize(writer); - writer.flush(); - try { - writer.close(); - } catch (XMLStreamException e) { - // An exception can occur if nothing is written to the - // writer. This is possible if the underlying data source - // writers to the output stream directly. - if (log.isLoggable(Level.FINER)) { - log.finer("Catching and swallowing exception " + e); - } - } - } - - public void serialize(Writer writerTarget, OMOutputFormat format) throws XMLStreamException { - MTOMXMLStreamWriter writer = new MTOMXMLStreamWriter(StAXUtils.createXMLStreamWriter(writerTarget)); - writer.setOutputFormat(format); - serialize(writer); - writer.flush(); - writer.close(); - } - - public void serialize(XMLStreamWriter xmlWriter) throws XMLStreamException { - try { - context.marshal(jaxb, xmlWriter); - } catch (JAXBException je) { - throw new XMLStreamException(je); - } - } - - public byte[] getXMLBytes(String encoding) throws UnsupportedEncodingException { - try { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - - // Exposes getOutputStream, which allows faster writes. - XMLStreamWriterWithOS writer = new XMLStreamWriterWithOS(baos, encoding); - - // Write the business object to the writer - serialize(writer); - - // Flush the writer - writer.flush(); - writer.close(); - return baos.toByteArray(); - } catch (XMLStreamException e) { - throw new OMException(e); - } - } - - public boolean isDestructiveRead() { - return false; - } - - public boolean isDestructiveWrite() { - return false; - } - -} diff --git a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/SourceDataSource.java b/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/SourceDataSource.java deleted file mode 100644 index 758a82f72f..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/SourceDataSource.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb.axiom.ext; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.UnsupportedEncodingException; - -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.transform.Result; -import javax.xml.transform.Source; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.stream.StreamResult; -import javax.xml.transform.stream.StreamSource; - -import org.apache.axiom.om.OMException; -import org.apache.axiom.om.util.StAXUtils; - -/** - * OMDataSource backed by a source - */ -public class SourceDataSource -// FIXME: [rfeng] Re-enable it after we move to AXIOM 1.2.7 -// extends OMDataSourceExtBase -{ - private Source data; - - public SourceDataSource(Source data) { - super(); - this.data = data; - } - - public void close() { - } - - // FIXME: [rfeng] Re-enable it after we move to AXIOM 1.2.7 - // public OMDataSourceExt copy() { - // return new SourceDataSource(data); - // } - - public Object getObject() { - return data; - } - - public XMLStreamReader getReader() throws XMLStreamException { - - try { - String encoding = "UTF-8"; - InputStream is = new ByteArrayInputStream(getXMLBytes(encoding)); - return StAXUtils.createXMLStreamReader(is, encoding); - } catch (UnsupportedEncodingException e) { - throw new XMLStreamException(e); - } - } - - public byte[] getXMLBytes(String encoding) throws UnsupportedEncodingException { - byte[] bytes = null; - try { - bytes = (byte[])null; - - if (data instanceof StreamSource) { - InputStream is = ((StreamSource)data).getInputStream(); - if (is != null) { - bytes = getBytesFromStream(is); - } - } else { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - Result result = new StreamResult(out); - Transformer transformer = TransformerFactory.newInstance().newTransformer(); - transformer.transform(data, result); - bytes = out.toByteArray(); - } - } catch (OMException e) { - throw e; - } catch (UnsupportedEncodingException e) { - throw e; - } catch (Throwable e) { - throw new OMException(e); - } - - return bytes; - } - - public boolean isDestructiveRead() { - return false; - } - - public boolean isDestructiveWrite() { - return false; - } - - private static byte[] getBytesFromStream(InputStream is) throws IOException { - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - byte[] buf = new byte[4096]; - while (true) { - int size = is.read(buf); - if (size < 0) { - break; - } - bos.write(buf, 0, size); - } - return bos.toByteArray(); - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/XMLStreamWriterWithOS.java b/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/XMLStreamWriterWithOS.java deleted file mode 100644 index 44e34c3647..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/XMLStreamWriterWithOS.java +++ /dev/null @@ -1,246 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb.axiom.ext; - -import java.io.OutputStream; - -import javax.xml.namespace.NamespaceContext; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.axiom.om.util.StAXUtils; - -/** - * XMLStreamReader that exposes direct access to the OutputStream. - * Writing to the output stream is faster in some cases. - */ -public class XMLStreamWriterWithOS implements XMLStreamWriter { - private XMLStreamWriter writer; - private String charSetEncoding; - private OutputStream os; - - public XMLStreamWriterWithOS(OutputStream os, String charSetEncoding) throws XMLStreamException { - super(); - writer = null; // Writer is created when needed - this.os = os; - this.charSetEncoding = charSetEncoding; - } - - /** - * The writer is created lazily. - * If only the output stream is used, then the writer is never created. - */ - private void createWriter() throws XMLStreamException { - if (writer == null) { - writer = StAXUtils.createXMLStreamWriter(os, charSetEncoding); - } - } - - public void close() throws XMLStreamException { - if (writer != null) { - writer.close(); - } - } - - public void flush() throws XMLStreamException { - if (writer != null) { - writer.flush(); - } - } - - public NamespaceContext getNamespaceContext() { - try { - createWriter(); - } catch (Exception e) { - throw new RuntimeException(e); - } - return writer.getNamespaceContext(); - } - - public String getPrefix(String arg0) throws XMLStreamException { - createWriter(); - return writer.getPrefix(arg0); - } - - public Object getProperty(String arg0) throws IllegalArgumentException { - try { - createWriter(); - } catch (XMLStreamException e) { - throw new IllegalArgumentException(e); - } - return writer.getProperty(arg0); - } - - public void setDefaultNamespace(String arg0) throws XMLStreamException { - createWriter(); - writer.setDefaultNamespace(arg0); - } - - public void setNamespaceContext(NamespaceContext arg0) throws XMLStreamException { - createWriter(); - writer.setNamespaceContext(arg0); - } - - public void setPrefix(String arg0, String arg1) throws XMLStreamException { - createWriter(); - writer.setPrefix(arg0, arg1); - } - - public void writeAttribute(String arg0, String arg1, String arg2, String arg3) throws XMLStreamException { - createWriter(); - writer.writeAttribute(arg0, arg1, arg2, arg3); - } - - public void writeAttribute(String arg0, String arg1, String arg2) throws XMLStreamException { - createWriter(); - writer.writeAttribute(arg0, arg1, arg2); - } - - public void writeAttribute(String arg0, String arg1) throws XMLStreamException { - createWriter(); - writer.writeAttribute(arg0, arg1); - } - - public void writeCData(String arg0) throws XMLStreamException { - createWriter(); - writer.writeCData(arg0); - } - - public void writeCharacters(char[] arg0, int arg1, int arg2) throws XMLStreamException { - createWriter(); - writer.writeCharacters(arg0, arg1, arg2); - } - - public void writeCharacters(String arg0) throws XMLStreamException { - createWriter(); - writer.writeCharacters(arg0); - } - - public void writeComment(String arg0) throws XMLStreamException { - createWriter(); - writer.writeComment(arg0); - } - - public void writeDefaultNamespace(String arg0) throws XMLStreamException { - createWriter(); - writer.writeDefaultNamespace(arg0); - } - - public void writeDTD(String arg0) throws XMLStreamException { - createWriter(); - writer.writeDTD(arg0); - } - - public void writeEmptyElement(String arg0, String arg1, String arg2) throws XMLStreamException { - createWriter(); - writer.writeEmptyElement(arg0, arg1, arg2); - } - - public void writeEmptyElement(String arg0, String arg1) throws XMLStreamException { - createWriter(); - writer.writeEmptyElement(arg0, arg1); - } - - public void writeEmptyElement(String arg0) throws XMLStreamException { - createWriter(); - writer.writeEmptyElement(arg0); - } - - public void writeEndDocument() throws XMLStreamException { - createWriter(); - writer.writeEndDocument(); - } - - public void writeEndElement() throws XMLStreamException { - createWriter(); - writer.writeEndElement(); - } - - public void writeEntityRef(String arg0) throws XMLStreamException { - createWriter(); - writer.writeEntityRef(arg0); - } - - public void writeNamespace(String arg0, String arg1) throws XMLStreamException { - createWriter(); - writer.writeNamespace(arg0, arg1); - } - - public void writeProcessingInstruction(String arg0, String arg1) throws XMLStreamException { - createWriter(); - writer.writeProcessingInstruction(arg0, arg1); - } - - public void writeProcessingInstruction(String arg0) throws XMLStreamException { - createWriter(); - writer.writeProcessingInstruction(arg0); - } - - public void writeStartDocument() throws XMLStreamException { - createWriter(); - writer.writeStartDocument(); - } - - public void writeStartDocument(String arg0, String arg1) throws XMLStreamException { - createWriter(); - writer.writeStartDocument(arg0, arg1); - } - - public void writeStartDocument(String arg0) throws XMLStreamException { - createWriter(); - writer.writeStartDocument(arg0); - } - - public void writeStartElement(String arg0, String arg1, String arg2) throws XMLStreamException { - createWriter(); - writer.writeStartElement(arg0, arg1, arg2); - } - - public void writeStartElement(String arg0, String arg1) throws XMLStreamException { - createWriter(); - writer.writeStartElement(arg0, arg1); - } - - public void writeStartElement(String arg0) throws XMLStreamException { - createWriter(); - writer.writeStartElement(arg0); - } - - /** - * If this XMLStreamWriter is connected to an OutputStream - * then the OutputStream is returned. This allows a node - * (perhaps an OMSourcedElement) to write its content - * directly to the OutputStream. - * @return OutputStream or null - */ - public OutputStream getOutputStream() throws XMLStreamException { - - if (os != null) { - // Flush the state of the writer..Many times the - // write defers the writing of tag characters (>) - // until the next write. Flush out this character - if (writer != null) { - this.writeCharacters(""); - this.flush(); - } - } - return os; - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/XMLStringDataSource.java b/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/XMLStringDataSource.java deleted file mode 100644 index a2a68c8eb0..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/java/org/apache/tuscany/sca/databinding/jaxb/axiom/ext/XMLStringDataSource.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.databinding.jaxb.axiom.ext; - -import java.io.IOException; -import java.io.StringReader; -import java.io.UnsupportedEncodingException; -import java.io.Writer; - -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -import org.apache.axiom.om.OMOutputFormat; -import org.apache.axiom.om.util.StAXUtils; - -/** - * OMDataSource backed by a string containing xml data - */ -// FIXME: To be refectored into databinding-axiom -public class XMLStringDataSource - -//FIXME: [rfeng] Re-enable it after we move to AXIOM 1.2.7 -// extends OMDataSourceExtBase -{ - private String data; - - public XMLStringDataSource(String data) { - super(); - this.data = data; - } - - public void close() { - } - - // FIXME: [rfeng] Re-enable it after we move to AXIOM 1.2.7 - // public OMDataSourceExt copy() { - // return new XMLStringDataSource(data); - // } - - public Object getObject() { - return data; - } - - public XMLStreamReader getReader() throws XMLStreamException { - StringReader reader = new StringReader(data); - return StAXUtils.createXMLStreamReader(reader); - } - - public void serialize(Writer writer, OMOutputFormat format) throws XMLStreamException { - try { - writer.write(data); - } catch (UnsupportedEncodingException e) { - throw new XMLStreamException(e); - } catch (IOException e) { - throw new XMLStreamException(e); - } - } - - public byte[] getXMLBytes(String encoding) throws UnsupportedEncodingException { - return data.getBytes(encoding); - } - - public boolean isDestructiveRead() { - return false; - } - - public boolean isDestructiveWrite() { - return false; - } - -} diff --git a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer b/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer deleted file mode 100644 index b48e629927..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer +++ /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. - -# Implementation classes for the transformers -org.apache.tuscany.sca.databinding.jaxb.axiom.JAXB2OMElement;source=javax.xml.bind.JAXBElement,target=org.apache.axiom.om.OMElement,weight=3000 -org.apache.tuscany.sca.databinding.jaxb.axiom.JAXB2OMElement;source=java:simpleType,target=org.apache.axiom.om.OMElement,weight=3000 -org.apache.tuscany.sca.databinding.jaxb.axiom.JAXB2OMElement;source=java:complexType,target=org.apache.axiom.om.OMElement,weight=3000 - -org.apache.tuscany.sca.databinding.jaxb.axiom.OMElement2JAXB;source=org.apache.axiom.om.OMElement,target=javax.xml.bind.JAXBElement,weight=3000,public=false -org.apache.tuscany.sca.databinding.jaxb.axiom.OMElement2JAXB;source=org.apache.axiom.om.OMElement,target=java:complexType,weight=90000,public=false -org.apache.tuscany.sca.databinding.jaxb.axiom.OMElement2JAXB;source=org.apache.axiom.om.OMElement,target=java:simpleType,weight=90000,public=false - diff --git a/java/sca/contrib/modules/databinding-jaxb-axiom/src/test/java/org/apache/tuscany/databinding/jaxb/axiom/JAXB2OMTestCase.java b/java/sca/contrib/modules/databinding-jaxb-axiom/src/test/java/org/apache/tuscany/databinding/jaxb/axiom/JAXB2OMTestCase.java deleted file mode 100644 index 543a76594f..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb-axiom/src/test/java/org/apache/tuscany/databinding/jaxb/axiom/JAXB2OMTestCase.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.databinding.jaxb.axiom; - -import java.io.StringWriter; - -import javax.xml.bind.JAXBElement; -import javax.xml.stream.XMLStreamReader; - -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.impl.builder.StAXOMBuilder; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.TransformationContextImpl; -import org.apache.tuscany.sca.databinding.jaxb.JAXB2Node; -import org.apache.tuscany.sca.databinding.jaxb.JAXBContextHelper; -import org.apache.tuscany.sca.databinding.jaxb.axiom.JAXB2OMElement; -import org.apache.tuscany.sca.databinding.xml.Node2XMLStreamReader; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.junit.Test; -import org.w3c.dom.Node; - -import com.example.ipo.jaxb.ObjectFactory; -import com.example.ipo.jaxb.PurchaseOrderType; -import com.example.ipo.jaxb.USAddress; -import com.example.ipo.jaxb.USState; - -/** - * @version $Rev$ $Date$ - */ -public class JAXB2OMTestCase { - @Test - public void testTransformElement() throws Exception { - JAXBElement po = createPO(); - DataType sourceDataType = new DataTypeImpl(PurchaseOrderType.class, XMLType.UNKNOWN); - DataType targetDataType = new DataTypeImpl(PurchaseOrderType.class, new XMLType(po.getName(), null)); - TransformationContext tContext = new TransformationContextImpl(); - tContext.setSourceDataType(sourceDataType); - tContext.setTargetDataType(targetDataType); - - // Force the JAXBContext to be cached - JAXBContextHelper.createJAXBContext(tContext, true); - - long start = System.currentTimeMillis(); - JAXB2OMElement t1 = new JAXB2OMElement(); - OMElement om = t1.transform(po, tContext); - long duration1 = System.currentTimeMillis() - start; - StringWriter sw = new StringWriter(); - // serializeAndConsume() will trigger the JAXBDataSource.serialize(Writer, OMOutputFormat) - om.serializeAndConsume(sw); - System.out.println(sw.toString()); - - start = System.currentTimeMillis(); - Node node = new JAXB2Node().transform(po, tContext); - XMLStreamReader reader = new Node2XMLStreamReader().transform(node, null); - om = new StAXOMBuilder(reader).getDocumentElement(); - sw = new StringWriter(); - om.serializeAndConsume(sw); - long duration2 = System.currentTimeMillis() - start; - System.out.println(sw.toString()); - System.out.println(duration1 + " vs. " + duration2); - } - - @Test - public void testTransformType() throws Exception { - JAXBElement po = createPO(); - DataType sourceDataType = new DataTypeImpl(PurchaseOrderType.class, XMLType.UNKNOWN); - DataType targetDataType = new DataTypeImpl(PurchaseOrderType.class, new XMLType(po.getName(), null)); - TransformationContext tContext = new TransformationContextImpl(); - tContext.setSourceDataType(sourceDataType); - tContext.setTargetDataType(targetDataType); - OMElement om = new JAXB2OMElement().transform(po.getValue(), tContext); - StringWriter sw = new StringWriter(); - om.serializeAndConsume(sw); - System.out.println(sw.toString()); - } - - private JAXBElement createPO() { - ObjectFactory factory = new ObjectFactory(); - PurchaseOrderType type = factory.createPurchaseOrderType(); - JAXBElement po = factory.createPurchaseOrder(type); - type.setItems(factory.createItems()); - type.setComment("123"); - USAddress address = factory.createUSAddress(); - address.setCity("San Jose"); - address.setStreet("ABC St."); - address.setState(USState.CA); - type.setShipTo(address); - return po; - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb-axiom/src/test/java/org/apache/tuscany/databinding/jaxb/axiom/OMElement2JAXBTestCase.java b/java/sca/contrib/modules/databinding-jaxb-axiom/src/test/java/org/apache/tuscany/databinding/jaxb/axiom/OMElement2JAXBTestCase.java deleted file mode 100644 index 3c00307941..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb-axiom/src/test/java/org/apache/tuscany/databinding/jaxb/axiom/OMElement2JAXBTestCase.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.databinding.jaxb.axiom; - -import java.io.ByteArrayInputStream; - -import javax.xml.namespace.QName; - -import junit.framework.Assert; - -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.impl.builder.StAXOMBuilder; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.TransformationContextImpl; -import org.apache.tuscany.sca.databinding.jaxb.axiom.OMElement2JAXB; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.junit.Test; - -import com.example.ipo.jaxb.PurchaseOrderType; - -/** - * @version $Rev$ $Date$ - */ -public class OMElement2JAXBTestCase { - private static final String XML = - "" + "" - + "" - + "" - + "ABC St.San JoseCA" - + "123" - + "" - + "" - + ""; - - @Test - public void testTransform() throws Exception { - DataType sourceDataType = new DataTypeImpl(PurchaseOrderType.class, XMLType.UNKNOWN); - QName qname = new QName("http://www.example.com/IPO", "purchaseOrder"); - DataType targetDataType = new DataTypeImpl(PurchaseOrderType.class, new XMLType(qname, null)); - TransformationContext tContext = new TransformationContextImpl(); - tContext.setSourceDataType(sourceDataType); - tContext.setTargetDataType(targetDataType); - - StAXOMBuilder builder = new StAXOMBuilder(new ByteArrayInputStream(XML.getBytes("UTF-8"))); - OMElement root = builder.getDocumentElement(); - OMElement next = (OMElement)root.getChildElements().next(); - OMElement po = (OMElement)next.getChildElements().next(); - Object jaxb = new OMElement2JAXB().transform(po, tContext); - Assert.assertTrue(jaxb instanceof PurchaseOrderType); - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb-axiom/src/test/resources/ipo.xsd b/java/sca/contrib/modules/databinding-jaxb-axiom/src/test/resources/ipo.xsd deleted file mode 100644 index 241ec15d36..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb-axiom/src/test/resources/ipo.xsd +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - International Purchase order schema for Example.com - Copyright 2000 Example.com. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/databinding-jaxb/LICENSE b/java/sca/contrib/modules/databinding-jaxb/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/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/java/sca/contrib/modules/databinding-jaxb/META-INF/MANIFEST.MF b/java/sca/contrib/modules/databinding-jaxb/META-INF/MANIFEST.MF deleted file mode 100644 index f1bb306cf3..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/META-INF/MANIFEST.MF +++ /dev/null @@ -1,53 +0,0 @@ -Manifest-Version: 1.0 -Export-Package: org.apache.tuscany.sca.databinding.jaxb;uses:="org.apa - che.tuscany.sca.databinding,org.apache.tuscany.sca.interfacedef.util, - javax.xml.transform.dom,org.xml.sax,javax.xml.namespace,javax.imageio - ,javax.xml.stream,org.apache.tuscany.sca.contribution.resolver,org.ap - ache.tuscany.sca.databinding.util,org.oasisopen.sca,org.apache.tuscany.sca - .databinding.xml,org.apache.tuscany.sca.databinding.impl,org.apache.w - s.commons.schema.resolver,org.apache.tuscany.sca.interfacedef,org.w3c - .dom,javax.xml.datatype,javax.activation,javax.xml.bind.attachment,ja - vax.xml.transform,javax.xml.bind.annotation,javax.xml.transform.strea - m,org.apache.tuscany.sca.interfacedef.impl,org.apache.tuscany.sca.xsd - ,javax.xml.bind";version="2.0" -Tool: Bnd-0.0.255 -Bundle-Name: Apache Tuscany SCA Data Binding for JAXB -Created-By: 1.6.0_07 (Sun Microsystems Inc.) -Bundle-Vendor: The Apache Software Foundation -Bundle-Version: 2.0 -Bnd-LastModified: 1225397221390 -Bundle-ManifestVersion: 2 -Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt -Bundle-Description: Apache Tuscany SCA Data Binding for JAXB -Import-Package: javax.activation, - javax.imageio, - javax.xml.bind, - javax.xml.bind.annotation, - javax.xml.bind.attachment, - javax.xml.datatype, - javax.xml.namespace, - javax.xml.stream, - javax.xml.transform, - javax.xml.transform.dom, - javax.xml.transform.stream, - - org.apache.tuscany.sca.assembly;version="2.0.0", - org.apache.tuscany.sca.contribution.resolver;version="2.0", - org.apache.tuscany.sca.databinding;version="2.0", - org.apache.tuscany.sca.databinding.impl;version="2.0", - org.apache.tuscany.sca.databinding.jaxb;version="2.0", - org.apache.tuscany.sca.databinding.util;version="2.0", - org.apache.tuscany.sca.databinding.xml;version="2.0", - org.apache.tuscany.sca.interfacedef;version="2.0", - org.apache.tuscany.sca.interfacedef.impl;version="2.0", - org.apache.tuscany.sca.interfacedef.util;version="2.0", - org.apache.tuscany.sca.policy;version="2.0.0", - org.apache.tuscany.sca.xsd;version="2.0", - org.apache.ws.commons.schema.resolver, - - org.oasisopen.sca;version="2.0", - org.w3c.dom, - org.xml.sax -Bundle-SymbolicName: org.apache.tuscany.sca.databinding.jaxb -Bundle-DocURL: http://www.apache.org/ - diff --git a/java/sca/contrib/modules/databinding-jaxb/NOTICE b/java/sca/contrib/modules/databinding-jaxb/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/databinding-jaxb/pom.xml b/java/sca/contrib/modules/databinding-jaxb/pom.xml deleted file mode 100644 index acf6e75d80..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/pom.xml +++ /dev/null @@ -1,185 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-databinding-jaxb - Apache Tuscany SCA Data Binding for JAXB - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-databinding - 2.0-SNAPSHOT - - - - javax.xml.bind - jaxb-api - 2.1 - - - - com.sun.xml.bind - jaxb-impl - 2.1.7 - runtime - - - - org.jvnet.jaxb.reflection - jaxb2-reflection - 2.1.4 - test - - - - - - - true - - java.net - java.net Maven 1.x Repository - http://download.java.net/maven/1 - legacy - - - - - - java.net2 - java.net Maven 2.x Repository - http://download.java.net/maven/2 - - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - copy - generate-sources - - copy - - - - - javax.xml.bind - jaxb-api - 2.1 - jar - - - ${project.build.directory}/endorsed - false - true - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - -Djava.endorsed.dirs=target/endorsed - - - - org.codehaus.mojo - build-helper-maven-plugin - 1.0 - - - add-test-source - generate-sources - - add-test-source - - - - target/jaxb-source - - - - - - - - org.jvnet.jaxb2.maven2 - maven-jaxb2-plugin - 0.5 - - - generate-jaxb - generate-test-sources - - generate - - - - - com.example.ipo.jaxb - ${project.build.directory}/jaxb-source - ${basedir}/src/test/resources - - ipo.xsd - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.databinding.jaxb - ${pom.name} - org.apache.tuscany.sca.databinding.jaxb* - - - - - - - - diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/AnyTypeXmlAdapter.java b/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/AnyTypeXmlAdapter.java deleted file mode 100644 index 57922e1c89..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/AnyTypeXmlAdapter.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.databinding.jaxb; - -import javax.xml.bind.annotation.adapters.XmlAdapter; - -/** - * This special XmlAdapter can be used by JAXB classes to annotate the references to java interfaces - */ -public class AnyTypeXmlAdapter extends XmlAdapter { - - @Override - public Object marshal(Object v) throws Exception { - return v; - } - - @Override - public Object unmarshal(Object v) throws Exception { - return v; - } - -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/DOMElementXmlAdapter.java b/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/DOMElementXmlAdapter.java deleted file mode 100644 index 91cb39b0f2..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/DOMElementXmlAdapter.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.databinding.jaxb; - -import javax.xml.bind.annotation.adapters.XmlAdapter; - -import org.apache.tuscany.sca.databinding.Mediator; -import org.apache.tuscany.sca.databinding.xml.DOMDataBinding; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl; -import org.w3c.dom.Element; - -/** - * A generic XmlAdapter for JAXB to marshal/unmarshal between the java objects and DOM elements - */ -public class DOMElementXmlAdapter extends XmlAdapter { - private Mediator mediator; - private DataType dataType; - private DataType domType; - - public DOMElementXmlAdapter(Mediator mediator, DataType dataType) { - this.mediator = mediator; - this.dataType = dataType; - this.domType = new DataTypeImpl(DOMDataBinding.NAME, Element.class, dataType.getLogical()); - } - - @Override - public Element marshal(Object value) throws Exception { - return (Element) mediator.mediate(value, dataType, domType, null); - } - - @Override - public Object unmarshal(Element element) throws Exception { - return mediator.mediate(element, domType, dataType, null); - } - - public void setMediator(Mediator mediator) { - this.mediator = mediator; - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/DataConverter.java b/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/DataConverter.java deleted file mode 100644 index 35adffe23b..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/DataConverter.java +++ /dev/null @@ -1,378 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb; - -import java.awt.Image; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.lang.reflect.Array; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Collection; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Hashtable; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import javax.activation.DataHandler; -import javax.imageio.ImageIO; -import javax.xml.transform.Result; -import javax.xml.transform.Source; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.stream.StreamResult; -import javax.xml.transform.stream.StreamSource; - -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * Provides utilities to convert an object into a different kind of Object. For example, convert a - * String[] into a List - */ -public class DataConverter { - - /** - * This method should return true if the convert method will succeed. - *

- * Note that any changes to isConvertable() must also be accompanied by similar changes to - * convert() - * - * @param obj source object or class - * @param dest destination class - * @return boolean true if convert(..) can convert obj to the destination class - */ - public static boolean isConvertable(Object obj, Class dest) { - Class src = null; - - if (obj != null) { - if (obj instanceof Class) { - src = (Class)obj; - } else { - src = obj.getClass(); - } - } - - if (dest == null) { - return false; - } - - if (src == null) { - return true; - } - - // If we're directly assignable, we're good. - if (dest.isAssignableFrom(src)) { - return true; - } - - // If it's a wrapping conversion, we're good. - if (getWrapperClass(src) == dest) { - return true; - } - if (getWrapperClass(dest) == src) { - return true; - } - - // If it's List -> Array or vice versa, we're good. - if ((Collection.class.isAssignableFrom(src) || src.isArray()) && (Collection.class.isAssignableFrom(dest) || dest - .isArray())) { - - // TODO this should consider the component types instead of returning true. - return true; - } - - // Allow mapping of HashMaps to Hashtables - if (src == HashMap.class && dest == Hashtable.class) - return true; - - // Allow mapping of Calendar to Date - if (Calendar.class.isAssignableFrom(src) && dest == Date.class) { - return true; - } - - if (src.isPrimitive()) { - return isConvertable(getWrapperClass(src), dest); - } - - if (InputStream.class.isAssignableFrom(src) && dest == byte[].class) { - return true; - } - - if (Source.class.isAssignableFrom(src) && dest == byte[].class) { - return true; - } - - if (DataHandler.class.isAssignableFrom(src) && isConvertable(byte[].class, dest)) { - return true; - } - - if (DataHandler.class.isAssignableFrom(src) && dest == Image.class) { - return true; - } - - if (DataHandler.class.isAssignableFrom(src) && dest == Source.class) { - return true; - } - - if (byte[].class.isAssignableFrom(src) && dest == String.class) { - return true; - } - - // If it's a MIME type mapping and we want a DataHandler, - // then we're good. - // REVIEW Do we want to support this - /* - if (dest.getName().equals("javax.activation.DataHandler")) { - String name = src.getName(); - if (src == String.class - || src == java.awt.Image.class - || name.equals("javax.mail.internet.MimeMultipart") - || name.equals("javax.xml.transform.Source")) - return true; - } - */ - - return false; - } - - /** - * Utility function to convert an Object to some desired Class. - *

- * Normally this is used for T[] to List processing. Other conversions are also done (i.e. - * HashMap <->Hashtable, etc.) - *

- * Use the isConvertable() method to determine if conversion is possible. Note that any changes - * to convert() must also be accompanied by similar changes to isConvertable() - * - * @param arg the array to convert - * @param destClass the actual class we want - * @return object of destClass if conversion possible, otherwise returns arg - */ - public static Object convert(Object arg, Class destClass) { - if (destClass == null) { - return arg; - } - - if (arg != null && destClass.isAssignableFrom(arg.getClass())) { - return arg; - } - - // Convert between Calendar and Date - if (arg instanceof Calendar && destClass == Date.class) { - return ((Calendar)arg).getTime(); - } - - // Convert between HashMap and Hashtable - if (arg instanceof HashMap && destClass == Hashtable.class) { - return new Hashtable((HashMap)arg); - } - - if (arg instanceof InputStream && destClass == byte[].class) { - - try { - InputStream is = (InputStream)arg; - return getBytesFromStream(is); - } catch (IOException e) { - throw new ServiceRuntimeException(e); - } - } - - if (arg instanceof Source && destClass == byte[].class) { - try { - if (arg instanceof StreamSource) { - InputStream is = ((StreamSource)arg).getInputStream(); - if (is != null) { - return getBytesFromStream(is); - } - } - ByteArrayOutputStream out = new ByteArrayOutputStream(); - Result result = new StreamResult(out); - Transformer transformer = TransformerFactory.newInstance().newTransformer(); - transformer.transform((Source)arg, result); - byte[] bytes = out.toByteArray(); - return bytes; - - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - } - - if (arg instanceof DataHandler) { - try { - InputStream is = ((DataHandler)arg).getInputStream(); - if (destClass == Image.class) { - return ImageIO.read(is); - } else if (destClass == Source.class) { - return new StreamSource(is); - } - byte[] bytes = getBytesFromStream(is); - return convert(bytes, destClass); - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - } - - if (arg instanceof byte[] && destClass == String.class) { - return new String((byte[])arg); - } - - // If the destination is an array and the source - // is a suitable component, return an array with - // the single item. - /* REVIEW do we need to support atomic to array conversion ? - if (arg != null && - destClass.isArray() && - !destClass.getComponentType().equals(Object.class) && - destClass.getComponentType().isAssignableFrom(arg.getClass())) { - Object array = - Array.newInstance(destClass.getComponentType(), 1); - Array.set(array, 0, arg); - return array; - } - */ - - // Return if no conversion is available - if (!(arg instanceof Collection || (arg != null && arg.getClass().isArray()))) { - return arg; - } - - if (arg == null) { - return null; - } - - // The arg may be an array or List - Object destValue = null; - int length = 0; - if (arg.getClass().isArray()) { - length = Array.getLength(arg); - } else { - length = ((Collection)arg).size(); - } - - try { - if (destClass.isArray()) { - if (destClass.getComponentType().isPrimitive()) { - - Object array = Array.newInstance(destClass.getComponentType(), length); - // Assign array elements - if (arg.getClass().isArray()) { - for (int i = 0; i < length; i++) { - Array.set(array, i, Array.get(arg, i)); - } - } else { - int idx = 0; - for (Iterator i = ((Collection)arg).iterator(); i.hasNext();) { - Array.set(array, idx++, i.next()); - } - } - destValue = array; - - } else { - Object[] array; - try { - array = (Object[])Array.newInstance(destClass.getComponentType(), length); - } catch (Exception e) { - return arg; - } - - // Use convert to assign array elements. - if (arg.getClass().isArray()) { - for (int i = 0; i < length; i++) { - array[i] = convert(Array.get(arg, i), destClass.getComponentType()); - } - } else { - int idx = 0; - for (Iterator i = ((Collection)arg).iterator(); i.hasNext();) { - array[idx++] = convert(i.next(), destClass.getComponentType()); - } - } - destValue = array; - } - } else if (Collection.class.isAssignableFrom(destClass)) { - Collection newList = null; - try { - // if we are trying to create an interface, build something - // that implements the interface - if (destClass == Collection.class || destClass == List.class) { - newList = new ArrayList(); - } else if (destClass == Set.class) { - newList = new HashSet(); - } else { - newList = (Collection)destClass.newInstance(); - } - } catch (Exception e) { - // No FFDC code needed - // Couldn't build one for some reason... so forget it. - return arg; - } - - if (arg.getClass().isArray()) { - for (int j = 0; j < length; j++) { - newList.add(Array.get(arg, j)); - } - } else { - for (Iterator j = ((Collection)arg).iterator(); j.hasNext();) { - newList.add(j.next()); - } - } - destValue = newList; - } else { - destValue = arg; - } - } catch (Throwable t) { - throw new ServiceRuntimeException(t); - } - - return destValue; - } - - private static byte[] getBytesFromStream(InputStream is) throws IOException { - // TODO This code assumes that available is the length of the stream. - byte[] bytes = new byte[is.available()]; - is.read(bytes); - return bytes; - } - - public static Class getWrapperClass(Class primitive) { - if (primitive == int.class) { - return java.lang.Integer.class; - } else if (primitive == short.class) { - return java.lang.Short.class; - } else if (primitive == boolean.class) { - return java.lang.Boolean.class; - } else if (primitive == byte.class) { - return java.lang.Byte.class; - } else if (primitive == long.class) { - return java.lang.Long.class; - } else if (primitive == double.class) { - return java.lang.Double.class; - } else if (primitive == float.class) { - return java.lang.Float.class; - } else if (primitive == char.class) { - return java.lang.Character.class; - } - - return null; - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/DefaultXMLAdapterExtensionPoint.java b/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/DefaultXMLAdapterExtensionPoint.java deleted file mode 100644 index 062da48206..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/DefaultXMLAdapterExtensionPoint.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb; - -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -import javax.xml.bind.annotation.adapters.XmlAdapter; - -/** - * @version $Rev$ $Date$ - */ -public class DefaultXMLAdapterExtensionPoint implements XMLAdapterExtensionPoint { - private Map, Class> adapters = - new ConcurrentHashMap, Class>(); - - public void addAdapter(Class boundType, Class adapter) { - adapters.put(boundType, adapter); - } - - public Class getAdapter(Class boundType) { - Class cls = adapters.get(boundType); - if (cls != null) { - return cls; - } - for (Map.Entry, Class> e : adapters.entrySet()) { - if (e.getKey().isAssignableFrom(boundType)) { - return e.getValue(); - } - } - return null; - } - - @SuppressWarnings("unchecked") - public Class removeAdapter(Class boundType) { - return adapters.remove(boundType); - } - - public Map, Class> getAdapters() { - return adapters; - } - -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXB2Node.java b/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXB2Node.java deleted file mode 100644 index 3e262c7d12..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXB2Node.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.databinding.jaxb; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Marshaller; - -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; - -/** - * - * @version $Rev$ $Date$ - */ -public class JAXB2Node extends BaseTransformer implements PullTransformer { - - public Node transform(Object source, TransformationContext tContext) { -// if (source == null) { -// return null; -// } - try { - JAXBContext context = JAXBContextHelper.createJAXBContext(tContext, true); - Marshaller marshaller = context.createMarshaller(); - // FIXME: The default Marshaller doesn't support - // marshaller.getNode() - Document document = DOMHelper.newDocument(); - Object jaxbElement = JAXBContextHelper.createJAXBElement(context, tContext.getSourceDataType(), source); - marshaller.marshal(jaxbElement, document); - return DOMHelper.adjustElementName(tContext, document.getDocumentElement()); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return Object.class; - } - - @Override - protected Class getTargetType() { - return Node.class; - } - - @Override - public int getWeight() { - return 30; - } - - @Override - public String getSourceDataBinding() { - return JAXBDataBinding.NAME; - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXB2SAX.java b/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXB2SAX.java deleted file mode 100644 index eee5c77285..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXB2SAX.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.jaxb; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Marshaller; - -import org.apache.tuscany.sca.databinding.PushTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.TransformationException; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.xml.sax.ContentHandler; - -/** - * @version $Rev$ $Date$ - */ -public class JAXB2SAX extends BaseTransformer implements - PushTransformer { - - @Override - protected Class getSourceType() { - return Object.class; - } - - @Override - protected Class getTargetType() { - return ContentHandler.class; - } - - /** - * @see org.apache.tuscany.sca.databinding.PushTransformer#transform(java.lang.Object, java.lang.Object, org.apache.tuscany.sca.databinding.TransformationContext) - */ - public void transform(Object source, ContentHandler target, TransformationContext tContext) { - try { - JAXBContext context = JAXBContextHelper.createJAXBContext(tContext, true); - Marshaller marshaller = context.createMarshaller(); - Object jaxbElement = JAXBContextHelper.createJAXBElement(context, tContext.getSourceDataType(), source); - marshaller.marshal(jaxbElement, target); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public int getWeight() { - return 20; - } - - @Override - public String getSourceDataBinding() { - return JAXBDataBinding.NAME; - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXB2String.java b/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXB2String.java deleted file mode 100644 index 29951a5e16..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXB2String.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.databinding.jaxb; - -import java.io.StringWriter; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Marshaller; -import javax.xml.transform.stream.StreamResult; - -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.xml.XMLStringDataBinding; - -/** - * - * @version $Rev$ $Date$ - */ -public class JAXB2String extends BaseTransformer implements PullTransformer { - - public String transform(Object source, TransformationContext tContext) { - try { - JAXBContext context = JAXBContextHelper.createJAXBContext(tContext, true); - Marshaller marshaller = context.createMarshaller(); - StringWriter writer = new StringWriter(); - StreamResult result = new StreamResult(writer); - Object jaxbElement = JAXBContextHelper.createJAXBElement(context, tContext.getSourceDataType(), source); - marshaller.marshal(jaxbElement, result); - return writer.toString(); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return Object.class; - } - - @Override - protected Class getTargetType() { - return String.class; - } - - @Override - public int getWeight() { - return 30; - } - - @Override - public String getSourceDataBinding() { - return JAXBDataBinding.NAME; - } - - @Override - public String getTargetDataBinding() { - return XMLStringDataBinding.NAME; - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBContextCache.java b/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBContextCache.java deleted file mode 100644 index c64ce81fdf..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBContextCache.java +++ /dev/null @@ -1,420 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb; - -import java.awt.Image; -import java.lang.ref.SoftReference; -import java.net.URI; -import java.security.AccessController; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Calendar; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.UUID; -import java.util.concurrent.ConcurrentHashMap; - -import javax.activation.DataHandler; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Marshaller; -import javax.xml.bind.Unmarshaller; -import javax.xml.bind.annotation.XmlSchema; -import javax.xml.transform.Source; - -import org.apache.tuscany.sca.databinding.util.LRUCache; - -/** - * @version $Rev$ $Date$ - */ -public class JAXBContextCache { - private static final int CACHE_SIZE = 128; - - private static HashMap> loadClassMap = new HashMap>(); - - static { - loadClassMap.put("byte", byte.class); - loadClassMap.put("int", int.class); - loadClassMap.put("short", short.class); - loadClassMap.put("long", long.class); - loadClassMap.put("float", float.class); - loadClassMap.put("double", double.class); - loadClassMap.put("boolean", boolean.class); - loadClassMap.put("char", char.class); - loadClassMap.put("void", void.class); - } - - protected static Class[] JAXB_BUILTIN_CLASSES = - {byte[].class, boolean.class, byte.class, char.class, double.class, float.class, int.class, long.class, - short.class, void.class, java.awt.Image.class, java.io.File.class, java.lang.Boolean.class, - java.lang.Byte.class, java.lang.Character.class, java.lang.Class.class, java.lang.Double.class, - java.lang.Float.class, java.lang.Integer.class, java.lang.Long.class, java.lang.Object.class, - java.lang.Short.class, java.lang.String.class, java.lang.Void.class, java.math.BigDecimal.class, - java.math.BigInteger.class, java.net.URI.class, java.net.URL.class, java.util.Calendar.class, - java.util.Date.class, java.util.GregorianCalendar.class, java.util.UUID.class, - javax.activation.DataHandler.class, javax.xml.bind.JAXBElement.class, javax.xml.datatype.Duration.class, - javax.xml.datatype.XMLGregorianCalendar.class, javax.xml.namespace.QName.class, - javax.xml.transform.Source.class}; - - protected static final Set> BUILTIN_CLASSES_SET = new HashSet>(Arrays.asList(JAXB_BUILTIN_CLASSES)); - - /* - protected static Class[] COMMON_ARRAY_CLASSES = - new Class[] {char[].class, short[].class, int[].class, long[].class, float[].class, double[].class, - String[].class - }; - - protected static final Set> COMMON_CLASSES_SET = new HashSet>(Arrays.asList(COMMON_ARRAY_CLASSES)); - */ - - protected LRUCache cache; - protected Pool mpool; - protected Pool upool; - - // protected JAXBContext commonContext; - protected JAXBContext defaultContext; - - public JAXBContextCache() { - this(CACHE_SIZE, CACHE_SIZE, CACHE_SIZE); - } - - public JAXBContextCache(int contextSize, int marshallerSize, int unmarshallerSize) { - cache = new LRUCache(contextSize); - mpool = new Pool(); - upool = new Pool(); - defaultContext = getDefaultJAXBContext(); - } - - public static JAXBContext getDefaultJAXBContext() { - try { - return JAXBContext.newInstance(); - } catch (JAXBException e) { - throw new IllegalArgumentException(e); - } - } - - /** - * @param name of primitive type - * @return primitive Class or null - */ - public static Class getPrimitiveClass(String text) { - return loadClassMap.get(text); - } - - /** - * Return the class for this name - * - * @return Class - */ - private static Class forName(final String className, final boolean initialize, final ClassLoader classloader) - throws ClassNotFoundException { - // NOTE: This method must remain private because it uses AccessController - Class cl = null; - try { - cl = AccessController.doPrivileged(new PrivilegedExceptionAction>() { - public Class run() throws ClassNotFoundException { - // Class.forName does not support primitives - Class cls = getPrimitiveClass(className); - if (cls == null) { - cls = Class.forName(className, initialize, classloader); - } - return cls; - } - }); - } catch (PrivilegedActionException e) { - throw (ClassNotFoundException)e.getException(); - } - - return cl; - } - - /** - * @param p Package - * @param cl - * @return true if each package has a ObjectFactory class or package-info - */ - public static boolean checkPackage(String p, ClassLoader cl) { - - // Each package must have an ObjectFactory - try { - Class cls = forName(p + ".ObjectFactory", false, cl); - if (cls != null) { - return true; - } - //Catch Throwable as ClassLoader can throw an NoClassDefFoundError that - //does not extend Exception. So we will absorb any Throwable exception here. - } catch (Throwable e) { - // Ignore - } - - try { - Class cls = forName(p + ".package-info", false, cl); - if (cls != null) { - return cls.isAnnotationPresent(XmlSchema.class); - } - //Catch Throwable as ClassLoader can throw an NoClassDefFoundError that - //does not extend Exception. So we will absorb any Throwable exception here. - } catch (Throwable e) { - // Ignore - } - - return false; - } - - public Marshaller getMarshaller(JAXBContext context) throws JAXBException { - Marshaller marshaller = mpool.get(context); - if (marshaller == null) { - marshaller = context.createMarshaller(); - } - marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE); - return marshaller; - } - - public void releaseJAXBMarshaller(JAXBContext context, Marshaller marshaller) { - if (marshaller != null) { - marshaller.setAttachmentMarshaller(null); - mpool.put(context, marshaller); - // No point unsetting marshaller's JAXB_FRAGMENT property, since we'll just reset it when - // doing the next get. - } - } - - public Unmarshaller getUnmarshaller(JAXBContext context) throws JAXBException { - Unmarshaller unmarshaller = upool.get(context); - if (unmarshaller == null) { - unmarshaller = context.createUnmarshaller(); - } - return unmarshaller; - } - - public void releaseJAXBUnmarshaller(JAXBContext context, Unmarshaller unmarshaller) { - if (unmarshaller != null) { - unmarshaller.setAttachmentUnmarshaller(null); - upool.put(context, unmarshaller); - } - } - - public LRUCache getCache() { - return cache; - } - - public JAXBContext getJAXBContext(Class cls) throws JAXBException { - if (BUILTIN_CLASSES_SET.contains(cls)) { - return defaultContext; - } - synchronized (cache) { - JAXBContext context = cache.get(cls); - if (context != null) { - return context; - } - Package pkg = cls.getPackage(); - if (pkg != null) { - context = cache.get(pkg); - if (context != null) { - return context; - } - } - - if (pkg != null && checkPackage(pkg.getName(), cls.getClassLoader())) { - context = JAXBContext.newInstance(pkg.getName(), cls.getClassLoader()); - cache.put(pkg, context); - } else { - context = JAXBContext.newInstance(cls); - cache.put(cls, context); - } - return context; - - } - } - - public JAXBContext getJAXBContext(Class[] classes) throws JAXBException { - Set> classSet = new HashSet>(Arrays.asList(classes)); - return getJAXBContext(classSet); - } - - public JAXBContext getJAXBContext(Set> classes) throws JAXBException { - // Remove the JAXB built-in types to maximize the cache hit - Set> classSet = new HashSet>(classes); - classSet.removeAll(BUILTIN_CLASSES_SET); - - // FIXME: [rfeng] Remove java classes that are mapped to the same XSD type to avoid - // conflicts - if (classSet.contains(Date[].class)) { - classSet.remove(Calendar[].class); - } - - if (classSet.contains(URI[].class)) { - classSet.remove(UUID[].class); - } - - if (classSet.contains(Source[].class)) { - classSet.remove(Image[].class); - classSet.remove(DataHandler[].class); - } - - if(classSet.isEmpty()) { - return defaultContext; - } - - // For single class - if (classSet.size() == 1) { - return getJAXBContext(classSet.iterator().next()); - } - synchronized (cache) { - JAXBContext context = cache.get(classSet); - if (context != null) { - return context; - } - context = JAXBContext.newInstance(classSet.toArray(new Class[classSet.size()])); - cache.put(classSet, context); - return context; - } - } - - public void clear() { - synchronized (cache) { - cache.clear(); - } - /* - synchronized (upool) { - upool.clear(); - } - synchronized (upool) { - upool.clear(); - } - */ - } - - // - // This inner class is copied in its entirety from the Axis2 utility class, - // org.apache.axis2.jaxws.message.databinding.JAXBUtils. We could look into extending but it's such a basic data structure - // without other dependencies so we might be better off copying it and avoiding a new - // Axis2 dependency here. - // - - /** - * Pool a list of items for a specific key - * - * @param Key - * @param Pooled object - */ - private static class Pool { - private SoftReference>> softMap = - new SoftReference>>( - new ConcurrentHashMap>()); - - // The maps are freed up when a LOAD FACTOR is hit - private static int MAX_LIST_FACTOR = 50; - private static int MAX_LOAD_FACTOR = 32; // Maximum number of JAXBContext to store - - /** - * @param key - * @return removed item from pool or null. - */ - public V get(K key) { - List values = getValues(key); - synchronized (values) { - if (values.size()>0) { - V v = values.remove(values.size()-1); - return v; - - } - } - return null; - } - - /** - * Add item back to pool - * @param key - * @param value - */ - public void put(K key, V value) { - adjustSize(); - List values = getValues(key); - synchronized (values) { - if (values.size() < MAX_LIST_FACTOR) { - values.add(value); - } - } - } - - /** - * Get or create a list of the values for the key - * @param key - * @return list of values. - */ - private List getValues(K key) { - Map> map = softMap.get(); - List values = null; - if (map != null) { - values = map.get(key); - if(values !=null) { - return values; - } - } - synchronized (this) { - if (map != null) { - values = map.get(key); - } - if (values == null) { - if (map == null) { - map = new ConcurrentHashMap>(); - softMap = - new SoftReference>>(map); - } - values = new ArrayList(); - map.put(key, values); - - } - return values; - } - } - - /** - * AdjustSize - * When the number of keys exceeds the maximum load, half - * of the entries are deleted. - * - * The assumption is that the JAXBContexts, UnMarshallers, Marshallers, etc. require - * a large footprint. - */ - private void adjustSize() { - Map> map = softMap.get(); - if (map != null && map.size() > MAX_LOAD_FACTOR) { - // Remove every other Entry in the map. - Iterator it = map.entrySet().iterator(); - boolean removeIt = false; - while (it.hasNext()) { - it.next(); - if (removeIt) { - it.remove(); - } - removeIt = !removeIt; - } - } - } - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBContextHelper.java b/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBContextHelper.java deleted file mode 100644 index 5265184ba6..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBContextHelper.java +++ /dev/null @@ -1,442 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb; - -import java.lang.reflect.GenericArrayType; -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; -import java.lang.reflect.TypeVariable; -import java.lang.reflect.WildcardType; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBElement; -import javax.xml.bind.JAXBException; -import javax.xml.bind.JAXBIntrospector; -import javax.xml.bind.Marshaller; -import javax.xml.bind.Unmarshaller; -import javax.xml.bind.annotation.XmlEnum; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlSchema; -import javax.xml.bind.annotation.XmlType; -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.TransformationException; -import org.apache.tuscany.sca.databinding.impl.SimpleTypeMapperImpl; -import org.apache.tuscany.sca.databinding.util.LRUCache; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Interface; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.util.WrapperInfo; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -/** - * - * @version $Rev$ $Date$ - */ -// FIXME: [rfeng] We probably should turn this into a pluggable system service -public class JAXBContextHelper { - // public static final String JAXB_CLASSES = "jaxb.classes"; - - // public static final String JAXB_CONTEXT_PATH = "jaxb.contextPath"; - - private static final JAXBContextCache cache = new JAXBContextCache(); - - private JAXBContextHelper() { - } - - /** - * Create a JAXBContext for a given class - * @param cls - * @return - * @throws JAXBException - */ - public static JAXBContext createJAXBContext(Class cls) throws JAXBException { - return cache.getJAXBContext(cls); - } - - public static JAXBContext createJAXBContext(TransformationContext tContext, boolean source) throws JAXBException { - if (tContext == null) - throw new TransformationException("JAXB context is not set for the transformation."); - - // TODO: [rfeng] Need to figure out what's the best grantularity to create the JAXBContext - // per interface, operation or parameter - Operation op = source ? tContext.getSourceOperation() : tContext.getTargetOperation(); - if (op != null) { - synchronized (op) { - JAXBContext context = op.getInputType().getMetaData(JAXBContext.class); - if (context == null) { - context = createJAXBContext(getDataTypes(op, true)); - op.getInputType().setMetaData(JAXBContext.class, context); - } - return context; - } - } - - // For property transformation, the operation can be null - DataType dataType = source ? tContext.getSourceDataType() : tContext.getTargetDataType(); - return createJAXBContext(dataType); - - } - - public static JAXBContext createJAXBContext(DataType dataType) throws JAXBException { - return createJAXBContext(findClasses(dataType)); - } - - public static Unmarshaller getUnmarshaller(JAXBContext context) throws JAXBException { - return cache.getUnmarshaller(context); - } - - public static void releaseJAXBUnmarshaller(JAXBContext context, Unmarshaller unmarshaller) { - cache.releaseJAXBUnmarshaller(context, unmarshaller); - } - - public static Marshaller getMarshaller(JAXBContext context) throws JAXBException { - return cache.getMarshaller(context); - } - - public static void releaseJAXBMarshaller(JAXBContext context, Marshaller marshaller) { - cache.releaseJAXBMarshaller(context, marshaller); - } - - @SuppressWarnings("unchecked") - public static Object createJAXBElement(JAXBContext context, DataType dataType, Object value) { - Class type = dataType == null ? value.getClass() : dataType.getPhysical(); - QName name = JAXBDataBinding.ROOT_ELEMENT; - if (context != null) { - Object logical = dataType == null ? null : dataType.getLogical(); - if (logical instanceof XMLType) { - XMLType xmlType = (XMLType)logical; - if (xmlType.isElement()) { - name = xmlType.getElementName(); - } else { - /** - * Set the declared type to Object.class so that xsi:type - * will be produced - */ - type = Object.class; - } - } else { - type = Object.class; - } - } - - JAXBIntrospector introspector = context.createJAXBIntrospector(); - Object element = null; - if (value != null && introspector.isElement(value)) { - // NOTE: [rfeng] We cannot wrap an element in a JAXBElement - element = value; - } - if (element == null) { - element = new JAXBElement(name, type, value); - } - return element; - } - - @SuppressWarnings("unchecked") - public static Object createReturnValue(JAXBContext context, DataType dataType, Object value) { - Class cls = getJavaType(dataType); - if (cls == JAXBElement.class) { - return createJAXBElement(context, dataType, value); - } else { - if (value instanceof JAXBElement) { - return ((JAXBElement)value).getValue(); - } else { - return value; - } - } - } - - /** - * Create a JAXContext for an array of classes - * @param classes - * @return - * @throws JAXBException - */ - public static JAXBContext createJAXBContext(Class[] classes) throws JAXBException { - return cache.getJAXBContext(classes); - } - - public static JAXBContext createJAXBContext(Set> classes) throws JAXBException { - return cache.getJAXBContext(classes); - } - - /** - * Create a JAXBContext for a given java interface - * @param intf - * @return - * @throws JAXBException - */ - public static JAXBContext createJAXBContext(Interface intf, boolean useWrapper) throws JAXBException { - synchronized (cache) { - LRUCache map = cache.getCache(); - Integer key = new Integer(System.identityHashCode(intf)); - JAXBContext context = map.get(key); - if (context != null) { - return context; - } - List dataTypes = getDataTypes(intf, useWrapper); - context = createJAXBContext(dataTypes); - map.put(key, context); - return context; - } - } - - public static JAXBContext createJAXBContext(List dataTypes) throws JAXBException { - JAXBContext context; - Set> classes = new HashSet>(); - Set visited = new HashSet(); - for (DataType d : dataTypes) { - findClasses(d, classes, visited); - } - - context = createJAXBContext(classes); - return context; - } - - private static Set> findClasses(DataType d) { - Set> classes = new HashSet>(); - Set visited = new HashSet(); - findClasses(d, classes, visited); - return classes; - } - - private static void findClasses(DataType d, Set> classes, Set visited) { - if (d == null) { - return; - } - String db = d.getDataBinding(); - if (JAXBDataBinding.NAME.equals(db) || (db != null && db.startsWith("java:")) || db == null) { - if (!d.getPhysical().isInterface() && !JAXBElement.class.isAssignableFrom(d.getPhysical())) { - classes.add(d.getPhysical()); - } - } - if (d.getPhysical() != d.getGenericType()) { - findClasses(d.getGenericType(), classes, visited); - } - } - - /** - * Find referenced classes in the generic type - * @param type - * @param classSet - * @param visited - */ - private static void findClasses(Type type, Set> classSet, Set visited) { - if (visited.contains(type) || type == null) { - return; - } - visited.add(type); - if (type instanceof Class) { - Class cls = (Class)type; - if (!cls.isInterface()) { - classSet.add(cls); - } - return; - } else if (type instanceof ParameterizedType) { - ParameterizedType pType = (ParameterizedType)type; - findClasses(pType.getRawType(), classSet, visited); - for (Type t : pType.getActualTypeArguments()) { - findClasses(t, classSet, visited); - } - } else if (type instanceof TypeVariable) { - TypeVariable tv = (TypeVariable)type; - for (Type t : tv.getBounds()) { - findClasses(t, classSet, visited); - } - } else if (type instanceof GenericArrayType) { - GenericArrayType gType = (GenericArrayType)type; - findClasses(gType, classSet, visited); - } else if (type instanceof WildcardType) { - WildcardType wType = (WildcardType)type; - for (Type t : wType.getLowerBounds()) { - findClasses(t, classSet, visited); - } - for (Type t : wType.getUpperBounds()) { - findClasses(t, classSet, visited); - } - } - } - - public static JAXBContext createJAXBContext(Interface intf) throws JAXBException { - return createJAXBContext(intf, true); - } - - /** - * @param intf - * @param useWrapper Use wrapper classes? - * @return - */ - private static List getDataTypes(Interface intf, boolean useWrapper) { - List dataTypes = new ArrayList(); - for (Operation op : intf.getOperations()) { - getDataTypes(dataTypes, op, useWrapper); - } - return dataTypes; - } - - private static List getDataTypes(Operation op, boolean useWrapper) { - List dataTypes = new ArrayList(); - getDataTypes(dataTypes, op, useWrapper); - return dataTypes; - } - - private static void getDataTypes(List dataTypes, Operation op, boolean useWrapper) { - WrapperInfo wrapper = op.getWrapper(); - if (useWrapper && wrapper != null) { - DataType dt1 = wrapper.getInputWrapperType(); - if (dt1 != null) { - dataTypes.add(dt1); - } - DataType dt2 = wrapper.getOutputWrapperType(); - if (dt2 != null) { - dataTypes.add(dt2); - } - } - // FIXME: [rfeng] We may need to find the referenced classes in the child types - // else - { - for (DataType dt1 : op.getInputType().getLogical()) { - dataTypes.add(dt1); - } - DataType dt2 = op.getOutputType(); - if (dt2 != null) { - dataTypes.add(dt2); - } - } - for (DataType dt3 : op.getFaultTypes()) { - DataType dt4 = dt3.getLogical(); - if (dt4 != null) { - dataTypes.add(dt4); - } - } - } - - public static Class getJavaType(DataType dataType) { - if (dataType == null) { - return null; - } - Class type = dataType.getPhysical(); - if (JAXBElement.class.isAssignableFrom(type)) { - Type generic = dataType.getGenericType(); - type = Object.class; - } - if (type == Object.class && dataType.getLogical() instanceof XMLType) { - XMLType xType = (XMLType)dataType.getLogical(); - Class javaType = SimpleTypeMapperImpl.getJavaType(xType.getTypeName()); - if (javaType != null) { - type = javaType; - } - } - return type; - } - - public static XMLType getXmlTypeName(Class javaType) { - if (javaType.isInterface()) { - // JAXB doesn't support interfaces - return null; - } - String namespace = null; - String name = null; - Package pkg = javaType.getPackage(); - if (pkg != null) { - XmlSchema schema = pkg.getAnnotation(XmlSchema.class); - if (schema != null) { - namespace = schema.namespace(); - } - } - - QName elementQName = null; - QName typeQName = null; - XmlRootElement rootElement = javaType.getAnnotation(XmlRootElement.class); - if (rootElement != null) { - String elementName = rootElement.name(); - String elementNamespace = rootElement.namespace(); - if (elementNamespace.equals("##default")) { - elementNamespace = namespace; - } - if (elementName.equals("##default")) { - elementName = jaxbDecapitalize(javaType.getSimpleName()); - } - elementQName = new QName(elementNamespace, elementName); - } - XmlType type = javaType.getAnnotation(XmlType.class); - if (type != null) { - String typeNamespace = type.namespace(); - String typeName = type.name(); - - if (typeNamespace.equals("##default")) { - // namespace is from the package - typeNamespace = namespace; - } - - if (typeName.equals("##default")) { - typeName = jaxbDecapitalize(javaType.getSimpleName()); - } - typeQName = new QName(typeNamespace, typeName); - } else { - XmlEnum xmlEnum = javaType.getAnnotation(XmlEnum.class); - if (xmlEnum != null) { - name = jaxbDecapitalize(javaType.getSimpleName()); - typeQName = new QName(namespace, name); - } - } - if (elementQName == null && typeQName == null) { - return null; - } - return new XMLType(elementQName, typeQName); - } - - /** - * The JAXB RI doesn't implement the decapitalization algorithm in the - * JAXB spec. See Sun bug 6505643 for details. This means that instead - * of calling java.beans.Introspector.decapitalize() as the JAXB spec says, - * Tuscany needs to mimic the incorrect JAXB RI algorithm. - */ - public static String jaxbDecapitalize(String name) { - // find first lower case char in name - int lower = name.length(); - for (int i = 0; i < name.length(); i++) { - if (Character.isLowerCase(name.charAt(i))) { - lower = i; - break; - } - } - - int decap; - if (name.length() == 0) { - decap = 0; // empty string: nothing to do - } else if (lower == 0) { - decap = 0; // first char is lower case: nothing to do - } else if (lower == 1) { - decap = 1; // one upper followed by lower: decapitalize 1 char - } else if (lower < name.length()) { - decap = lower - 1; // n uppers followed by at least one lower: decapitalize n-1 chars - } else { - decap = name.length(); // all upper case: decapitalize all chars - } - - return name.substring(0, decap).toLowerCase() + name.substring(decap); - } - -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBDataBinding.java b/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBDataBinding.java deleted file mode 100644 index 38efd288cb..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBDataBinding.java +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb; - -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBElement; -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.databinding.WrapperHandler; -import org.apache.tuscany.sca.databinding.XMLTypeHelper; -import org.apache.tuscany.sca.databinding.impl.BaseDataBinding; -import org.apache.tuscany.sca.databinding.impl.DOMHelper; -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.w3c.dom.Document; - -/** - * JAXB DataBinding - * - * @version $Rev$ $Date$ - */ -public class JAXBDataBinding extends BaseDataBinding { - public static final String NAME = JAXBElement.class.getName(); - - public static final String ROOT_NAMESPACE = "http://tuscany.apache.org/xmlns/sca/databinding/jaxb/1.0"; - public static final QName ROOT_ELEMENT = new QName(ROOT_NAMESPACE, "root"); - - private JAXBWrapperHandler wrapperHandler; - private JAXBTypeHelper xmlTypeHelper; - - public JAXBDataBinding() { - super(NAME, JAXBElement.class); - this.wrapperHandler = new JAXBWrapperHandler(); - this.xmlTypeHelper = new JAXBTypeHelper(); - } - - @Override - public boolean introspect(DataType dataType, Operation operation) { - Class javaType = dataType.getPhysical(); - if (JAXBElement.class.isAssignableFrom(javaType)) { - Type type = javaType.getGenericSuperclass(); - if (type instanceof ParameterizedType) { - ParameterizedType parameterizedType = ((ParameterizedType)type); - Type rawType = parameterizedType.getRawType(); - if (rawType == JAXBElement.class) { - Type actualType = parameterizedType.getActualTypeArguments()[0]; - if (actualType instanceof Class) { - XMLType xmlType = JAXBContextHelper.getXmlTypeName((Class)actualType); - dataType.setLogical(xmlType); - dataType.setDataBinding(NAME); - return true; - } - } - } - if (dataType.getLogical() == null) { - dataType.setLogical(XMLType.UNKNOWN); - } - dataType.setDataBinding(NAME); - return true; - } - - XMLType xmlType = JAXBContextHelper.getXmlTypeName(javaType); - if (xmlType == null) { - return false; - } - dataType.setLogical(xmlType); - dataType.setDataBinding(NAME); - return true; - } - - @SuppressWarnings("unchecked") - @Override - public Object copy(Object arg, DataType dataType, Operation operation) { - try { - boolean isElement = false; - if (dataType == null) { - Class cls = arg.getClass(); - if (arg instanceof JAXBElement) { - isElement = true; - cls = ((JAXBElement)arg).getDeclaredType(); - } - dataType = new DataTypeImpl(NAME, cls, XMLType.UNKNOWN); - } - JAXBContext context = JAXBContextHelper.createJAXBContext(dataType); - arg = JAXBContextHelper.createJAXBElement(context, dataType, arg); - Document doc = DOMHelper.newDocument(); - context.createMarshaller().marshal(arg, doc); - Object value = context.createUnmarshaller().unmarshal(doc, dataType.getPhysical()); - if (isElement && value instanceof JAXBElement) { - return value; - } - return JAXBContextHelper.createReturnValue(context, dataType, value); - } catch (Exception e) { - throw new IllegalArgumentException(e); - } - } - - @Override - public WrapperHandler getWrapperHandler() { - return wrapperHandler; - } - - @Override - public XMLTypeHelper getXMLTypeHelper() { - // return new JAXBTypeHelper(); - return xmlTypeHelper; - } - -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBPropertyDescriptor.java b/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBPropertyDescriptor.java deleted file mode 100644 index 556f784102..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBPropertyDescriptor.java +++ /dev/null @@ -1,302 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb; - -import java.beans.IndexedPropertyDescriptor; -import java.beans.PropertyDescriptor; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.Collection; - -import javax.xml.bind.JAXBElement; -import javax.xml.namespace.QName; - -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * A PropertyDescriptor provides acesss to a bean property. Values can be queried/changed using the - * read and writer methods of the PropertyDescriptor. - *

- * A PropertyDescriptorPlus object wraps a PropertyDescriptor and supplies enhanced set/get methods - * that match JAXB semantis. - *

- * For example, the set(..) method is smart enough to add lists, arrays and atomic values on JAXB - * beans. - *

- * The PropertyDescriptorPlus object also stores the xmlName of the property. - * - * @See XMLRootElementUtil.createPropertyDescriptorMap , which creates the PropertyDescriptorPlus - * objects - */ -public class JAXBPropertyDescriptor implements Comparable { - PropertyDescriptor descriptor; - QName xmlName = null; - int index; - - /** - * Package protected constructor. Only created by XMLRootElementUtil.createPropertyDescriptorMap - * @param descriptor - * @param index TODO - * @param propertyName - * - * @see XMLRootElementUtil.createPropertyDescriptorMap - */ - JAXBPropertyDescriptor(PropertyDescriptor descriptor, QName xmlName, int index) { - super(); - this.descriptor = descriptor; - this.xmlName = xmlName; - } - - /** - * Package protected constructor. Only created by XMLRootElementUtil.createPropertyDescriptorMap - * @param descriptor - * @param index TODO - * @param propertyName - * - * @see XMLRootElementUtil.createPropertyDescriptorMap - */ - JAXBPropertyDescriptor(PropertyDescriptor descriptor, String xmlName, int index) { - super(); - this.descriptor = descriptor; - this.xmlName = new QName("", xmlName); - } - - public int compareTo(JAXBPropertyDescriptor o) { - return index - o.index; - } - - /** @return xmlname */ - public String getXmlName() { - return xmlName.getLocalPart(); - } - - public QName getXmlQName() { - return xmlName; - } - - /** @return property type */ - public Class getPropertyType() { - return descriptor.getPropertyType(); - } - - /** @return property name */ - public String getPropertyName() { - return descriptor.getName(); - } - - /** - * Get the object - * - * @param targetBean - * @return Object for this property or null - * @throws InvocationTargetException - * @throws IllegalAccessException - */ - public Object get(Object targetBean) throws InvocationTargetException, IllegalAccessException { - Method method = descriptor.getReadMethod(); - if (method == null && descriptor.getPropertyType() == Boolean.class) { - String propertyName = descriptor.getName(); - if (propertyName != null) { - String methodName = "is"; - methodName = - methodName + ((propertyName.length() > 0) ? propertyName.substring(0, 1).toUpperCase() : ""); - methodName = methodName + ((propertyName.length() > 1) ? propertyName.substring(1) : ""); - try { - method = targetBean.getClass().getMethod(methodName); - } catch (NoSuchMethodException e) { - } - } - } - if (method == null) { - throw new ServiceRuntimeException("No getter is found"); - } - Object ret = method.invoke(targetBean); - if (method.getReturnType() == JAXBElement.class) { - ret = ((JAXBElement)ret).getValue(); - } - return ret; - } - - /** - * Set the object - * - * @param targetBean - * @param propValue - * @throws InvocationTargetException - * @throws IllegalAccessException - * @throws JAXBWrapperException - */ - public void set(Object targetBean, Object propValue) throws InvocationTargetException, IllegalAccessException, - JAXBWrapperException { - - Method writeMethod = null; - try { - // No set occurs if the value is null - if (propValue == null) { - return; - } - - // There are 3 different types of setters that can occur. - // 1) Normal Attomic Setter : setFoo(type) - // 2) Indexed Array Setter : setFoo(type[]) - // 3) No Setter case if the property is a List. - - writeMethod = descriptor.getWriteMethod(); - if (descriptor instanceof IndexedPropertyDescriptor) { - // Set for indexed T[] - setIndexedArray(targetBean, propValue, writeMethod); - } else if (writeMethod == null) { - // Set for List - setList(targetBean, propValue); - } else if (descriptor.getPropertyType() == JAXBElement.class) { - if (propValue != null) { - Class clazz = propValue.getClass(); - JAXBElement element = new JAXBElement(xmlName, clazz, propValue); - setAtomic(targetBean, element, writeMethod); - } - } else { - // Normal case - setAtomic(targetBean, propValue, writeMethod); - } - } catch (RuntimeException e) { - throw e; - } - } - - /** - * Set the property value onto targetBean using the writeMethod - * - * @param targetBean - * @param propValue - * @param writeMethod (set(T)) - * @throws InvocationTargetException - * @throws IllegalAccessException - * @throws JAXBWrapperException - */ - private void setAtomic(Object targetBean, Object propValue, Method writeMethod) throws InvocationTargetException, - IllegalAccessException, JAXBWrapperException { - // JAXB provides setters for atomic value. - - if (propValue != null) { - // Normal case - Object[] SINGLE_PARAM = new Object[1]; - SINGLE_PARAM[0] = propValue; - writeMethod.invoke(targetBean, SINGLE_PARAM); - } else { - Class[] paramTypes = writeMethod.getParameterTypes(); - - if (paramTypes != null && paramTypes.length == 1) { - Class paramType = paramTypes[0]; - if (paramType.isPrimitive() && propValue == null) { - //Ignoring null value for primitive type, this could potentially be the way of a customer indicating to set - //default values defined in JAXBObject/xmlSchema. - return; - } - } - } - - } - - /** - * Set the property value using the indexed array setter - * - * @param targetBean - * @param propValue - * @param writeMethod set(T[]) - * @throws InvocationTargetException - * @throws IllegalAccessException - * @throws JAXBWrapperException - */ - private void setIndexedArray(Object targetBean, Object propValue, Method writeMethod) - throws InvocationTargetException, IllegalAccessException, JAXBWrapperException { - - Class paramType = writeMethod.getParameterTypes()[0]; - Object value = asArray(propValue, paramType); - // JAXB provides setters for atomic value. - Object[] SINGLE_PARAM = new Object[1]; - SINGLE_PARAM[0] = value; - - writeMethod.invoke(targetBean, SINGLE_PARAM); - } - - /** - * Set the property value for the collection case. - * - * @param targetBean - * @param propValue - * @throws InvocationTargetException - * @throws IllegalAccessException - * @throws JAXBWrapperException - */ - private void setList(Object targetBean, Object propValue) throws InvocationTargetException, IllegalAccessException, - JAXBWrapperException { - // For the List case, there is no setter. - // You are supposed to use the getter to obtain access to the collection and then add the collection - - Collection value = asCollection(propValue, descriptor.getPropertyType()); - Collection collection = (Collection)get(targetBean); - - // Now add our our object to the collection - collection.clear(); - if (propValue != null) { - collection.addAll(value); - } - } - - /** - * @param propValue - * @param destType - * @return propValue as a Collection - */ - private static Collection asCollection(Object propValue, Class destType) { - // TODO Missing function - // Convert the object into an equivalent object that is a collection - if (DataConverter.isConvertable(propValue, destType)) { - return (Collection)DataConverter.convert(propValue, destType); - } else { - String objectClass = (propValue == null) ? "null" : propValue.getClass().getName(); - throw new ServiceRuntimeException("Cannot convert " + objectClass); - } - } - - /** - * @param propValue - * @param destType T[] - * @return array of component type - */ - private static Object asArray(Object propValue, Class destType) { - if (DataConverter.isConvertable(propValue, destType)) { - return DataConverter.convert(propValue, destType); - } else { - String objectClass = (propValue == null) ? "null" : propValue.getClass().getName(); - throw new ServiceRuntimeException("Cannot convert " + objectClass); - - } - } - - @Override - public String toString() { - String value = "PropertyDescriptorPlus["; - value += " name=" + this.getPropertyName(); - value += " type=" + this.getPropertyType().getName(); - value += " propertyDecriptor=" + this.descriptor; - return value + "]"; - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBTypeHelper.java b/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBTypeHelper.java deleted file mode 100644 index 097be3ef6c..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBTypeHelper.java +++ /dev/null @@ -1,245 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb; - -import java.io.IOException; -import java.io.StringReader; -import java.io.StringWriter; -import java.net.URI; -import java.net.URISyntaxException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.SchemaOutputResolver; -import javax.xml.namespace.QName; -import javax.xml.transform.Result; -import javax.xml.transform.dom.DOMResult; -import javax.xml.transform.stream.StreamResult; - -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.databinding.XMLTypeHelper; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Interface; -import org.apache.tuscany.sca.interfacedef.util.JavaXMLMapper; -import org.apache.tuscany.sca.interfacedef.util.TypeInfo; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.apache.tuscany.sca.xsd.XSDFactory; -import org.apache.tuscany.sca.xsd.XSDefinition; -import org.apache.ws.commons.schema.resolver.URIResolver; -import org.oasisopen.sca.ServiceRuntimeException; -import org.w3c.dom.Document; -import org.xml.sax.InputSource; - -public class JAXBTypeHelper implements XMLTypeHelper { - private static final String SCHEMA_NS = "http://www.w3.org/2001/XMLSchema"; - private static final String ANYTYPE_NAME = "anyType"; - private static final QName ANYTYPE_QNAME = new QName(SCHEMA_NS, ANYTYPE_NAME); - - // private List> types = new ArrayList>(); - - public JAXBTypeHelper() { - super(); - } - - public TypeInfo getTypeInfo(Class javaType, Object logical) { - QName xmlType = JavaXMLMapper.getXMLType(javaType); - if (xmlType != null) { - return new TypeInfo(xmlType, true, null); - } else if (javaType.isInterface()) { - return new TypeInfo(ANYTYPE_QNAME, true, null); - } else { - // types.add(javaType); - if (logical instanceof XMLType) { - xmlType = ((XMLType)logical).getTypeName(); - } - if (xmlType == null) { - xmlType = new QName(JAXBContextHelper.jaxbDecapitalize(javaType.getSimpleName())); - } - return new TypeInfo(xmlType, false, null); - } - } - - /* - public List getSchemaDefinitions(XSDFactory factory, ModelResolver resolver) { - List definitions = new ArrayList(); - generateJAXBSchemas(definitions, factory); - return definitions; - } - */ - - public static Map generateSchema(JAXBContext context) throws IOException { - StringResolverImpl resolver = new StringResolverImpl(); - context.generateSchema(resolver); - Map xsds = new HashMap(); - for (Map.Entry xsd : resolver.getResults().entrySet()) { - xsds.put(xsd.getKey(), xsd.getValue().getWriter().toString()); - } - return xsds; - } - - private static class XSDResolver implements URIResolver { - private Map xsds; - - public XSDResolver(Map xsds) { - super(); - this.xsds = xsds; - } - - public InputSource resolveEntity(java.lang.String namespace, - java.lang.String schemaLocation, - java.lang.String baseUri) { - String xsd = xsds.get(schemaLocation); - if (xsd == null) { - return null; - } - return new InputSource(new StringReader(xsd)); - } - - } - - /* - private void generateJAXBSchemas1(List definitions, XSDFactory factory) { - if (types.size() > 0) { - try { - XmlSchemaCollection collection = new XmlSchemaCollection(); - Class[] typesArray = new Class[types.size()]; - typesArray = types.toArray(typesArray); - JAXBContext context = JAXBContextHelper.createJAXBContext(typesArray); - Map results = generateSchema(context); - collection.setSchemaResolver(new XSDResolver(results)); - - for (Map.Entry entry : results.entrySet()) { - XSDefinition definition = factory.createXSDefinition(); - int index = entry.getKey().lastIndexOf('#'); - String ns = entry.getKey().substring(0, index); - String file = entry.getKey().substring(index + 1); - definition.setUnresolved(true); - definition.setNamespace(ns); - definition.setSchema(collection.read(new StringReader(entry.getValue()), null)); - definition.setSchemaCollection(collection); - definition.setUnresolved(false); - definitions.add(definition); - } - } catch (Exception e) { - throw new RuntimeException(e); - } - } - } - */ - - private static class DOMResolverImpl extends SchemaOutputResolver { - private Map results = new HashMap(); - - @Override - public Result createOutput(String ns, String file) throws IOException { - DOMResult result = new DOMResult(); - // TUSCANY-2498: Set the system id to "" so that the xsd:import doesn't produce - // an illegal schemaLocation attr - result.setSystemId(""); - results.put(ns, result); - return result; - } - - public Map getResults() { - return results; - } - } - - /* - private void generateJAXBSchemas(List definitions, XSDFactory factory) { - if (types.size() > 0) { - try { - Class[] typesArray = new Class[types.size()]; - typesArray = types.toArray(typesArray); - JAXBContext context = JAXBContext.newInstance(typesArray); - generateSchemas(definitions, factory, context); - } catch (Exception e) { - throw new RuntimeException(e); - } - } - } - */ - - private void generateSchemas(List definitions, XSDFactory factory, JAXBContext context) - throws IOException { - DOMResolverImpl resolver = new DOMResolverImpl(); - context.generateSchema(resolver); - Map results = resolver.getResults(); - for (Map.Entry entry : results.entrySet()) { - XSDefinition definition = factory.createXSDefinition(); - definition.setUnresolved(true); - definition.setDocument((Document)entry.getValue().getNode()); - definition.setNamespace(entry.getKey()); - URI location = null; - try { - location = new URI(entry.getValue().getSystemId()); - } catch (URISyntaxException e) { - // ignore: use null value - } - definition.setLocation(location); - definitions.add(definition); - } - } - - private static class StringResolverImpl extends SchemaOutputResolver { - private Map results = new HashMap(); - - @Override - public Result createOutput(String ns, String file) throws IOException { - StringWriter sw = new StringWriter(); - StreamResult result = new StreamResult(sw); - String sysId = ns + '#' + file; - result.setSystemId(sysId); - results.put(sysId, result); - return result; - } - - public Map getResults() { - return results; - } - } - - public List getSchemaDefinitions(XSDFactory factory, ModelResolver resolver, Interface intf) { - try { - JAXBContext context = JAXBContextHelper.createJAXBContext(intf, false); - List definitions = new ArrayList(); - generateSchemas(definitions, factory, context); - return definitions; - } catch (Throwable e) { - throw new ServiceRuntimeException(e); - } - } - - public List getSchemaDefinitions(XSDFactory factory, ModelResolver resolver, List dataTypes) { - try { - - JAXBContext context = JAXBContextHelper.createJAXBContext(dataTypes); - List definitions = new ArrayList(); - generateSchemas(definitions, factory, context); - return definitions; - } catch (Throwable e) { - throw new ServiceRuntimeException(e); - } - } - -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBWrapperException.java b/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBWrapperException.java deleted file mode 100644 index 7473a8e56e..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBWrapperException.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.databinding.jaxb; - -import org.oasisopen.sca.ServiceRuntimeException; - -public class JAXBWrapperException extends ServiceRuntimeException { - private static final long serialVersionUID = 1L; - - /** - * - */ - public JAXBWrapperException() { - super(); - - } - - /** - * @param message - * @param cause - */ - public JAXBWrapperException(String message, Throwable cause) { - super(message, cause); - - } - - /** @param message */ - public JAXBWrapperException(String message) { - super(message); - - } - - /** @param cause */ - public JAXBWrapperException(Throwable cause) { - super(cause); - - } - -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBWrapperHandler.java b/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBWrapperHandler.java deleted file mode 100644 index a1f4c12c8f..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBWrapperHandler.java +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb; - -import java.lang.reflect.Method; -import java.security.AccessController; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.tuscany.sca.databinding.TransformationException; -import org.apache.tuscany.sca.databinding.WrapperHandler; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.util.ElementInfo; -import org.apache.tuscany.sca.interfacedef.util.WrapperInfo; - -/** - * JAXB WrapperHandler implementation - * - * @version $Rev$ $Date$ - */ -public class JAXBWrapperHandler implements WrapperHandler { - private JAXBWrapperHelper helper = new JAXBWrapperHelper(); - - public Object create(Operation operation, boolean input) { - WrapperInfo wrapperInfo = operation.getWrapper(); - ElementInfo element = input ? wrapperInfo.getInputWrapperElement() : wrapperInfo.getOutputWrapperElement(); - final Class wrapperClass = input ? wrapperInfo.getInputWrapperClass() : wrapperInfo.getOutputWrapperClass(); - try { - if (wrapperClass == null) { - return null; - } - return AccessController.doPrivileged(new PrivilegedExceptionAction() { - public Object run() throws Exception { - return wrapperClass.newInstance(); - } - }); - } catch (PrivilegedActionException e) { - throw new TransformationException(e); - } - } - - public void setChildren(Object wrapper, Object[] childObjects, Operation operation, boolean input) { - List childElements = - input ? operation.getWrapper().getInputChildElements() : operation.getWrapper().getOutputChildElements(); - List childNames = new ArrayList(); - Map values = new HashMap(); - for (int i = 0; i < childElements.size(); i++) { - ElementInfo e = childElements.get(i); - String name = e.getQName().getLocalPart(); - childNames.add(name); - values.put(name, childObjects[i]); - } - // Get the property descriptor map - Map pdMap = null; - try { - pdMap = XMLRootElementUtil.createPropertyDescriptorMap(wrapper.getClass()); - } catch (Throwable t) { - throw new JAXBWrapperException(t); - } - helper.wrap(wrapper, childNames, values, pdMap); - } - - public void setChild(Object wrapper, int i, ElementInfo childElement, Object value) { - Object wrapperValue = wrapper; - Class wrapperClass = wrapperValue.getClass(); - - // FIXME: We probably should use the jaxb-reflection to handle the properties - try { - String prop = childElement.getQName().getLocalPart(); - boolean collection = (value instanceof Collection); - Method getter = null; - for (Method m : wrapperClass.getMethods()) { - Class[] paramTypes = m.getParameterTypes(); - if (paramTypes.length == 1 && m.getName().equals("set" + capitalize(prop))) { - m.invoke(wrapperValue, new Object[] {value}); - return; - } - if (collection && paramTypes.length == 0 && m.getName().equals("get" + capitalize(prop))) { - getter = m; - } - } - if (getter != null && Collection.class.isAssignableFrom(getter.getReturnType())) { - ((Collection)getter.invoke(wrapperValue)).addAll((Collection)value); - } - - } catch (Throwable e) { - throw new TransformationException(e); - } - } - - private static String capitalize(String name) { - char first = Character.toUpperCase(name.charAt(0)); - return first + name.substring(1); - } - - /** - * @see org.apache.tuscany.sca.databinding.WrapperHandler#getChildren(java.lang.Object, Operation, boolean) - */ - public List getChildren(Object wrapper, Operation operation, boolean input) { - List childElements = input? operation.getWrapper().getInputChildElements(): - operation.getWrapper().getOutputChildElements(); - - List childNames = new ArrayList(); - for (ElementInfo e : childElements) { - childNames.add(e.getQName().getLocalPart()); - } - return Arrays.asList(helper.unwrap(wrapper, childNames)); - } - - /** - * @see org.apache.tuscany.sca.databinding.WrapperHandler#getWrapperType(Operation, boolean) - */ - public DataType getWrapperType(Operation operation, boolean input) { - WrapperInfo wrapper = operation.getWrapper(); - DataType dt = input ? wrapper.getInputWrapperType() : wrapper.getOutputWrapperType(); - return dt; - } - - /** - * @see org.apache.tuscany.sca.databinding.WrapperHandler#isInstance(java.lang.Object, Operation, boolean) - */ - public boolean isInstance(Object wrapper, Operation operation, boolean input) { - Class wrapperClass = - input ? operation.getWrapper().getInputWrapperClass() : operation.getWrapper().getOutputWrapperClass(); - return wrapperClass == null ? false : wrapperClass.isInstance(wrapper); - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBWrapperHelper.java b/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBWrapperHelper.java deleted file mode 100644 index 5f90aa4d7a..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBWrapperHelper.java +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; - -/** - * The JAXBWrapper tool is used to create a JAXB Object from a series of child objects (wrap) or get - * the child objects from a JAXB Object (unwrap) - */ -public class JAXBWrapperHelper { - - /** - * unwrap Returns the list of child objects of the jaxb object - * - * @param jaxbObject that represents the type - * @param childNames list of xml child names as String - * @param pdMap PropertyDescriptor map for this jaxbObject - * @return list of Objects in the same order as the element names. - */ - public Object[] unwrap(Object jaxbObject, List childNames, Map pdMap) - throws JAXBWrapperException { - - // Get the object that will have the property descriptors (i.e. the object representing the complexType) - Object jaxbComplexTypeObj = jaxbObject; - - // Get the PropertyDescriptorPlus map. - // The method makes sure that each child name has a matching jaxb property - // checkPropertyDescriptorMap(jaxbComplexTypeObj.getClass(), childNames, pdMap); - - // Get the corresponsing objects from the jaxb bean - ArrayList objList = new ArrayList(); - int index = 0; - for (String childName : childNames) { - JAXBPropertyDescriptor propInfo = getPropertyDescriptor(pdMap, childName, index); - - Object object = null; - try { - object = propInfo.get(jaxbComplexTypeObj); - } catch (Throwable e) { - throw new JAXBWrapperException(e); - } - - objList.add(object); - index++; - } - Object[] jaxbObjects = objList.toArray(); - objList = null; - return jaxbObjects; - - } - - private JAXBPropertyDescriptor getPropertyDescriptor(Map pdMap, - String childName, - int index) { - JAXBPropertyDescriptor propInfo = pdMap.get(childName); - if (propInfo == null) { - // FIXME: [rfeng] Sometimes the child element names don't match. Get chilld by location? - List props = new ArrayList(pdMap.values()); - // Sort the properties by index. We might need to take propOrder into consideration - Collections.sort(props); - propInfo = props.get(index); - } - return propInfo; - } - - /** - * wrap Creates a jaxb object that is initialized with the child objects. - *

- * Note that the jaxbClass must be the class the represents the complexType. (It should never be - * JAXBElement) - * - * @param jaxbClass - * @param childNames list of xml child names as String - * @param childObjects, component type objects - * @param pdMap PropertyDescriptor map for this jaxbObject - */ - public Object wrap(Class jaxbClass, - List childNames, - Map childObjects, - Map pdMap) throws JAXBWrapperException { - - // Just like unWrap, get the property info map - // checkPropertyDescriptorMap(jaxbClass, childNames, pdMap); - - // The jaxb object always has a default constructor. Create the object - Object jaxbObject = null; - try { - jaxbObject = jaxbClass.newInstance(); - } catch (Throwable t) { - throw new JAXBWrapperException(t); - } - - wrap(jaxbObject, childNames, childObjects, pdMap); - - // Return the jaxb object - return jaxbObject; - } - - public void wrap(Object jaxbObject, - List childNames, - Map childObjects, - Map pdMap) { - // Now set each object onto the jaxb object - int index = 0; - for (String childName : childNames) { - JAXBPropertyDescriptor propInfo = getPropertyDescriptor(pdMap, childName, index); - Object value = childObjects.get(childName); - try { - propInfo.set(jaxbObject, value); - } catch (Throwable t) { - throw new JAXBWrapperException(t); - } - index++; - } - } - - public Object[] unwrap(Object jaxbObject, List childNames) throws JAXBWrapperException { - // Get the property descriptor map for this JAXBClass - Class jaxbClass = jaxbObject.getClass(); - Map pdMap = null; - try { - pdMap = XMLRootElementUtil.createPropertyDescriptorMap(jaxbClass); - } catch (Throwable t) { - throw new JAXBWrapperException(t); - } - - // Delegate - return unwrap(jaxbObject, childNames, pdMap); - } - - public Object wrap(Class jaxbClass, List childNames, Map childObjects) - throws JAXBWrapperException { - // Get the property descriptor map - Map pdMap = null; - try { - pdMap = XMLRootElementUtil.createPropertyDescriptorMap(jaxbClass); - } catch (Throwable t) { - throw new JAXBWrapperException(t); - } - - // Delegate - return wrap(jaxbClass, childNames, childObjects, pdMap); - } - -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/Node2JAXB.java b/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/Node2JAXB.java deleted file mode 100644 index e375a9b85e..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/Node2JAXB.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.jaxb; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Unmarshaller; - -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.Node; - -/** - * - * @version $Rev$ $Date$ - */ -public class Node2JAXB extends BaseTransformer implements PullTransformer { - - public Node2JAXB() { - super(); - } - - public Object transform(Node source, TransformationContext context) { - if (source == null) - return null; - try { - JAXBContext jaxbContext = JAXBContextHelper.createJAXBContext(context, false); - Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); - Object result = unmarshaller.unmarshal(source, JAXBContextHelper.getJavaType(context.getTargetDataType())); - return JAXBContextHelper.createReturnValue(jaxbContext, context.getTargetDataType(), result); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return Node.class; - } - - @Override - protected Class getTargetType() { - return Object.class; - } - - @Override - public int getWeight() { - return 30; - } - - @Override - public String getTargetDataBinding() { - return JAXBDataBinding.NAME; - } - -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/Reader2JAXB.java b/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/Reader2JAXB.java deleted file mode 100644 index 840edfd234..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/Reader2JAXB.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.databinding.jaxb; - -import java.io.Reader; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Unmarshaller; -import javax.xml.transform.stream.StreamSource; - -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; - -/** - * - * @version $Rev$ $Date$ - */ -public class Reader2JAXB extends BaseTransformer implements - PullTransformer { - - public Object transform(final Reader source, final TransformationContext context) { - if (source == null) { - return null; - } - try { - JAXBContext jaxbContext = JAXBContextHelper.createJAXBContext(context, false); - Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); - StreamSource streamSource = new StreamSource(source); - Object result = unmarshaller.unmarshal(streamSource, JAXBContextHelper.getJavaType(context.getTargetDataType())); - return JAXBContextHelper.createReturnValue(jaxbContext, context.getTargetDataType(), result); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return Reader.class; - } - - @Override - protected Class getTargetType() { - return Object.class; - } - - @Override - public int getWeight() { - return 30; - } - - @Override - public String getTargetDataBinding() { - return JAXBDataBinding.NAME; - } - -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/String2JAXB.java b/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/String2JAXB.java deleted file mode 100644 index 5559690de8..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/String2JAXB.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb; - -import java.io.StringReader; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Unmarshaller; -import javax.xml.transform.stream.StreamSource; - -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.xml.XMLStringDataBinding; - -/** - * - * @version $Rev$ $Date$ - */ -public class String2JAXB extends BaseTransformer implements - PullTransformer { - - public Object transform(final String source, final TransformationContext context) { - if (source == null) { - return null; - } - try { - JAXBContext jaxbContext = JAXBContextHelper.createJAXBContext(context, false); - Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); - StreamSource streamSource = new StreamSource(new StringReader(source)); - Object result = unmarshaller.unmarshal(streamSource, JAXBContextHelper.getJavaType(context.getTargetDataType())); - return JAXBContextHelper.createReturnValue(jaxbContext, context.getTargetDataType(), result); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return String.class; - } - - @Override - protected Class getTargetType() { - return Object.class; - } - - @Override - public int getWeight() { - return 30; - } - - @Override - public String getSourceDataBinding() { - return XMLStringDataBinding.NAME; - } - - @Override - public String getTargetDataBinding() { - return JAXBDataBinding.NAME; - } - -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/XMLAdapterExtensionPoint.java b/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/XMLAdapterExtensionPoint.java deleted file mode 100644 index 5fa98b5ed1..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/XMLAdapterExtensionPoint.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb; - -import java.util.Map; - -import javax.xml.bind.annotation.adapters.XmlAdapter; - -/** - * @version $Rev$ $Date$ - */ -public interface XMLAdapterExtensionPoint { - /** - * @param boundType - * @param adapter - */ - void addAdapter(Class boundType, Class adapter); - - /** - * @param boundType - * @return - */ - Class getAdapter(Class boundType); - - /** - * @param boundType - * @return - */ - Class removeAdapter(Class boundType); - - /** - * @return - */ - Map, Class> getAdapters(); -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/XMLRootElementUtil.java b/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/XMLRootElementUtil.java deleted file mode 100644 index ad4bd04084..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/XMLRootElementUtil.java +++ /dev/null @@ -1,286 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb; - -import java.beans.IntrospectionException; -import java.beans.Introspector; -import java.beans.PropertyDescriptor; -import java.lang.annotation.Annotation; -import java.lang.reflect.AnnotatedElement; -import java.lang.reflect.Field; -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 java.util.StringTokenizer; - -import javax.xml.bind.JAXBElement; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementRef; -import javax.xml.bind.annotation.XmlEnumValue; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlSchema; -import javax.xml.namespace.QName; - -/** - * - */ -public class XMLRootElementUtil { - - /** Constructor is intentionally private. This class only provides static utility methods */ - private XMLRootElementUtil() { - - } - - /** - * @param clazz - * @return namespace of root element qname or null if this is not object does not represent a - * root element - */ - public static QName getXmlRootElementQNameFromObject(Object obj) { - - // A JAXBElement stores its name - if (obj instanceof JAXBElement) { - return ((JAXBElement)obj).getName(); - } - - Class clazz = (obj instanceof java.lang.Class) ? (Class)obj : obj.getClass(); - return getXmlRootElementQName(clazz); - } - - /** - * @param clazz - * @return namespace of root element qname or null if this is not object does not represent a - * root element - */ - public static QName getXmlRootElementQName(Class clazz) { - - // See if the object represents a root element - XmlRootElement root = (XmlRootElement)getAnnotation(clazz, XmlRootElement.class); - if (root == null) { - return null; - } - - String name = root.name(); - String namespace = root.namespace(); - - // The name may need to be defaulted - if (name == null || name.length() == 0 || name.equals("##default")) { - name = getSimpleName(clazz.getCanonicalName()); - } - - // The namespace may need to be defaulted - if (namespace == null || namespace.length() == 0 || namespace.equals("##default")) { - Package pkg = clazz.getPackage(); - XmlSchema schema = (XmlSchema)getAnnotation(pkg, XmlSchema.class); - if (schema != null) { - namespace = schema.namespace(); - } else { - namespace = ""; - } - } - - return new QName(namespace, name); - } - - /** - * @param clazz - * @return namespace of root element qname or null if this is not object does not represent a root element - */ - public static String getEnumValue(Enum myEnum) { - Field f; - String value; - try { - f = myEnum.getClass().getField(myEnum.name()); - - f.setAccessible(true); - - XmlEnumValue xev = (XmlEnumValue)getAnnotation(f, XmlEnumValue.class); - if (xev == null) { - value = f.getName(); - } else { - value = xev.value(); - } - } catch (SecurityException e) { - value = null; - } catch (NoSuchFieldException e) { - value = null; - } - - return value; - } - - /** - * utility method to get the last token in a "."-delimited package+classname string - * - * @return - */ - private static String getSimpleName(String in) { - if (in == null || in.length() == 0) { - return in; - } - String out = null; - StringTokenizer tokenizer = new StringTokenizer(in, "."); - if (tokenizer.countTokens() == 0) - out = in; - else { - while (tokenizer.hasMoreTokens()) { - out = tokenizer.nextToken(); - } - } - return out; - } - - /** - * The JAXBClass has a set of bean properties each represented by a PropertyDescriptor Each of - * the fields of the class has an associated xml name. The method returns a map where the key is - * the xml name and value is the PropertyDescriptor - * - * @param jaxbClass - * @return map - */ - public static Map createPropertyDescriptorMap(Class jaxbClass) - throws NoSuchFieldException, IntrospectionException { - - PropertyDescriptor[] pds = Introspector.getBeanInfo(jaxbClass).getPropertyDescriptors(); - Map map = new HashMap(); - - // Unfortunately the element names are stored on the fields. - // Get all of the fields in the class and super classes - - List fields = getFields(jaxbClass); - - // Now match up the fields with the property descriptors...Sigh why didn't JAXB put the @XMLElement annotations on the - // property methods! - for (PropertyDescriptor pd : pds) { - - // Skip over the class property..it is never represented as an xml element - if (pd.getName().equals("class")) { - continue; - } - - // For the current property, find a matching field...so that we can get the xml name - boolean found = false; - - int index = 0; - for (Field field : fields) { - String fieldName = field.getName(); - - // Use the name of the field and property to find the match - if (fieldName.equalsIgnoreCase(pd.getDisplayName()) || fieldName.equalsIgnoreCase(pd.getName())) { - // Get the xmlElement name for this field - QName xmlName = getXmlElementRefOrElementQName(field.getDeclaringClass(), field); - found = true; - map.put(xmlName.getLocalPart(), new JAXBPropertyDescriptor(pd, xmlName, index)); - index++; - break; - } - - // Unfortunately, sometimes the field name is preceeded by an underscore - if (fieldName.startsWith("_")) { - fieldName = fieldName.substring(1); - if (fieldName.equalsIgnoreCase(pd.getDisplayName()) || fieldName.equalsIgnoreCase(pd.getName())) { - // Get the xmlElement name for this field - QName xmlName = getXmlElementRefOrElementQName(field.getDeclaringClass(), field); - found = true; - - map.put(xmlName.getLocalPart(), new JAXBPropertyDescriptor(pd, xmlName, index)); - index++; - break; - } - } - } - - // We didn't find a field. Default the xmlname to the property name - if (!found) { - String xmlName = pd.getName(); - - map.put(xmlName, new JAXBPropertyDescriptor(pd, xmlName, index)); - index++; - } - - } - return map; - } - - /** - * Gets all of the fields in this class and the super classes - * - * @param beanClass - * @return - */ - static private List getFields(final Class beanClass) { - // This class must remain private due to Java 2 Security concerns - List fields = AccessController.doPrivileged(new PrivilegedAction>() { - public List run() { - List fields = new ArrayList(); - Class cls = beanClass; - while (cls != null) { - Field[] fieldArray = cls.getDeclaredFields(); - for (Field field : fieldArray) { - fields.add(field); - } - cls = cls.getSuperclass(); - } - return fields; - } - }); - - return fields; - } - - /** - * Get the name of the field by looking at the XmlElement annotation. - * - * @param jaxbClass - * @param fieldName - * @return - * @throws NoSuchFieldException - */ - private static QName getXmlElementRefOrElementQName(Class jaxbClass, Field field) throws NoSuchFieldException { - XmlElementRef xmlElementRef = (XmlElementRef)getAnnotation(field, XmlElementRef.class); - if (xmlElementRef != null) { - return new QName(xmlElementRef.namespace(), xmlElementRef.name()); - } - XmlElement xmlElement = (XmlElement)getAnnotation(field, XmlElement.class); - - // If XmlElement does not exist, default to using the field name - if (xmlElement == null || xmlElement.name().equals("##default")) { - return new QName("", field.getName()); - } - return new QName(xmlElement.namespace(), xmlElement.name()); - } - - /** - * Get an annotation. This is wrappered to avoid a Java2Security violation. - * @param cls Class that contains annotation - * @param annotation Class of requrested Annotation - * @return annotation or null - */ - private static T getAnnotation(final AnnotatedElement element, final Class annotation) { - return AccessController.doPrivileged(new PrivilegedAction() { - public T run() { - return element.getAnnotation(annotation); - } - }); - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/XMLStreamReader2JAXB.java b/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/XMLStreamReader2JAXB.java deleted file mode 100644 index af3fa3fb66..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/XMLStreamReader2JAXB.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.databinding.jaxb; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Unmarshaller; -import javax.xml.stream.XMLStreamReader; - -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; - -/** - * - * @version $Rev$ $Date$ - */ -public class XMLStreamReader2JAXB extends BaseTransformer implements - PullTransformer { - - public XMLStreamReader2JAXB() { - super(); - } - - public Object transform(XMLStreamReader source, TransformationContext context) { - if (source == null) { - return null; - } - try { - JAXBContext jaxbContext = JAXBContextHelper.createJAXBContext(context, false); - Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); - // FIXME: [rfeng] If the java type is Object.class, the unmarshalled result will be - // a DOM Node - Object result = unmarshaller.unmarshal(source, JAXBContextHelper.getJavaType(context.getTargetDataType())); - source.close(); - return JAXBContextHelper.createReturnValue(jaxbContext, context.getTargetDataType(), result); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public Class getSourceType() { - return XMLStreamReader.class; - } - - @Override - public Class getTargetType() { - return Object.class; - } - - @Override - public int getWeight() { - return 10; - } - - @Override - public String getTargetDataBinding() { - return JAXBDataBinding.NAME; - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding b/java/sca/contrib/modules/databinding-jaxb/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding deleted file mode 100644 index 3f2978ad25..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding +++ /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 classes for the databindings -org.apache.tuscany.sca.databinding.jaxb.JAXBDataBinding;name=javax.xml.bind.JAXBElement diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer b/java/sca/contrib/modules/databinding-jaxb/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer deleted file mode 100644 index 4e062e4c22..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer +++ /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. - -# Implementation classes for the transformers -org.apache.tuscany.sca.databinding.jaxb.JAXB2Node;source=javax.xml.bind.JAXBElement,target=org.w3c.dom.Node,weight=500 -org.apache.tuscany.sca.databinding.jaxb.Node2JAXB;source=org.w3c.dom.Node,target=javax.xml.bind.JAXBElement,weight=500 -org.apache.tuscany.sca.databinding.jaxb.Reader2JAXB;source=java.io.Reader,target=javax.xml.bind.JAXBElement,weight=510 -org.apache.tuscany.sca.databinding.jaxb.XMLStreamReader2JAXB;source=javax.xml.stream.XMLStreamReader,target=javax.xml.bind.JAXBElement,weight=490 - -org.apache.tuscany.sca.databinding.jaxb.JAXB2Node;source=java:complexType,target=org.w3c.dom.Node,weight=90000 -org.apache.tuscany.sca.databinding.jaxb.Node2JAXB;source=org.w3c.dom.Node,target=java:complexType,weight=90000 - -org.apache.tuscany.sca.databinding.jaxb.Node2JAXB;source=org.w3c.dom.Node,target=java:simpleType,weight=90000 -org.apache.tuscany.sca.databinding.jaxb.JAXB2Node;source=java:simpleType,target=org.w3c.dom.Node,weight=90000 - -org.apache.tuscany.sca.databinding.jaxb.XMLStreamReader2JAXB;source=javax.xml.stream.XMLStreamReader,target=java:complexType,weight=90000 -org.apache.tuscany.sca.databinding.jaxb.XMLStreamReader2JAXB;source=javax.xml.stream.XMLStreamReader,target=java:simpleType,weight=90000 - diff --git a/java/sca/contrib/modules/databinding-jaxb/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.jaxb.XMLAdapterExtensionPoint b/java/sca/contrib/modules/databinding-jaxb/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.jaxb.XMLAdapterExtensionPoint deleted file mode 100644 index d1f6d9f1e3..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.jaxb.XMLAdapterExtensionPoint +++ /dev/null @@ -1,17 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT 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.jaxb.DefaultXMLAdapterExtensionPoint \ No newline at end of file diff --git a/java/sca/contrib/modules/databinding-jaxb/src/test/java/com/example/stock/StockQuoteOffer.java b/java/sca/contrib/modules/databinding-jaxb/src/test/java/com/example/stock/StockQuoteOffer.java deleted file mode 100644 index 5c5c892f33..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/test/java/com/example/stock/StockQuoteOffer.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 com.example.stock; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlType; - -/** - *

Java class for anonymous complex type. - * - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "", propOrder = {"input"}) -@XmlRootElement(name = "stockQuoteOffer") -public class StockQuoteOffer { - - protected String input; - - public String getInput() { - return this.input; - } - - public void setInput(String input) { - this.input = input; - } - -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/BeanXMLStreamReaderImpl.java b/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/BeanXMLStreamReaderImpl.java deleted file mode 100644 index 602bc66569..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/BeanXMLStreamReaderImpl.java +++ /dev/null @@ -1,324 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb; - -import java.lang.reflect.Array; -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.databinding.impl.SimpleTypeMapperImpl; -import org.apache.tuscany.sca.databinding.xml.SimpleXmlNodeImpl; -import org.apache.tuscany.sca.databinding.xml.XmlNode; -import org.apache.tuscany.sca.databinding.xml.XmlTreeStreamReaderImpl; -import org.apache.tuscany.sca.interfacedef.util.TypeInfo; -import org.jvnet.jaxb.reflection.model.annotation.RuntimeInlineAnnotationReader; -import org.jvnet.jaxb.reflection.model.core.Ref; -import org.jvnet.jaxb.reflection.model.impl.RuntimeModelBuilder; -import org.jvnet.jaxb.reflection.model.runtime.RuntimeClassInfo; -import org.jvnet.jaxb.reflection.model.runtime.RuntimePropertyInfo; -import org.jvnet.jaxb.reflection.model.runtime.RuntimeTypeInfoSet; -import org.jvnet.jaxb.reflection.runtime.IllegalAnnotationsException; -import org.jvnet.jaxb.reflection.runtime.JAXBContextImpl; - - - -/** - * @version $Rev$ $Date$ - */ -public class BeanXMLStreamReaderImpl extends XmlTreeStreamReaderImpl { - private static final Comparator COMPARATOR = new Comparator() { - public int compare(Accessor o1, Accessor o2) { - return o1.getName().compareTo(o2.getName()); - } - }; - - private static final String XSI_PREFIX = "xsi"; - private static final String XSI_NS = "http://www.w3.org/2001/XMLSchema-instance"; - - private static XmlNode getXSIType(QName realType) { - QName xsiType = new QName(XSI_NS, "type", XSI_PREFIX); - String prefix = realType.getPrefix(); - String typeName = realType.getLocalPart(); - if (prefix != null && !prefix.equals("")) { - typeName = prefix + ":" + realType.getLocalPart(); - } - return new SimpleXmlNodeImpl(xsiType, XmlNode.Type.ATTRIBUTE); - } - - /** - * Represent a Map.Entry XML node - * @version $Rev$ $Date$ - */ - public static class MapEntryXmlNodeImpl extends SimpleXmlNodeImpl implements XmlNode { - private Map.Entry entry; - - public MapEntryXmlNodeImpl(Entry entry) { - super(new QName("", "entry"), entry); - this.entry = entry; - } - - @Override - public Iterator children() { - List nodes = new ArrayList(); - XmlNode key = new BeanXmlNodeImpl(new QName("", "key"), entry.getKey()); - XmlNode value = new BeanXmlNodeImpl(new QName("", "value"), entry.getValue()); - nodes.add(key); - nodes.add(value); - return nodes.iterator(); - } - } - - public static class BeanXmlNodeImpl extends SimpleXmlNodeImpl implements XmlNode { - private static final Object[] NULL = null; - private static final SimpleTypeMapperImpl MAPPER = new SimpleTypeMapperImpl(); - - public BeanXmlNodeImpl(Object bean) { - super(getName(bean == null ? null : bean.getClass()), bean); - } - - public BeanXmlNodeImpl(QName name, Object bean) { - super(name, bean); - } - - private static boolean isSimpleType(Class javaType) { - return SimpleTypeMapperImpl.getXMLType(javaType) != null; - } - - private static String getStringValue(Object o) { - if (o == null) { - return null; - } - TypeInfo info = SimpleTypeMapperImpl.getXMLType(o.getClass()); - if (info != null) { - return MAPPER.toXMLLiteral(info.getQName(), o, null); - } else { - return String.valueOf(o); - } - } - - @Override - public Iterator children() { - if (name == null) { - return null; - } - if (value == null) { - return super.children(); - } - if (isSimpleType(value.getClass())) { - XmlNode textNode = new BeanXmlNodeImpl(null, value); - return Arrays.asList(textNode).iterator(); - } - if (Map.class.isAssignableFrom(value.getClass())) { - List entries = new ArrayList(); - Map map = (Map)value; - if (map != null) { - for (Object e : map.entrySet()) { - Map.Entry entry = (Map.Entry)e; - entries.add(new MapEntryXmlNodeImpl(entry)); - } - } - return entries.iterator(); - } - try { - Map accessorMap = getAccessors(value); - List accessorList = new ArrayList(accessorMap.values()); - Collections.sort(accessorList, COMPARATOR); - - List props = new ArrayList(); - for (Accessor accessor : accessorList) { - Class pType = accessor.getType(); - - QName pName = new QName(name.getNamespaceURI(), accessor.getName()); - Object pValue = accessor.getValue(); - if (pType.isArray()) { - if (pValue != null) { - int i1 = Array.getLength(pValue); - for (int j = 0; j < i1; j++) { - Object o = Array.get(pValue, j); - props.add(new BeanXmlNodeImpl(pName, o)); - } - } else { - // TODO: How to handle null? - } - } else if (Collection.class.isAssignableFrom(pType)) { - Collection objList = (Collection)pValue; - if (objList != null && objList.size() > 0) { - for (Iterator j = objList.iterator(); j.hasNext();) { - Object o = j.next(); - props.add(new BeanXmlNodeImpl(pName, o)); - } - - } else { - // How to handle null - } - } else { - props.add(new BeanXmlNodeImpl(pName, pValue)); - } - } - return props.iterator(); - } catch (Exception e) { - throw new IllegalArgumentException(e); - } - } - - @Override - public QName getName() { - return name; - } - - @Override - public String getValue() { - return getStringValue(value); - } - - private static String getPackageName(Class cls) { - String name = cls.getName(); - int index = name.lastIndexOf('.'); - return index == -1 ? "" : name.substring(0, index); - } - - public static QName getName(Class cls) { - if (cls == null) { - return null; - } - - String packageName = getPackageName(cls); - - if ("".equals(packageName)) { - return new QName("", cls.getSimpleName()); - } - StringBuffer ns = new StringBuffer("http://"); - String[] names = packageName.split("\\."); - for (int i = names.length - 1; i >= 0; i--) { - ns.append(names[i]); - if (i != 0) { - ns.append('.'); - } - } - ns.append('/'); - return new QName(ns.toString(), cls.getSimpleName()); - } - } - - public BeanXMLStreamReaderImpl(QName name, Object bean) { - super(getXmlNode(name, bean)); - } - - private static BeanXmlNodeImpl getXmlNode(QName name, Object bean) { - BeanXmlNodeImpl root = null; - if (name != null) { - root = new BeanXmlNodeImpl(name, bean); - } else { - root = new BeanXmlNodeImpl(bean); - } - return root; - } - - public static interface Accessor { - String getName(); - - Class getType(); - - Object getValue() throws Exception; - - void setValue(Object value) throws Exception; - } - - private static RuntimeTypeInfoSet create(Class... classes) throws Exception { - IllegalAnnotationsException.Builder errorListener = new IllegalAnnotationsException.Builder(); - RuntimeInlineAnnotationReader reader = new RuntimeInlineAnnotationReader(); - JAXBContextImpl context = - new JAXBContextImpl(classes, null, Collections. emptyMap(), null, false, reader, false, false); - RuntimeModelBuilder builder = - new RuntimeModelBuilder(context, reader, Collections. emptyMap(), null); - builder.setErrorHandler(errorListener); - for (Class c : classes) - builder.getTypeInfo(new Ref(c)); - - RuntimeTypeInfoSet r = builder.link(); - errorListener.check(); - return r; - } - - private static class JAXBAccessor implements Accessor { - private Object target; - private RuntimePropertyInfo prop; - - public JAXBAccessor(Object target, RuntimePropertyInfo field) { - super(); - this.target = target; - this.prop = field; - } - - public String getName() { - return prop.getName(); - } - - public Object getValue() throws Exception { - return prop.getAccessor().get(target); - } - - public void setValue(Object value) throws Exception { - prop.getAccessor().set(target, value); - } - - public Class getType() { - Type type = prop.getRawType(); - if (type instanceof Class) { - return (Class)type; - } else if (type instanceof ParameterizedType) { - ParameterizedType pType = (ParameterizedType)type; - type = pType.getRawType(); - if (type instanceof Class) { - return (Class)type; - } - } - return Object.class; - } - - } - - private static Map getAccessors(Object target) throws Exception { - if (target == null) { - return Collections.emptyMap(); - } - Map map = new HashMap(); - Class type = target.getClass(); - RuntimeTypeInfoSet set = create(type); - RuntimeClassInfo clsInfo = (RuntimeClassInfo)set.getTypeInfo(type); - for (RuntimePropertyInfo f : clsInfo.getProperties()) { - map.put(f.getName(), new JAXBAccessor(target, f)); - } - return map; - } - -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXB2XMLStreamReader.java b/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXB2XMLStreamReader.java deleted file mode 100644 index e2151e23a1..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXB2XMLStreamReader.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.jaxb; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBElement; -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamReader; - -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; - -/** - * - * @version $Rev$ $Date$ - */ -public class JAXB2XMLStreamReader extends BaseTransformer implements - PullTransformer { - - public JAXB2XMLStreamReader() { - super(); - } - - public XMLStreamReader transform(Object source, TransformationContext context) { - if (source == null) { - return null; - } - try { - QName name = null; - Object bean = null; - if (source instanceof JAXBElement) { - bean = ((JAXBElement)source).getValue(); - name = ((JAXBElement)source).getName(); - } else { - JAXBContext jaxbContext = JAXBContextHelper.createJAXBContext(context, true); - Object element = JAXBContextHelper.createJAXBElement(jaxbContext, context.getSourceDataType(), source); - name = jaxbContext.createJAXBIntrospector().getElementName(element); - bean = source; - } - BeanXMLStreamReaderImpl reader = new BeanXMLStreamReaderImpl(name, bean); - return reader; - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return Object.class; - } - - @Override - protected Class getTargetType() { - return XMLStreamReader.class; - } - - @Override - public int getWeight() { - return 10; - } - - @Override - public String getTargetDataBinding() { - return JAXBDataBinding.NAME; - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBContextCacheTestCase.java b/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBContextCacheTestCase.java deleted file mode 100644 index 761414e92b..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBContextCacheTestCase.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.databinding.jaxb; - -import java.io.StringReader; -import java.io.StringWriter; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBElement; -import javax.xml.bind.JAXBException; -import javax.xml.namespace.QName; -import javax.xml.transform.Source; -import javax.xml.transform.stream.StreamSource; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.databinding.jaxb.JAXBContextCache; -import org.apache.tuscany.sca.databinding.util.LRUCache; -import org.junit.Test; - -import com.example.ipo.jaxb.Address; -import com.example.ipo.jaxb.PurchaseOrderType; - -/** - * @version $Rev$ $Date$ - */ -public class JAXBContextCacheTestCase { - @Test - public void testCache() throws JAXBException { - JAXBContextCache cache = new JAXBContextCache(); - JAXBContext context1 = cache.getJAXBContext(String.class); - JAXBContext context2 = cache.getJAXBContext(int.class); - JAXBContext context3 = cache.getJAXBContext(String[].class); - JAXBContext context4 = cache.getJAXBContext(Source.class); - Assert.assertSame(context1, context2); - Assert.assertNotSame(context2, context3); - Assert.assertSame(context1, context4); - - QName name = new QName("http://example.com/ns1", "e1"); - JAXBElement element = new JAXBElement(name, String.class, "123"); - StringWriter sw = new StringWriter(); - context4.createMarshaller().marshal(element, sw); - StreamSource source = new StreamSource(new StringReader(sw.toString()), null); - context4.createUnmarshaller().unmarshal(source, String.class); - - JAXBContext context5 = cache.getJAXBContext(Address.class); - JAXBContext context6 = cache.getJAXBContext(PurchaseOrderType.class); - Assert.assertSame(context5, context6); - } - - @Test - public void testLRUCache() { - LRUCache cache = new LRUCache(3); - cache.put("1", "A"); - Assert.assertEquals(1, cache.size()); - cache.put("2", "B"); - Assert.assertEquals(2, cache.size()); - cache.put("3", "C"); - Assert.assertEquals(3, cache.size()); - cache.put("4", "D"); - Assert.assertEquals(3, cache.size()); - String data = cache.get("1"); - Assert.assertNull(data); - data = cache.get("2"); - Assert.assertEquals("B", data); - cache.put("5", "E"); - data = cache.get("2"); - Assert.assertEquals("B", data); - } - - @Test - public void testPerf() throws JAXBException { - JAXBContextCache cache = new JAXBContextCache(); - - // Test JAXBContext for simple java classes - long start = System.currentTimeMillis(); - for (int i = 0; i < 100; i++) { - JAXBContext context = JAXBContext.newInstance(String.class); - } - long end = System.currentTimeMillis(); - long d1 = end - start; - start = System.currentTimeMillis(); - for (int i = 0; i < 100; i++) { - JAXBContext context = cache.getJAXBContext(String.class); - } - end = System.currentTimeMillis(); - long d2 = end - start; - System.out.println(d1 + "ms vs. " + d2 + "ms"); - - // Test JAXBContext for generated JAXB classes - start = System.currentTimeMillis(); - for (int i = 0; i < 20; i++) { - JAXBContext context = JAXBContext.newInstance(PurchaseOrderType.class); - } - end = System.currentTimeMillis(); - d1 = end - start; - start = System.currentTimeMillis(); - for (int i = 0; i < 20; i++) { - JAXBContext context = cache.getJAXBContext(PurchaseOrderType.class); - } - end = System.currentTimeMillis(); - d2 = end - start; - System.out.println(d1 + "ms vs. " + d2 + "ms"); - - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBDataBindingTestCase.java b/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBDataBindingTestCase.java deleted file mode 100644 index 5452175c54..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBDataBindingTestCase.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb; - -import javax.xml.bind.JAXBElement; -import javax.xml.namespace.QName; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.databinding.jaxb.JAXBDataBinding; -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 com.example.ipo.jaxb.ObjectFactory; -import com.example.ipo.jaxb.PurchaseOrderType; -import com.example.ipo.jaxb.USAddress; -import com.example.ipo.jaxb.USState; - -/** - * - * @version $Rev$ $Date$ - */ -public class JAXBDataBindingTestCase extends TestCase { - private JAXBDataBinding binding; - - /** - * @see junit.framework.TestCase#setUp() - */ - @Override - protected void setUp() throws Exception { - super.setUp(); - binding = new JAXBDataBinding(); - } - - /** - * Test method for - * {@link org.apache.tuscany.sca.databinding.jaxb.JAXBDataBinding#introspect(java.lang.Class, Operation)}. - */ - public final void testIntrospect() { - DataType dataType = new DataTypeImpl(JAXBElement.class, null); - Operation op = null; - boolean yes = binding.introspect(dataType, op); - assertTrue(yes); - assertTrue(dataType.getDataBinding().equals(binding.getName())); - assertTrue(dataType.getPhysical() == JAXBElement.class && dataType.getLogical() == XMLType.UNKNOWN); - dataType = new DataTypeImpl(MockJAXBElement.class, null); - yes = binding.introspect(dataType, op); - assertTrue(yes); - assertEquals(MockJAXBElement.class, dataType.getPhysical()); - assertEquals(new QName("http://www.example.com/IPO", "PurchaseOrderType"), ((XMLType)dataType.getLogical()) - .getTypeName()); - dataType = new DataTypeImpl(USAddress.class, null); - yes = binding.introspect(dataType, op); - assertTrue(yes); - assertEquals(USAddress.class, dataType.getPhysical()); - assertEquals(new QName("http://www.example.com/IPO", "USAddress"), ((XMLType)dataType.getLogical()) - .getTypeName()); - dataType = new DataTypeImpl(USState.class, null); - yes = binding.introspect(dataType, op); - assertTrue(yes); - assertTrue(dataType.getDataBinding().equals(binding.getName())); - assertEquals(USState.class, dataType.getPhysical()); - assertEquals(new QName("http://www.example.com/IPO", "USState"), ((XMLType)dataType.getLogical()).getTypeName()); - - } - - private static class MockJAXBElement extends JAXBElement { - - private static final long serialVersionUID = -2767569071002707973L; - - /** - * @param elementName - * @param type - * @param value - */ - public MockJAXBElement(QName elementName, Class type, PurchaseOrderType value) { - super(elementName, type, value); - } - - } - - @SuppressWarnings("unchecked") - public void testCopy() { - ObjectFactory factory = new ObjectFactory(); - PurchaseOrderType poType = factory.createPurchaseOrderType(); - JAXBElement po = factory.createPurchaseOrder(poType); - JAXBElement copy = (JAXBElement)binding.copy(po, null, null); - assertEquals(new QName("http://www.example.com/IPO", "purchaseOrder"), copy.getName()); - } - - @SuppressWarnings("unchecked") - public void testCopyNonElement() { - ObjectFactory factory = new ObjectFactory(); - PurchaseOrderType poType = factory.createPurchaseOrderType(); - poType.setComment("Comment"); - PurchaseOrderType copy = (PurchaseOrderType)binding.copy(poType, null, null); - assertTrue(copy instanceof PurchaseOrderType); - assertEquals("Comment", (copy).getComment()); - } - - @SuppressWarnings("unchecked") - public void testCopyNonRoot() { - ObjectFactory factory = new ObjectFactory(); - USAddress address = factory.createUSAddress(); - address.setCity("San Jose"); - USAddress copy = (USAddress)binding.copy(address, null, null); - assertTrue(copy instanceof USAddress); - assertEquals("San Jose", (copy).getCity()); - - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBReflectionTestCase.java b/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBReflectionTestCase.java deleted file mode 100644 index 500422c9c7..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBReflectionTestCase.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb; - -import java.lang.reflect.Type; -import java.util.Collections; -import java.util.Map; - -import javax.xml.bind.JAXBContext; -import javax.xml.namespace.QName; - -import junit.framework.Assert; -import junit.framework.TestCase; - -import org.jvnet.jaxb.reflection.model.annotation.RuntimeInlineAnnotationReader; -import org.jvnet.jaxb.reflection.model.core.Ref; -import org.jvnet.jaxb.reflection.model.impl.RuntimeModelBuilder; -import org.jvnet.jaxb.reflection.model.runtime.RuntimeClassInfo; -import org.jvnet.jaxb.reflection.model.runtime.RuntimePropertyInfo; -import org.jvnet.jaxb.reflection.model.runtime.RuntimeTypeInfoSet; -import org.jvnet.jaxb.reflection.runtime.IllegalAnnotationsException; -import org.jvnet.jaxb.reflection.runtime.JAXBContextImpl; - -import com.example.ipo.jaxb.ObjectFactory; -import com.example.ipo.jaxb.PurchaseOrderType; -import com.example.ipo.jaxb.USAddress; -import com.example.ipo.jaxb.USState; - -/** - * @version $Rev$ $Date$ - */ -public class JAXBReflectionTestCase extends TestCase { - - public void testGenerateSchema() throws Exception { - JAXBContext context = JAXBContext.newInstance("com.example.ipo.jaxb"); - Map schemas = JAXBTypeHelper.generateSchema(context); - System.out.println(schemas); - } - - /** - * This is a workaround for the NPE bug in jaxb-reflection - * @param classes - * @return - * @throws Exception - */ - @SuppressWarnings("unchecked") - private static RuntimeTypeInfoSet create(Class... classes) throws Exception { - IllegalAnnotationsException.Builder errorListener = new IllegalAnnotationsException.Builder(); - RuntimeInlineAnnotationReader reader = new RuntimeInlineAnnotationReader(); - JAXBContextImpl context = - new JAXBContextImpl(classes, null, Collections. emptyMap(), null, false, reader, false, false); - RuntimeModelBuilder builder = - new RuntimeModelBuilder(context, reader, Collections. emptyMap(), null); - builder.setErrorHandler(errorListener); - for (Class c : classes) - builder.getTypeInfo(new Ref(c)); - - RuntimeTypeInfoSet r = builder.link(); - errorListener.check(); - return r; - } - - public void testReflection() throws Exception { - org.jvnet.jaxb.reflection.model.runtime.RuntimeTypeInfoSet model = create(PurchaseOrderType.class); - RuntimeClassInfo type = (RuntimeClassInfo)model.getTypeInfo(PurchaseOrderType.class); - Assert.assertEquals(new QName("http://www.example.com/IPO", "PurchaseOrderType"), type.getTypeName()); - type = (RuntimeClassInfo)model.getTypeInfo(USAddress.class); - Assert.assertEquals(new QName("http://www.example.com/IPO", "USAddress"), type.getTypeName()); - RuntimePropertyInfo prop = type.getProperty("state"); - Assert.assertNotNull(prop); - USAddress address = new ObjectFactory().createUSAddress(); - prop.getAccessor().set(address, USState.CA); - Assert.assertEquals(USState.CA, address.getState()); - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBTestCase.java b/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBTestCase.java deleted file mode 100644 index 53779a1af6..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBTestCase.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.databinding.jaxb; - -import static org.easymock.EasyMock.createMock; -import static org.easymock.EasyMock.expect; -import static org.easymock.EasyMock.replay; - -import java.io.StringReader; - -import javax.xml.namespace.QName; - -import junit.framework.Assert; -import junit.framework.TestCase; - -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.jaxb.JAXB2Node; -import org.apache.tuscany.sca.databinding.jaxb.Node2JAXB; -import org.apache.tuscany.sca.databinding.jaxb.Reader2JAXB; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.w3c.dom.Node; - -import com.example.ipo.jaxb.ObjectFactory; -import com.example.ipo.jaxb.PurchaseOrderType; - -/** - * - * @version $Rev$ $Date$ - */ -public class JAXBTestCase extends TestCase { - private static final String IPO_XML = - "" + "" - + " " - + " Helen Zoe" - + " 47 Eden Street" - + " Cambridge" - + " CB1 1JR" - + " " - + " " - + " Robert Smith" - + " 8 Oak Avenue" - + " Old Town" - + " PA" - + " 95819" - + " " - + " " - + " " - + " Lapis necklace" - + " 1" - + " 99.95" - + " Want this for the holidays" - + " 1999-12-05" - + " " - + " " - + ""; - - @Override - protected void setUp() throws Exception { - super.setUp(); - } - - public void testTransform() throws Exception { - Reader2JAXB t0 = new Reader2JAXB(); - - DataType targetDataType = new DataTypeImpl(PurchaseOrderType.class, null); - - TransformationContext tContext = createMock(TransformationContext.class); - expect(tContext.getTargetDataType()).andReturn(targetDataType).anyTimes(); - expect(tContext.getTargetOperation()).andReturn(null).anyTimes(); - replay(tContext); - - Object object1 = t0.transform(new StringReader(IPO_XML), tContext); - - DataType sourceDataType = new DataTypeImpl(PurchaseOrderType.class, null); - - TransformationContext tContext1 = createMock(TransformationContext.class); - expect(tContext1.getSourceDataType()).andReturn(sourceDataType).anyTimes(); - expect(tContext1.getTargetDataType()).andReturn(null).anyTimes(); - expect(tContext1.getSourceOperation()).andReturn(null).anyTimes(); - expect(tContext1.getTargetOperation()).andReturn(null).anyTimes(); - replay(tContext1); - - JAXB2Node t1 = new JAXB2Node(); - Node node = t1.transform(object1, tContext1); - - Assert.assertNotNull(node); - - Node2JAXB t2 = new Node2JAXB(); - Object object2 = t2.transform(node, tContext); - Assert.assertNotNull(object2); - - } - - public void testTransform2() throws Exception { - Reader2JAXB t0 = new Reader2JAXB(); - - QName root = new QName("http://www.example.com/IPO", "purchaseOrder"); - DataType targetDataType = new DataTypeImpl(PurchaseOrderType.class, new XMLType(root, null)); - // targetDataType.setMetadata(JAXBContextHelper.JAXB_CONTEXT_PATH, contextPath); - - TransformationContext tContext = createMock(TransformationContext.class); - expect(tContext.getTargetDataType()).andReturn(targetDataType).anyTimes(); - expect(tContext.getTargetOperation()).andReturn(null).anyTimes(); - replay(tContext); - - Object object1 = t0.transform(new StringReader(IPO_XML), tContext); - - DataType sourceDataType = new DataTypeImpl(PurchaseOrderType.class, new XMLType(root, null)); - // sourceDataType.setMetadata(JAXBContextHelper.JAXB_CONTEXT_PATH, contextPath); - - TransformationContext tContext1 = createMock(TransformationContext.class); - expect(tContext1.getSourceDataType()).andReturn(sourceDataType).anyTimes(); - expect(tContext1.getTargetDataType()).andReturn(null).anyTimes(); - expect(tContext1.getSourceOperation()).andReturn(null).anyTimes(); - expect(tContext1.getTargetOperation()).andReturn(null).anyTimes(); - replay(tContext1); - - JAXB2Node t1 = new JAXB2Node(); - Node node = t1.transform(object1, tContext1); - - Assert.assertNotNull(node); - - Node2JAXB t2 = new Node2JAXB(); - Object object2 = t2.transform(node, tContext); - Assert.assertNotNull(object2); - - } - - public void testTransform3() throws Exception { - - DataType sourceDataType = new DataTypeImpl(PurchaseOrderType.class, null); - - TransformationContext tContext1 = createMock(TransformationContext.class); - expect(tContext1.getSourceDataType()).andReturn(sourceDataType).anyTimes(); - expect(tContext1.getTargetDataType()).andReturn(null).anyTimes(); - expect(tContext1.getSourceOperation()).andReturn(null).anyTimes(); - expect(tContext1.getTargetOperation()).andReturn(null).anyTimes(); - replay(tContext1); - - JAXB2Node t1 = new JAXB2Node(); - PurchaseOrderType po = new ObjectFactory().createPurchaseOrderType(); - Node node = t1.transform(po, tContext1); - - Assert.assertNotNull(node); - - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - } - -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBWrapperHandlerTestCase.java b/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBWrapperHandlerTestCase.java deleted file mode 100644 index c10a5227ce..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBWrapperHandlerTestCase.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.databinding.jaxb; - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.namespace.QName; - -import junit.framework.Assert; -import junit.framework.TestCase; - -import org.apache.tuscany.sca.databinding.jaxb.JAXBDataBinding; -import org.apache.tuscany.sca.databinding.jaxb.JAXBWrapperHandler; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl; -import org.apache.tuscany.sca.interfacedef.impl.OperationImpl; -import org.apache.tuscany.sca.interfacedef.util.ElementInfo; -import org.apache.tuscany.sca.interfacedef.util.WrapperInfo; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -import com.example.stock.StockQuoteOffer; - -/** - * Test case for JAXBExceptionHandler - * - * @version $Rev$ $Date$ - */ -public class JAXBWrapperHandlerTestCase extends TestCase { - private static final QName ELEMENT = new QName("http://www.example.com/stock", "stockQuoteOffer"); - private static final QName INPUT = new QName("", "input"); - private JAXBWrapperHandler handler; - - /** - * @see junit.framework.TestCase#setUp() - */ - @Override - protected void setUp() throws Exception { - super.setUp(); - this.handler = new JAXBWrapperHandler(); - } - - public void testCreate() { - ElementInfo element = new ElementInfo(ELEMENT, null); - Operation op = new OperationImpl(); - WrapperInfo wrapperInfo = new WrapperInfo(JAXBDataBinding.NAME, element, null, null, null); - wrapperInfo.setInputWrapperType(new DataTypeImpl(JAXBDataBinding.NAME, StockQuoteOffer.class, - XMLType.UNKNOWN)); - op.setWrapper(wrapperInfo); - Object offer = handler.create(op, true); - Assert.assertTrue(offer instanceof StockQuoteOffer); - } - - public void testSetChild() { - StockQuoteOffer wrapper = new StockQuoteOffer(); - handler.setChild(wrapper, 0, new ElementInfo(INPUT, null), "IBM"); - Assert.assertEquals("IBM", wrapper.getInput()); - } - - public void testGetChildren() { - StockQuoteOffer wrapper = new StockQuoteOffer(); - wrapper.setInput("IBM"); - List elements = new ArrayList(); - elements.add(new ElementInfo(INPUT, null)); - WrapperInfo wrapperInfo = new WrapperInfo(JAXBDataBinding.NAME, null, null, elements, null); - Operation op = new OperationImpl(); - op.setWrapper(wrapperInfo); - List children = handler.getChildren(wrapper, op, true); - assertNotNull(children); - assertEquals(1, children.size()); - assertEquals("IBM", children.get(0)); - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/MyBean.java b/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/MyBean.java deleted file mode 100644 index 9bdfb108fe..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/MyBean.java +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * - * @version $Rev$ $Date$ - */ -public class MyBean { - private int age; - private String name; - private float[] rates = new float[] {1.0f, 2.0f}; - private List notes = new ArrayList(); - private Map map = new HashMap(); - private Object service; - private Object otherService; - private boolean good; - - public int getAge() { - return age; - } - - public void setAge(int age) { - this.age = age; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public List getNotes() { - return notes; - } - - public void setNotes(List notes) { - this.notes = notes; - } - - public float[] getRates() { - return rates; - } - - public void setRates(float[] rates) { - this.rates = rates; - } - - public Map getMap() { - return map; - } - - public void setMap(Map map) { - this.map = map; - } - - public Object getService() { - return service; - } - - public void setService(Object service) { - this.service = service; - } - - public Object getOtherService() { - return otherService; - } - - public void setOtherService(Object otherService) { - this.otherService = otherService; - } - - public boolean isGood() { - return good; - } - - public void setGood(boolean good) { - this.good = good; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + age; - result = prime * result + (good ? 1231 : 1237); - result = prime * result + ((map == null) ? 0 : map.hashCode()); - result = prime * result + ((name == null) ? 0 : name.hashCode()); - result = prime * result + ((notes == null) ? 0 : notes.hashCode()); - result = prime * result + ((otherService == null) ? 0 : otherService.hashCode()); - result = prime * result + Arrays.hashCode(rates); - result = prime * result + ((service == null) ? 0 : service.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - final MyBean other = (MyBean)obj; - if (age != other.age) - return false; - if (good != other.good) - return false; - if (map == null) { - if (other.map != null) - return false; - } else if (!map.equals(other.map)) - return false; - if (name == null) { - if (other.name != null) - return false; - } else if (!name.equals(other.name)) - return false; - if (notes == null) { - if (other.notes != null) - return false; - } else if (!notes.equals(other.notes)) - return false; - if (otherService == null) { - if (other.otherService != null) - return false; - } else if (!otherService.equals(other.otherService)) - return false; - if (!Arrays.equals(rates, other.rates)) - return false; - if (service == null) { - if (other.service != null) - return false; - } else if (!service.equals(other.service)) - return false; - return true; - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/MyInterface.java b/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/MyInterface.java deleted file mode 100644 index b8e9ee7f7d..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/MyInterface.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.databinding.jaxb; - -/** - * @version $Rev$ $Date$ - */ -public interface MyInterface { - void setId(String id); - - String getId(); -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/MyInterfaceImpl.java b/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/MyInterfaceImpl.java deleted file mode 100644 index 5c511e6ccb..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/MyInterfaceImpl.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.databinding.jaxb; - -/** - * @version $Rev$ $Date$ - */ -public class MyInterfaceImpl implements MyInterface { - private String id; - - /** - * @see org.apache.tuscany.databinding.jaxb.MyInterface#getId() - */ - public String getId() { - return id; - } - - /** - * @see org.apache.tuscany.databinding.jaxb.MyInterface#setId(java.lang.String) - */ - public void setId(String id) { - this.id = id; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((id == null) ? 0 : id.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - final MyInterfaceImpl other = (MyInterfaceImpl)obj; - if (id == null) { - if (other.id != null) - return false; - } else if (!id.equals(other.id)) - return false; - return true; - } - -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/MyJaxbBean.java b/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/MyJaxbBean.java deleted file mode 100644 index 3c3992524a..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/MyJaxbBean.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb; - -import javax.xml.bind.annotation.XmlAnyElement; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.adapters.XmlAdapter; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; - -import org.w3c.dom.Element; - -/** - * - */ -@XmlRootElement(name = "myBean", namespace = "http://ns1") -public class MyJaxbBean { - public MyBean myBean; - - @XmlJavaTypeAdapter(AnyTypeXmlAdapter.class) - public MyInterface myInterface; - - @XmlElement(type = MyInterfaceImpl.class) - public MyInterface myInterface1; - - @XmlJavaTypeAdapter(MyInterfaceAdapter.class) - public MyInterface myInterface2; - - public Object myObject; - - @XmlAnyElement - public Element anyElement; - - public static class MyInterfaceAdapter extends XmlAdapter { - - @Override - public MyInterfaceImpl marshal(MyInterface v) throws Exception { - return (MyInterfaceImpl) v; - } - - @Override - public MyInterface unmarshal(MyInterfaceImpl v) throws Exception { - return (MyInterface) v; - } - - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/MySubBean.java b/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/MySubBean.java deleted file mode 100644 index 62dfa6f73c..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/MySubBean.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.jaxb; - -/** - * @version $Rev$ $Date$ - */ -public class MySubBean extends MyBean { - private String addtional; - - public String getAddtional() { - return addtional; - } - - public void setAddtional(String addtional) { - this.addtional = addtional; - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/POJOTestCase.java b/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/POJOTestCase.java deleted file mode 100644 index fdfa87ff43..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/POJOTestCase.java +++ /dev/null @@ -1,268 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.jaxb; - -import java.io.StringReader; -import java.io.StringWriter; -import java.lang.reflect.Type; -import java.util.Collection; -import java.util.Collections; -import java.util.Map; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBElement; -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamReader; -import javax.xml.transform.stream.StreamSource; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.TransformationContextImpl; - -import com.sun.xml.bind.v2.model.annotation.RuntimeInlineAnnotationReader; -import com.sun.xml.bind.v2.model.core.Ref; -import com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder; -import com.sun.xml.bind.v2.model.runtime.RuntimeClassInfo; -import com.sun.xml.bind.v2.model.runtime.RuntimePropertyInfo; -import com.sun.xml.bind.v2.model.runtime.RuntimeTypeInfoSet; -import com.sun.xml.bind.v2.runtime.IllegalAnnotationsException; -import com.sun.xml.bind.v2.runtime.JAXBContextImpl; - -/** - * - * @version $Rev$ $Date$ - */ -public class POJOTestCase extends TestCase { - public void testAdapter() throws Exception { - JAXBContext context = JAXBContext.newInstance(MyJaxbBean.class, MyInterfaceImpl.class); - StringWriter writer = new StringWriter(); - MyJaxbBean bean = new MyJaxbBean(); - bean.myBean = new MySubBean(); - bean.myBean.setName("Ray"); - bean.myInterface = new MyInterfaceImpl(); - bean.myInterface.setId("001"); - bean.myObject = new MyBean(); - ((MyBean) bean.myObject).setName("Y"); - context.createMarshaller().marshal(bean, writer); - System.out.println(writer.toString()); - Object result = context.createUnmarshaller().unmarshal(new StringReader(writer.toString())); - assertTrue(result instanceof MyJaxbBean); - Map schemas = JAXBTypeHelper.generateSchema(context); - System.out.println(schemas); - } - - public void testPOJO() throws Exception { - JAXBContext context = JAXBContext.newInstance(MyBean.class, MyInterfaceImpl.class); - StringWriter writer = new StringWriter(); - MyBean bean = new MyBean(); - bean.setName("Test"); - bean.setAge(20); - bean.getNotes().add("1"); - bean.getNotes().add("2"); - bean.getMap().put("1", 1); - MyInterface service = new MyInterfaceImpl(); - service.setId("ID001"); - bean.setService(service); - bean.setOtherService(service); - JAXBElement element = new JAXBElement(new QName("http://ns1", "bean"), Object.class, bean); - context.createMarshaller().marshal(element, writer); - // System.out.println(writer.toString()); - - Object result = context.createUnmarshaller().unmarshal(new StringReader(writer.toString())); - assertTrue(result instanceof JAXBElement); - JAXBElement e2 = (JAXBElement)result; - assertTrue(e2.getValue() instanceof MyBean); - MyBean newBean = (MyBean)e2.getValue(); - assertEquals(bean, newBean); - } - - public void testPOJOArray() throws Exception { - JAXBContext context = JAXBContext.newInstance(MyBean[].class, MySubBean.class); - StringWriter writer = new StringWriter(); - MySubBean bean = new MySubBean(); - bean.setAddtional("SUB"); - bean.setName("Test"); - bean.setAge(20); - bean.getNotes().add("1"); - bean.getNotes().add("2"); - bean.getMap().put("1", 1); - - JAXBElement element = - new JAXBElement(new QName("http://ns1", "beans"), Object.class, new MyBean[] {bean}); - context.createMarshaller().marshal(element, writer); - System.out.println(writer.toString()); - - Object result = - context.createUnmarshaller().unmarshal(new StreamSource(new StringReader(writer.toString())), - MyBean[].class); - assertTrue(result instanceof JAXBElement); - JAXBElement e2 = (JAXBElement)result; - assertTrue(e2.getValue() instanceof MyBean[]); - MyBean newBean = ((MyBean[])e2.getValue())[0]; - assertTrue(newBean instanceof MySubBean); - } - - public void testXMLStreamReader() throws Exception { - JAXBContext context = JAXBContext.newInstance(MyBean.class, MyInterfaceImpl.class); - - MyBean bean = new MyBean(); - bean.setName("Test"); - bean.setAge(20); - bean.getNotes().add("1"); - bean.getNotes().add("2"); - bean.getMap().put("1", 1); - MyInterface service = new MyInterfaceImpl(); - service.setId("ID001"); - bean.setService(service); - bean.setOtherService(service); - QName name = new QName("http://ns1", "bean"); - JAXBElement element = new JAXBElement(name, Object.class, bean); - TransformationContext tContext = new TransformationContextImpl(); - XMLStreamReader reader = new JAXB2XMLStreamReader().transform(element, tContext); - -// XMLStreamReader2String t2 = new XMLStreamReader2String(); -// String xml = t2.transform(reader, null); - // System.out.println(xml); - Object result = context.createUnmarshaller().unmarshal(reader, MyBean.class); - assertTrue(result instanceof JAXBElement); - JAXBElement e2 = (JAXBElement)result; - assertTrue(e2.getValue() instanceof MyBean); - MyBean newBean = (MyBean)e2.getValue(); - // FIXME :To be implemented - // assertEquals(bean, newBean); - } - - public void testString() throws Exception { - JAXBContext context = JAXBContext.newInstance(String.class); - StringWriter writer = new StringWriter(); - JAXBElement element = new JAXBElement(new QName("http://ns1", "bean"), Object.class, "ABC"); - context.createMarshaller().marshal(element, writer); - // System.out.println(writer.toString()); - - Object result = context.createUnmarshaller().unmarshal(new StringReader(writer.toString())); - assertTrue(result instanceof JAXBElement); - JAXBElement e2 = (JAXBElement)result; - assertEquals("ABC", e2.getValue()); - } - - public void testNull() throws Exception { - JAXBContext context = JAXBContext.newInstance(String.class); - StringWriter writer = new StringWriter(); - JAXBElement element = new JAXBElement(new QName("http://ns1", "bean"), Object.class, null); - element.setNil(true); - context.createMarshaller().marshal(element, writer); - // System.out.println(writer.toString()); - StreamSource source = new StreamSource(new StringReader(writer.toString())); - Object result = context.createUnmarshaller().unmarshal(source, String.class); - assertTrue(result instanceof JAXBElement); - JAXBElement e2 = (JAXBElement)result; - assertNull(e2.getValue()); - } - - public void testArray() throws Exception { - JAXBContext context = JAXBContext.newInstance(String[].class); - StringWriter writer = new StringWriter(); - JAXBElement element = - new JAXBElement(new QName("http://ns1", "bean"), Object.class, new String[] {"ABC", "123"}); - context.createMarshaller().marshal(element, writer); - // System.out.println(writer.toString()); - - Object result = context.createUnmarshaller().unmarshal(new StringReader(writer.toString())); - assertTrue(result instanceof JAXBElement); - JAXBElement e2 = (JAXBElement)result; - assertTrue(e2.getValue() instanceof String[]); - } - - public void testByteArray() throws Exception { - JAXBContext context = JAXBContext.newInstance(byte[].class); - StringWriter writer = new StringWriter(); - JAXBElement element = - new JAXBElement(new QName("http://ns1", "bean"), Object.class, "ABC".getBytes()); - context.createMarshaller().marshal(element, writer); - String xml = writer.toString(); - assertTrue(xml.contains("QUJD")); - assertTrue(xml.contains("base64Binary")); - - Object result = context.createUnmarshaller().unmarshal(new StringReader(xml)); - assertTrue(result instanceof JAXBElement); - JAXBElement e2 = (JAXBElement)result; - assertTrue(e2.getValue() instanceof byte[]); - } - - public void testPrimitive() throws Exception { - JAXBContext context = JAXBContext.newInstance(int.class); - StringWriter writer = new StringWriter(); - JAXBElement element = new JAXBElement(new QName("http://ns1", "bean"), Object.class, 1); - context.createMarshaller().marshal(element, writer); - // System.out.println(writer.toString()); - - Object result = context.createUnmarshaller().unmarshal(new StringReader(writer.toString())); - assertTrue(result instanceof JAXBElement); - JAXBElement e2 = (JAXBElement)result; - assertEquals(1, e2.getValue()); - } - - /* - public void testException() throws Exception { - JAXBContext context = JAXBContext.newInstance(IllegalArgumentException.class); - StringWriter writer = new StringWriter(); - Exception e = new IllegalArgumentException("123"); - JAXBElement element = new JAXBElement(new QName("http://ns1", "bean"), Object.class, e); - context.createMarshaller().marshal(element, writer); - System.out.println(writer.toString()); - - Object result = context.createUnmarshaller().unmarshal(new StringReader(writer.toString())); - assertTrue(result instanceof JAXBElement); - JAXBElement e2 = (JAXBElement)result; - assertTrue(e2.getValue() instanceof Exception); - } - */ - - private static RuntimeTypeInfoSet create(Class... classes) throws Exception { - IllegalAnnotationsException.Builder errorListener = new IllegalAnnotationsException.Builder(); - RuntimeInlineAnnotationReader reader = new RuntimeInlineAnnotationReader(); - JAXBContextImpl context = - new JAXBContextImpl(classes, null, Collections. emptyMap(), null, false, reader, false, false); - RuntimeModelBuilder builder = - new RuntimeModelBuilder(context, reader, Collections. emptyMap(), null); - builder.setErrorHandler(errorListener); - for (Class c : classes) - builder.getTypeInfo(new Ref(c)); - - RuntimeTypeInfoSet r = builder.link(); - errorListener.check(); - return r; - } - - public void testReflection() throws Exception { - MyBean bean = new MyBean(); - RuntimeTypeInfoSet model = create(MyBean.class); - RuntimeClassInfo clsInfo = (RuntimeClassInfo)model.getTypeInfo(MyBean.class); - for (RuntimePropertyInfo p : clsInfo.getProperties()) { - // System.out.print(p.getName()); - // System.out.println(" " + p.isCollection()); - if (p.getName().equals("notes")) { - Collection c = (Collection)p.getAccessor().get(bean); - c.add("123"); - } - } - - } -} diff --git a/java/sca/contrib/modules/databinding-jaxb/src/test/resources/ipo.xsd b/java/sca/contrib/modules/databinding-jaxb/src/test/resources/ipo.xsd deleted file mode 100755 index 241ec15d36..0000000000 --- a/java/sca/contrib/modules/databinding-jaxb/src/test/resources/ipo.xsd +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - International Purchase order schema for Example.com - Copyright 2000 Example.com. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/databinding-job/LICENSE b/java/sca/contrib/modules/databinding-job/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/databinding-job/NOTICE b/java/sca/contrib/modules/databinding-job/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/databinding-job/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/databinding-job/pom.xml b/java/sca/contrib/modules/databinding-job/pom.xml deleted file mode 100644 index fbbf3cc5f0..0000000000 --- a/java/sca/contrib/modules/databinding-job/pom.xml +++ /dev/null @@ -1,129 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-databinding-job - Apache Tuscany SCA Data Binding for XML Jobs - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-databinding - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-databinding-axiom - 2.0-SNAPSHOT - - - - javax.xml.stream - stax-api - 1.0-2 - - - - com.thoughtworks.xstream - xstream - 1.2.2 - - - - org.apache.ws.commons.axiom - axiom-api - - - xerces - xercesImpl - - - 1.2.7 - - - - xerces - xercesImpl - 2.8.1 - runtime - - - - org.apache.ws.commons.axiom - axiom-impl - 1.2.7 - runtime - - - - commons-logging - commons-logging - 1.1 - runtime - - - - org.codehaus.woodstox - wstx-asl - 3.2.4 - runtime - - - stax - stax-api - - - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.databinding.job - ${pom.name} - org.apache.tuscany.sca.databinding.job* - - - - - - - diff --git a/java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job.java b/java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job.java deleted file mode 100644 index 98ca6c7429..0000000000 --- a/java/sca/contrib/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 { - 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/java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job2OMElement.java b/java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/Job2OMElement.java deleted file mode 100644 index 9752815640..0000000000 --- a/java/sca/contrib/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 implements - PullTransformer { - - @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/java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataBinding.java b/java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataBinding.java deleted file mode 100644 index 9d3c6fac5a..0000000000 --- a/java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataBinding.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; - -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 JobDataBinding() { - super(NAME, Job.class); - } - -} diff --git a/java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataMap.java b/java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobDataMap.java deleted file mode 100644 index 40ee2ff010..0000000000 --- a/java/sca/contrib/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 data = new HashMap(); - - public JobDataMap() { - super(); - } - - public 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/java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobExecutionContext.java b/java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/JobExecutionContext.java deleted file mode 100644 index 8c98fd2e26..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/OMElement2Job.java b/java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/OMElement2Job.java deleted file mode 100644 index 5665e4f492..0000000000 --- a/java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/OMElement2Job.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.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 implements - PullTransformer { - - public Job transform(OMElement source, TransformationContext context) { - try { - - 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/java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/RemoteJob.java b/java/sca/contrib/modules/databinding-job/src/main/java/org/apache/tuscany/sca/databinding/job/RemoteJob.java deleted file mode 100644 index 693e0f1af7..0000000000 --- a/java/sca/contrib/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 implements Job, - java.io.Serializable { - protected JobExecutionContext context = new JobExecutionContext(); - - public abstract T compute(JobExecutionContext v); - - public JobExecutionContext getContext() { - return context; - } - -} diff --git a/java/sca/contrib/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding b/java/sca/contrib/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding deleted file mode 100644 index e9e7dc9d09..0000000000 --- a/java/sca/contrib/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;name=org.apache.tuscany.sca.databinding.job.Job - diff --git a/java/sca/contrib/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer b/java/sca/contrib/modules/databinding-job/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer deleted file mode 100644 index f42a526a48..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/databinding-job/src/test/resources/ipo.xml b/java/sca/contrib/modules/databinding-job/src/test/resources/ipo.xml deleted file mode 100644 index df901d183d..0000000000 --- a/java/sca/contrib/modules/databinding-job/src/test/resources/ipo.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - Helen Zoe - 47 Eden Street - Cambridge - CB1 1JR - - - - Robert Smith - 8 Oak Avenue - Old Town - PA - 95819 - - - - - Lapis necklace - 1 - 99.95 - Want this for the holidays - 1999-12-05 - - - - diff --git a/java/sca/contrib/modules/databinding-job/src/test/resources/ipo.xsd b/java/sca/contrib/modules/databinding-job/src/test/resources/ipo.xsd deleted file mode 100644 index cce0cf1019..0000000000 --- a/java/sca/contrib/modules/databinding-job/src/test/resources/ipo.xsd +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - International Purchase order schema for Example.com - Copyright 2000 Example.com. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/databinding-job/src/test/resources/order.wsdl b/java/sca/contrib/modules/databinding-job/src/test/resources/order.wsdl deleted file mode 100644 index 913d9e4928..0000000000 --- a/java/sca/contrib/modules/databinding-job/src/test/resources/order.wsdl +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/databinding-json/LICENSE b/java/sca/contrib/modules/databinding-json/LICENSE deleted file mode 100644 index d645695673..0000000000 --- a/java/sca/contrib/modules/databinding-json/LICENSE +++ /dev/null @@ -1,202 +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/java/sca/contrib/modules/databinding-json/NOTICE b/java/sca/contrib/modules/databinding-json/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/databinding-json/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/databinding-json/pom.xml b/java/sca/contrib/modules/databinding-json/pom.xml deleted file mode 100644 index 41c3b6abbb..0000000000 --- a/java/sca/contrib/modules/databinding-json/pom.xml +++ /dev/null @@ -1,136 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-databinding-json - Apache Tuscany SCA Data Binding for JSON - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-databinding - 2.0-SNAPSHOT - - - - com.metaparadigm - json-rpc - 1.0 - compile - - - - org.codehaus.jettison - jettison - 1.0.1 - compile - - - stax - stax-api - - - - - - org.apache.ws.commons.axiom - axiom-api - 1.2.7 - - - xerces - xercesImpl - - - javax.mail - mail - - - commons-logging - commons-logging - - - stax - stax-api - - - - - - org.apache.ws.commons.axiom - axiom-impl - 1.2.7 - runtime - - - - junit - junit - 4.5 - - - - commons-logging - commons-logging - 1.1.1 - - - commons-logging - commons-logging - - - javax.servlet - servlet-api - - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.databinding.json - ${pom.name} - org.apache.tuscany.sca.databinding.json* - - - - - - - diff --git a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2JavaBean.java b/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2JavaBean.java deleted file mode 100644 index b1813c9eab..0000000000 --- a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2JavaBean.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.json; - -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.javabeans.JavaBeansDataBinding; - -import com.metaparadigm.jsonrpc.JSONSerializer; -import com.metaparadigm.jsonrpc.SerializerState; - -/** - * @version $Rev$ $Date$ - */ -public class JSON2JavaBean implements PullTransformer { - private JSONSerializer serializer; - - public JSON2JavaBean() { - super(); - serializer = new JSONSerializer(); - try { - serializer.registerDefaultSerializers(); - } catch (Exception e) { - throw new TransformationException(e); - } - serializer.setMarshallClassHints(true); - serializer.setMarshallNullAttributes(true); - } - - public Object transform(Object source, TransformationContext context) { - if (source == null) { - return null; - } - - try { - SerializerState state = new SerializerState(); - return serializer.unmarshall(state, context.getTargetDataType().getPhysical(), source); - } catch (Exception e) { - throw new TransformationException(e); - } - - } - - public String getSourceDataBinding() { - return JSONDataBinding.NAME; - } - - public String getTargetDataBinding() { - return JavaBeansDataBinding.NAME; - } - - public int getWeight() { - return 5000; - } -} diff --git a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2String.java b/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2String.java deleted file mode 100644 index 4e08384f09..0000000000 --- a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2String.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.databinding.json; - -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; - -/** - * @version $Rev$ $Date$ - */ -public class JSON2String extends BaseTransformer implements - PullTransformer { - - @Override - protected Class getSourceType() { - return Object.class; - } - - @Override - protected Class getTargetType() { - return String.class; - } - - public String transform(Object source, TransformationContext context) { - try { - return source.toString(); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public int getWeight() { - return 500; - } - - @Override - public String getSourceDataBinding() { - return JSONDataBinding.NAME; - } - -} diff --git a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2XMLStreamReader.java b/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2XMLStreamReader.java deleted file mode 100644 index b70f772696..0000000000 --- a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSON2XMLStreamReader.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.databinding.json; - -import javax.xml.stream.XMLStreamReader; - -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.codehaus.jettison.badgerfish.BadgerFishXMLStreamReader; -import org.codehaus.jettison.json.JSONObject; - -/** - * @version $Rev$ $Date$ - */ -public class JSON2XMLStreamReader extends BaseTransformer implements - PullTransformer { - - @Override - protected Class getSourceType() { - return Object.class; - } - - @Override - protected Class getTargetType() { - return XMLStreamReader.class; - } - - public XMLStreamReader transform(Object source, TransformationContext context) { - try { - JSONObject json = JSONHelper.toJettison(source); - return new BadgerFishXMLStreamReader(json); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public int getWeight() { - return 500; - } - @Override - public String getSourceDataBinding() { - return JSONDataBinding.NAME; - } - -} diff --git a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONDataBinding.java b/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONDataBinding.java deleted file mode 100644 index 28cadc6666..0000000000 --- a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONDataBinding.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.databinding.json; - - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.databinding.impl.BaseDataBinding; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.codehaus.jettison.json.JSONObject; - -/** - * JAXB DataBinding - * - * @version $Rev$ $Date$ - */ -public class JSONDataBinding extends BaseDataBinding { - public static final String NAME = "JSON"; - - public static final String ROOT_NAMESPACE = "http://tuscany.apache.org/xmlns/sca/databinding/json/1.0"; - public static final QName ROOT_ELEMENT = new QName(ROOT_NAMESPACE, "root"); - - public JSONDataBinding() { - super(NAME, org.json.JSONObject.class); - } - - @Override - public boolean introspect(DataType type, Operation operation) { - assert type != null; - Class cls = type.getPhysical(); - if (JSONObject.class.isAssignableFrom(cls) || org.json.JSONObject.class.isAssignableFrom(cls)) { - type.setDataBinding(getName()); - if (type.getLogical() == null) { - type.setLogical(XMLType.UNKNOWN); - } - return true; - } - return false; - } - - @SuppressWarnings("unchecked") - @Override - public Object copy(Object arg, DataType dataType, Operation operation) { - if (arg == null) { - return null; - } - try { - Class type = arg != null ? arg.getClass() : null; - return JSONHelper.toJSON(arg.toString(), type); - } catch (Exception e) { - throw new IllegalArgumentException(e); - } - } - -} diff --git a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONHelper.java b/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONHelper.java deleted file mode 100644 index fb29710506..0000000000 --- a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JSONHelper.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.databinding.json; - -import java.text.ParseException; - -import org.codehaus.jettison.json.JSONException; -import org.codehaus.jettison.json.JSONObject; - -/** - * @version $Rev$ $Date$ - */ -public class JSONHelper { - private JSONHelper() { - - } - - /** - * Convert to Jettison JSONObject - * @param source - * @return - */ - public static JSONObject toJettison(Object source) { - JSONObject json = null; - if (source instanceof JSONObject) { - json = (JSONObject)source; - } else if (source instanceof org.json.JSONObject) { - try { - json = new JSONObject(((org.json.JSONObject)source).toString()); - } catch (JSONException e) { - throw new IllegalArgumentException(e); - } - } - return json; - } - - /** - * Convert to org.json.JSONObject - * @param source - * @return - */ - public static org.json.JSONObject toJSONOrg(Object source) { - org.json.JSONObject json = null; - if (source instanceof JSONObject) { - try { - json = new org.json.JSONObject(((JSONObject)source).toString()); - } catch (ParseException e) { - throw new IllegalArgumentException(e); - } - } else if (source instanceof org.json.JSONObject) { - json = (org.json.JSONObject)source; - } - return json; - } - - public static T toJSON(String json, Class type) { - if (type == JSONObject.class) { - try { - return type.cast(new JSONObject(json)); - } catch (JSONException e) { - throw new IllegalArgumentException(e); - } - } else { - if (type == null) { - type = (Class)org.json.JSONObject.class; - } - try { - return type.cast(new org.json.JSONObject(json)); - } catch (ParseException e) { - throw new IllegalArgumentException(e); - } - } - } -} diff --git a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JavaBean2JSON.java b/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JavaBean2JSON.java deleted file mode 100644 index a928deef22..0000000000 --- a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JavaBean2JSON.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.json; - -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.javabeans.JavaBeansDataBinding; - -import com.metaparadigm.jsonrpc.JSONSerializer; -import com.metaparadigm.jsonrpc.SerializerState; - -public class JavaBean2JSON extends BaseTransformer implements PullTransformer { - private JSONSerializer serializer; - - public JavaBean2JSON() { - serializer = new JSONSerializer(); - try { - serializer.registerDefaultSerializers(); - } catch (Exception e) { - throw new TransformationException(e); - } - serializer.setMarshallClassHints(true); - serializer.setMarshallNullAttributes(true); - } - - @Override - public String getSourceDataBinding() { - return JavaBeansDataBinding.NAME; - } - - @Override - protected Class getSourceType() { - return Object.class; - } - - @Override - public String getTargetDataBinding() { - return JSONDataBinding.NAME; - } - - @Override - protected Class getTargetType() { - return Object.class; - } - - public Object toJSON(Object source) throws Exception { - if (source == null) { - return org.json.JSONObject.NULL; - } - - SerializerState state = new SerializerState(); - return serializer.marshall(state, source); - } - - public Object transform(Object source, TransformationContext context) { - try { - return toJSON(source); - } catch (Exception e) { - throw new TransformationException(e); - } - } - -} diff --git a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JavaBean2JSONObject.java b/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JavaBean2JSONObject.java deleted file mode 100644 index de023157bc..0000000000 --- a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/JavaBean2JSONObject.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.json; - -import java.beans.BeanInfo; -import java.beans.Introspector; -import java.beans.PropertyDescriptor; -import java.lang.reflect.Array; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; - -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.SimpleTypeMapperImpl; -import org.apache.tuscany.sca.databinding.javabeans.JavaBeansDataBinding; -import org.apache.tuscany.sca.interfacedef.util.TypeInfo; -import org.codehaus.jettison.json.JSONArray; -import org.codehaus.jettison.json.JSONObject; - -public class JavaBean2JSONObject extends BaseTransformer implements PullTransformer { - private static final Comparator COMPARATOR = new Comparator() { - public int compare(PropertyDescriptor o1, PropertyDescriptor o2) { - return o1.getName().compareTo(o2.getName()); - } - }; - - private static final SimpleTypeMapperImpl MAPPER = new SimpleTypeMapperImpl(); - private static final Object[] NULL = null; - - private static String getStringValue(Object o) { - if (o == null) { - return null; - } - TypeInfo info = SimpleTypeMapperImpl.getXMLType(o.getClass()); - if (info != null) { - return MAPPER.toXMLLiteral(info.getQName(), o, null); - } else { - return String.valueOf(o); - } - } - - private static boolean isSimpleType(Class javaType) { - return SimpleTypeMapperImpl.getXMLType(javaType) != null; - } - - public JavaBean2JSONObject() { - } - - @Override - public String getSourceDataBinding() { - return JavaBeansDataBinding.NAME; - } - - @Override - protected Class getSourceType() { - return Object.class; - } - - @Override - public String getTargetDataBinding() { - return JSONDataBinding.NAME; - } - - @Override - protected Class getTargetType() { - return Object.class; - } - - public Object toJSON(Object source) throws Exception { - if (source == null) { - return JSONObject.NULL; - } - Class type = source.getClass(); - if (isSimpleType(type)) { - return source; - } else if (type.isArray()) { - JSONArray array = new JSONArray(); - int i1 = Array.getLength(source); - for (int j = 0; j < i1; j++) { - Object o = Array.get(source, j); - array.put(toJSON(o)); - } - return array; - } else if (Collection.class.isAssignableFrom(type)) { - Collection c = (Collection)source; - JSONArray array = new JSONArray(); - for (Object element : c) { - array.put(toJSON(element)); - } - return array; - } - JSONObject json = new JSONObject(); - BeanInfo beanInfo = Introspector.getBeanInfo(type); - PropertyDescriptor[] propDescs = beanInfo.getPropertyDescriptors(); - Collections.sort(Arrays.asList(propDescs), COMPARATOR); - - for (int i = 0; i < propDescs.length; i++) { - PropertyDescriptor propDesc = propDescs[i]; - Class pType = propDesc.getPropertyType(); - if ("class".equals(propDesc.getName())) { - continue; - } - Object pValue = propDesc.getReadMethod().invoke(source, NULL); - json.put(propDesc.getName(), toJSON(pValue)); - } - return json; - - } - - public Object transform(Object source, TransformationContext context) { - try { - return toJSON(source); - } catch (Exception e) { - throw new TransformationException(e); - } - } - -} diff --git a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/String2JSON.java b/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/String2JSON.java deleted file mode 100644 index ff5968bccd..0000000000 --- a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/String2JSON.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.json; - -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; - -/** - * @version $Rev$ $Date$ - */ -public class String2JSON extends BaseTransformer implements PullTransformer { - - @Override - protected Class getSourceType() { - return String.class; - } - - @Override - protected Class getTargetType() { - return Object.class; - } - - public Object transform(String source, TransformationContext context) { - try { - Class type = null; - if (context != null && context.getTargetDataType() != null) { - type = context.getTargetDataType().getPhysical(); - } - return JSONHelper.toJSON(source, type); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public int getWeight() { - return 500; - } - - @Override - public String getTargetDataBinding() { - return JSONDataBinding.NAME; - } - -} diff --git a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/XMLStreamReader2JSON.java b/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/XMLStreamReader2JSON.java deleted file mode 100644 index aa75afc9d4..0000000000 --- a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/XMLStreamReader2JSON.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.databinding.json; - -import java.io.StringWriter; - -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -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.xml.XMLStreamSerializer; -import org.codehaus.jettison.badgerfish.BadgerFishXMLStreamWriter; - -/** - * @version $Rev$ $Date$ - */ -public class XMLStreamReader2JSON extends BaseTransformer implements - PullTransformer { - - @Override - protected Class getSourceType() { - return XMLStreamReader.class; - } - - @Override - protected Class getTargetType() { - return Object.class; - } - - public Object transform(XMLStreamReader source, TransformationContext context) { - try { - StringWriter writer = new StringWriter(); - XMLStreamWriter jsonWriter = new BadgerFishXMLStreamWriter(writer); - XMLStreamSerializer serializer = new XMLStreamSerializer(); - serializer.serialize(source, jsonWriter); - source.close(); - Class type = null; - if (context != null && context.getTargetDataType() != null) { - type = context.getTargetDataType().getPhysical(); - } - return JSONHelper.toJSON(writer.toString(), type); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public int getWeight() { - return 500; - } - - @Override - public String getTargetDataBinding() { - return JSONDataBinding.NAME; - } - -} diff --git a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSON2OMElement.java b/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSON2OMElement.java deleted file mode 100644 index fb02d27b05..0000000000 --- a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSON2OMElement.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.json.axiom; - - -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.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.TransformationException; -import org.apache.tuscany.sca.databinding.Transformer; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.apache.tuscany.sca.databinding.json.JSONDataBinding; -import org.apache.tuscany.sca.databinding.json.JSONHelper; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.codehaus.jettison.json.JSONObject; -import org.oasisopen.sca.annotation.Service; - -/** - * @version $Rev$ $Date$ - */ -@Service(Transformer.class) -public class JSON2OMElement extends BaseTransformer implements PullTransformer { - - private OMFactory factory = OMAbstractFactory.getOMFactory(); - - @Override - protected Class getSourceType() { - return Object.class; - } - - @Override - protected Class getTargetType() { - return OMElement.class; - } - - public OMElement transform(Object source, TransformationContext context) { - try { - JSONObject json = JSONHelper.toJettison(source); - if (json == null) { - return null; - } - String ns = JSONDataBinding.ROOT_ELEMENT.getNamespaceURI(); - String name = JSONDataBinding.ROOT_ELEMENT.getLocalPart(); - if (context != null) { - DataType dataType = context.getTargetDataType(); - Object logical = dataType.getLogical(); - if (logical instanceof XMLType) { - XMLType xmlType = (XMLType)logical; - if (xmlType.isElement()) { - ns = xmlType.getElementName().getNamespaceURI(); - name = xmlType.getElementName().getLocalPart(); - } - } - } - JSONBadgerfishDataSource ds = new JSONBadgerfishDataSource(json); - OMNamespace namespace = factory.createOMNamespace(ns, ""); - return factory.createOMElement(ds, name, namespace); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public int getWeight() { - return 500; - } - - @Override - public String getSourceDataBinding() { - return JSONDataBinding.NAME; - } - -} diff --git a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSONBadgerfishDataSource.java b/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSONBadgerfishDataSource.java deleted file mode 100644 index adc38772be..0000000000 --- a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSONBadgerfishDataSource.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.databinding.json.axiom; - -import javax.xml.stream.XMLStreamException; - -import org.codehaus.jettison.badgerfish.BadgerFishXMLStreamReader; -import org.codehaus.jettison.json.JSONException; -import org.codehaus.jettison.json.JSONObject; - -/** - * JSONDataSource keeps the JSON String inside and consumes it when needed. This is to be kept in the - * OMSourcedElementImpl and can be used either to expand the tree or get the JSON String directly without expanding. - * This uses the "Badgerfish" JSON convention. - * - * @version $Rev$ $Date$ - */ - -public class JSONBadgerfishDataSource extends JSONDataSource { - - public JSONBadgerfishDataSource(JSONObject json) { - super(json); - } - - /** - * Gives the StAX reader using the "Badgerfish" formatted input JSON String. - * - * @return The XMLStreamReader according to the JSON String. - * @throws javax.xml.stream.XMLStreamException if there is an error while making the StAX reader. - */ - @Override - public javax.xml.stream.XMLStreamReader getReader() throws XMLStreamException { - try { - return new BadgerFishXMLStreamReader(json); - } catch (JSONException e) { - throw new XMLStreamException(e); - } - - } -} diff --git a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSONDataSource.java b/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSONDataSource.java deleted file mode 100644 index 5b0312056e..0000000000 --- a/java/sca/contrib/modules/databinding-json/src/main/java/org/apache/tuscany/sca/databinding/json/axiom/JSONDataSource.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.databinding.json.axiom; - -import java.io.IOException; -import java.io.OutputStream; -import java.io.Writer; -import java.util.HashMap; -import java.util.Map; - -import javax.xml.stream.XMLStreamConstants; -import javax.xml.stream.XMLStreamReader; - -import org.apache.axiom.om.OMDataSource; -import org.apache.axiom.om.OMException; -import org.apache.axiom.om.OMOutputFormat; -import org.codehaus.jettison.json.JSONObject; -import org.codehaus.jettison.json.JSONTokener; -import org.codehaus.jettison.mapped.MappedXMLInputFactory; - -/** - * JSONDataSource keeps the JSON String inside and consumes it when needed. This is to be kept in the - * OMSourcedElementImpl and can be used either to expand the tree or get the JSON String directly without expanding. - * This uses the "Mapped" JSON convention. - * - * @version $Rev$ $Date$ - */ - -public class JSONDataSource implements OMDataSource { - protected JSONObject json; - - public JSONDataSource(JSONObject json) { - this.json = json; - } - - /** - * Writes JSON into the output stream. As this should write JSON, it directly gets the JSON string and writes it - * without expanding the tree. - * - * @param outputStream the stream to be written into - * @param omOutputFormat format of the message, this is ignored. - * @throws javax.xml.stream.XMLStreamException if there is an error while writing the message in to the output - * stream. - */ - public void serialize(OutputStream outputStream, OMOutputFormat omOutputFormat) - throws javax.xml.stream.XMLStreamException { - try { - String encoding = omOutputFormat == null ? "UTF-8" : omOutputFormat.getCharSetEncoding(); - outputStream.write(getJSONString().getBytes(encoding)); - } catch (IOException e) { - throw new OMException(); - } - } - - /** - * Writes JSON through the writer. As this should write JSON, it directly gets the JSON string and writes it without - * expanding the tree. - * - * @param writer Writer to be written into - * @param omOutputFormat format of the message, this is ignored. - * @throws javax.xml.stream.XMLStreamException if there is an error while writing the message through the writer. - */ - public void serialize(Writer writer, OMOutputFormat omOutputFormat) throws javax.xml.stream.XMLStreamException { - try { - writer.write(getJSONString()); - } catch (IOException e) { - throw new OMException(); - } - } - - /** - * Writes XML through the XMLStreamWriter. As the input data source is JSON, this method needs to get a StAX reader - * from that JSON String. Therefore this uses the getReader() method to get the StAX reader writes the events into - * the XMLStreamWriter. - * - * @param xmlStreamWriter StAX writer to be written into - * @throws javax.xml.stream.XMLStreamException if there is an error while writing the message through the StAX - * writer. - */ - public void serialize(javax.xml.stream.XMLStreamWriter xmlStreamWriter) throws javax.xml.stream.XMLStreamException { - XMLStreamReader reader = getReader(); - xmlStreamWriter.writeStartDocument(); - while (reader.hasNext()) { - int x = reader.next(); - switch (x) { - case XMLStreamConstants.START_ELEMENT: - xmlStreamWriter.writeStartElement(reader.getPrefix(), reader.getLocalName(), reader - .getNamespaceURI()); - int namespaceCount = reader.getNamespaceCount(); - for (int i = namespaceCount - 1; i >= 0; i--) { - xmlStreamWriter.writeNamespace(reader.getNamespacePrefix(i), reader.getNamespaceURI(i)); - } - int attributeCount = reader.getAttributeCount(); - for (int i = 0; i < attributeCount; i++) { - xmlStreamWriter.writeAttribute(reader.getAttributePrefix(i), - reader.getAttributeNamespace(i), - reader.getAttributeLocalName(i), - reader.getAttributeValue(i)); - } - break; - case XMLStreamConstants.START_DOCUMENT: - break; - case XMLStreamConstants.CHARACTERS: - xmlStreamWriter.writeCharacters(reader.getText()); - break; - case XMLStreamConstants.CDATA: - xmlStreamWriter.writeCData(reader.getText()); - break; - case XMLStreamConstants.END_ELEMENT: - xmlStreamWriter.writeEndElement(); - break; - case XMLStreamConstants.END_DOCUMENT: - xmlStreamWriter.writeEndDocument(); - break; - case XMLStreamConstants.SPACE: - break; - case XMLStreamConstants.COMMENT: - xmlStreamWriter.writeComment(reader.getText()); - break; - case XMLStreamConstants.DTD: - xmlStreamWriter.writeDTD(reader.getText()); - break; - case XMLStreamConstants.PROCESSING_INSTRUCTION: - xmlStreamWriter.writeProcessingInstruction(reader.getPITarget(), reader.getPIData()); - break; - case XMLStreamConstants.ENTITY_REFERENCE: - xmlStreamWriter.writeEntityRef(reader.getLocalName()); - break; - default: - throw new OMException(); - } - } - xmlStreamWriter.writeEndDocument(); - } - - /** - * Gives the StAX reader using the "Mapped" formatted input JSON String. - * - * @return The XMLStreamReader according to the JSON String. - * @throws javax.xml.stream.XMLStreamException if there is an error while making the StAX reader. - */ - - public javax.xml.stream.XMLStreamReader getReader() throws javax.xml.stream.XMLStreamException { - - Map nsMap = new HashMap(); - nsMap.put("", ""); - - // input factory for "Mapped" convention - MappedXMLInputFactory inputFactory = new MappedXMLInputFactory(nsMap); - String jsonString = this.getJSONString(); - return inputFactory.createXMLStreamReader(new JSONTokener(jsonString)); - } - - // returns the json string by consuming the JSON input stream. - protected String getJSONString() { - return json.toString(); - } - -} diff --git a/java/sca/contrib/modules/databinding-json/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding b/java/sca/contrib/modules/databinding-json/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding deleted file mode 100644 index 400507296f..0000000000 --- a/java/sca/contrib/modules/databinding-json/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding +++ /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 classes for the databindings -org.apache.tuscany.sca.databinding.json.JSONDataBinding;name=JSON diff --git a/java/sca/contrib/modules/databinding-json/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer b/java/sca/contrib/modules/databinding-json/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer deleted file mode 100644 index b122533f6e..0000000000 --- a/java/sca/contrib/modules/databinding-json/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer +++ /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. - -# Implementation classes for the transformers -org.apache.tuscany.sca.databinding.json.JSON2XMLStreamReader;source=JSON,target=javax.xml.stream.XMLStreamReader,weight=5000 -org.apache.tuscany.sca.databinding.json.XMLStreamReader2JSON;source=javax.xml.stream.XMLStreamReader,target=JSON,weight=5000,public=false -org.apache.tuscany.sca.databinding.json.JavaBean2JSON;source=java:complexType,target=JSON,weight=80000,public=false -org.apache.tuscany.sca.databinding.json.JavaBean2JSON;source=java:simpleType,target=JSON,weight=80000,public=false -org.apache.tuscany.sca.databinding.json.axiom.JSON2OMElement;source=JSON,target=org.apache.axiom.om.OMElement,weight=500 -org.apache.tuscany.sca.databinding.json.JavaBean2JSON;source=java:array,target=JSON,weight=80000,public=false -org.apache.tuscany.sca.databinding.json.JavaBean2JSON;source=commonj.sdo.DataObject,target=JSON,weight=80000,public=false -org.apache.tuscany.sca.databinding.json.JavaBean2JSON;source=javax.xml.bind.JAXBElement,target=JSON,weight=80000,public=false -org.apache.tuscany.sca.databinding.json.JSON2JavaBean;source=JSON,target=java:complexType,weight=80000,public=false -org.apache.tuscany.sca.databinding.json.JSON2JavaBean;source=JSON,target=java:simpleType,weight=80000,public=false -org.apache.tuscany.sca.databinding.json.JSON2JavaBean;source=JSON,target=commonj.sdo.DataObject,weight=80000,public=false -org.apache.tuscany.sca.databinding.json.JSON2JavaBean;source=JSON,target=javax.xml.bind.JAXBElement,weight=80000,public=false -org.apache.tuscany.sca.databinding.json.JSON2JavaBean;source=JSON,target=java:array,weight=80000,public=false diff --git a/java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/JSONTransformerTestCase.java b/java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/JSONTransformerTestCase.java deleted file mode 100644 index 3c7f151ed7..0000000000 --- a/java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/JSONTransformerTestCase.java +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.json; - -import java.io.StringReader; -import java.io.StringWriter; - -import javax.xml.namespace.QName; -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; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.TransformationContextImpl; -import org.apache.tuscany.sca.databinding.json.axiom.JSON2OMElement; -import org.apache.tuscany.sca.databinding.xml.XMLStreamSerializer; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.json.JSONObject; - -public class JSONTransformerTestCase extends TestCase { - private static final String IPO_XML = "" + "" - + " " - + " Helen Zoe" - + " 47 Eden Street" - + " Cambridge" - + " CB1 1JR" - + " " - + " " - + " Robert Smith" - + " 8 Oak Avenue" - + " Old Town" - + " PA" - + " 95819" - + " " - + " " - + " " - + " Lapis necklace" - + " 1" - + " 99.95" - + " Want this for the holidays" - + " 1999-12-05" - + " " - + " " - + ""; - - private static final String JSON_STR = "{\"xsl:root\":{\"@xmlns\":{\"xsl\":\"http://foo.com\"},\"data\":{\"$\":\"my json string\"}}}"; - - public void testXML2JSON() throws Exception { - XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(new StringReader(IPO_XML)); - XMLStreamReader2JSON t1 = new XMLStreamReader2JSON(); - JSONObject json = (JSONObject) t1.transform(reader, null); - Assert.assertNotNull(json); - - // Cannot round-trip as we hit a bug in Jettison: http://jira.codehaus.org/browse/JETTISON-37 - /* - JSON2XMLStreamReader t2 = new JSON2XMLStreamReader(); - XMLStreamReader reader2 = t2.transform(json, null); - StringWriter sw = new StringWriter(); - XMLStreamWriter streamWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(sw); - new XMLStreamSerializer().serialize(reader2, streamWriter); - streamWriter.flush(); - System.out.println(sw.toString()); - */ - - } - - public void testJSON2XML() throws Exception { - JSON2XMLStreamReader t2 = new JSON2XMLStreamReader(); - XMLStreamReader reader2 = t2.transform(new JSONObject(JSON_STR), null); - StringWriter sw = new StringWriter(); - XMLStreamWriter streamWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(sw); - new XMLStreamSerializer().serialize(reader2, streamWriter); - streamWriter.flush(); - Assert.assertTrue(sw.toString() - .contains("my json string")); - } - - public void testJSON2OMElement() throws Exception { - JSON2OMElement t1 = new JSON2OMElement(); - TransformationContext context = new TransformationContextImpl(); - DataType dt = new DataTypeImpl(Object.class, new XMLType(new QName("http://foo.com", "root"), null)); - context.setTargetDataType(dt); - OMElement element = t1.transform(new JSONObject(JSON_STR), context); - StringWriter writer = new StringWriter(); - element.serialize(writer); - // System.out.println(writer.toString()); - } - - public void testString2JSON() throws Exception { - String json = "{\"name\":\"John\",\"age\":25}"; - String2JSON t1 = new String2JSON(); - JSONObject jsonObject = (JSONObject) t1.transform(json, null); - assertEquals(jsonObject.getString("name"), "John"); - assertEquals(jsonObject.getInt("age"), 25); - JSON2String t2 = new JSON2String(); - String str = t2.transform(jsonObject, null); - assertTrue(str.contains("\"name\":\"John\"")); - assertTrue(str.contains("\"age\":25")); - } -} diff --git a/java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/JavaBean2JSONTestCase.java b/java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/JavaBean2JSONTestCase.java deleted file mode 100644 index 3b36f5be74..0000000000 --- a/java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/JavaBean2JSONTestCase.java +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.json; - -import java.util.ArrayList; -import java.util.List; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.TransformationContextImpl; -import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl; -import org.json.JSONObject; -import org.junit.Test; - -/** - * @version $Rev$ $Date$ - */ -public class JavaBean2JSONTestCase { - - public static class MyBean { - private String name; - private int age; - private boolean vip; - private String friends[]; - private List books; - private YourBean you; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public int getAge() { - return age; - } - - public void setAge(int age) { - this.age = age; - } - - public boolean isVip() { - return vip; - } - - public void setVip(boolean vip) { - this.vip = vip; - } - - public String[] getFriends() { - return friends; - } - - public void setFriends(String[] friends) { - this.friends = friends; - } - - public List getBooks() { - return books; - } - - public void setBooks(List books) { - this.books = books; - } - - public YourBean getYou() { - return you; - } - - public void setYou(YourBean you) { - this.you = you; - } - - } - - public static class YourBean { - private int id; - private String name; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - } - - @Test - public void testBean2JSON() throws Exception { - MyBean me = new MyBean(); - me.setAge(30); - me.setBooks(new ArrayList()); - me.setFriends(new String[] {"John", "Mike"}); - me.setVip(true); - me.setName("Me"); - YourBean you = new YourBean(); - you.setId(123); - you.setName(null); - me.setYou(you); - JavaBean2JSON t1 = new JavaBean2JSON(); - Object result = t1.transform(me, null); - System.out.println(result); - JSON2JavaBean t2 = new JSON2JavaBean(); - TransformationContext context = new TransformationContextImpl(); - context.setTargetDataType(new DataTypeImpl(MyBean.class, null)); - Object v = t2.transform(new JSONObject(result.toString()), context); - Assert.assertTrue(v instanceof MyBean); - // String json = - // "{\"age\":30,\"books\":[],\"friends\":[\"John\",\"Mike\"],\"name\":\"Me\",\"vip\":true,\"you\":{\"id\":123,\"name\":null}}"; - // Assert.assertEquals(json, result.toString()); - } - - @Test - public void testString2JSON() throws Exception { - JavaBean2JSONObject t1 = new JavaBean2JSONObject(); - Object result = t1.transform("ABC", null); - System.out.println(result); - JSON2JavaBean t2 = new JSON2JavaBean(); - TransformationContext context = new TransformationContextImpl(); - context.setTargetDataType(new DataTypeImpl(String.class, null)); - Object v = t2.transform(result, context); - Assert.assertTrue(v instanceof String); - Assert.assertEquals("ABC", v); - } - - @Test - public void testStringArray2JSON() throws Exception { - JavaBean2JSON t1 = new JavaBean2JSON(); - Object result = t1.transform(new String[] {"ABC", "DF"}, null); - System.out.println(result); - JSON2JavaBean t2 = new JSON2JavaBean(); - TransformationContext context = new TransformationContextImpl(); - context.setTargetDataType(new DataTypeImpl(String[].class, null)); - Object v = t2.transform(result, context); - Assert.assertTrue(v instanceof String[]); - String[] strs = (String[])v; - Assert.assertEquals("ABC", strs[0]); - Assert.assertEquals("DF", strs[1]); - } - -} diff --git a/java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/MyBean.java b/java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/MyBean.java deleted file mode 100644 index 60b293c1d4..0000000000 --- a/java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/MyBean.java +++ /dev/null @@ -1,158 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.json; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class MyBean { - private int age; - private String name; - private float[] rates = new float[] {1.0f, 2.0f}; - private List notes = new ArrayList(); - private Map map = new HashMap(); - private Object service; - private Object otherService; - private boolean good; - - public int getAge() { - return age; - } - - public void setAge(int age) { - this.age = age; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public List getNotes() { - return notes; - } - - public void setNotes(List notes) { - this.notes = notes; - } - - public float[] getRates() { - return rates; - } - - public void setRates(float[] rates) { - this.rates = rates; - } - - public Map getMap() { - return map; - } - - public void setMap(Map map) { - this.map = map; - } - - public Object getService() { - return service; - } - - public void setService(Object service) { - this.service = service; - } - - public Object getOtherService() { - return otherService; - } - - public void setOtherService(Object otherService) { - this.otherService = otherService; - } - - public boolean isGood() { - return good; - } - - public void setGood(boolean good) { - this.good = good; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + age; - result = prime * result + (good ? 1231 : 1237); - result = prime * result + ((map == null) ? 0 : map.hashCode()); - result = prime * result + ((name == null) ? 0 : name.hashCode()); - result = prime * result + ((notes == null) ? 0 : notes.hashCode()); - result = prime * result + ((otherService == null) ? 0 : otherService.hashCode()); - result = prime * result + Arrays.hashCode(rates); - result = prime * result + ((service == null) ? 0 : service.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - final MyBean other = (MyBean)obj; - if (age != other.age) - return false; - if (good != other.good) - return false; - if (map == null) { - if (other.map != null) - return false; - } else if (!map.equals(other.map)) - return false; - if (name == null) { - if (other.name != null) - return false; - } else if (!name.equals(other.name)) - return false; - if (notes == null) { - if (other.notes != null) - return false; - } else if (!notes.equals(other.notes)) - return false; - if (otherService == null) { - if (other.otherService != null) - return false; - } else if (!otherService.equals(other.otherService)) - return false; - if (!Arrays.equals(rates, other.rates)) - return false; - if (service == null) { - if (other.service != null) - return false; - } else if (!service.equals(other.service)) - return false; - return true; - } -} diff --git a/java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/MyInterface.java b/java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/MyInterface.java deleted file mode 100644 index d32e0763c7..0000000000 --- a/java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/MyInterface.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.databinding.json; - -/** - * @version $Rev$ $Date$ - */ -public interface MyInterface { - void setId(String id); - - String getId(); -} diff --git a/java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/MyInterfaceImpl.java b/java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/MyInterfaceImpl.java deleted file mode 100644 index 3a2b95a4e2..0000000000 --- a/java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/MyInterfaceImpl.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.databinding.json; - -/** - * @version $Rev$ $Date$ - */ -public class MyInterfaceImpl implements MyInterface { - private String id; - - /** - * @see org.apache.tuscany.databinding.jaxb.MyInterface#getId() - */ - public String getId() { - return id; - } - - /** - * @see org.apache.tuscany.databinding.jaxb.MyInterface#setId(java.lang.String) - */ - public void setId(String id) { - this.id = id; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((id == null) ? 0 : id.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - final MyInterfaceImpl other = (MyInterfaceImpl)obj; - if (id == null) { - if (other.id != null) - return false; - } else if (!id.equals(other.id)) - return false; - return true; - } - -} diff --git a/java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/POJOTestCase.java b/java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/POJOTestCase.java deleted file mode 100644 index 84995baadf..0000000000 --- a/java/sca/contrib/modules/databinding-json/src/test/java/org/apache/tuscany/sca/databinding/json/POJOTestCase.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.databinding.json; - -import java.lang.reflect.Array; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.TransformationContextImpl; -import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl; - -public class POJOTestCase extends TestCase { - public void testPOJO() throws Exception { - MyBean bean = new MyBean(); - bean.setName("Test"); - bean.setAge(20); - bean.getNotes().add("1"); - bean.getNotes().add("2"); - bean.getMap().put("1", 1); - MyInterface service = new MyInterfaceImpl(); - service.setId("ID001"); - bean.setService(service); - bean.setOtherService(service); - - roundTrip(bean); - } - - private void roundTrip(T bean) { - JavaBean2JSON t1 = new JavaBean2JSON(); - - Object json = t1.transform(bean, null); - System.out.println(json); - JSON2JavaBean t2 = new JSON2JavaBean(); - - TransformationContext context = new TransformationContextImpl(); - context.setTargetDataType(new DataTypeImpl(bean == null ? Object.class : bean.getClass(), null)); - Object newBean = t2.transform(json, context); - - if (newBean != null && newBean.getClass().isArray()) { - int len = Array.getLength(newBean); - assertEquals(Array.getLength(bean), len); - for (int i = 0; i < len; i++) { - assertEquals(Array.get(bean, i), Array.get(newBean, i)); - } - return; - } - assertEquals(bean, newBean); - } - - public void testString() throws Exception { - roundTrip("ABC"); - } - - public void testNull() throws Exception { - roundTrip(null); - } - - public void testArray() throws Exception { - roundTrip(new String[] {"123", "ABC"}); - } - - public void testByteArray() throws Exception { - roundTrip("ABC".getBytes()); - } - - public void testPrimitive() throws Exception { - roundTrip(123); - } - -} diff --git a/java/sca/contrib/modules/databinding-json/src/test/resources/ipo.xsd b/java/sca/contrib/modules/databinding-json/src/test/resources/ipo.xsd deleted file mode 100644 index 5a493e1746..0000000000 --- a/java/sca/contrib/modules/databinding-json/src/test/resources/ipo.xsd +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - International Purchase order schema for Example.com - Copyright 2000 Example.com. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/databinding-saxon/LICENSE b/java/sca/contrib/modules/databinding-saxon/LICENSE deleted file mode 100644 index d645695673..0000000000 --- a/java/sca/contrib/modules/databinding-saxon/LICENSE +++ /dev/null @@ -1,202 +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/java/sca/contrib/modules/databinding-saxon/NOTICE b/java/sca/contrib/modules/databinding-saxon/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/databinding-saxon/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/databinding-saxon/pom.xml b/java/sca/contrib/modules/databinding-saxon/pom.xml deleted file mode 100644 index ae46e33022..0000000000 --- a/java/sca/contrib/modules/databinding-saxon/pom.xml +++ /dev/null @@ -1,125 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-databinding-saxon - Apache Tuscany SCA Data Binding for Saxon - - - - - false - - rfeng - Tuscany Maven 2.0 Repository - http://svn.apache.org/repos/asf/incubator/tuscany/maven - default - - - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-databinding - 2.0-SNAPSHOT - - - - - - net.sf.saxon - saxon - 8.7 - - - - net.sf.saxon - saxon-dom - 8.7 - - - - org.apache.tuscany.sdo - tuscany-sdo-lib - 1.1.1 - - - - org.apache.tuscany.sdo - tuscany-sdo-impl - 1.1.1 - - - - junit - junit - 4.1 - test - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.databinding.saxon - ${pom.name} - org.apache.tuscany.sca.databinding.saxon* - - - - - - - diff --git a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/DataObject2NodeInfoTransformer.java b/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/DataObject2NodeInfoTransformer.java deleted file mode 100644 index 25f8ee886f..0000000000 --- a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/DataObject2NodeInfoTransformer.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.databinding.saxon; - -import javax.xml.transform.dom.DOMResult; - -import net.sf.saxon.om.NodeInfo; - -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 commonj.sdo.DataObject; -import commonj.sdo.helper.XMLDocument; -import commonj.sdo.helper.XMLHelper; - -/** - * Transforms SDO DataObject-s to NodeInfo objects needed by Saxon parser. - * - * For root element when Serializing the DataObject the name of its - * implemented interface is used with its first letter made lowercase. - * Also any namespaces that are defined are deleted, because otherwise - * the SaxonB parser does not work - * - * @version $Rev$ $Date$ - */ -public class DataObject2NodeInfoTransformer extends BaseTransformer implements - PullTransformer { - - private Node2NodeInfoTransformer node2NodeInfoTransformer; - - public DataObject2NodeInfoTransformer(Node2NodeInfoTransformer node2NodeInfoTransformer) { - this.node2NodeInfoTransformer = node2NodeInfoTransformer; - } - - public DataObject2NodeInfoTransformer() { - this.node2NodeInfoTransformer = new Node2NodeInfoTransformer(); - } - - public NodeInfo transform(DataObject source, TransformationContext context) { - // FIXME: Need to create the HelperContext from the transformation context - // FIXME: This is a big hack to create a document using the class name - XMLHelper helper = XMLHelper.INSTANCE; - String name = null; - if (source.getClass().getInterfaces().length > 0) { - name = source.getClass().getInterfaces()[0].getSimpleName(); - } else { - name = source.getClass().getName(); - } - - if (name.length() > 0) { - name = Character.toLowerCase(name.charAt(0)) + name.substring(1, name.length()); - } - - try { - DOMResult domResult = new DOMResult(DOMHelper.newDocument()); - XMLDocument xmlDoc = helper.createDocument(source, null, name); - helper.save(xmlDoc, domResult, null); - return node2NodeInfoTransformer.transform(domResult.getNode(), context); - } catch (Exception e) { - throw new TransformationException(e); - } - - } - - @Override - protected Class getSourceType() { - return DataObject.class; - } - - @Override - protected Class getTargetType() { - return NodeInfo.class; - } - - @Override - public int getWeight() { - return 30 + node2NodeInfoTransformer.getWeight(); - } - -} diff --git a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/ItemList2ObjectTransformer.java b/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/ItemList2ObjectTransformer.java deleted file mode 100644 index 7122217b8b..0000000000 --- a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/ItemList2ObjectTransformer.java +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.saxon; - -import java.lang.reflect.Array; - -import net.sf.saxon.om.Item; -import net.sf.saxon.om.NodeInfo; -import net.sf.saxon.trans.XPathException; -import net.sf.saxon.value.Value; - -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.saxon.collection.ItemList; - -/** - * Transforms each object contained in the ItemList object. - * - * If the object type is the same as the target type, it is not transformed. - * - * If the object is a NodeInfo, it's transformed to a DataObject. - * - * If the object is a Value, it's transformed to a Java object. - * - * If the target type is not an array, the first transformed object is returned. - * - * If the first transformed object type is not a target type, then a - * TransformException is thrown - * - * If the target type is an array, a array of this type is created containing - * all transformed objects and it is returned - * - * If any transformed object is not a target type, then a TransformException is - * thrown - * - * @version $Rev: 659284 $ $Date: 2008-05-22 14:26:18 -0800 (Thu, 22 May 2008) $ - */ -public class ItemList2ObjectTransformer extends BaseTransformer implements - PullTransformer { - - private NodeInfo2DataObjectTransformer nodeInfo2DataObjectTransformer = new NodeInfo2DataObjectTransformer(); - - public ItemList2ObjectTransformer() { - } - - @Override - protected Class getSourceType() { - return ItemList.class; - } - - @Override - protected Class getTargetType() { - return Object.class; - } - - @Override - public int getWeight() { - return 30 + nodeInfo2DataObjectTransformer.getWeight(); - } - - public Object transform(ItemList source, TransformationContext context) { - - if (source.size() == 0) { - return null; - } - - Class targetType = context.getTargetDataType().getPhysical(); - - if (targetType.isArray()) { - int i = 0; - Class componentClass = targetType.getComponentType(); - Object[] result = (Object[])Array.newInstance(componentClass, source.size()); - - try { - - if (componentClass.isAssignableFrom(NodeInfo.class) || componentClass.isAssignableFrom(Value.class)) { - - for (Item item : source) { - result[i++] = item; - } - - } else { - - for (Item item : source) { - - if (item instanceof NodeInfo) { - result[i] = nodeInfo2DataObjectTransformer.transform((NodeInfo)item, context); - - } else if (item instanceof Value) { - result[i] = Value.convert(item); - - } else { - result[i] = item; - } - - i++; - - } - - } - - } catch (ArrayStoreException ex) { - throw new TransformationException(ex); - - } catch (XPathException ex) { - throw new TransformationException(ex); - } - - return result; - - } else { - Item item = source.iterator().next(); - - if (item.getClass().isAssignableFrom(targetType)) { - return item; - - } else if (item instanceof NodeInfo) { - return nodeInfo2DataObjectTransformer.transform((NodeInfo)item, context); - - } else { - - try { - return Value.convert(item); - - } catch (XPathException e) { - throw new TransformationException(e); - } - - } - - } - - } - -} diff --git a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Node2NodeInfoTransformer.java b/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Node2NodeInfoTransformer.java deleted file mode 100644 index fabadd34ea..0000000000 --- a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Node2NodeInfoTransformer.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.databinding.saxon; - -import javax.xml.transform.dom.DOMSource; - -import net.sf.saxon.Configuration; -import net.sf.saxon.event.Builder; -import net.sf.saxon.om.NodeInfo; -import net.sf.saxon.trans.XPathException; - -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.Node; - -/** - * Transforms DOM Node-s to NodeInfo objects needed by Saxon parser. - * - * Any namespaces that are defined are deleted, because otherwise - * the SaxonB parser does not work - * - * @version $Rev$ $Date$ - */ -public class Node2NodeInfoTransformer extends BaseTransformer implements - PullTransformer { - - public NodeInfo transform(Node source, TransformationContext context) { - Configuration configuration = SaxonDataBindingHelper.CURR_EXECUTING_CONFIG; - if (configuration == null) { - configuration = new Configuration(); - } - - NodeInfo docInfo = null; - try { - source = DOMHelper.promote(source); - docInfo = Builder.build(new DOMSource(source), null, configuration); - } catch (XPathException e) { - throw new TransformationException(e); - } - return docInfo; - } - - @Override - protected Class getSourceType() { - return Node.class; - } - - @Override - protected Class getTargetType() { - return NodeInfo.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/NodeInfo2DataObjectTransformer.java b/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/NodeInfo2DataObjectTransformer.java deleted file mode 100644 index a5093f8cdf..0000000000 --- a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/NodeInfo2DataObjectTransformer.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.databinding.saxon; - -import java.io.IOException; - -import javax.xml.transform.dom.DOMSource; - -import net.sf.saxon.om.NodeInfo; - -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 commonj.sdo.DataObject; -import commonj.sdo.helper.XMLHelper; - -/** - * Transforms NodeInfo objects to SDO DataObjects. - * - * Before constructing the data object, resulting XML is populated - * with correct namespaces (which are taken from the logical target data type) - * These namespaces are crucial for constructing the right instance of - * the DataObject (i.e. if there is a SDO factory, an instance from this factory will - * be used, not the generic any data object) - * - * @version $Rev$ $Date$ - */ -public class NodeInfo2DataObjectTransformer extends BaseTransformer implements - PullTransformer { - - private NodeInfo2NodeTransformer nodeInfo2NodeTransformer; - - public NodeInfo2DataObjectTransformer(NodeInfo2NodeTransformer nodeInfo2NodeTransformer) { - this.nodeInfo2NodeTransformer = nodeInfo2NodeTransformer; - } - - public NodeInfo2DataObjectTransformer() { - this.nodeInfo2NodeTransformer = new NodeInfo2NodeTransformer(); - } - - @Override - protected Class getSourceType() { - return NodeInfo.class; - } - - @Override - protected Class getTargetType() { - return DataObject.class; - } - - @Override - public int getWeight() { - return 30 + nodeInfo2NodeTransformer.getWeight(); - } - - public DataObject transform(NodeInfo source, TransformationContext context) { - Document doc = (Document)nodeInfo2NodeTransformer.transform(source, context); - - return produceResult(doc); - } - - private DataObject produceResult(Document doc) { - try { - // FIXME: [rfeng] We should use the HelperContext from the context - DataObject resultingObject = - XMLHelper.INSTANCE.load(new DOMSource(doc), doc.getDocumentURI(), null).getRootObject(); - return resultingObject; - } catch (IOException e) { - throw new TransformationException(e); - } - } -} diff --git a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/NodeInfo2JavaArrayTransformer.java b/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/NodeInfo2JavaArrayTransformer.java deleted file mode 100644 index 36ebac3aea..0000000000 --- a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/NodeInfo2JavaArrayTransformer.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.saxon; - -import java.lang.reflect.Array; - -import net.sf.saxon.om.Item; -import net.sf.saxon.om.NodeInfo; -import net.sf.saxon.trans.XPathException; -import net.sf.saxon.value.Value; - -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.saxon.collection.ItemList; - -import commonj.sdo.DataObject; - -/** - * Transforms a NodeInfo object to a DataObject and return it in an array. - * - * @version $Rev: 659284 $ $Date: 2008-05-22 14:26:18 -0800 (Thu, 22 May 2008) $ - */ -public class NodeInfo2JavaArrayTransformer extends - BaseTransformer implements - PullTransformer { - - private NodeInfo2DataObjectTransformer nodeInfo2DataObjectTransformer = new NodeInfo2DataObjectTransformer(); - - public NodeInfo2JavaArrayTransformer() {} - - @Override - protected Class getSourceType() { - return NodeInfo.class; - } - - @Override - protected Class getTargetType() { - return Object[].class; - } - - @Override - public int getWeight() { - return 30 + nodeInfo2DataObjectTransformer.getWeight(); - } - - public Object[] transform(NodeInfo source, TransformationContext context) { - Object object = nodeInfo2DataObjectTransformer.transform(source, context); - - Class componentClass = context.getTargetDataType().getPhysical().getComponentType(); - Object[] result = (Object[]) Array.newInstance(componentClass, 1); - - result[0] = object; - - return result; - - } - -} diff --git a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/NodeInfo2NodeTransformer.java b/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/NodeInfo2NodeTransformer.java deleted file mode 100644 index 1e5b816662..0000000000 --- a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/NodeInfo2NodeTransformer.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.saxon; - -import java.util.Properties; - -import javax.xml.transform.OutputKeys; -import javax.xml.transform.dom.DOMResult; - -import net.sf.saxon.om.NodeInfo; -import net.sf.saxon.query.QueryResult; - -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.Node; - -/** - * Transforms NodeInfo objects to SDO DataObjects. - * - * @version $Rev$ $Date$ - */ -public class NodeInfo2NodeTransformer extends BaseTransformer implements - PullTransformer { - - public Node transform(NodeInfo source, TransformationContext context) { - DOMResult destination = new DOMResult(); - try { - Properties props = new Properties(); - props.setProperty(OutputKeys.METHOD, "xml"); - props.setProperty(OutputKeys.INDENT, "yes"); - QueryResult.serialize(source, destination, props, source.getConfiguration()); - } catch (Exception e) { - throw new TransformationException(e); - } - return destination.getNode(); - } - - @Override - protected Class getSourceType() { - return NodeInfo.class; - } - - @Override - protected Class getTargetType() { - return Node.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Object2ValueTransformer.java b/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Object2ValueTransformer.java deleted file mode 100644 index 616bcca6c5..0000000000 --- a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Object2ValueTransformer.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.databinding.saxon; - -import net.sf.saxon.value.FloatValue; -import net.sf.saxon.value.ObjectValue; -import net.sf.saxon.value.Value; - -import org.apache.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.apache.tuscany.sca.databinding.javabeans.JavaBeansDataBinding; - -/** - * Transforms generic java objects to Value objects needed by Saxon parser. - * - * @version $Rev$ $Date$ - */ -public class Object2ValueTransformer extends BaseTransformer implements PullTransformer { - - @Override - protected Class getSourceType() { - return Object.class; - } - - @Override - protected Class getTargetType() { - return Value.class; - } - - @Override - public String getSourceDataBinding() { - return JavaBeansDataBinding.NAME; - } - - @Override - public int getWeight() { - return 10000; - } - - public Value transform(Object source, TransformationContext context) { - // WORKAROUND for ClassCastException in ObjectValue.toJavaObject(float) - if (source instanceof Float) { - return new FloatValue(((Float)source).floatValue()); - } - return new ObjectValue(source); - } - -} diff --git a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/SaxonDataBindingHelper.java b/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/SaxonDataBindingHelper.java deleted file mode 100644 index ecb20b24b5..0000000000 --- a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/SaxonDataBindingHelper.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.databinding.saxon; - -import net.sf.saxon.Configuration; - -/** - * Provides helper functionality for Saxon data bindings - * @version $Rev$ $Date$ - */ -public class SaxonDataBindingHelper { - /** - * This variable is meaningful only in the context of XQoery expression - * execution. It is used by the DataObject2NodeInfoTransformer and - * Node2NodeInfoTransformer to create the correct NodeInfo objects - * in the Output2Output transformations. - * For Input2Input transformations it is meaningless: - * - if it is null - it is ignored by the transformers as they create new - * configuration objects - * - if it is not null - it is reused - * However the XQueryInvoker transforms all NodeInfo-s to NodeInfo-s with - * its current configuration, so there is no effect for Input2Input transformations - */ - public static Configuration CURR_EXECUTING_CONFIG = null; -} diff --git a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/SaxonNodeDataBinding.java b/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/SaxonNodeDataBinding.java deleted file mode 100644 index ccf842710d..0000000000 --- a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/SaxonNodeDataBinding.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.databinding.saxon; - - -import net.sf.saxon.om.NodeInfo; - -import org.apache.tuscany.sca.databinding.impl.BaseDataBinding; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; - -/** - * Represents data binding for parameters of type NodeInfo. - * - * The NodeInfo type is the type accepted by the Saxon XQuery processor for - * all XML - based content (i.e. not strings and simple types) - * - * @version $Rev$ $Date$ - */ -public class SaxonNodeDataBinding extends BaseDataBinding { - - public static final String NAME = NodeInfo.class.getName(); - public static final String[] ALIASES = new String[] {"saxon_node"}; - - public SaxonNodeDataBinding() { - super(NAME, NodeInfo.class); - } - - @Override - public boolean introspect(DataType type, Operation operation) { - if (super.introspect(type, operation)) { - // type.setLogical(XMLType.UNKNOWN); - return true; - } else { - return false; - } - } -} diff --git a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/SaxonValueDataBinding.java b/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/SaxonValueDataBinding.java deleted file mode 100644 index 2f51cf86ec..0000000000 --- a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/SaxonValueDataBinding.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.saxon; - - -import net.sf.saxon.value.Value; - -import org.apache.tuscany.sca.databinding.impl.BaseDataBinding; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; - -/** - * Represents data binding for parameters of type Value. - * - * The Value type is the type accepted by the Saxon XQuery processor for - * all simple types and strings - * - * @version $Rev$ $Date$ - */ -public class SaxonValueDataBinding extends BaseDataBinding { - public static final String NAME = Value.class.getName(); - public static final String[] ALIASES = new String[] {"saxon_value"}; - - public SaxonValueDataBinding() { - super(NAME, Value.class); - } - - @Override - public boolean introspect(DataType type, Operation operation) { - if (super.introspect(type, operation)) { - // type.setLogical(XMLType.UNKNOWN); - return true; - } else { - return false; - } - } -} diff --git a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/SimpleType2ValueTransformer.java b/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/SimpleType2ValueTransformer.java deleted file mode 100644 index 67d89a6e0b..0000000000 --- a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/SimpleType2ValueTransformer.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.databinding.saxon; - -import java.math.BigDecimal; - -import net.sf.saxon.value.DecimalValue; -import net.sf.saxon.value.DoubleValue; -import net.sf.saxon.value.FloatValue; -import net.sf.saxon.value.IntegerValue; -import net.sf.saxon.value.ObjectValue; -import net.sf.saxon.value.StringValue; -import net.sf.saxon.value.Value; - -import org.apache.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.apache.tuscany.sca.databinding.javabeans.SimpleJavaDataBinding; - -/** - * Transforms simple types and strings to Value objects needed by Saxon parser - * @version $Rev$ $Date$ - */ -public class SimpleType2ValueTransformer extends BaseTransformer implements - PullTransformer { - - @Override - public String getSourceDataBinding() { - return SimpleJavaDataBinding.NAME; - } - - @Override - protected Class getSourceType() { - return Object.class; - } - - @Override - protected Class getTargetType() { - return Value.class; - } - - @Override - public int getWeight() { - return 10000; - } - - public Value transform(Object source, TransformationContext context) { - Value result = null; - if (source instanceof Integer) { - result = new IntegerValue((Integer)source); - } else if (source instanceof Long) { - result = new IntegerValue((Long)source); - } else if (source instanceof Short) { - result = new IntegerValue((Short)source); - } else if (source instanceof Byte) { - result = new IntegerValue((Byte)source); - } else if (source instanceof Double) { - result = new DoubleValue((Double)source); - } else if (source instanceof Float) { - result = new FloatValue((Float)source); - } else if (source instanceof BigDecimal) { - result = new DecimalValue((BigDecimal)source); - } else if (source instanceof String) { - result = new StringValue(((String)source)); - } else { - result = new ObjectValue(source); - } - - return result; - } -} diff --git a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Value2JavaArray.java b/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Value2JavaArray.java deleted file mode 100644 index 16d5f524bb..0000000000 --- a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Value2JavaArray.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.databinding.saxon; - -import java.lang.reflect.Array; - -import net.sf.saxon.trans.XPathException; -import net.sf.saxon.value.Value; - -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; - -/** - * Transforms a Value object to a Java Object and return it in an array. - * - * @version $Rev: 659284 $ $Date: 2008-05-22 14:26:18 -0800 (Thu, 22 May 2008) $ - */ -public class Value2JavaArray extends BaseTransformer implements PullTransformer { - - public Value2JavaArray() { - } - - @Override - protected Class getSourceType() { - return Value.class; - } - - @Override - protected Class getTargetType() { - return Object[].class; - } - - @Override - public int getWeight() { - return super.getWeight() + 100; - } - - public Object[] transform(Value source, TransformationContext context) { - - try { - Object object = Value.convert(Value.asItem(source)); - - Class componentClass = context.getTargetDataType().getPhysical().getComponentType(); - Object[] result = (Object[])Array.newInstance(componentClass, 1); - - result[0] = object; - - return result; - - } catch (XPathException e) { - throw new TransformationException(e.getMessage()); - } - - } - -} diff --git a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Value2ObjectTransformer.java b/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Value2ObjectTransformer.java deleted file mode 100644 index 7589f6789b..0000000000 --- a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Value2ObjectTransformer.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.databinding.saxon; - -import net.sf.saxon.trans.XPathException; -import net.sf.saxon.value.Value; - -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.javabeans.JavaBeansDataBinding; - -/** - * Transforms Value objects to generic java objects - * @version $Rev$ $Date$ - */ -public class Value2ObjectTransformer extends BaseTransformer implements PullTransformer { - - public Object transform(Value source, TransformationContext context) { - Object object; - try { - object = Value.convert(Value.asItem(source)); - } catch (XPathException e) { - throw new TransformationException(e); - } - return object; - } - - @Override - protected Class getSourceType() { - return Value.class; - } - - @Override - protected Class getTargetType() { - return Object.class; - } - - @Override - public String getTargetDataBinding() { - return JavaBeansDataBinding.NAME; - } - - @Override - public int getWeight() { - return 10000; - } - -} diff --git a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Value2SimpleTypeTransformer.java b/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Value2SimpleTypeTransformer.java deleted file mode 100644 index 5da4effcfd..0000000000 --- a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/Value2SimpleTypeTransformer.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.databinding.saxon; - -import net.sf.saxon.trans.XPathException; -import net.sf.saxon.value.Value; - -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.javabeans.SimpleJavaDataBinding; - -/** - * Transforms Value objects to simple types - * @version $Rev$ $Date$ - */ -public class Value2SimpleTypeTransformer extends BaseTransformer implements - PullTransformer { - public Object transform(Value source, TransformationContext context) { - Object object; - try { - object = Value.convert(Value.asItem(source)); - } catch (XPathException e) { - throw new TransformationException(e); - } - return object; - } - - @Override - public String getTargetDataBinding() { - return SimpleJavaDataBinding.NAME; - } - - @Override - protected Class getSourceType() { - return Value.class; - } - - @Override - protected Class getTargetType() { - return Object.class; - } - - @Override - public int getWeight() { - return 10000; - } -} diff --git a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/collection/ItemList.java b/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/collection/ItemList.java deleted file mode 100644 index 065121520b..0000000000 --- a/java/sca/contrib/modules/databinding-saxon/src/main/java/org/apache/tuscany/sca/databinding/saxon/collection/ItemList.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.databinding.saxon.collection; - -import java.util.ArrayList; - -import net.sf.saxon.om.Item; - -/** - * Stores a list of Item objects. - * - * Used by the implementation.xquery to store a collection of results - * generated by the xquery execution. - * - * @version $Rev: 659284 $ $Date: 2008-05-22 14:26:18 -0800 (Thu, 22 May 2008) $ - */ -public class ItemList extends ArrayList {} diff --git a/java/sca/contrib/modules/databinding-saxon/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding b/java/sca/contrib/modules/databinding-saxon/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding deleted file mode 100644 index e15021b972..0000000000 --- a/java/sca/contrib/modules/databinding-saxon/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.saxon.SaxonNodeDataBinding;name=net.sf.saxon.om.NodeInfo -org.apache.tuscany.sca.databinding.saxon.SaxonValueDataBinding;name=net.sf.saxon.value.Value diff --git a/java/sca/contrib/modules/databinding-saxon/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer b/java/sca/contrib/modules/databinding-saxon/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer deleted file mode 100644 index 4d927ce53d..0000000000 --- a/java/sca/contrib/modules/databinding-saxon/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer +++ /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. - -# Implementation classes for the transformers -org.apache.tuscany.sca.databinding.saxon.Node2NodeInfoTransformer;source=org.w3c.dom.Node,target=net.sf.saxon.om.NodeInfo,weight=2000 -org.apache.tuscany.sca.databinding.saxon.NodeInfo2NodeTransformer;source=net.sf.saxon.om.NodeInfo,target=org.w3c.dom.Node,weight=2000 -org.apache.tuscany.sca.databinding.saxon.Object2ValueTransformer;source=java:complexType,target=net.sf.saxon.value.Value,weight=80000 -org.apache.tuscany.sca.databinding.saxon.Value2ObjectTransformer;source=net.sf.saxon.value.Value,target=java:complexType,weight=80000 -org.apache.tuscany.sca.databinding.saxon.SimpleType2ValueTransformer;source=java:simpleType,target=net.sf.saxon.value.Value,weight=80000 -org.apache.tuscany.sca.databinding.saxon.Value2SimpleTypeTransformer;source=net.sf.saxon.value.Value,target=java:simpleType,weight=80000 -org.apache.tuscany.sca.databinding.saxon.NodeInfo2DataObjectTransformer;source=net.sf.saxon.om.NodeInfo,target=commonj.sdo.DataObject,weight=1000 -org.apache.tuscany.sca.databinding.saxon.DataObject2NodeInfoTransformer;source=commonj.sdo.DataObject,target=net.sf.saxon.om.NodeInfo,weight=1000 -org.apache.tuscany.sca.databinding.saxon.ItemList2ObjectTransformer;source=org.apache.tuscany.sca.databinding.saxon.collection.ItemList,target=net.sf.saxon.om.NodeInfo,weight=1000 -org.apache.tuscany.sca.databinding.saxon.ItemList2ObjectTransformer;source=org.apache.tuscany.sca.databinding.saxon.collection.ItemList,target=net.sf.saxon.value.Value,weight=1000 -org.apache.tuscany.sca.databinding.saxon.ItemList2ObjectTransformer;source=org.apache.tuscany.sca.databinding.saxon.collection.ItemList,target=commonj.sdo.DataObject,weight=1000 -org.apache.tuscany.sca.databinding.saxon.ItemList2ObjectTransformer;source=org.apache.tuscany.sca.databinding.saxon.collection.ItemList,target=java:complex,weight=1000 -org.apache.tuscany.sca.databinding.saxon.ItemList2ObjectTransformer;source=org.apache.tuscany.sca.databinding.saxon.collection.ItemList,target=java:simple,weight=1000 -org.apache.tuscany.sca.databinding.saxon.ItemList2ObjectTransformer;source=org.apache.tuscany.sca.databinding.saxon.collection.ItemList,target=java:array,weight=1000 -org.apache.tuscany.sca.databinding.saxon.NodeInfo2JavaArrayTransformer;source=net.sf.saxon.om.NodeInfo,target=java:array,weight=1000 -org.apache.tuscany.sca.databinding.saxon.Value2JavaArrayTransformer;source=net.sf.saxon.value.Value,target=java:array,weight=1000 diff --git a/java/sca/contrib/modules/databinding-sdo-axiom/LICENSE b/java/sca/contrib/modules/databinding-sdo-axiom/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/databinding-sdo-axiom/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/java/sca/contrib/modules/databinding-sdo-axiom/NOTICE b/java/sca/contrib/modules/databinding-sdo-axiom/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/databinding-sdo-axiom/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/databinding-sdo-axiom/pom.xml b/java/sca/contrib/modules/databinding-sdo-axiom/pom.xml deleted file mode 100644 index b84197931e..0000000000 --- a/java/sca/contrib/modules/databinding-sdo-axiom/pom.xml +++ /dev/null @@ -1,167 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-databinding-sdo-axiom - Apache Tuscany SCA Data Binding for SDO/AXIOM - - - - org.apache.tuscany.sca - tuscany-databinding - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-databinding-sdo - 2.0-SNAPSHOT - - - - org.apache.ws.commons.axiom - axiom-api - 1.2.7 - - - xerces - xercesImpl - - - javax.mail - mail - - - commons-logging - commons-logging - - - xml-apis - xml-apis - - - - - - org.apache.ws.commons.axiom - axiom-impl - 1.2.7 - runtime - - - - commons-logging - commons-logging - 1.1.1 - - - commons-logging - commons-logging - - - javax.servlet - servlet-api - - - - - - - - - org.codehaus.mojo - build-helper-maven-plugin - 1.0 - - - add-test-source - generate-sources - - add-test-source - - - - target/sdo-source - - - - - - - org.apache.tuscany.sdo - tuscany-sdo-plugin - 1.1.1 - - - generate-po-sdo - generate-sources - - ${basedir}/src/test/resources/ipo.xsd - com.example.ipo.sdo - true - true - true - - - generate - - - - generate-stock-sdo - generate-sources - - ${basedir}/src/test/resources/stock.xsd - com.example.stock.sdo - Stock - true - true - true - - - generate - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.databinding.sdo.axiom - ${pom.name} - org.apache.tuscany.sca.databinding.sdo* - - - - - - - - diff --git a/java/sca/contrib/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/AxiomHelper.java b/java/sca/contrib/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/AxiomHelper.java deleted file mode 100644 index 02f43000b4..0000000000 --- a/java/sca/contrib/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/AxiomHelper.java +++ /dev/null @@ -1,142 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.sdo2om; - -import javax.xml.namespace.QName; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMDataSource; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMFactory; -import org.apache.axiom.om.OMNamespace; -import org.apache.axiom.om.OMXMLParserWrapper; -import org.apache.axiom.om.impl.builder.StAXBuilder; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -/** - * Helper for AXIOM - * - * @version $Rev$ $Date$ - */ -public class AxiomHelper { - private static final String DEFAULT_PREFIX = "_ns_"; - - private AxiomHelper() { - } - - /** - * See http://issues.apache.org/jira/browse/WSCOMMONS-240 - * @param om - */ - public static void completeAndClose(OMElement om) { - // Get the builder associated with the om element - OMXMLParserWrapper builder = om.getBuilder(); - if (builder != null) { - if (builder instanceof StAXBuilder) { - ((StAXBuilder)builder).releaseParserOnClose(true); - } - OMElement document = builder.getDocumentElement(); - if (document != null) { - document.build(); - } - } - if (builder instanceof StAXBuilder) { - ((StAXBuilder)builder).close(); - } - } - - /** - * This method will close the builder immediately. Any subsequent Axiom objects won't - * be built or accessible. - */ - public static void closeImmediately(OMElement om) { - // Get the builder associated with the om element - OMXMLParserWrapper builder = om.getBuilder(); - if (builder != null) { - if (builder instanceof StAXBuilder) { - ((StAXBuilder)builder).releaseParserOnClose(true); - ((StAXBuilder)builder).close(); - } - // builder.close(); - } - } - - /** - * @param context - * @param element - */ - public 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()); - } - } - } - - public static OMElement createOMElement(OMFactory factory, QName element) { - String localName = element.getLocalPart(); - OMNamespace ns = createOMNamespace(factory, element); - - return factory.createOMElement(localName, ns); - - } - - public static OMElement createOMElement(OMFactory factory, QName element, OMDataSource dataSource) { - String localName = element.getLocalPart(); - OMNamespace ns = createOMNamespace(factory, element); - - return factory.createOMElement(dataSource, localName, ns); - - } - - /** - * @param factory - * @param name - * @return - */ - public static OMNamespace createOMNamespace(OMFactory factory, QName name) { - String namespaceURI = name.getNamespaceURI(); - String prefix = name.getPrefix(); - - OMNamespace ns = null; - if (namespaceURI.length() != 0) { - // Qualified Element: we need an OMNamespace - if (prefix.length() == 0) { - // The prefix does not appear to be specified, let's create one - prefix = DEFAULT_PREFIX; - } - ns = factory.createOMNamespace(namespaceURI, prefix); - } - return ns; - } -} diff --git a/java/sca/contrib/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/DataObject2OMElement.java b/java/sca/contrib/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/DataObject2OMElement.java deleted file mode 100644 index aa7f99724d..0000000000 --- a/java/sca/contrib/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/DataObject2OMElement.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.databinding.sdo2om; - -import static org.apache.tuscany.sca.databinding.sdo.SDODataBinding.ROOT_ELEMENT; - -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.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.apache.tuscany.sca.databinding.sdo.SDOContextHelper; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -import commonj.sdo.DataObject; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XMLDocument; - -/** - * SDO DataObject --> AXIOM OMElement transformer - * - * @version $Rev$ $Date$ - */ -public class DataObject2OMElement extends BaseTransformer implements - PullTransformer { - - public OMElement transform(DataObject source, TransformationContext context) { - HelperContext helperContext = SDOContextHelper.getHelperContext(context, true); - OMFactory factory = OMAbstractFactory.getOMFactory(); - - QName name = ROOT_ELEMENT; - if (context != null) { - DataType dataType = context.getTargetDataType(); - Object logical = dataType == null ? null : dataType.getLogical(); - if (logical instanceof XMLType) { - XMLType xmlType = (XMLType)logical; - if (xmlType.isElement()) { - name = xmlType.getElementName(); - } - } - } - - XMLDocument document = helperContext.getXMLHelper().createDocument(source, - name.getNamespaceURI(), - name.getLocalPart()); - SDODataSource dataSource = new SDODataSource(document, helperContext); - OMElement element = AxiomHelper.createOMElement(factory, name, dataSource); - return element; - } - - @Override - protected Class getSourceType() { - return DataObject.class; - } - - @Override - protected Class getTargetType() { - return OMElement.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/SDODataSource.java b/java/sca/contrib/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/SDODataSource.java deleted file mode 100644 index dc3c2610a4..0000000000 --- a/java/sca/contrib/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/SDODataSource.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.databinding.sdo2om; - -import static org.apache.tuscany.sca.databinding.sdo.SDODataBinding.ROOT_ELEMENT; - -import java.io.IOException; -import java.io.OutputStream; -import java.io.Writer; - -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; - -import org.apache.axiom.om.OMDataSource; -import org.apache.axiom.om.OMOutputFormat; -import org.apache.axiom.om.impl.serialize.StreamingOMSerializer; -import org.apache.tuscany.sdo.api.SDOUtil; -import org.apache.tuscany.sdo.api.XMLStreamHelper; - -import commonj.sdo.DataObject; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XMLDocument; - -/** - * - * @version $Rev$ $Date$ - */ -public class SDODataSource implements OMDataSource { - private HelperContext helperContext; - private XMLDocument sourceDocument; - - public SDODataSource(XMLDocument source, HelperContext helperContext) { - this.sourceDocument = source; - this.helperContext = helperContext; - } - - public SDODataSource(DataObject obj, HelperContext helperContext) { - this.helperContext = helperContext; - this.sourceDocument = - helperContext.getXMLHelper().createDocument(obj, - ROOT_ELEMENT.getNamespaceURI(), - ROOT_ELEMENT.getLocalPart()); - } - - public XMLStreamReader getReader() throws XMLStreamException { - XMLStreamHelper streamHelper = SDOUtil.createXMLStreamHelper(helperContext); - return streamHelper.createXMLStreamReader(sourceDocument); - } - - public void serialize(XMLStreamWriter xmlWriter) throws XMLStreamException { - StreamingOMSerializer serializer = new StreamingOMSerializer(); - serializer.serialize(getReader(), xmlWriter); - } - - public void serialize(OutputStream output, OMOutputFormat format) throws XMLStreamException { - try { - helperContext.getXMLHelper().save(sourceDocument, output, null); - } catch (Exception e) { - throw new XMLStreamException(e); - } - } - - public void serialize(Writer writer, OMOutputFormat format) throws XMLStreamException { - try { - helperContext.getXMLHelper().save(sourceDocument, writer, null); - } catch (IOException e) { - throw new XMLStreamException(e); - } - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/XMLDocument2OMElement.java b/java/sca/contrib/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/XMLDocument2OMElement.java deleted file mode 100644 index a55a9f37cb..0000000000 --- a/java/sca/contrib/modules/databinding-sdo-axiom/src/main/java/org/apache/tuscany/sca/databinding/sdo2om/XMLDocument2OMElement.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.databinding.sdo2om; - -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.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.apache.tuscany.sca.databinding.sdo.SDOContextHelper; - -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XMLDocument; - -/** - * SDO XMLDocument --> AXIOM OMElement transformer - * @version $Rev$ $Date$ - */ -public class XMLDocument2OMElement extends BaseTransformer implements - PullTransformer { - - public OMElement transform(XMLDocument source, TransformationContext context) { - HelperContext helperContext = SDOContextHelper.getHelperContext(context, true); - SDODataSource dataSource = new SDODataSource(source, helperContext); - OMFactory factory = OMAbstractFactory.getOMFactory(); - QName name = new QName(source.getRootElementURI(), source.getRootElementName()); - OMElement element = AxiomHelper.createOMElement(factory, name, dataSource); - return element; - } - - @Override - protected Class getSourceType() { - return XMLDocument.class; - } - - @Override - protected Class getTargetType() { - return OMElement.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer b/java/sca/contrib/modules/databinding-sdo-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer deleted file mode 100644 index c870ec2406..0000000000 --- a/java/sca/contrib/modules/databinding-sdo-axiom/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer +++ /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 transformers -org.apache.tuscany.sca.databinding.sdo2om.DataObject2OMElement;source=commonj.sdo.DataObject,target=org.apache.axiom.om.OMElement,weight=3000 -org.apache.tuscany.sca.databinding.sdo2om.XMLDocument2OMElement;source=commonj.sdo.helper.XMLDocument,target=org.apache.axiom.om.OMElement,weight=3000 diff --git a/java/sca/contrib/modules/databinding-sdo-axiom/src/test/java/org/apache/tuscany/sca/databinding/sdo2om/DataObject2OMElementTestCase.java b/java/sca/contrib/modules/databinding-sdo-axiom/src/test/java/org/apache/tuscany/sca/databinding/sdo2om/DataObject2OMElementTestCase.java deleted file mode 100644 index 57dd056526..0000000000 --- a/java/sca/contrib/modules/databinding-sdo-axiom/src/test/java/org/apache/tuscany/sca/databinding/sdo2om/DataObject2OMElementTestCase.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.databinding.sdo2om; - -import java.io.StringWriter; - -import javax.xml.stream.XMLStreamException; - -import junit.framework.Assert; - -import org.apache.axiom.om.OMAbstractFactory; -import org.apache.axiom.om.OMElement; -import org.apache.axiom.om.OMNamespace; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -import commonj.sdo.DataObject; - -/** - * - * @version $Rev$ $Date$ - */ -public class DataObject2OMElementTestCase extends SDOTransformerTestCaseBase { - - @Override - protected DataType getSourceDataType() { - return new DataTypeImpl(DataObject.class.getName(), DataObject.class, new XMLType(ORDER_QNAME, null)); - } - - @Override - protected DataType getTargetDataType() { - return new DataTypeImpl(OMElement.class.getName(), OMElement.class, new XMLType(ORDER_QNAME, null)); - } - - public final void testTransform() throws XMLStreamException { - OMElement element = new DataObject2OMElement().transform(dataObject, context); - Assert.assertEquals(ORDER_QNAME.getNamespaceURI(), element.getNamespace().getNamespaceURI()); - Assert.assertEquals(ORDER_QNAME.getLocalPart(), element.getLocalName()); - // TODO: See https://issues.apache.org/jira/browse/WSCOMMONS-226 - // element.getBuilder().setCache(false); - StringWriter writer = new StringWriter(); - element.serialize(writer); - } - - public final void testTransformWrapper() throws XMLStreamException { - OMElement element = new DataObject2OMElement().transform(dataObject, context); - Assert.assertEquals(ORDER_QNAME.getNamespaceURI(), element.getNamespace().getNamespaceURI()); - Assert.assertEquals(ORDER_QNAME.getLocalPart(), element.getLocalName()); - - OMNamespace ns = OMAbstractFactory.getOMFactory().createOMNamespace("http://ns1", "ns1"); - element.setNamespace(ns); - element.setLocalName("dummy"); - // TODO: See https://issues.apache.org/jira/browse/WSCOMMONS-226 - // element.getBuilder().setCache(true); - StringWriter writer = new StringWriter(); - element.serializeAndConsume(writer); - // System.out.println(writer); - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo-axiom/src/test/java/org/apache/tuscany/sca/databinding/sdo2om/SDOTransformerTestCaseBase.java b/java/sca/contrib/modules/databinding-sdo-axiom/src/test/java/org/apache/tuscany/sca/databinding/sdo2om/SDOTransformerTestCaseBase.java deleted file mode 100644 index f69ef598b8..0000000000 --- a/java/sca/contrib/modules/databinding-sdo-axiom/src/test/java/org/apache/tuscany/sca/databinding/sdo2om/SDOTransformerTestCaseBase.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.sdo2om; - -import javax.xml.namespace.QName; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.TransformationContextImpl; -import org.apache.tuscany.sca.interfacedef.DataType; - -import com.example.ipo.sdo.PurchaseOrderType; -import com.example.ipo.sdo.SdoFactory; -import com.example.ipo.sdo.USAddress; -import commonj.sdo.DataObject; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.impl.HelperProvider; - -/** - * The base class for SDO-related test cases - * - * @version $Rev$ $Date$ - */ -public abstract class SDOTransformerTestCaseBase extends TestCase { - protected static final QName ORDER_QNAME = new QName("http://www.example.com/IPO", "purchaseOrder"); - - protected HelperContext helperContext; - protected String binding = DataObject.class.getName(); - protected TransformationContext context; - protected TransformationContext reversedContext; - protected DataObject dataObject; - - /** - * @see junit.framework.TestCase#setUp() - */ - @Override - protected void setUp() throws Exception { - super.setUp(); - helperContext = HelperProvider.getDefaultContext(); - SdoFactory.INSTANCE.register(helperContext); - - context = new TransformationContextImpl(); - context.setSourceDataType(getSourceDataType()); - context.setTargetDataType(getTargetDataType()); - - reversedContext = new TransformationContextImpl(); - reversedContext.setSourceDataType(getTargetDataType()); - reversedContext.setTargetDataType(getSourceDataType()); - - PurchaseOrderType po = SdoFactory.INSTANCE.createPurchaseOrderType(); - USAddress address = SdoFactory.INSTANCE.createUSAddress(); - address.setCity("San Jose"); - address.setStreet("123 ABC St"); - address.setState("CA"); - address.setStreet("95131"); - po.setBillTo(address); - dataObject = (DataObject) po; - } - - protected abstract DataType getSourceDataType(); - - protected abstract DataType getTargetDataType(); - -} diff --git a/java/sca/contrib/modules/databinding-sdo-axiom/src/test/java/org/apache/tuscany/sca/databinding/sdo2om/XMLDocument2OMElementTestCase.java b/java/sca/contrib/modules/databinding-sdo-axiom/src/test/java/org/apache/tuscany/sca/databinding/sdo2om/XMLDocument2OMElementTestCase.java deleted file mode 100644 index 5015a1b697..0000000000 --- a/java/sca/contrib/modules/databinding-sdo-axiom/src/test/java/org/apache/tuscany/sca/databinding/sdo2om/XMLDocument2OMElementTestCase.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.databinding.sdo2om; - -import java.io.StringWriter; - -import javax.xml.stream.XMLStreamException; - -import junit.framework.Assert; - -import org.apache.axiom.om.OMElement; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -import commonj.sdo.helper.XMLDocument; - -/** - * - * @version $Rev$ $Date$ - */ -public class XMLDocument2OMElementTestCase extends SDOTransformerTestCaseBase { - - @Override - protected DataType getSourceDataType() { - return new DataTypeImpl(XMLDocument.class.getName(), XMLDocument.class, new XMLType(ORDER_QNAME, null)); - } - - @Override - protected DataType getTargetDataType() { - return new DataTypeImpl(OMElement.class.getName(), OMElement.class, new XMLType(ORDER_QNAME, null)); - } - - public final void testTransform() throws XMLStreamException { - XMLDocument document = - helperContext.getXMLHelper().createDocument(dataObject, - ORDER_QNAME.getNamespaceURI(), - ORDER_QNAME.getLocalPart()); - OMElement element = new XMLDocument2OMElement().transform(document, context); - Assert.assertEquals(ORDER_QNAME.getNamespaceURI(), element.getNamespace().getNamespaceURI()); - Assert.assertEquals(ORDER_QNAME.getLocalPart(), element.getLocalName()); - StringWriter writer = new StringWriter(); - element.serialize(writer); - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo-axiom/src/test/resources/ipo.xsd b/java/sca/contrib/modules/databinding-sdo-axiom/src/test/resources/ipo.xsd deleted file mode 100644 index 241ec15d36..0000000000 --- a/java/sca/contrib/modules/databinding-sdo-axiom/src/test/resources/ipo.xsd +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - International Purchase order schema for Example.com - Copyright 2000 Example.com. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/databinding-sdo-axiom/src/test/resources/stock.xsd b/java/sca/contrib/modules/databinding-sdo-axiom/src/test/resources/stock.xsd deleted file mode 100644 index a0a6717371..0000000000 --- a/java/sca/contrib/modules/databinding-sdo-axiom/src/test/resources/stock.xsd +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/databinding-sdo/LICENSE b/java/sca/contrib/modules/databinding-sdo/LICENSE deleted file mode 100644 index 8aa906c321..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/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/java/sca/contrib/modules/databinding-sdo/NOTICE b/java/sca/contrib/modules/databinding-sdo/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/databinding-sdo/pom.xml b/java/sca/contrib/modules/databinding-sdo/pom.xml deleted file mode 100644 index 24d49982a1..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/pom.xml +++ /dev/null @@ -1,133 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-databinding-sdo - Apache Tuscany SCA Data Binding for SDO - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-databinding - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-implementation-java-xml - 2.0-SNAPSHOT - - - org.apache.tuscany.sdo - tuscany-sdo-lib - 1.1.1 - - - org.apache.tuscany.sdo - tuscany-sdo-impl - 1.1.1 - - - - - - - org.codehaus.mojo - build-helper-maven-plugin - 1.0 - - - add-test-source - generate-sources - - add-test-source - - - - target/sdo-source - - - - - - - org.apache.tuscany.sdo - tuscany-sdo-plugin - 1.1.1 - - - generate-po-sdo - generate-sources - - ${basedir}/src/test/resources/ipo.xsd - com.example.ipo.sdo - true - true - true - - - generate - - - - generate-stock-sdo - generate-sources - - ${basedir}/src/test/resources/stock.xsd - com.example.stock.sdo - Stock - true - true - true - - - generate - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.databinding.sdo - ${pom.name} - org.apache.tuscany.sca.databinding.sdo* - - - - - - diff --git a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/DataObject2Node.java b/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/DataObject2Node.java deleted file mode 100644 index 503e54e530..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/DataObject2Node.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.sdo; - -import javax.xml.namespace.QName; -import javax.xml.transform.dom.DOMResult; - -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 commonj.sdo.DataObject; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XMLDocument; -import commonj.sdo.helper.XMLHelper; - -public class DataObject2Node extends BaseTransformer implements - PullTransformer { - - public Node transform(DataObject source, TransformationContext context) { - if (source == null) { - return null; - } - try { - HelperContext helperContext = SDOContextHelper.getHelperContext(context, true); - XMLHelper xmlHelper = helperContext.getXMLHelper(); - QName elementName = SDOContextHelper.getElement(context); - Document doc = DOMHelper.newDocument(); - DOMResult result = new DOMResult(doc); - XMLDocument xmlDoc = xmlHelper.createDocument(source, elementName.getNamespaceURI(), elementName.getLocalPart()); - xmlHelper.save(xmlDoc, result, null); - return doc.getDocumentElement(); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return DataObject.class; - } - - @Override - protected Class getTargetType() { - return Node.class; - } - - @Override - public int getWeight() { - return 40; - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/DataObject2String.java b/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/DataObject2String.java deleted file mode 100644 index 8ce8eae587..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/DataObject2String.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.sdo; - -import javax.xml.namespace.QName; - -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 commonj.sdo.DataObject; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XMLHelper; - -public class DataObject2String extends BaseTransformer implements - PullTransformer { - - public String transform(DataObject source, TransformationContext context) { - if (source == null) { - return null; - } - try { - HelperContext helperContext = SDOContextHelper.getHelperContext(context, true); - XMLHelper xmlHelper = helperContext.getXMLHelper(); - QName elementName = SDOContextHelper.getElement(context); - return xmlHelper.save(source, elementName.getNamespaceURI(), elementName.getLocalPart()); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return DataObject.class; - } - - @Override - protected Class getTargetType() { - return String.class; - } - - @Override - public int getWeight() { - return 40; - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/DataObject2XMLStreamReader.java b/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/DataObject2XMLStreamReader.java deleted file mode 100644 index 116ac4c553..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/DataObject2XMLStreamReader.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.sdo; - -import java.security.AccessController; -import java.security.PrivilegedAction; - -import javax.xml.namespace.QName; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -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.sdo.api.SDOUtil; -import org.apache.tuscany.sdo.api.XMLStreamHelper; - -import commonj.sdo.DataObject; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XMLDocument; -import commonj.sdo.helper.XMLHelper; - -public class DataObject2XMLStreamReader extends BaseTransformer implements - PullTransformer { - - public XMLStreamReader transform(final DataObject source, TransformationContext context) { - if (source == null) { - return null; - } - try { - HelperContext helperContext = SDOContextHelper.getHelperContext(context, true); - XMLStreamHelper streamHelper = SDOUtil.createXMLStreamHelper(helperContext); - final QName elementName = SDOContextHelper.getElement(context); - final XMLHelper xmlHelper = helperContext.getXMLHelper(); - // Allow privileged access to read properties. REquires java.util.PropertyPermission - // XML.load.form.lax read in security policy. - XMLDocument document = AccessController.doPrivileged(new PrivilegedAction() { - public XMLDocument run() { - return xmlHelper.createDocument(source, elementName.getNamespaceURI(), elementName.getLocalPart()); - } - }); - - return streamHelper.createXMLStreamReader(document); - } catch (XMLStreamException e) { - // TODO: Add context to the exception - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return DataObject.class; - } - - @Override - protected Class getTargetType() { - return XMLStreamReader.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/ImportSDO.java b/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/ImportSDO.java deleted file mode 100644 index 30a3e1c3a9..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/ImportSDO.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.databinding.sdo; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.assembly.impl.BaseImpl; - -import commonj.sdo.helper.HelperContext; - -/** - * The model object for import.sdo - * - * @version $Rev$ $Date$ - */ -public class ImportSDO extends BaseImpl { - public static final QName IMPORT_SDO = - new QName("http://tuscany.apache.org/xmlns/sca/databinding/sdo/1.0", "import.sdo"); - - private HelperContext helperContext; - private String factoryClassName; - private String schemaLocation; - - public ImportSDO(HelperContext helperContext) { - super(); - this.helperContext = helperContext; - setUnresolved(true); - } - - public HelperContext getHelperContext() { - return helperContext; - } - - /** - * @return the factoryClassName - */ - public String getFactoryClassName() { - return factoryClassName; - } - - /** - * @param factoryClassName the factoryClassName to set - */ - public void setFactoryClassName(String factoryClassName) { - this.factoryClassName = factoryClassName; - } - - /** - * @return the schemaLocation - */ - public String getSchemaLocation() { - return schemaLocation; - } - - /** - * @param schemaLocation the schemaLocation to set - */ - public void setSchemaLocation(String schemaLocation) { - this.schemaLocation = schemaLocation; - } -} \ No newline at end of file diff --git a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/ImportSDOProcessor.java b/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/ImportSDOProcessor.java deleted file mode 100644 index 115af19042..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/ImportSDOProcessor.java +++ /dev/null @@ -1,212 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.sdo; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; -import static org.apache.tuscany.sca.databinding.sdo.ImportSDO.IMPORT_SDO; - -import java.io.IOException; -import java.io.InputStream; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.net.URL; -import java.net.URLConnection; - -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.builder.impl.ProblemImpl; -import org.apache.tuscany.sca.contribution.Artifact; -import org.apache.tuscany.sca.contribution.ContributionFactory; -import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.ClassReference; -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.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; - -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XSDHelper; - -/** - * Loader that handles <import.sdo> elements. - * - * @version $Rev$ $Date$ - * @deprecated - */ -@Deprecated -public class ImportSDOProcessor implements StAXArtifactProcessor { - - private ContributionFactory contributionFactory; - private Monitor monitor; - - public ImportSDOProcessor(ModelFactoryExtensionPoint modelFactories, Monitor monitor) { - this.contributionFactory = modelFactories.getFactory(ContributionFactory.class); - this.monitor = monitor; - } - - /** - * Report a error. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Object... messageParameters) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "databinding-sdo-validation-messages", Severity.ERROR, model, message, (Object[])messageParameters); - monitor.problem(problem); - } - } - - /** - * Report a exception. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = new ProblemImpl(this.getClass().getName(), "databinding-sdo-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - public QName getXMLType() { - return IMPORT_SDO; - } - - public ImportSDO read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException { - assert IMPORT_SDO.equals(reader.getName()); - - // FIXME: How do we associate the application HelperContext with the one - // imported by the composite - ImportSDO importSDO = new ImportSDO(SDOContextHelper.getDefaultHelperContext()); - String factoryName = reader.getAttributeValue(null, "factory"); - if (factoryName != null) { - importSDO.setFactoryClassName(factoryName); - } - String location = reader.getAttributeValue(null, "location"); - if (location != null) { - importSDO.setSchemaLocation(location); - } - - // Skip to end element - while (reader.hasNext()) { - if (reader.next() == END_ELEMENT && ImportSDO.IMPORT_SDO.equals(reader.getName())) { - break; - } - } - return importSDO; - } - - private void importFactory(ImportSDO importSDO, ModelResolver resolver) throws ContributionResolveException { - String factoryName = importSDO.getFactoryClassName(); - if (factoryName != null) { - ClassReference reference = new ClassReference(factoryName); - ClassReference resolved = resolver.resolveModel(ClassReference.class, reference); - if (resolved != null && !resolved.isUnresolved()) { - try { - Class factoryClass = resolved.getJavaClass(); - register(factoryClass, importSDO.getHelperContext()); - importSDO.setUnresolved(false); - } catch (Exception e) { - ContributionResolveException ce = new ContributionResolveException(e); - error("ContributionResolveException", resolver, ce); - //throw ce; - } - } else { - error("FailToResolveClass", resolver, factoryName); - //ContributionResolveException loaderException = - //new ContributionResolveException("Fail to resolve class: " + factoryName); - //throw loaderException; - } - } - } - - private static void register(Class factoryClass, HelperContext helperContext) throws Exception { - Field field = factoryClass.getField("INSTANCE"); - Object factory = field.get(null); - Method method = factory.getClass().getMethod("register", new Class[] {HelperContext.class}); - method.invoke(factory, new Object[] {helperContext}); - - // HelperContext defaultContext = HelperProvider.getDefaultContext(); - // method.invoke(factory, new Object[] {defaultContext}); - } - - private void importWSDL(ImportSDO importSDO, ModelResolver resolver) throws ContributionResolveException { - String location = importSDO.getSchemaLocation(); - if (location != null) { - try { - Artifact artifact = contributionFactory.createArtifact(); - artifact.setURI(location); - artifact = resolver.resolveModel(Artifact.class, artifact); - if (artifact.getLocation() != null) { - String wsdlURL = artifact.getLocation(); - URLConnection connection = new URL(wsdlURL).openConnection(); - connection.setUseCaches(false); - InputStream xsdInputStream = connection.getInputStream(); - try { - XSDHelper xsdHelper = importSDO.getHelperContext().getXSDHelper(); - xsdHelper.define(xsdInputStream, wsdlURL); - } finally { - xsdInputStream.close(); - } - importSDO.setUnresolved(false); - } else { - error("FailToResolveLocation", resolver, location); - //ContributionResolveException loaderException = new ContributionResolveException("Fail to resolve location: " + location); - //throw loaderException; - } - } catch (IOException e) { - ContributionResolveException ce = new ContributionResolveException(e); - error("ContributionResolveException", resolver, ce); - //throw ce; - } - } - } - - public QName getArtifactType() { - return ImportSDO.IMPORT_SDO; - } - - public void write(ImportSDO model, XMLStreamWriter outputSource) throws ContributionWriteException { - // Not implemented as is deprecated - } - - public Class getModelType() { - return ImportSDO.class; - } - - public void resolve(ImportSDO importSDO, ModelResolver resolver) throws ContributionResolveException { - importFactory(importSDO, resolver); - importWSDL(importSDO, resolver); - if (!importSDO.isUnresolved()) { - resolver.addModel(importSDO); - } - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/Node2DataObject.java b/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/Node2DataObject.java deleted file mode 100644 index 4a05492dd8..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/Node2DataObject.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.sdo; - -import javax.xml.transform.dom.DOMSource; - -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 commonj.sdo.DataObject; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XMLDocument; -import commonj.sdo.helper.XMLHelper; - -public class Node2DataObject extends BaseTransformer implements PullTransformer { - - public DataObject transform(Node source, TransformationContext context) { - if (source == null) { - return null; - } - try { - HelperContext helperContext = SDOContextHelper.getHelperContext(context, false); - XMLHelper xmlHelper = helperContext.getXMLHelper(); - Document doc = DOMHelper.promote(source); - DOMSource domSource = new DOMSource(doc); - XMLDocument xmlDoc = xmlHelper.load(domSource, doc.getDocumentURI(), null); - return xmlDoc.getRootObject(); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return Node.class; - } - - @Override - protected Class getTargetType() { - return DataObject.class; - } - - @Override - public int getWeight() { - return 40; - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelper.java b/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelper.java deleted file mode 100644 index 695722be18..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelper.java +++ /dev/null @@ -1,208 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.sdo; - -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.List; -import java.util.Set; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.TransformationException; -import org.apache.tuscany.sca.databinding.util.DataTypeHelper; -import org.apache.tuscany.sca.databinding.util.LRUCache; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.apache.tuscany.sdo.api.SDOUtil; - -import commonj.sdo.DataObject; -import commonj.sdo.Type; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.TypeHelper; -import commonj.sdo.impl.HelperProvider; - -/** - * Helper class to get TypeHelper from the context - * - * @version $Rev$ $Date$ - */ -public final class SDOContextHelper { - private static final LRUCache cache = new LRUCache(1024); - - private SDOContextHelper() { - } - - public static HelperContext getHelperContext(TransformationContext context, boolean source) { - if (context == null) { - return getDefaultHelperContext(); - } - - HelperContext helperContext = null; - Operation op = source ? context.getSourceOperation() : context.getTargetOperation(); - if (op == null) { - DataType dt = source ? context.getSourceDataType() : context.getTargetDataType(); - - helperContext = dt.getMetaData(HelperContext.class); - if (helperContext != null) { - return helperContext; - } - helperContext = SDOUtil.createHelperContext(); - boolean found = register(helperContext, dt); - if (!found) { - helperContext = getDefaultHelperContext(); - } - dt.setMetaData(HelperContext.class, helperContext); - return helperContext; - } else { - return getHelperContext(op); - } - - } - - public static HelperContext getHelperContext(Operation op) { - if (op == null) { - return getDefaultHelperContext(); - } - - HelperContext helperContext = op.getInputType().getMetaData(HelperContext.class); - - if (helperContext != null) { - return helperContext; - } - - // Use the default HelperContext until a type is registered later on - helperContext = getDefaultHelperContext(); - - /* - List dataTypes = DataTypeHelper.getDataTypes(op, false); - boolean found = false; - for (DataType d : dataTypes) { - if (register(helperContext, d)) { - found = true; - } - } - if (!found) { - helperContext = getDefaultHelperContext(); - } - */ - op.getInputType().setMetaData(HelperContext.class, helperContext); - return helperContext; - } - - /** - * @param helperContext - * @param dataType - * @return - */ - private static boolean register(HelperContext helperContext, DataType dataType) { - if (dataType == null) { - return false; - } - Set> classes = DataTypeHelper.findClasses(dataType); - boolean found = false; - for (Class cls : classes) { - found = register(helperContext, dataType.getPhysical()) || found; - } - return found; - } - - /** - * FIXME: [rfeng] This is a hack to get the factory out a SDO class - * @param helperContext - * @param javaType - */ - - public static boolean register(HelperContext helperContext, Class javaType) { - if (javaType == null || DataObject.class == javaType) { - return false; - } - try { - Type type = helperContext.getTypeHelper().getType(javaType); - if (type != null && (!type.isDataType())) { - Method method = type.getClass().getMethod("getEPackage"); - Object factory = method.invoke(type, new Object[] {}); - method = factory.getClass().getMethod("register", HelperContext.class); - method.invoke(factory, new Object[] {helperContext}); - return true; - } - return false; - } catch (Exception e) { - throw new TransformationException(e); - } - } - - public static HelperContext getDefaultHelperContext() { - // SDOUtil.createHelperContext(); - return HelperProvider.getDefaultContext(); - } - - public static QName getElement(TransformationContext context) { - if (context == null) { - return SDODataBinding.ROOT_ELEMENT; - } - DataType dataType = context.getTargetDataType(); - Object logical = dataType.getLogical(); - QName elementName = null; - if (logical instanceof XMLType) { - XMLType xmlType = (XMLType)logical; - QName element = xmlType.getElementName(); - if (element != null) { - elementName = element; - } - } - if (elementName == null) { - // Try source type - dataType = context.getSourceDataType(); - logical = dataType.getLogical(); - if (logical instanceof XMLType) { - XMLType xmlType = (XMLType)logical; - QName element = xmlType.getElementName(); - if (element != null) { - elementName = element; - } - } - } - if (elementName != null) { - return elementName; - } else { - return SDODataBinding.ROOT_ELEMENT; - } - } - - public static String generateSchema(HelperContext context, Class[] classes) { - TypeHelper typeHelper = context.getTypeHelper(); - List types = new ArrayList(); - for (Class cls : classes) { - Type type = typeHelper.getType(cls); - if (type != null) { - types.add(type); - } - } - return generateSchema(context, types); - } - - public static String generateSchema(HelperContext context, List types) { - // FIXME: SDO throws IllegalArgumentException for types generated from existing XSDs - return context.getXSDHelper().generate(types); - } -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDODataBinding.java b/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDODataBinding.java deleted file mode 100644 index 0b58be9e41..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDODataBinding.java +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.sdo; - -import java.security.AccessController; -import java.security.PrivilegedAction; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.databinding.WrapperHandler; -import org.apache.tuscany.sca.databinding.XMLTypeHelper; -import org.apache.tuscany.sca.databinding.impl.BaseDataBinding; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.apache.tuscany.sdo.api.SDOUtil; - -import commonj.sdo.DataObject; -import commonj.sdo.Type; -import commonj.sdo.helper.CopyHelper; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XMLDocument; - -/** - * SDO Databinding - * - * @version $Rev$ $Date$ - */ -public class SDODataBinding extends BaseDataBinding { - public static final String NAME = DataObject.class.getName(); - - public static final String ROOT_NAMESPACE = "commonj.sdo"; - public static final QName ROOT_ELEMENT = new QName(ROOT_NAMESPACE, "dataObject"); - - private WrapperHandler wrapperHandler; - private XMLTypeHelper xmlTypeHelper; - - public SDODataBinding() { - super(NAME, DataObject.class); - wrapperHandler = new SDOWrapperHandler(); - xmlTypeHelper = new SDOTypeHelper(); - } - - @Override - public boolean introspect(DataType dataType, final Operation operation) { - final Class javaType = dataType.getPhysical(); - // Allow privileged access to read system properties. Requires PropertyPermission - // java.specification.version read in security policy. - final HelperContext context = AccessController.doPrivileged(new PrivilegedAction() { - public HelperContext run() { - return SDOContextHelper.getHelperContext(operation); - } - }); - - Type type = context.getTypeHelper().getType(javaType); - if (type == null) { - // FIXME: Need a better to test dynamic SDO - if (DataObject.class.isAssignableFrom(javaType)) { - // Dynamic SDO - dataType.setDataBinding(getName()); - if (dataType.getLogical() == null) { - dataType.setLogical(XMLType.UNKNOWN); - } - return true; - } - return false; - } - if (type.isDataType()) { - // FIXME: Ignore simple types? - return false; - } - - // Found a SDO type, replace the default context with a private one - AccessController.doPrivileged(new PrivilegedAction() { - public Object run() { - if (context == SDOContextHelper.getDefaultHelperContext()) { - HelperContext newContext = SDOUtil.createHelperContext(); - SDOContextHelper.register(newContext, javaType); - if (operation != null) { - operation.getInputType().setMetaData(HelperContext.class, newContext); - } - } - return null; - } - }); - - String namespace = type.getURI(); - String name = context.getXSDHelper().getLocalName(type); - QName xmlType = new QName(namespace, name); - dataType.setDataBinding(getName()); - QName elementName = null; - Object logical = dataType.getLogical(); - if (logical instanceof XMLType) { - elementName = ((XMLType)logical).getElementName(); - } - dataType.setLogical(new XMLType(elementName, xmlType)); - - return true; - } - - @Override - public WrapperHandler getWrapperHandler() { - return wrapperHandler; - } - - @Override - public XMLTypeHelper getXMLTypeHelper() { - // return new SDOTypeHelper(); - return xmlTypeHelper; - } - - @Override - public Object copy(Object arg, DataType dataType, Operation operation) { - HelperContext context = SDOContextHelper.getHelperContext(operation); - CopyHelper copyHelper = context.getCopyHelper(); - if (arg instanceof XMLDocument) { - XMLDocument document = (XMLDocument)arg; - DataObject dataObject = copyHelper.copy(document.getRootObject()); - return context.getXMLHelper().createDocument(dataObject, - document.getRootElementURI(), - document.getRootElementName()); - } else if (arg instanceof DataObject) { - return context.getCopyHelper().copy((DataObject)arg); - } else { - return super.copy(arg, dataType, operation); - } - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOSimpleTypeMapper.java b/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOSimpleTypeMapper.java deleted file mode 100644 index c83ec53b01..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOSimpleTypeMapper.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.databinding.sdo; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.databinding.SimpleTypeMapper; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sdo.api.SDOUtil; - -import commonj.sdo.Type; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.TypeHelper; - -/** - * SDO Java/XML mapping for simple XSD types - * - * @version $Rev$ $Date$ - */ -public class SDOSimpleTypeMapper implements SimpleTypeMapper { - public static final String URI_2001_SCHEMA_XSD = "http://www.w3.org/2001/XMLSchema"; - - public SDOSimpleTypeMapper() { - super(); - } - - public Object toJavaObject(QName typeName, String value, TransformationContext context) { - Type type = null; - if (URI_2001_SCHEMA_XSD.equals(typeName.getNamespaceURI())) { - type = SDOUtil.getXSDSDOType(typeName.getLocalPart()); - } else { - HelperContext helperContext = SDOContextHelper.getHelperContext(context, false); - TypeHelper typeHelper = helperContext.getTypeHelper(); - type = typeHelper.getType(typeName.getNamespaceURI(), typeName.getLocalPart()); - } - return SDOUtil.createFromString(type, value); - } - - public String toXMLLiteral(QName typeName, Object obj, TransformationContext context) { - Type type = null; - if (URI_2001_SCHEMA_XSD.equals(typeName.getNamespaceURI())) { - type = SDOUtil.getXSDSDOType(typeName.getLocalPart()); - } else { - HelperContext helperContext = SDOContextHelper.getHelperContext(context, true); - TypeHelper typeHelper = helperContext.getTypeHelper(); - type = typeHelper.getType(typeName.getNamespaceURI(), typeName.getLocalPart()); - } - return SDOUtil.convertToString(type, obj); - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOTypeHelper.java b/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOTypeHelper.java deleted file mode 100644 index 0927f87f3b..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOTypeHelper.java +++ /dev/null @@ -1,235 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.sdo; - -import java.beans.Introspector; -import java.io.StringReader; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.databinding.XMLTypeHelper; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Interface; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.util.JavaXMLMapper; -import org.apache.tuscany.sca.interfacedef.util.TypeInfo; -import org.apache.tuscany.sca.interfacedef.util.WrapperInfo; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.apache.tuscany.sca.xsd.XSDFactory; -import org.apache.tuscany.sca.xsd.XSDefinition; -import org.oasisopen.sca.ServiceRuntimeException; -import org.w3c.dom.DOMImplementation; -import org.w3c.dom.Document; -import org.w3c.dom.bootstrap.DOMImplementationRegistry; -import org.w3c.dom.ls.DOMImplementationLS; -import org.w3c.dom.ls.LSInput; -import org.w3c.dom.ls.LSParser; - -import commonj.sdo.Type; -import commonj.sdo.helper.TypeHelper; -import commonj.sdo.helper.XSDHelper; - -public class SDOTypeHelper implements XMLTypeHelper { - private static final String SCHEMA_NS = "http://www.w3.org/2001/XMLSchema"; - - private TypeHelper typeHelper; - private XSDHelper xsdHelper; - // private Map> xsdTypesMap = new HashMap>(); - // private Map> typesMap = new HashMap>(); - - public SDOTypeHelper() { - super(); - typeHelper = SDOContextHelper.getDefaultHelperContext().getTypeHelper(); - xsdHelper = SDOContextHelper.getDefaultHelperContext().getXSDHelper(); - } - - public TypeInfo getTypeInfo(Class javaType, Object logical) { - QName xmlType = JavaXMLMapper.getXMLType(javaType); - if (xmlType != null) { - return new TypeInfo(xmlType, true, null); - } else { - // introspect(javaType, xsdTypesMap, typesMap); - if (logical instanceof XMLType) { - xmlType = ((XMLType)logical).getTypeName(); - } - if (xmlType == null) { - xmlType = - new QName(JavaXMLMapper.getNamespace(javaType), Introspector.decapitalize(javaType.getSimpleName())); - } - return new TypeInfo(xmlType, false, null); - } - } - - private void introspect(Class javaType, Map> xsdTypesMap, Map> typesMap) { - Type type = typeHelper.getType(javaType); - if (type == null) { - return; - } - if (xsdHelper.isXSD(type)) { - addToMap(xsdTypesMap, type); - } else { - addToMap(typesMap, type); - } - } - - private void addToMap(Map> map, Type type) { - List types = map.get(type.getURI()); - if (types == null) { - types = new ArrayList(); - map.put(type.getURI(), types); - } - if (!types.contains(type)) { - types.add(type); - } - } - - /* - public List getSchemaDefinitions(XSDFactory factory, ModelResolver resolver) { - List definitions = new ArrayList(); - generateSDOSchemas(definitions, factory, typesMap); - addResolvedXSDs(definitions, factory, resolver, xsdTypesMap); - return definitions; - } - */ - - private void generateSDOSchemas(List definitions, XSDFactory factory, Map> map) { - for (Map.Entry> entry : map.entrySet()) { - List types = entry.getValue(); - String ns = entry.getKey(); - generateSchema(definitions, factory, types, ns); - } - } - - private void generateSchema(List definitions, XSDFactory factory, List types, String ns) { - String schema = xsdHelper.generate(types); - DOMImplementationRegistry registry = null; - try { - registry = DOMImplementationRegistry.newInstance(); - } catch (Exception e) { - throw new ServiceRuntimeException(e); - } - DOMImplementation impl = registry.getDOMImplementation("XML 3.0"); - DOMImplementationLS ls = (DOMImplementationLS)impl.getFeature("LS", "3.0"); - LSParser parser = ls.createLSParser(DOMImplementationLS.MODE_SYNCHRONOUS, SCHEMA_NS); - LSInput input = ls.createLSInput(); - input.setCharacterStream(new StringReader(schema)); - Document document = parser.parse(input); - XSDefinition definition = factory.createXSDefinition(); - definition.setUnresolved(true); - definition.setDocument(document); - definition.setNamespace(ns); - definitions.add(definition); - } - - private void addResolvedXSDs(List definitions, - XSDFactory factory, - ModelResolver resolver, - Map> map) { - for (Map.Entry> entry : map.entrySet()) { - XSDefinition definition = factory.createXSDefinition(); - definition.setUnresolved(true); - definition.setNamespace(entry.getKey()); - //FIXME: set location URI - XSDefinition resolved = resolver.resolveModel(XSDefinition.class, definition); - if (resolved.getSchema() == null) { - //FIXME: create a checked exception and propagate it back up to the activator - throw new RuntimeException("No XSD found for namespace " + entry.getKey()); - } - // make sure all the required types are defined in the resolved schema - for (Type type : entry.getValue()) { - String name = xsdHelper.getLocalName(type); - QName typeName = null; - if (name.endsWith("_._type")) { - // FIXME: Anonymous tyype - name = name.substring(0, name.length() - "_._type".length()); - typeName = new QName(type.getURI(), name); - if (resolved.getXmlSchemaElement(typeName) == null) { - //FIXME: create a checked exception and propagate it back up to the activator - throw new RuntimeException("No XSD found for " + typeName.toString()); - } - } else { - typeName = new QName(type.getURI(), name); - if (resolved.getXmlSchemaType(typeName) == null) { - //FIXME: create a checked exception and propagate it back up to the activator - throw new RuntimeException("No XSD found for " + typeName.toString()); - } - } - - } - definitions.add(resolved); - } - } - - private static List getDataTypes(Interface intf) { - List dataTypes = new ArrayList(); - for (Operation op : intf.getOperations()) { - WrapperInfo wrapper = op.getWrapper(); - if (wrapper != null) { - DataType dt1 = wrapper.getInputWrapperType(); - if (dt1 != null) { - dataTypes.add(dt1); - } - DataType dt2 = wrapper.getOutputWrapperType(); - if (dt2 != null) { - dataTypes.add(dt2); - } - } else { - for (DataType dt1 : op.getInputType().getLogical()) { - dataTypes.add(dt1); - } - DataType dt2 = op.getOutputType(); - if (dt2 != null) { - dataTypes.add(dt2); - } - for (DataType dt3 : op.getFaultTypes()) { - DataType dt4 = dt3.getLogical(); - if (dt4 != null) { - dataTypes.add(dt4); - } - } - } - } - return dataTypes; - } - - public List getSchemaDefinitions(XSDFactory factory, ModelResolver resolver, Interface intf) { - return getSchemaDefinitions(factory, resolver, getDataTypes(intf)); - } - - public List getSchemaDefinitions(XSDFactory factory, ModelResolver resolver, List dataTypes) { - Map> xsdTypesMap = new HashMap>(); - Map> typesMap = new HashMap>(); - for (DataType d : dataTypes) { - if (SDODataBinding.NAME.equals(d.getDataBinding())) { - introspect(d.getPhysical(), xsdTypesMap, typesMap); - } - } - List definitions = new ArrayList(); - generateSDOSchemas(definitions, factory, typesMap); - addResolvedXSDs(definitions, factory, resolver, xsdTypesMap); - return definitions; - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOWrapperHandler.java b/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOWrapperHandler.java deleted file mode 100644 index 8a1cd666d8..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/SDOWrapperHandler.java +++ /dev/null @@ -1,177 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.sdo; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.databinding.WrapperHandler; -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.ElementInfo; -import org.apache.tuscany.sca.interfacedef.util.TypeInfo; -import org.apache.tuscany.sca.interfacedef.util.WrapperInfo; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -import commonj.sdo.DataObject; -import commonj.sdo.Property; -import commonj.sdo.Sequence; -import commonj.sdo.Type; -import commonj.sdo.helper.DataFactory; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XMLDocument; -import commonj.sdo.helper.XSDHelper; - -/** - * SDO Wrapper Handler - * - * @version $Rev$ $Date$ - */ -public class SDOWrapperHandler implements WrapperHandler { - - public Object create(Operation operation, boolean input) { - WrapperInfo wrapperInfo = operation.getWrapper(); - ElementInfo element = input ? wrapperInfo.getInputWrapperElement() : wrapperInfo.getOutputWrapperElement(); - // Class wrapperClass = input ? wrapperInfo.getInputWrapperClass() : wrapperInfo.getOutputWrapperClass(); - HelperContext helperContext = SDOContextHelper.getHelperContext(operation); - Type sdoType = getSDOType(helperContext, element); - if (sdoType != null) { - DataFactory dataFactory = helperContext.getDataFactory(); - return dataFactory.create(sdoType); - } - return null; - } - - public void setChildren(Object wrapper, Object[] childObjects, Operation operation, boolean input) { - List childElements = - input ? operation.getWrapper().getInputChildElements() : operation.getWrapper().getOutputChildElements(); - for (int i = 0; i < childElements.size(); i++) { - setChild(wrapper, i, childElements.get(i), childObjects[i]); - } - } - - /** - * @see org.apache.tuscany.sca.databinding.WrapperHandler#setChild(java.lang.Object, int, ElementInfo, - * java.lang.Object) - */ - public void setChild(Object wrapper, int i, ElementInfo childElement, Object value) { - DataObject wrapperDO = - (wrapper instanceof XMLDocument) ? ((XMLDocument)wrapper).getRootObject() : (DataObject)wrapper; - String name = childElement.getQName().getLocalPart(); - if (childElement.isMany()) { - // FIXME: If we look up by name, we need to make sure the WrapperInfo has the correct element names - wrapperDO.getList(i).addAll((Collection)value); - } else { - wrapperDO.set(i, value); - } - } - - @SuppressWarnings("unchecked") - public List getChildren(Object wrapper, Operation operation, boolean input) { - DataObject wrapperDO = - (wrapper instanceof XMLDocument) ? ((XMLDocument)wrapper).getRootObject() : (DataObject)wrapper; - List properties = wrapperDO.getInstanceProperties(); - List elements = new ArrayList(); - Type type = wrapperDO.getType(); - if (type.isSequenced()) { - // Add values in the sequence - Sequence sequence = wrapperDO.getSequence(); - for (int i = 0; i < sequence.size(); i++) { - // Skip mixed text - if (sequence.getProperty(i) != null) { - elements.add(sequence.getValue(i)); - } - } - } else { - for (Property p : properties) { - Object child = wrapperDO.get(p); - if (p.isMany()) { - for (Object c : (Collection)child) { - elements.add(c); - } - } else { - elements.add(child); - } - } - } - return elements; - } - - /** - * @see org.apache.tuscany.sca.databinding.WrapperHandler#getWrapperType(Operation, boolean) - */ - public DataType getWrapperType(Operation operation, boolean input) { - WrapperInfo wrapper = operation.getWrapper(); - ElementInfo element = input ? wrapper.getInputWrapperElement() : wrapper.getOutputWrapperElement(); - HelperContext helperContext = SDOContextHelper.getHelperContext(operation); - Type sdoType = getSDOType(helperContext, element); - if (sdoType != null) { - // Check if child elements matches - Class physical = sdoType.getInstanceClass(); - DataType wrapperType = - new DataTypeImpl(SDODataBinding.NAME, physical, new XMLType(element)); - return wrapperType; - } else { - return null; - } - } - - /** - * @param helperContext - * @param element - * @return - */ - private Type getSDOType(HelperContext helperContext, ElementInfo element) { - XSDHelper xsdHelper = helperContext.getXSDHelper(); - Type sdoType = null; - Property prop = - xsdHelper.getGlobalProperty(element.getQName().getNamespaceURI(), element.getQName().getLocalPart(), true); - if (prop != null) { - sdoType = prop.getType(); - } else { - TypeInfo type = element.getType(); - QName typeName = type != null ? type.getQName() : null; - if (typeName != null) { - sdoType = helperContext.getTypeHelper().getType(typeName.getNamespaceURI(), typeName.getLocalPart()); - } - } - return sdoType; - } - - /** - * @see org.apache.tuscany.sca.databinding.WrapperHandler#isInstance(java.lang.Object, Operation, boolean) - */ - public boolean isInstance(Object wrapper, Operation operation, boolean input) { - WrapperInfo wrapperInfo = operation.getWrapper(); - ElementInfo element = input ? wrapperInfo.getInputWrapperElement() : wrapperInfo.getOutputWrapperElement(); - // List childElements = - // input ? wrapperInfo.getInputChildElements() : wrapperInfo.getOutputChildElements(); - HelperContext helperContext = SDOContextHelper.getHelperContext(operation); - Type sdoType = getSDOType(helperContext, element); - if (sdoType != null) { - return sdoType.isInstance(wrapper); - } - return false; - } -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/String2DataObject.java b/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/String2DataObject.java deleted file mode 100644 index 7ac423f8d8..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/String2DataObject.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.databinding.sdo; - -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 commonj.sdo.DataObject; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XMLHelper; - -public class String2DataObject extends BaseTransformer implements - PullTransformer { - - public DataObject transform(String source, TransformationContext context) { - if (source == null) { - return null; - } - try { - HelperContext helperContext = SDOContextHelper.getHelperContext(context, false); - XMLHelper xmlHelper = helperContext.getXMLHelper(); - return xmlHelper.load(source).getRootObject(); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return String.class; - } - - @Override - protected Class getTargetType() { - return DataObject.class; - } - - @Override - public int getWeight() { - return 50; - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/XMLDocument2String.java b/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/XMLDocument2String.java deleted file mode 100644 index 4e5aa1d5fd..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/XMLDocument2String.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.databinding.sdo; - -import java.io.StringWriter; - -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 commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XMLDocument; -import commonj.sdo.helper.XMLHelper; - -public class XMLDocument2String extends BaseTransformer implements - PullTransformer { - - public String transform(XMLDocument source, TransformationContext context) { - if (source == null) { - return null; - } - try { - HelperContext helperContext = SDOContextHelper.getHelperContext(context, true); - XMLHelper xmlHelper = helperContext.getXMLHelper(); - StringWriter writer = new StringWriter(); - xmlHelper.save(source, writer, null); - return writer.toString(); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return XMLDocument.class; - } - - @Override - protected Class getTargetType() { - return String.class; - } - - @Override - public int getWeight() { - return 40; - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/XMLDocument2XMLStreamReader.java b/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/XMLDocument2XMLStreamReader.java deleted file mode 100644 index e70fa08477..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/XMLDocument2XMLStreamReader.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.sdo; - -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -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.sdo.api.SDOUtil; -import org.apache.tuscany.sdo.api.XMLStreamHelper; - -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XMLDocument; - -public class XMLDocument2XMLStreamReader extends BaseTransformer implements - PullTransformer { - /** - * @param source - * @param context - * @return - */ - public XMLStreamReader transform(XMLDocument source, TransformationContext context) { - if (source == null) { - return null; - } - try { - HelperContext helperContext = SDOContextHelper.getHelperContext(context, true); - XMLStreamHelper streamHelper = SDOUtil.createXMLStreamHelper(helperContext); - return streamHelper.createXMLStreamReader(source); - } catch (XMLStreamException e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return XMLDocument.class; - } - - @Override - protected Class getTargetType() { - return XMLStreamReader.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/XMLStreamReader2DataObject.java b/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/XMLStreamReader2DataObject.java deleted file mode 100644 index baf3e2e90a..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/XMLStreamReader2DataObject.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.databinding.sdo; - -import javax.xml.stream.XMLStreamConstants; -import javax.xml.stream.XMLStreamReader; - -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.sdo.api.SDOUtil; -import org.apache.tuscany.sdo.api.XMLStreamHelper; - -import commonj.sdo.DataObject; -import commonj.sdo.helper.HelperContext; - -public class XMLStreamReader2DataObject extends BaseTransformer implements - PullTransformer { - - public DataObject transform(XMLStreamReader source, TransformationContext context) { - if (source == null) { - return null; - } - try { - HelperContext helperContext = SDOContextHelper.getHelperContext(context, false); - XMLStreamHelper streamHelper = SDOUtil.createXMLStreamHelper(helperContext); - // The XMLStreamHelper requires that the reader is positioned at - // START_ELEMENT - while (source.getEventType() != XMLStreamConstants.START_ELEMENT && source.hasNext()) { - source.next(); - } - DataObject target = streamHelper.loadObject(source); - source.close(); - return target; - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getTargetType() { - return DataObject.class; - } - - @Override - protected Class getSourceType() { - return XMLStreamReader.class; - } - - @Override - public int getWeight() { - return 15; - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/XMLStreamReader2XMLDocument.java b/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/XMLStreamReader2XMLDocument.java deleted file mode 100644 index ac452910f6..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/XMLStreamReader2XMLDocument.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.databinding.sdo; - -import javax.xml.stream.XMLStreamReader; - -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.sdo.api.SDOUtil; -import org.apache.tuscany.sdo.api.XMLStreamHelper; - -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XMLDocument; - -public class XMLStreamReader2XMLDocument extends BaseTransformer implements - PullTransformer { - - public XMLDocument transform(XMLStreamReader source, TransformationContext context) { - if (source == null) { - return null; - } - try { - HelperContext helperContext = SDOContextHelper.getHelperContext(context, false); - XMLStreamHelper streamHelper = SDOUtil.createXMLStreamHelper(helperContext); - XMLDocument target = streamHelper.load(source); - source.close(); - return target; - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getTargetType() { - return XMLDocument.class; - } - - @Override - protected Class getSourceType() { - return XMLStreamReader.class; - } - - @Override - public int getWeight() { - return 15; - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/contrib/modules/databinding-sdo/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index ffe8b895b8..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor +++ /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.sdo.ImportSDOProcessor;qname=http://tuscany.apache.org/xmlns/sca/databinding/sdo/1.0#import.sdo,model=org.apache.tuscany.sca.databinding.sdo.ImportSDO diff --git a/java/sca/contrib/modules/databinding-sdo/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding b/java/sca/contrib/modules/databinding-sdo/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding deleted file mode 100644 index 5ae557cc74..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding +++ /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 classes for the databindings -org.apache.tuscany.sca.databinding.sdo.SDODataBinding;name=commonj.sdo.DataObject diff --git a/java/sca/contrib/modules/databinding-sdo/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer b/java/sca/contrib/modules/databinding-sdo/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer deleted file mode 100644 index b1916fd32a..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer +++ /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. - -# Implementation classes for the transformers -org.apache.tuscany.sca.databinding.sdo.DataObject2String;source=commonj.sdo.DataObject,target=java.lang.String,weight=510 -org.apache.tuscany.sca.databinding.sdo.DataObject2XMLStreamReader;source=commonj.sdo.DataObject,target=javax.xml.stream.XMLStreamReader,weight=490 -org.apache.tuscany.sca.databinding.sdo.XMLDocument2String;source=commonj.sdo.helper.XMLDocument,target=java.lang.String,weight=510 -org.apache.tuscany.sca.databinding.sdo.String2DataObject;source=java.lang.String,target=commonj.sdo.DataObject,weight=500 -org.apache.tuscany.sca.databinding.sdo.XMLDocument2XMLStreamReader;source=commonj.sdo.helper.XMLDocument,target=javax.xml.stream.XMLStreamReader,weight=490 -org.apache.tuscany.sca.databinding.sdo.XMLStreamReader2DataObject;source=javax.xml.stream.XMLStreamReader,target=commonj.sdo.DataObject,weight=490 -org.apache.tuscany.sca.databinding.sdo.XMLStreamReader2XMLDocument;source=javax.xml.stream.XMLStreamReader,target=commonj.sdo.helper.XMLDocument,weight=490 -org.apache.tuscany.sca.databinding.sdo.DataObject2Node;source=commonj.sdo.DataObject,target=org.w3c.dom.Node,weight=500 -org.apache.tuscany.sca.databinding.sdo.Node2DataObject;source=org.w3c.dom.Node,target=commonj.sdo.DataObject,weight=500 diff --git a/java/sca/contrib/modules/databinding-sdo/src/main/resources/databinding-sdo-validation-messages.properties b/java/sca/contrib/modules/databinding-sdo/src/main/resources/databinding-sdo-validation-messages.properties deleted file mode 100644 index f53f08f377..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/main/resources/databinding-sdo-validation-messages.properties +++ /dev/null @@ -1,23 +0,0 @@ -# -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# -# -FailToResolveClass = Fail to resolve class: {0} -FailToResolveLocation = Fail to resolve location: {0} -ContributionResolveException = ContributionResolveException occured due to: diff --git a/java/sca/contrib/modules/databinding-sdo/src/test/java/com/example/stock/sdo/fault/InvalidSymbolFault_Exception.java b/java/sca/contrib/modules/databinding-sdo/src/test/java/com/example/stock/sdo/fault/InvalidSymbolFault_Exception.java deleted file mode 100644 index 5a0208b290..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/test/java/com/example/stock/sdo/fault/InvalidSymbolFault_Exception.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 com.example.stock.sdo.fault; - -import javax.xml.namespace.QName; - -import com.example.stock.sdo.InvalidSymbolFault; - -/** - * Hand-crafted java exception for SDO fault - * - * @version $Rev$ $Date$ - */ -public class InvalidSymbolFault_Exception extends Exception { - private static final long serialVersionUID = 8602157311925253920L; - - /** - * Generated QName for the fault element - */ - public static final QName FAULT_ELEMENT = new QName("http://www.example.com/stock", "InvalidSymbolFault"); - /** - * Java type that goes as soapenv:Fault detail element. - */ - private InvalidSymbolFault faultInfo; - - /** - * @param faultInfo - * @param message - */ - public InvalidSymbolFault_Exception(String message, InvalidSymbolFault faultInfo) { - super(message); - this.faultInfo = faultInfo; - } - - /** - * @param faultInfo - * @param message - * @param cause - */ - public InvalidSymbolFault_Exception(String message, InvalidSymbolFault faultInfo, Throwable cause) { - super(message, cause); - this.faultInfo = faultInfo; - } - - /** - * @return returns fault bean: - * org.apache.tuscany.sca.test.exceptions.impl.jaxb.InvalidSymbolFault - */ - public InvalidSymbolFault getFaultInfo() { - return faultInfo; - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/DataObject2NodeTestCase.java b/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/DataObject2NodeTestCase.java deleted file mode 100644 index 4bc41a5541..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/DataObject2NodeTestCase.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.sdo; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.w3c.dom.Element; -import org.w3c.dom.Node; - -import com.example.ipo.sdo.PurchaseOrderType; -import commonj.sdo.DataObject; - -/** - * - * @version $Rev$ $Date$ - */ -public class DataObject2NodeTestCase extends SDOTransformerTestCaseBase { - @Override - protected DataType getSourceDataType() { - return new DataTypeImpl(binding, PurchaseOrderType.class, new XMLType(ORDER_QNAME, null)); - } - - @Override - protected DataType getTargetDataType() { - return new DataTypeImpl>(String.class, String.class); - } - - public final void testTransform() { - Node node = new DataObject2Node().transform(dataObject, context); - Assert.assertNotNull(node); - Element element = (Element) node; - Assert.assertEquals(ORDER_QNAME.getNamespaceURI(), element.getNamespaceURI()); - Assert.assertEquals(ORDER_QNAME.getLocalPart(), element.getLocalName()); - DataObject po = new Node2DataObject().transform(node, reversedContext); - Assert.assertTrue(po instanceof PurchaseOrderType); - PurchaseOrderType orderType = (PurchaseOrderType)po; - Assert.assertEquals("San Jose", orderType.getBillTo().getCity()); - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/DataObject2StringTestCase.java b/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/DataObject2StringTestCase.java deleted file mode 100644 index 44d11cd586..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/DataObject2StringTestCase.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.databinding.sdo; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -import com.example.ipo.sdo.PurchaseOrderType; -import commonj.sdo.DataObject; - -/** - * - * @version $Rev$ $Date$ - */ -public class DataObject2StringTestCase extends SDOTransformerTestCaseBase { - @Override - protected DataType getSourceDataType() { - return new DataTypeImpl(binding, PurchaseOrderType.class, new XMLType(ORDER_QNAME, null)); - } - - @Override - protected DataType getTargetDataType() { - return new DataTypeImpl>(String.class, String.class); - } - - public final void testTransform() { - String xml = new DataObject2String().transform(dataObject, context); - Assert.assertTrue(xml.indexOf("San Jose") != -1); - DataObject po = new String2DataObject().transform(xml, reversedContext); - Assert.assertTrue(po instanceof PurchaseOrderType); - PurchaseOrderType orderType = (PurchaseOrderType)po; - Assert.assertEquals("San Jose", orderType.getBillTo().getCity()); - } - - public final void testXML() { - String xml = - ""; - DataObject dataObject = new String2DataObject().transform(xml, reversedContext); - context.setSourceDataType(new DataTypeImpl(DataObject.class.getName(), DataObject.class, null)); - xml = new DataObject2String().transform(dataObject, context); - Assert.assertTrue(xml.contains("xsi:type=\"ipo:USAddress\"")); - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/DataObject2XMLStreamReaderTestCase.java b/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/DataObject2XMLStreamReaderTestCase.java deleted file mode 100644 index 6a82a7fb18..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/DataObject2XMLStreamReaderTestCase.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.databinding.sdo; - -import javax.xml.stream.XMLStreamConstants; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -import org.apache.tuscany.sca.databinding.xml.Node2String; -import org.apache.tuscany.sca.databinding.xml.XMLStreamReader2Node; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -import com.example.ipo.sdo.PurchaseOrderType; -import commonj.sdo.DataObject; -import commonj.sdo.helper.EqualityHelper; - -/** - * - * @version $Rev$ $Date$ - */ -public class DataObject2XMLStreamReaderTestCase extends SDOTransformerTestCaseBase { - - @Override - protected DataType getSourceDataType() { - return new DataTypeImpl(binding, PurchaseOrderType.class, new XMLType(ORDER_QNAME, null)); - } - - @Override - protected DataType getTargetDataType() { - return new DataTypeImpl>(XMLStreamReader.class, XMLStreamReader.class); - } - - public final void testTransform() throws XMLStreamException { - XMLStreamReader reader = new DataObject2XMLStreamReader().transform(dataObject, context); - while (reader.hasNext()) { - int event = reader.next(); - if (event == XMLStreamConstants.START_ELEMENT) { - break; - } - } - DataObject d = new XMLStreamReader2DataObject().transform(reader, reversedContext); - assertNotNull(d); - assertTrue(EqualityHelper.INSTANCE.equal(dataObject, d)); - } - - public final void testTransform1() throws XMLStreamException { - XMLStreamReader reader = new DataObject2XMLStreamReader().transform(dataObject, context); - XMLStreamReader2Node t2 = new XMLStreamReader2Node(); - org.w3c.dom.Node node = t2.transform(reader, context); - assertNotNull(node); - Node2String t3 = new Node2String(); - String xml = t3.transform(node, context); - assertTrue(xml.contains("xmlns:xsi")); - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/ImportSDOProcessorTestCase.java b/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/ImportSDOProcessorTestCase.java deleted file mode 100644 index fa765f9bf4..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/ImportSDOProcessorTestCase.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.databinding.sdo; - -import java.io.StringReader; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.contribution.DefaultModelFactoryExtensionPoint; -import org.apache.tuscany.sca.contribution.resolver.ClassReference; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - -import com.example.ipo.sdo.SdoFactory; - -/** - * @version $Rev$ $Date$ - */ -public class ImportSDOProcessorTestCase extends TestCase { - private static boolean inited; - - private ImportSDOProcessor loader; - private XMLInputFactory xmlFactory; - - public void testMinimal() throws Exception { - String xml = ""; - XMLStreamReader reader = getReader(xml); - assertTrue(loader.read(reader) instanceof ImportSDO); - } - - public void testLocation() throws Exception { - String xml = ""; - XMLStreamReader reader = getReader(xml); - assertTrue(loader.read(reader) instanceof ImportSDO); - } - - public void testFactory() throws Exception { - String xml = ""; - XMLStreamReader reader = getReader(xml); - assertFalse(inited); - ImportSDO importSDO = loader.read(reader); - assertNotNull(importSDO); - ModelResolver resolver = new TestModelResolver(); - resolver.addModel(new ClassReference(MockFactory.class)); - loader.resolve(importSDO, resolver); - assertTrue(inited); - } - - @Override - protected void setUp() throws Exception { - loader = new ImportSDOProcessor(new DefaultModelFactoryExtensionPoint(), null); - xmlFactory = XMLInputFactory.newInstance(); - } - - protected XMLStreamReader getReader(String xml) throws XMLStreamException { - XMLStreamReader reader = xmlFactory.createXMLStreamReader(new StringReader(xml)); - reader.next(); - return reader; - } - - public static class MockFactory { - public static final Object INSTANCE = SdoFactory.INSTANCE; - - static { - ImportSDOProcessorTestCase.inited = true; - } - } -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelperTestCase.java b/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelperTestCase.java deleted file mode 100644 index e0d1c9bf12..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/SDOContextHelperTestCase.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.databinding.sdo; - -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; - -import junit.framework.Assert; - -import org.apache.tuscany.sdo.api.SDOUtil; -import org.junit.Test; - -import commonj.sdo.Type; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.TypeHelper; -import commonj.sdo.helper.XSDHelper; - -/** - * @version $Rev$ $Date$ - */ -public class SDOContextHelperTestCase { - @Test - public void testGenerateSchema() throws IOException { - HelperContext context = SDOUtil.createHelperContext(); - URL url = getClass().getResource("/ipo.xsd"); - Assert.assertNotNull(url); - InputStream is = url.openStream(); - XSDHelper xsdHelper = context.getXSDHelper(); - xsdHelper.define(is, url.toExternalForm()); - TypeHelper typeHelper = context.getTypeHelper(); - Type type = typeHelper.getType("http://www.example.com/IPO", "PurchaseOrderType"); - Assert.assertNotNull(type); - /* - SDOContextHelper.generateSchema(context, Arrays.asList(type)); - */ - } -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/SDODataBindingTestCase.java b/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/SDODataBindingTestCase.java deleted file mode 100644 index 3c21b56c9f..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/SDODataBindingTestCase.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.sdo; - -import javax.xml.namespace.QName; - -import junit.framework.TestCase; - -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 com.example.ipo.sdo.PurchaseOrderType; -import com.example.ipo.sdo.SdoFactory; -import com.example.ipo.sdo.USAddress; -import commonj.sdo.DataObject; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XMLDocument; -import commonj.sdo.impl.HelperProvider; - -/** - * - * @version $Rev$ $Date$ - */ -public class SDODataBindingTestCase extends TestCase { - protected static final QName ORDER_QNAME = new QName("http://www.example.com/IPO", "purchaseOrder"); - private SDODataBinding binding; - private HelperContext context; - - /** - * @see junit.framework.TestCase#setUp() - */ - @Override - protected void setUp() throws Exception { - super.setUp(); - binding = new SDODataBinding(); - context = HelperProvider.getDefaultContext(); - SdoFactory.INSTANCE.register(context); - } - - public final void testIntrospect() { - Operation op = null; - DataType dataType = new DataTypeImpl(DataObject.class, null); - boolean yes = binding.introspect(dataType, op); - assertTrue(yes); - assertTrue(dataType.getDataBinding().equals(binding.getName())); - assertTrue(dataType.getPhysical() == DataObject.class && dataType.getLogical() == XMLType.UNKNOWN); - dataType = new DataTypeImpl(PurchaseOrderType.class, null); - yes = binding.introspect(dataType, op); - assertTrue(yes); - assertEquals(PurchaseOrderType.class, dataType.getPhysical()); - assertEquals(new QName("http://www.example.com/IPO", "PurchaseOrderType"), ((XMLType)dataType.getLogical()) - .getTypeName()); - dataType = new DataTypeImpl(USAddress.class, null); - yes = binding.introspect(dataType, op); - assertTrue(yes); - assertEquals(USAddress.class, dataType.getPhysical()); - assertEquals(new QName("http://www.example.com/IPO", "USAddress"), ((XMLType)dataType.getLogical()) - .getTypeName()); - } - - public final void testCopyRoot() { - PurchaseOrderType po = SdoFactory.INSTANCE.createPurchaseOrderType(); - po.setComment("Comment"); - Object copy = binding.copy(po, null, null); - assertTrue(copy instanceof PurchaseOrderType); - assertTrue(po != copy); - assertTrue(context.getEqualityHelper().equal((DataObject)po, (DataObject)copy)); - assertEquals("Comment", ((PurchaseOrderType)copy).getComment()); - } - - public final void testCopyNonRoot() { - USAddress address = SdoFactory.INSTANCE.createUSAddress(); - address.setCity("San Jose"); - Object copy = binding.copy(address, null, null); - assertTrue(copy instanceof USAddress); - assertTrue(address != copy); - assertTrue(context.getEqualityHelper().equal((DataObject)address, (DataObject)copy)); - assertEquals("San Jose", ((USAddress)copy).getCity()); - } - - public final void testCopyXMLDocument() { - PurchaseOrderType po = SdoFactory.INSTANCE.createPurchaseOrderType(); - po.setComment("Comment"); - XMLDocument doc = - context.getXMLHelper().createDocument((DataObject)po, - ORDER_QNAME.getNamespaceURI(), - ORDER_QNAME.getLocalPart()); - Object copy = binding.copy(doc, null, null); - assertTrue(copy instanceof XMLDocument); - XMLDocument docCopy = (XMLDocument)copy; - assertTrue(doc != copy); - assertTrue(context.getEqualityHelper().equal((DataObject)po, docCopy.getRootObject())); - assertEquals("Comment", ((PurchaseOrderType)docCopy.getRootObject()).getComment()); - } -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/SDOTransformerTestCaseBase.java b/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/SDOTransformerTestCaseBase.java deleted file mode 100644 index 2aaae3c6d8..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/SDOTransformerTestCaseBase.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.sdo; - -import javax.xml.namespace.QName; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.TransformationContextImpl; -import org.apache.tuscany.sca.interfacedef.DataType; - -import com.example.ipo.sdo.PurchaseOrderType; -import com.example.ipo.sdo.SdoFactory; -import com.example.ipo.sdo.USAddress; -import commonj.sdo.DataObject; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.impl.HelperProvider; - -/** - * The base class for SDO-related test cases - * - * @version $Rev$ $Date$ - */ -public abstract class SDOTransformerTestCaseBase extends TestCase { - protected static final QName ORDER_QNAME = new QName("http://www.example.com/IPO", "purchaseOrder"); - - protected HelperContext helperContext; - protected String binding = DataObject.class.getName(); - protected TransformationContext context; - protected TransformationContext reversedContext; - protected DataObject dataObject; - - /** - * @see junit.framework.TestCase#setUp() - */ - @Override - protected void setUp() throws Exception { - super.setUp(); - helperContext = HelperProvider.getDefaultContext(); - SdoFactory.INSTANCE.register(helperContext); - - context = new TransformationContextImpl(); - context.setSourceDataType(getSourceDataType()); - context.setTargetDataType(getTargetDataType()); - - reversedContext = new TransformationContextImpl(); - reversedContext.setSourceDataType(getTargetDataType()); - reversedContext.setTargetDataType(getSourceDataType()); - - PurchaseOrderType po = SdoFactory.INSTANCE.createPurchaseOrderType(); - USAddress address = SdoFactory.INSTANCE.createUSAddress(); - address.setCity("San Jose"); - address.setStreet("123 ABC St"); - address.setState("CA"); - address.setStreet("95131"); - po.setBillTo(address); - dataObject = (DataObject) po; - } - - protected abstract DataType getSourceDataType(); - - protected abstract DataType getTargetDataType(); - -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/SDOWrapperHandlerTestCase.java b/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/SDOWrapperHandlerTestCase.java deleted file mode 100644 index 11d8495de8..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/SDOWrapperHandlerTestCase.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.databinding.sdo; - -import java.util.List; - -import javax.xml.namespace.QName; - -import junit.framework.TestCase; - -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.impl.OperationImpl; -import org.apache.tuscany.sca.interfacedef.util.ElementInfo; -import org.apache.tuscany.sca.interfacedef.util.WrapperInfo; -import org.apache.tuscany.sdo.api.SDOUtil; - -import commonj.sdo.DataObject; -import commonj.sdo.helper.HelperContext; -import commonj.sdo.helper.XMLDocument; -import commonj.sdo.helper.XMLHelper; -import commonj.sdo.helper.XSDHelper; -import commonj.sdo.impl.HelperProvider; - -/** - * @version $Rev$ $Date$ - */ -public class SDOWrapperHandlerTestCase extends TestCase { - private HelperContext context; - private SDOWrapperHandler handler; - - @Override - public void setUp() throws Exception { - context = SDOUtil.createHelperContext(); - handler = new SDOWrapperHandler(); - } - - public void testWrapperAnyType() throws Exception { - XMLHelper xmlHelper = context.getXMLHelper(); - XMLDocument document = xmlHelper.load(getClass().getResourceAsStream("/wrapper.xml")); - Operation op = new OperationImpl(); - List children = handler.getChildren(document, op, true); - assertEquals(5, children.size()); - } - - public void testWrapper() throws Exception { - XSDHelper xsdHelper = context.getXSDHelper(); - xsdHelper.define(getClass().getResourceAsStream("/wrapper.xsd"), null); - XMLHelper xmlHelper = context.getXMLHelper(); - XMLDocument document = xmlHelper.load(getClass().getResourceAsStream("/wrapper.xml")); - Operation op = new OperationImpl(); - List children = handler.getChildren(document, op, true); - assertEquals(5, children.size()); - } - - public void testCreate() { - HelperContext context = HelperProvider.getDefaultContext(); - XSDHelper xsdHelper = context.getXSDHelper(); - xsdHelper.define(getClass().getResourceAsStream("/wrapper.xsd"), null); - ElementInfo element = new ElementInfo(new QName("http://www.example.com/wrapper", "op"), null); - Operation op = new OperationImpl(); - WrapperInfo wrapperInfo = new WrapperInfo(SDODataBinding.NAME, element, null, null, null); - op.setWrapper(wrapperInfo); - DataObject wrapper = (DataObject) handler.create(op, true); - assertNotNull(wrapper); - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/TestModelResolver.java b/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/TestModelResolver.java deleted file mode 100644 index ce04f5be3f..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/TestModelResolver.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.databinding.sdo; - -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; - - -/** - * A default implementation of an artifact resolver, based on a map. - * - * @version $Rev$ $Date$ - */ -public class TestModelResolver implements ModelResolver { - private static final long serialVersionUID = -7826976465762296634L; - - private Map map = new HashMap(); - - public TestModelResolver() { - } - - public T resolveModel(Class modelClass, T unresolved) { - Object resolved = map.get(unresolved); - if (resolved != null) { - - // Return the resolved object - 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/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/XMLDocument2XMLStreamReaderTestCase.java b/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/XMLDocument2XMLStreamReaderTestCase.java deleted file mode 100644 index 114c568c38..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/test/java/org/apache/tuscany/sca/databinding/sdo/XMLDocument2XMLStreamReaderTestCase.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.databinding.sdo; - -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -import junit.framework.Assert; - -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -import com.example.ipo.sdo.PurchaseOrderType; -import commonj.sdo.helper.XMLDocument; - -/** - * - * @version $Rev$ $Date$ - */ -public class XMLDocument2XMLStreamReaderTestCase extends SDOTransformerTestCaseBase { - - @Override - protected DataType getSourceDataType() { - return new DataTypeImpl(XMLDocument.class.getName(), XMLDocument.class, new XMLType(ORDER_QNAME, null)); - } - - @Override - protected DataType getTargetDataType() { - return new DataTypeImpl>(XMLStreamReader.class, XMLStreamReader.class); - } - - public final void testTransform() throws XMLStreamException { - XMLDocument document = - helperContext.getXMLHelper().createDocument(dataObject, - ORDER_QNAME.getNamespaceURI(), - ORDER_QNAME.getLocalPart()); - XMLStreamReader reader = new XMLDocument2XMLStreamReader().transform(document, context); - XMLDocument document2 = new XMLStreamReader2XMLDocument().transform(reader, reversedContext); - Assert.assertEquals(ORDER_QNAME.getNamespaceURI(), document2.getRootElementURI()); - Assert.assertEquals(ORDER_QNAME.getLocalPart(), document2.getRootElementName()); - Assert.assertTrue(document2.getRootObject() instanceof PurchaseOrderType); - } - -} diff --git a/java/sca/contrib/modules/databinding-sdo/src/test/resources/ipo.xsd b/java/sca/contrib/modules/databinding-sdo/src/test/resources/ipo.xsd deleted file mode 100755 index 241ec15d36..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/test/resources/ipo.xsd +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - International Purchase order schema for Example.com - Copyright 2000 Example.com. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/databinding-sdo/src/test/resources/model/sca-core.xsd b/java/sca/contrib/modules/databinding-sdo/src/test/resources/model/sca-core.xsd deleted file mode 100755 index 56c6977254..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/test/resources/model/sca-core.xsd +++ /dev/null @@ -1,233 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/databinding-sdo/src/test/resources/model/sca-implementation-mock.xsd b/java/sca/contrib/modules/databinding-sdo/src/test/resources/model/sca-implementation-mock.xsd deleted file mode 100755 index bbaf58f00c..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/test/resources/model/sca-implementation-mock.xsd +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/databinding-sdo/src/test/resources/stock.xsd b/java/sca/contrib/modules/databinding-sdo/src/test/resources/stock.xsd deleted file mode 100644 index a0a6717371..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/test/resources/stock.xsd +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/databinding-sdo/src/test/resources/wrapper.xml b/java/sca/contrib/modules/databinding-sdo/src/test/resources/wrapper.xml deleted file mode 100644 index 2526629409..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/test/resources/wrapper.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - message - symbol - message1 - symbol1 - symbol2 - diff --git a/java/sca/contrib/modules/databinding-sdo/src/test/resources/wrapper.xsd b/java/sca/contrib/modules/databinding-sdo/src/test/resources/wrapper.xsd deleted file mode 100644 index ea4dc5f7f3..0000000000 --- a/java/sca/contrib/modules/databinding-sdo/src/test/resources/wrapper.xsd +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/databinding-xmlbeans/LICENSE b/java/sca/contrib/modules/databinding-xmlbeans/LICENSE deleted file mode 100755 index d645695673..0000000000 --- a/java/sca/contrib/modules/databinding-xmlbeans/LICENSE +++ /dev/null @@ -1,202 +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/java/sca/contrib/modules/databinding-xmlbeans/NOTICE b/java/sca/contrib/modules/databinding-xmlbeans/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/databinding-xmlbeans/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/databinding-xmlbeans/pom.xml b/java/sca/contrib/modules/databinding-xmlbeans/pom.xml deleted file mode 100644 index f9f02ae6ab..0000000000 --- a/java/sca/contrib/modules/databinding-xmlbeans/pom.xml +++ /dev/null @@ -1,125 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-databinding-xmlbeans - Apache Tuscany SCA Data Binding for XmlBeans - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-databinding - 2.0-SNAPSHOT - - - - org.apache.xmlbeans - xmlbeans - 2.3.0 - compile - - - junit - junit - 4.5 - - - - - - - org.codehaus.mojo - build-helper-maven-plugin - 1.0 - - - add-test-source - generate-sources - - add-test-source - - - - target/xmlbeans-source - - - - - - - maven-antrun-plugin - - - - ant - ant-trax - 1.6.5 - - - - - - generate-xmlbeans - generate-sources - - - - - - - - run - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.databinding.xmlbeans - ${pom.name} - org.apache.tuscany.sca.databinding.xmlbeans* - - - - - - - diff --git a/java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/Node2XmlObject.java b/java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/Node2XmlObject.java deleted file mode 100644 index e7b240b781..0000000000 --- a/java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/Node2XmlObject.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.databinding.xmlbeans; - -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.xmlbeans.XmlException; -import org.apache.xmlbeans.XmlObject; -import org.w3c.dom.Node; - -/** - * Transforms a DOM Node to an XML Object. - * - * @version $Rev$ $Date$ - */ -public class Node2XmlObject extends BaseTransformer implements - PullTransformer { - // private XmlOptions options; - - public XmlObject transform(Node source, TransformationContext context) { - try { - return XmlObject.Factory.parse(source); - } catch (XmlException e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getTargetType() { - return XmlObject.class; - } - - @Override - protected Class getSourceType() { - return Node.class; - } - - @Override - public int getWeight() { - return 30; - } - -} diff --git a/java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XMLBeansDataBinding.java b/java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XMLBeansDataBinding.java deleted file mode 100644 index 4e557522fe..0000000000 --- a/java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XMLBeansDataBinding.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.xmlbeans; - -import java.lang.reflect.Field; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.databinding.WrapperHandler; -import org.apache.tuscany.sca.databinding.impl.BaseDataBinding; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.apache.xmlbeans.SchemaType; -import org.apache.xmlbeans.XmlObject; -import org.oasisopen.sca.ServiceRuntimeException; - -/** - * XMLBeans DataBinding - * - * @version $Rev$ $Date$ - */ -public class XMLBeansDataBinding extends BaseDataBinding { - public static final String NAME = XmlObject.class.getName(); - public static final String[] ALIASES = {"xmlbeans"}; - - public XMLBeansDataBinding() { - super(NAME, XmlObject.class); - } - - @Override - public WrapperHandler getWrapperHandler() { - return new XMLBeansWrapperHandler(); - } - - @Override - public boolean introspect(DataType type, Operation operation) { - if (XmlObject.class.isAssignableFrom(type.getPhysical())) { - Class cls = type.getPhysical(); - SchemaType schemaType = null; - try { - Field f = cls.getField("type"); - schemaType = (SchemaType)f.get(null); - } catch (Throwable e) { - throw new ServiceRuntimeException(e); - } - QName typeName = schemaType.getName(); - Object logical = type.getLogical(); - QName elementName = null; - if (logical instanceof XMLType) { - elementName = ((XMLType)logical).getElementName(); - } - type.setLogical(new XMLType(elementName, typeName)); - type.setMetaData(SchemaType.class, schemaType); - return true; - } - return false; - } - - @Override - public Object copy(Object object, DataType dataType, Operation operation) { - return ((XmlObject)object).copy(); - } - -} diff --git a/java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XMLBeansWrapperHandler.java b/java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XMLBeansWrapperHandler.java deleted file mode 100644 index 506c42e40f..0000000000 --- a/java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XMLBeansWrapperHandler.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.databinding.xmlbeans; - -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.List; - -import org.apache.tuscany.sca.databinding.WrapperHandler; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.util.ElementInfo; -import org.apache.tuscany.sca.interfacedef.util.WrapperInfo; -import org.apache.xmlbeans.SchemaProperty; -import org.apache.xmlbeans.SimpleValue; -import org.apache.xmlbeans.XmlObject; - -/** - * @version $Rev$ $Date$ - */ -public class XMLBeansWrapperHandler implements WrapperHandler { - - /** - * @see org.apache.tuscany.sca.databinding.WrapperHandler#create(org.apache.tuscany.sca.interfacedef.Operation, boolean) - */ - public XmlObject create(Operation operation, boolean input) { - WrapperInfo wrapperInfo = operation.getWrapper(); - ElementInfo element = input ? wrapperInfo.getInputWrapperElement() : wrapperInfo.getOutputWrapperElement(); - return null; - } - - /** - * @see org.apache.tuscany.sca.databinding.WrapperHandler#getChildren(java.lang.Object, org.apache.tuscany.sca.interfacedef.Operation, boolean) - */ - public List getChildren(XmlObject wrapper, Operation operation, boolean input) { - List children = new ArrayList(); - - List childElements = - input ? operation.getWrapper().getInputChildElements() : operation.getWrapper().getOutputChildElements(); - for (ElementInfo e : childElements) { - XmlObject[] objects = wrapper.selectChildren(e.getQName()); - if (objects != null && objects.length == 1) { - if (objects[0] instanceof SimpleValue) { - children.add(((SimpleValue)objects[0]).getObjectValue()); - } else { - children.add(objects[0]); - } - } - // FIXME: What should we do for many-value? - } - return children; - } - - /** - * @see org.apache.tuscany.sca.databinding.WrapperHandler#getWrapperType(org.apache.tuscany.sca.interfacedef.Operation, boolean) - */ - public DataType getWrapperType(Operation operation, boolean input) { - // TODO Auto-generated method stub - return null; - } - - /** - * @see org.apache.tuscany.sca.databinding.WrapperHandler#isInstance(java.lang.Object, org.apache.tuscany.sca.interfacedef.Operation, boolean) - */ - public boolean isInstance(Object wrapper, Operation operation, boolean input) { - WrapperInfo wrapperInfo = operation.getWrapper(); - ElementInfo element = input ? wrapperInfo.getInputWrapperElement() : wrapperInfo.getOutputWrapperElement(); - return true; - } - - /** - * @see org.apache.tuscany.sca.databinding.WrapperHandler#setChildren(java.lang.Object, java.lang.Object[], org.apache.tuscany.sca.interfacedef.Operation, boolean) - */ - public void setChildren(XmlObject wrapper, Object[] childObjects, Operation operation, boolean input) { - List childElements = - input ? operation.getWrapper().getInputChildElements() : operation.getWrapper().getOutputChildElements(); - int i = 0; - for (ElementInfo c : childElements) { - SchemaProperty property = wrapper.schemaType().getElementProperty(c.getQName()); - - String prop = property.getJavaPropertyName(); - - Method setter; - try { - setter = wrapper.schemaType().getJavaClass().getMethod("set" + prop, property.getType().getJavaClass()); - setter.invoke(wrapper, childObjects[i++]); - } catch (Throwable e) { - throw new IllegalArgumentException(e); - } - } - } - -} diff --git a/java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XMLStreamReader2XmlObject.java b/java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XMLStreamReader2XmlObject.java deleted file mode 100644 index ca84f961b1..0000000000 --- a/java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XMLStreamReader2XmlObject.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.databinding.xmlbeans; - -import javax.xml.stream.XMLStreamReader; - -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.xmlbeans.XmlObject; - -/** - * Transforms an XMLStreamReader to an XML Object. - * - * @version $Rev$ $Date$ - */ -public class XMLStreamReader2XmlObject extends BaseTransformer implements PullTransformer { - // private XmlOptions options; - - public XmlObject transform(XMLStreamReader source, TransformationContext context) { - try { - XmlObject target = XmlObject.Factory.parse(source); - source.close(); - return target; - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getTargetType() { - return XmlObject.class; - } - - @Override - protected Class getSourceType() { - return XMLStreamReader.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XmlObject2Node.java b/java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XmlObject2Node.java deleted file mode 100644 index 9620d38eaf..0000000000 --- a/java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XmlObject2Node.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.xmlbeans; - -import org.apache.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.Transformer; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.apache.xmlbeans.XmlObject; -import org.oasisopen.sca.annotation.Service; -import org.w3c.dom.Node; - -/** - * Transforms an XML Object to a DOM Node. - * - * @version $Rev$ $Date$ - */ -@Service(Transformer.class) -public class XmlObject2Node extends BaseTransformer implements - PullTransformer { - // private XmlOptions options; - - public Node transform(XmlObject source, TransformationContext context) { - if (source == null) - return null; - return source.newDomNode(); - } - - @Override - protected Class getSourceType() { - return XmlObject.class; - } - - @Override - protected Class getTargetType() { - return Node.class; - } - - @Override - public int getWeight() { - return 30; - } - -} diff --git a/java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XmlObject2XMLStreamReader.java b/java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XmlObject2XMLStreamReader.java deleted file mode 100644 index bbffb7d748..0000000000 --- a/java/sca/contrib/modules/databinding-xmlbeans/src/main/java/org/apache/tuscany/sca/databinding/xmlbeans/XmlObject2XMLStreamReader.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.databinding.xmlbeans; - -import javax.xml.stream.XMLStreamReader; - -import org.apache.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.apache.xmlbeans.XmlObject; - -/** - * Transforms an XML Object to an XMLStreamReader. - * - * @version $Rev$ $Date$ - */ -public class XmlObject2XMLStreamReader extends BaseTransformer implements PullTransformer { - // private XmlOptions options; - - public XMLStreamReader transform(XmlObject source, TransformationContext context) { - return source.newXMLStreamReader(); - } - - @Override - protected Class getSourceType() { - return XmlObject.class; - } - - @Override - protected Class getTargetType() { - return XMLStreamReader.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/java/sca/contrib/modules/databinding-xmlbeans/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding b/java/sca/contrib/modules/databinding-xmlbeans/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding deleted file mode 100644 index ac76c6ca9b..0000000000 --- a/java/sca/contrib/modules/databinding-xmlbeans/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding +++ /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 classes for the databindings -org.apache.tuscany.sca.databinding.xmlbeans.XMLBeansDataBinding;name=org.apache.xmlbeans.XmlObject diff --git a/java/sca/contrib/modules/databinding-xmlbeans/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer b/java/sca/contrib/modules/databinding-xmlbeans/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer deleted file mode 100644 index 4e419de051..0000000000 --- a/java/sca/contrib/modules/databinding-xmlbeans/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer +++ /dev/null @@ -1,22 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT 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 transformers -org.apache.tuscany.sca.databinding.xmlbeans.Node2XmlObject;source=org.w3c.dom.Node,target=org.apache.xmlbeans.XmlObject,weight=500 -org.apache.tuscany.sca.databinding.xmlbeans.XmlObject2Node;source=org.apache.xmlbeans.XmlObject,target=org.w3c.dom.Node,weight=500 -org.apache.tuscany.sca.databinding.xmlbeans.XmlObject2XMLStreamReader;source=org.apache.xmlbeans.XmlObject,target=javax.xml.stream.XMLStreamReader,weight=490 -org.apache.tuscany.sca.databinding.xmlbeans.XMLStreamReader2XmlObject;source=javax.xml.stream.XMLStreamReader,target=org.apache.xmlbeans.XmlObject,weight=490 diff --git a/java/sca/contrib/modules/databinding-xmlbeans/src/test/java/org/apache/tuscany/sca/databinding/xmlbeans/XmlObjectTestCase.java b/java/sca/contrib/modules/databinding-xmlbeans/src/test/java/org/apache/tuscany/sca/databinding/xmlbeans/XmlObjectTestCase.java deleted file mode 100644 index 7b98ddb021..0000000000 --- a/java/sca/contrib/modules/databinding-xmlbeans/src/test/java/org/apache/tuscany/sca/databinding/xmlbeans/XmlObjectTestCase.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.xmlbeans; - -import java.io.StringReader; - -import javax.xml.stream.XMLStreamReader; - -import junit.framework.Assert; -import junit.framework.TestCase; - -import org.apache.xmlbeans.XmlObject; -import org.w3c.dom.Node; - -import com.example.ipo.xmlbeans.PurchaseOrderDocument; - -/** - * Test cases for testing XML Object transformations. - * - * @version $Rev$ $Date$ - */ -public class XmlObjectTestCase extends TestCase { - private static final String IPO_XML = "" + "" - + " " + " Helen Zoe" + " 47 Eden Street" - + " Cambridge" + " CB1 1JR" + " " + " " - + " Robert Smith" + " 8 Oak Avenue" + " Old Town" + " PA" - + " 95819" + " " + " " + " " - + " Lapis necklace" + " 1" + " 99.95" - + " Want this for the holidays" + " 1999-12-05" + " " + " " - + ""; - - @Override - protected void setUp() throws Exception { - super.setUp(); - } - - public void testXmlObject() throws Exception { - // URL/Stream/Reader to XmlObject - XmlObject object = XmlObject.Factory.parse(new StringReader(IPO_XML)); - - // XmlObject to XMLStreamReader - XmlObject2XMLStreamReader t1 = new XmlObject2XMLStreamReader(); - XMLStreamReader reader = t1.transform(object, null); - - // XMLStreamReader to XmlObject - XMLStreamReader2XmlObject t2 = new XMLStreamReader2XmlObject(); - XmlObject object2 = t2.transform(reader, null); - - // XmlObject to Node - XmlObject2Node t3 = new XmlObject2Node(); - Node node = t3.transform(object2, null); - - // Node to XmlObject - Node2XmlObject t4 = new Node2XmlObject(); - XmlObject object3 = t4.transform(node, null); - Assert.assertNotNull(object3); - } - - public void testGeneratedXmlObject() throws Exception { - // URL xmlFile = getClass().getClassLoader().getResource("ipo.xml"); - // URL/Stream/Reader to XmlObject - PurchaseOrderDocument object = PurchaseOrderDocument.Factory.parse(new StringReader(IPO_XML)); - - // XmlObject to XMLStreamReader - XmlObject2XMLStreamReader t1 = new XmlObject2XMLStreamReader(); - XMLStreamReader reader = t1.transform(object, null); - - // XMLStreamReader to XmlObject - XMLStreamReader2XmlObject t2 = new XMLStreamReader2XmlObject(); - PurchaseOrderDocument object2 = (PurchaseOrderDocument) t2.transform(reader, null); - - // XmlObject to Node - XmlObject2Node t3 = new XmlObject2Node(); - Node node = t3.transform(object2, null); - - // Node to XmlObject - Node2XmlObject t4 = new Node2XmlObject(); - PurchaseOrderDocument object3 = (PurchaseOrderDocument) t4.transform(node, null); - Assert.assertNotNull(object3); - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - } - -} diff --git a/java/sca/contrib/modules/databinding-xmlbeans/src/test/resources/ipo.xsd b/java/sca/contrib/modules/databinding-xmlbeans/src/test/resources/ipo.xsd deleted file mode 100755 index 5a493e1746..0000000000 --- a/java/sca/contrib/modules/databinding-xmlbeans/src/test/resources/ipo.xsd +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - International Purchase order schema for Example.com - Copyright 2000 Example.com. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/databinding-xmlbeans/src/test/resources/ipo.xsdconfig b/java/sca/contrib/modules/databinding-xmlbeans/src/test/resources/ipo.xsdconfig deleted file mode 100755 index a397182672..0000000000 --- a/java/sca/contrib/modules/databinding-xmlbeans/src/test/resources/ipo.xsdconfig +++ /dev/null @@ -1,21 +0,0 @@ - - - - - com.example.ipo.xmlbeans - - - diff --git a/java/sca/contrib/modules/databinding-xstream/LICENSE b/java/sca/contrib/modules/databinding-xstream/LICENSE deleted file mode 100644 index 6e529a25c4..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/databinding-xstream/NOTICE b/java/sca/contrib/modules/databinding-xstream/NOTICE deleted file mode 100644 index 51042eab05..0000000000 --- a/java/sca/contrib/modules/databinding-xstream/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/databinding-xstream/pom.xml b/java/sca/contrib/modules/databinding-xstream/pom.xml deleted file mode 100644 index e40f9d52a8..0000000000 --- a/java/sca/contrib/modules/databinding-xstream/pom.xml +++ /dev/null @@ -1,121 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-databinding-xstream - Apache Tuscany SCA Data Binding for XStream - - - - org.apache.tuscany.sca - tuscany-core-spi - 2.0-SNAPSHOT - - - org.apache.tuscany.sca - tuscany-databinding - 2.0-SNAPSHOT - - - - javax.xml.stream - stax-api - 1.0-2 - - - - com.thoughtworks.xstream - xstream - 1.3 - - - - org.apache.ws.commons.axiom - axiom-api - - - xerces - xercesImpl - - - 1.2.7 - - - - xerces - xercesImpl - 2.8.1 - runtime - - - - org.apache.ws.commons.axiom - axiom-impl - 1.2.7 - runtime - - - commons-logging - commons-logging - 1.1.1 - runtime - - - - org.codehaus.woodstox - wstx-asl - 3.2.4 - runtime - - - stax - stax-api - - - - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.databinding.xstream - ${pom.name} - org.apache.tuscany.sca.databinding.xstream* - - - - - - - diff --git a/java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObject.java b/java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObject.java deleted file mode 100644 index 4c57cfe06b..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObjectImpl.java b/java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/MetaObjectImpl.java deleted file mode 100644 index d223a4db23..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Node2XObject.java b/java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Node2XObject.java deleted file mode 100644 index 2b7fa9d506..0000000000 --- a/java/sca/contrib/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 implements PullTransformer { - - 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 getSourceType() { - return Node.class; - } - - @Override - public Class getTargetType() { - return XObject.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/OMElement2XObject.java b/java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/OMElement2XObject.java deleted file mode 100644 index a465e92e65..0000000000 --- a/java/sca/contrib/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 implements - PullTransformer { - - 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 getSourceType() { - return OMElement.class; - } - - @Override - public Class getTargetType() { - return XObject.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Utils.java b/java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/Utils.java deleted file mode 100644 index d819975910..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject.java b/java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject.java deleted file mode 100644 index 21112efcf5..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2Node.java b/java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2Node.java deleted file mode 100644 index 98e0e69f9b..0000000000 --- a/java/sca/contrib/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 implements PullTransformer { - - 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 getSourceType() { - return XObject.class; - } - - @Override - public Class getTargetType() { - return Node.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2OMElement.java b/java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObject2OMElement.java deleted file mode 100644 index ff4305491a..0000000000 --- a/java/sca/contrib/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 implements - PullTransformer { - - 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 getSourceType() { - return XObject.class; - } - - @Override - public Class getTargetType() { - return OMElement.class; - } - - @Override - public int getWeight() { - return 10; - } - -} diff --git a/java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObjectDataBinding.java b/java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObjectDataBinding.java deleted file mode 100644 index b319c7d557..0000000000 --- a/java/sca/contrib/modules/databinding-xstream/src/main/java/org/apache/tuscany/sca/databinding/xstream/XObjectDataBinding.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; - -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 XObjectDataBinding() { - super(NAME, XObject.class); - } - -} diff --git a/java/sca/contrib/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding b/java/sca/contrib/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.DataBinding deleted file mode 100644 index e2f467b8dd..0000000000 --- a/java/sca/contrib/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;name=org.apache.tuscany.sca.databinding.xstream.XObject - diff --git a/java/sca/contrib/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer b/java/sca/contrib/modules/databinding-xstream/src/main/resources/META-INF/services/org.apache.tuscany.sca.databinding.PullTransformer deleted file mode 100644 index a733ad7b7d..0000000000 --- a/java/sca/contrib/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/java/sca/contrib/modules/databinding-xstream/src/test/resources/ipo.xml b/java/sca/contrib/modules/databinding-xstream/src/test/resources/ipo.xml deleted file mode 100644 index 1699538d62..0000000000 --- a/java/sca/contrib/modules/databinding-xstream/src/test/resources/ipo.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - Helen Zoe - 47 Eden Street - Cambridge - CB1 1JR - - - - Robert Smith - 8 Oak Avenue - Old Town - PA - 95819 - - - - - Lapis necklace - 1 - 99.95 - Want this for the holidays - 1999-12-05 - - - - diff --git a/java/sca/contrib/modules/databinding-xstream/src/test/resources/ipo.xsd b/java/sca/contrib/modules/databinding-xstream/src/test/resources/ipo.xsd deleted file mode 100644 index aac7ded180..0000000000 --- a/java/sca/contrib/modules/databinding-xstream/src/test/resources/ipo.xsd +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - International Purchase order schema for Example.com Copyright 2000 Example.com. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/java/sca/contrib/modules/databinding-xstream/src/test/resources/order.wsdl b/java/sca/contrib/modules/databinding-xstream/src/test/resources/order.wsdl deleted file mode 100644 index 65da5b602a..0000000000 --- a/java/sca/contrib/modules/databinding-xstream/src/test/resources/order.wsdl +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java/sca/contrib/modules/databinding/LICENSE b/java/sca/contrib/modules/databinding/LICENSE deleted file mode 100644 index 616bec99ed..0000000000 --- a/java/sca/contrib/modules/databinding/LICENSE +++ /dev/null @@ -1,244 +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. - ------------------------------------------------------------------ -The test cases use xmlunit with the following license: ------------------------------------------------------------------ - -/* -****************************************************************** -Copyright (c) 2001-2007, Jeff Martin, Tim Bacon -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 xmlunit.sourceforge.net nor the names - of its 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/java/sca/contrib/modules/databinding/META-INF/MANIFEST.MF b/java/sca/contrib/modules/databinding/META-INF/MANIFEST.MF deleted file mode 100644 index ac6bc25629..0000000000 --- a/java/sca/contrib/modules/databinding/META-INF/MANIFEST.MF +++ /dev/null @@ -1,66 +0,0 @@ -Manifest-Version: 1.0 -Export-Package: org.apache.tuscany.sca.databinding;uses:="org.apache.t - uscany.sca.interfacedef.util,org.apache.tuscany.sca.databinding.impl, - org.apache.tuscany.sca.interfacedef,org.apache.tuscany.sca.extensibil - ity,javax.xml.namespace,org.apache.tuscany.sca.contribution.resolver, - org.apache.tuscany.sca.interfacedef.impl,org.apache.tuscany.sca.xsd"; - version="2.0",org.apache.tuscany.sca.databinding.xml;uses:="org.apach - e.tuscany.sca.databinding,org.apache.tuscany.sca.interfacedef.util,or - g.apache.tuscany.sca.databinding.impl,javax.xml.parsers,javax.xml.tra - nsform.dom,org.w3c.dom,org.apache.tuscany.sca.interfacedef,org.xml.sa - x,javax.xml.namespace,javax.xml.stream,javax.xml.stream.util,org.xml. - sax.ext,javax.xml.transform,javax.xml.transform.stream,org.apache.tus - cany.sca.interfacedef.impl,javax.xml.transform.sax,org.apache.tuscany - .sca.databinding.javabeans,org.xml.sax.helpers";version="2.0",org.apa - che.tuscany.sca.databinding.impl;uses:="org.apache.tuscany.sca.databi - nding,org.apache.tuscany.sca.interfacedef.util,javax.xml.parsers,org. - apache.tuscany.sca.interfacedef,org.w3c.dom,javax.xml.datatype,javax. - xml.namespace,javax.xml.transform,org.apache.tuscany.sca.interfacedef - .impl";version="2.0",org.apache.tuscany.sca.databinding.util;uses:="o - rg.apache.tuscany.sca.interfacedef.util,org.apache.tuscany.sca.interf - acedef";version="2.0",org.apache.tuscany.sca.databinding.annotation;v - ersion="2.0",org.apache.tuscany.sca.databinding.javabeans;uses:="org. - apache.tuscany.sca.databinding,org.apache.tuscany.sca.databinding.xml - ,org.apache.tuscany.sca.interfacedef.util,org.apache.tuscany.sca.data - binding.impl,javax.xml.parsers,org.w3c.dom,org.apache.tuscany.sca.int - erfacedef,javax.xml.datatype,javax.xml.namespace,javax.xml.stream";ve - rsion="2.0" -Private-Package: org.apache.tuscany.sca.databinding.externalizable;ver - sion="2.0" -Tool: Bnd-0.0.255 -Bundle-Name: Apache Tuscany SCA DataBinding Framework -Created-By: 1.6.0_07 (Sun Microsystems Inc.) -Bundle-Vendor: The Apache Software Foundation -Bundle-Version: 2.0 -Bnd-LastModified: 1225397181875 -Bundle-ManifestVersion: 2 -Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt -Bundle-Description: Apache Tuscany SCA DataBinding Framework -Import-Package: javax.xml.datatype, - javax.xml.namespace, - javax.xml.parsers, - javax.xml.stream, - javax.xml.stream.util, - javax.xml.transform, - javax.xml.transform.dom, - javax.xml.transform.sax, - javax.xml.transform.stream, - org.apache.tuscany.sca.contribution.resolver;version="2.0", - org.apache.tuscany.sca.databinding;version="2.0", - org.apache.tuscany.sca.databinding.annotation;version="2.0", - org.apache.tuscany.sca.databinding.impl;version="2.0", - org.apache.tuscany.sca.databinding.javabeans;version="2.0", - org.apache.tuscany.sca.databinding.util;version="2.0", - org.apache.tuscany.sca.databinding.xml;version="2.0", - org.apache.tuscany.sca.extensibility;version="2.0", - org.apache.tuscany.sca.interfacedef;version="2.0", - org.apache.tuscany.sca.interfacedef.impl;version="2.0", - org.apache.tuscany.sca.interfacedef.util;version="2.0", - org.apache.tuscany.sca.xsd;version="2.0", - org.w3c.dom, - org.xml.sax, - org.xml.sax.ext, - org.xml.sax.helpers -Bundle-SymbolicName: org.apache.tuscany.sca.databinding -Bundle-DocURL: http://www.apache.org/ - diff --git a/java/sca/contrib/modules/databinding/NOTICE b/java/sca/contrib/modules/databinding/NOTICE deleted file mode 100644 index 25bb89c9b2..0000000000 --- a/java/sca/contrib/modules/databinding/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -${pom.name} -Copyright (c) 2005 - 2009 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - diff --git a/java/sca/contrib/modules/databinding/pom.xml b/java/sca/contrib/modules/databinding/pom.xml deleted file mode 100644 index 5307b490a1..0000000000 --- a/java/sca/contrib/modules/databinding/pom.xml +++ /dev/null @@ -1,108 +0,0 @@ - - - - 4.0.0 - - org.apache.tuscany.sca - tuscany-modules - 2.0-SNAPSHOT - ../pom.xml - - tuscany-databinding - Apache Tuscany SCA DataBinding Framework - - - - org.apache.tuscany.sca - tuscany-extensibility - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-interface - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-contribution - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-xsd - 2.0-SNAPSHOT - - - - org.apache.tuscany.sca - tuscany-sca-api - 2.0-SNAPSHOT - - - - javax.xml.stream - stax-api - 1.0-2 - - - - org.codehaus.woodstox - wstx-asl - 3.2.4 - runtime - - - stax - stax-api - - - - - - xmlunit - xmlunit - 1.1 - test - - - - - - - - org.apache.felix - maven-bundle-plugin - - - - ${tuscany.version} - org.apache.tuscany.sca.databinding - ${pom.name} - org.apache.tuscany.sca.databinding* - - - - - - - diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DataBinding.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DataBinding.java deleted file mode 100644 index 7c4ed35eb3..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DataBinding.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.databinding; - - -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; - -/** - * DataBinding represents a data representation, for example, SDO, JAXB and AXIOM - * - * @version $Rev$ $Date$ - */ -public interface DataBinding { - /** - * A special databinding for input message of an operation - */ - String IDL_INPUT = "idl:input"; - /** - * A special databinding for output message of an operation - */ - String IDL_OUTPUT = "idl:output"; - /** - * A special databinding for fault message of an operation - */ - String IDL_FAULT = "idl:fault"; - /** - * The name of a databinding should be case-insensitive and unique - * - * @return The name of the databinding - */ - String getName(); - - /** - * Introspect and populate information to a DataType model - * - * @param dataType The data type to be introspected - * @param operation The operation - * @return true if the databinding has recognized the given data type - */ - boolean introspect(DataType dataType, Operation operation); - - /** - * Introspect the data to figure out the corresponding data type - * - * @param value The object to be checked - * @param operation The operation - * @return The DataType or null if the java type is not supported by this databinding - */ - DataType introspect(Object value, Operation operation); - - /** - * Provide a WrapperHandler for this databinding - * @return A wrapper handler which can handle wrapping/wrapping for this databinding - */ - WrapperHandler getWrapperHandler(); - - /** - * Make a copy of the object for "pass-by-value" semantics. - * - * @param object source object to copy - * @param dataType The data type - * @param operation The operation - * @return copy of the object passed in as argument - */ - Object copy(Object object, DataType dataType, Operation operation); - - /** - * Get the XML type helper for Java types - * @return The databinding-specific XML type helper class - */ - XMLTypeHelper getXMLTypeHelper(); - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DataBindingExtensionPoint.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DataBindingExtensionPoint.java deleted file mode 100644 index 2ff5d866b4..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DataBindingExtensionPoint.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.databinding; - - -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; - -/** - * An extension point for data binding extensions. - * - * @version $Rev$ $Date$ - */ -public interface DataBindingExtensionPoint { - - /** - * Register a data binding - * - * @param dataBinding - */ - void addDataBinding(DataBinding dataBinding); - - /** - * Look up a data binding by id - * - * @param id The name of the databinding - * @return The databinding - */ - DataBinding getDataBinding(String id); - - /** - * Unregister a data binding - * - * @param id - * @return The unregistered databinding - */ - DataBinding removeDataBinding(String id); - - /** - * Introspect the java class to figure out what DataType supports it. - * - * @param dataType The initial data type - * @param operation TODO - * @return A DataType representing the java type or null if no databinding - * recognizes the java type - */ - boolean introspectType(DataType dataType, Operation operation); - - /** - * Introspect the value to figure out the corresponding DataType - * - * @param value The object value - * @param operation TODO - * @return A DataType representing the value or null if no databinding - * recognizes the value - */ - DataType introspectType(Object value, Operation operation); -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DataPipe.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DataPipe.java deleted file mode 100644 index 505a810276..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DataPipe.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.databinding; - -/** - * Data pipe allows a data source pushes data into its sink and pipe the data into its result - * - * @param The data binding type of the sink - * @param The data binding type of the result - * - * @version $Rev$ $Date$ - */ -public interface DataPipe { - - /** - * Returns a sink (for example, java.io.OutputStream, java.io.Writer or org.xml.sax.ContentHandler) to receive data - * pushed by the source - * - * @return The sink to consume data - */ - S getSink(); - - /** - * Returns the data populated by the sink - * - * @return - */ - R getResult(); - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DataPipeTransformer.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DataPipeTransformer.java deleted file mode 100644 index 1aac6d48be..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DataPipeTransformer.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.databinding; - -/** - * Data pipe allows a data source pushes data into its sink and pipe the data into its result - * - * @version $Rev$ $Date$ - */ -public interface DataPipeTransformer extends Transformer { - - DataPipe newInstance(); -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java deleted file mode 100644 index e0860ff395..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java +++ /dev/null @@ -1,243 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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; - -import java.io.IOException; -import java.lang.reflect.Constructor; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.apache.tuscany.sca.databinding.javabeans.JavaBeansDataBinding; -import org.apache.tuscany.sca.databinding.javabeans.JavaExceptionDataBinding; -import org.apache.tuscany.sca.extensibility.ServiceDeclaration; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; -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; - -/** - * The default implementation of a data binding extension point. - * - * @version $Rev$ $Date$ - */ -public class DefaultDataBindingExtensionPoint implements DataBindingExtensionPoint { - private final Map bindings = new HashMap(); - private final List databindings = new ArrayList(); - private static final Logger logger = Logger.getLogger(DefaultDataBindingExtensionPoint.class.getName()); - private boolean loadedDataBindings; - - public DefaultDataBindingExtensionPoint() { - } - - public DataBinding getDataBinding(String id) { - if (id == null) { - return null; - } - DataBinding dataBinding = bindings.get(id.toLowerCase()); - if (dataBinding == null) { - loadDataBindings(); - dataBinding = bindings.get(id.toLowerCase()); - } - return dataBinding; - } - - public void addDataBinding(DataBinding dataBinding) { - if (logger.isLoggable(Level.FINE)) { - String className = dataBinding.getClass().getName(); - boolean lazy = false; - if (dataBinding instanceof LazyDataBinding) { - className = ((LazyDataBinding)dataBinding).dataBindingDeclaration.getClassName(); - lazy = true; - } - logger.fine("Adding databinding: " + className + ";name=" + dataBinding.getName() + ",lazy=" + lazy); - } - databindings.add(dataBinding); - bindings.put(dataBinding.getName().toLowerCase(), dataBinding); - - } - - public DataBinding removeDataBinding(String id) { - if (id == null) { - return null; - } - DataBinding dataBinding = bindings.remove(id.toLowerCase()); - if (dataBinding != null) { - databindings.remove(dataBinding); - } - return dataBinding; - } - - /** - * Dynamically load data bindings declared under META-INF/services - */ - private synchronized void loadDataBindings() { - if (loadedDataBindings) - return; - - // Get the databinding service declarations - Set dataBindingDeclarations; - try { - dataBindingDeclarations = ServiceDiscovery.getInstance().getServiceDeclarations(DataBinding.class); - } catch (IOException e) { - throw new IllegalStateException(e); - } - - // Load data bindings - for (ServiceDeclaration dataBindingDeclaration : dataBindingDeclarations) { - Map attributes = dataBindingDeclaration.getAttributes(); - String name = attributes.get("name"); - - // Create a data binding wrapper and register it - DataBinding dataBinding = new LazyDataBinding(name, dataBindingDeclaration); - addDataBinding(dataBinding); - } - - loadedDataBindings = true; - } - - /** - * A data binding facade allowing data bindings to be lazily loaded and - * initialized. - */ - private static class LazyDataBinding implements DataBinding { - - private String name; - private ServiceDeclaration dataBindingDeclaration; - private DataBinding dataBinding; - - private LazyDataBinding(String type, ServiceDeclaration dataBindingDeclaration) { - this.name = type; - this.dataBindingDeclaration = dataBindingDeclaration; - } - - /** - * Load and instantiate the data binding class. - * - * @return The data binding. - */ - @SuppressWarnings("unchecked") - private DataBinding getDataBinding() { - if (dataBinding == null) { - try { - Class dataBindingClass = (Class)dataBindingDeclaration.loadClass(); - Constructor constructor = dataBindingClass.getConstructor(); - dataBinding = constructor.newInstance(); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return dataBinding; - } - - public Object copy(Object object, DataType dataType, Operation operation) { - return getDataBinding().copy(object, dataType, operation); - } - - public String getName() { - return name; - } - - public XMLTypeHelper getXMLTypeHelper() { - return getDataBinding().getXMLTypeHelper(); - } - - public WrapperHandler getWrapperHandler() { - return getDataBinding().getWrapperHandler(); - } - - public boolean introspect(DataType dataType, Operation operation) { - return getDataBinding().introspect(dataType, operation); - } - - public DataType introspect(Object value, Operation operation) { - return getDataBinding().introspect(value, operation); - } - } - - //FIXME The following methods should not be on the extension point - // they should be on a separate class - public boolean introspectType(DataType dataType, Operation operation) { - loadDataBindings(); - for (DataBinding binding : databindings) { - // don't introspect for JavaBeansDatabinding as all javatypes will - // anyways match to its basetype - // which is java.lang.Object. Default to this only if no databinding - // results - if (!binding.getName().equals(JavaBeansDataBinding.NAME)) { - if (binding.introspect(dataType, operation)) { - return true; - } - } - } - // FIXME: Should we honor the databinding from operation/interface - // level? - Class physical = dataType.getPhysical(); - if (physical == Object.class) { - dataType.setDataBinding(JavaBeansDataBinding.NAME); - return false; - } - if (dataType.getPhysical().isArray()) { - introspectArray(dataType, operation); - return true; - } else if (Throwable.class.isAssignableFrom(physical)) { - dataType.setDataBinding(JavaExceptionDataBinding.NAME); - return true; - } else { - dataType.setDataBinding(JavaBeansDataBinding.NAME); - return false; - } - } - - private boolean introspectArray(DataType dataType, Operation operation) { - Class physical = dataType.getPhysical(); - if (!physical.isArray() || physical == byte[].class) { - return false; - } - Class componentType = physical.getComponentType(); - DataType logical = new DataTypeImpl(componentType, dataType.getLogical()); - introspectType(logical, operation); - dataType.setDataBinding("java:array"); - dataType.setLogical(logical); - return true; - } - - public DataType introspectType(Object value, Operation operation) { - loadDataBindings(); - DataType dataType = null; - for (DataBinding binding : databindings) { - // don't introspect for JavaBeansDatabinding as all javatypes will - // anyways match to its basetype - // which is java.lang.Object. Default to this only if no databinding - // results - if (!binding.getName().equals(JavaBeansDataBinding.NAME)) { - dataType = binding.introspect(value, operation); - } - if (dataType != null) { - return dataType; - } - } - return new DataTypeImpl(JavaBeansDataBinding.NAME, value.getClass(), XMLType.UNKNOWN); - } -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultTransformerExtensionPoint.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultTransformerExtensionPoint.java deleted file mode 100644 index 7aa55d2cff..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultTransformerExtensionPoint.java +++ /dev/null @@ -1,306 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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; - -import java.io.IOException; -import java.lang.reflect.Constructor; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.apache.tuscany.sca.databinding.impl.DirectedGraph; -import org.apache.tuscany.sca.extensibility.ServiceDeclaration; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; - -/** - * @version $Rev$ $Date$ - */ -public class DefaultTransformerExtensionPoint implements TransformerExtensionPoint { - private static final Logger logger = Logger.getLogger(DefaultTransformerExtensionPoint.class.getName()); - private boolean loadedTransformers; - - private final DirectedGraph graph = new DirectedGraph(); - - public DefaultTransformerExtensionPoint() { - } - - public void addTransformer(String sourceType, String resultType, int weight, Transformer transformer, boolean publicTransformer) { - if (logger.isLoggable(Level.FINE)) { - String className = transformer.getClass().getName(); - boolean lazy = false; - boolean pull = (transformer instanceof PullTransformer); - if (transformer instanceof LazyPullTransformer) { - className = ((LazyPullTransformer)transformer).transformerDeclaration.getClassName(); - lazy = true; - } - if (transformer instanceof LazyPushTransformer) { - className = ((LazyPushTransformer)transformer).transformerDeclaration.getClassName(); - lazy = true; - } - - logger.fine("Adding transformer: " + className - + ";source=" - + sourceType - + ",target=" - + resultType - + ",weight=" - + weight - + ",type=" - + (pull ? "pull" : "push") - + ",lazy=" - + lazy); - } - graph.addEdge(sourceType, resultType, transformer, weight, publicTransformer); - } - - public void addTransformer(Transformer transformer, boolean publicTransformer) { - addTransformer(transformer.getSourceDataBinding(), - transformer.getTargetDataBinding(), - transformer.getWeight(), - transformer, publicTransformer); - } - - public boolean removeTransformer(String sourceType, String resultType) { - return graph.removeEdge(sourceType, resultType); - } - - public Transformer getTransformer(String sourceType, String resultType) { - loadTransformers(); - - DirectedGraph.Edge edge = graph.getEdge(sourceType, resultType); - return (edge == null) ? null : edge.getValue(); - } - - /** - * Dynamically load transformers registered under META-INF/services. - * - */ - private synchronized void loadTransformers() { - if (loadedTransformers) { - return; - } - loadedTransformers = true; - loadTransformers(PullTransformer.class); - loadTransformers(PushTransformer.class); - - } - - /** - * Dynamically load transformers registered under META-INF/services. - * - * @param transformerClass - */ - private void loadTransformers(Class transformerClass) { - - // Get the transformer service declarations - Set transformerDeclarations; - - try { - transformerDeclarations = ServiceDiscovery.getInstance().getServiceDeclarations(transformerClass); - - } catch (IOException e) { - throw new IllegalStateException(e); - } - - // Load transformers - for (ServiceDeclaration transformerDeclaration : transformerDeclarations) { - Map attributes = transformerDeclaration.getAttributes(); - - String source = attributes.get("source"); - String target = attributes.get("target"); - int weight = Integer.valueOf(attributes.get("weight")); - String b = attributes.get("public"); - boolean pub = true; - if (b != null) { - pub = Boolean.valueOf(b); - } - - // Create a transformer wrapper and register it - Transformer transformer; - if (transformerClass == PullTransformer.class) { - transformer = new LazyPullTransformer(source, target, weight, transformerDeclaration); - } else { - transformer = new LazyPushTransformer(source, target, weight, transformerDeclaration); - } - addTransformer(transformer, pub); - } - } - - /** - * A transformer facade allowing transformers to be lazily loaded - * and initialized. - */ - private static class LazyPullTransformer implements PullTransformer { - - private String source; - private String target; - private int weight; - private ServiceDeclaration transformerDeclaration; - private PullTransformer transformer; - - public LazyPullTransformer(String source, String target, int weight, ServiceDeclaration transformerDeclaration) { - this.source = source; - this.target = target; - this.weight = weight; - this.transformerDeclaration = transformerDeclaration; - } - - /** - * Load and instantiate the transformer class. - * - * @return The transformer. - */ - @SuppressWarnings("unchecked") - private PullTransformer getTransformer() { - if (transformer == null) { - try { - Class> transformerClass = - (Class>)transformerDeclaration.loadClass(); - Constructor> constructor = transformerClass.getConstructor(); - transformer = constructor.newInstance(); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return transformer; - } - - public String getSourceDataBinding() { - return source; - } - - public String getTargetDataBinding() { - return target; - } - - public int getWeight() { - return weight; - } - - public Object transform(Object source, TransformationContext context) { - return getTransformer().transform(source, context); - } - - @Override - public String toString() { - StringBuffer sb = new StringBuffer(super.toString()); - sb.append(";className=").append(transformerDeclaration.getClassName()); - return sb.toString(); - } - } - - /** - * A transformer facade allowing transformers to be lazily loaded - * and initialized. - */ - private static class LazyPushTransformer implements PushTransformer { - - private String source; - private String target; - private int weight; - private ServiceDeclaration transformerDeclaration; - private PushTransformer transformer; - - public LazyPushTransformer(String source, String target, int weight, ServiceDeclaration transformerDeclaration) { - this.source = source; - this.target = target; - this.weight = weight; - this.transformerDeclaration = transformerDeclaration; - } - - /** - * Load and instantiate the transformer class. - * - * @return The transformer. - */ - @SuppressWarnings("unchecked") - private PushTransformer getTransformer() { - if (transformer == null) { - try { - Class> transformerClass = - (Class>)transformerDeclaration.loadClass(); - Constructor> constructor = transformerClass.getConstructor(); - transformer = constructor.newInstance(); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return transformer; - } - - public String getSourceDataBinding() { - return source; - } - - public String getTargetDataBinding() { - return target; - } - - public int getWeight() { - return weight; - } - - public void transform(Object source, Object sink, TransformationContext context) { - getTransformer().transform(source, sink, context); - } - - @Override - public String toString() { - StringBuffer sb = new StringBuffer(super.toString()); - sb.append(";className=").append(transformerDeclaration.getClassName()); - return sb.toString(); - } - } - - //FIXME The following methods should be on a different class from - // extension point - - public List getTransformerChain(String sourceType, String resultType) { - loadTransformers(); - - String source = sourceType; - String result = resultType; - List transformers = new ArrayList(); - // First check if there is a direct path, if yes, use it regardless of the weight - DirectedGraph.Edge link = graph.getEdge(sourceType, resultType); - if (link != null) { - transformers.add(link.getValue()); - } else { - DirectedGraph.Path path = graph.getShortestPath(source, result); - if (path == null) { - return null; - } - for (DirectedGraph.Edge edge : path.getEdges()) { - transformers.add(edge.getValue()); - } - } - return transformers; - } - - @Override - public String toString() { - loadTransformers(); - - return graph.toString(); - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/Mediator.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/Mediator.java deleted file mode 100644 index 6b8acfc7b4..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/Mediator.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.databinding; - -import java.util.Map; - -import org.apache.tuscany.sca.interfacedef.DataType; - -/** - * This interface will be used as a Tuscany system service to perform data mediations - * - * Mediate the data from one type to the other one - * - * @version $Rev$ $Date$ - */ -public interface Mediator { - - /** - * Mediate the data from the source type to the target type - * @param source The data to be mediated - * @param sourceDataType Data type for the source data - * @param targetDataType Data type for the target data - * @param context - * @return - */ - Object mediate(Object source, DataType sourceDataType, DataType targetDataType, Map context); - /** - * Mediate the source data into the target which is a sink to receive the data - * @param source The data to be mediated - * @param target The sink to receive data - * @param sourceDataType Data type for the source data - * @param targetDataType Data type for the target data - */ - void mediate( - Object source, - Object target, - DataType sourceDataType, - DataType targetDataType, - Map context); - - /** - * Get the DataBindings used by this mediator. - * @return - */ - DataBindingExtensionPoint getDataBindings(); - - /** - * Get the Transformers used by this mediator. - * @return - */ - TransformerExtensionPoint getTransformers(); -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/PullTransformer.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/PullTransformer.java deleted file mode 100644 index 81264923eb..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/PullTransformer.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; - -/** - * PullTransformer transforms data from one binding format to the other one which can be directly consumed - * - * @param The source data type - * @param the target data type - * - * @version $Rev$ $Date$ - */ -public interface PullTransformer extends Transformer { - /** - * Transform source data into the result type. - * - * @param source The source data - * @param context The context for the transformation - * @return The transformed result - */ - R transform(S source, TransformationContext context); -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/PushTransformer.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/PushTransformer.java deleted file mode 100644 index 600a6477f6..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/PushTransformer.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; - -/** - * A transformer that pushes data from its source into the sink - * - * @param - * @param - * - * @version $Rev$ $Date$ - */ -public interface PushTransformer extends Transformer { - /** - * @param source The source data - * @param sink The sink to receive the data - * @param context - */ - void transform(S source, R sink, TransformationContext context); -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/SimpleTypeMapper.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/SimpleTypeMapper.java deleted file mode 100644 index 4e6d130aa9..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/SimpleTypeMapper.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.databinding; - -import javax.xml.namespace.QName; - -/** - * Type Mapper between XML schema simple data types and java objects - * - * @version $Rev$ $Date$ - */ -public interface SimpleTypeMapper { - /** - * Parse the XML lexical representation into a java object - * @param simpleType The XSD simple type - * @param value the XML lexical representation - * @param context The context of the transformation - * @return A java object for the XML value - */ - Object toJavaObject(QName simpleType, String value, TransformationContext context); - /** - * Create the XML lexical representation for a java object - * @param simpleType The XSD simple type - * @param obj The java object - * @param context The context of the transformation - * @return The XML lexical representation - */ - String toXMLLiteral(QName simpleType, Object obj, TransformationContext context); -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/TransformationContext.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/TransformationContext.java deleted file mode 100644 index 9ffadd1eae..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/TransformationContext.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; - -import java.util.Map; - -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; - -/** - * Context for data transformation - * - * @version $Rev$ $Date$ - */ -public interface TransformationContext { - - /** - * @return - */ - Operation getSourceOperation(); - - /** - * @param sourceOperation - */ - void setSourceOperation(Operation sourceOperation); - - /** - * @return - */ - Operation getTargetOperation(); - - /** - * @param targetOperation - */ - void setTargetOperation(Operation targetOperation); - - /** - * Get the source data type - * - * @return - */ - DataType getSourceDataType(); - - /** - * Get the target data type - * - * @return - */ - DataType getTargetDataType(); - - /** - * Set the source data type - * - * @param sourceDataType - */ - void setSourceDataType(DataType sourceDataType); - - /** - * Set the target data type - * - * @param targetDataType - */ - void setTargetDataType(DataType targetDataType); - - /** - * Get the ClassLoader - * - * @return Returns the ClassLoader - */ - ClassLoader getClassLoader(); - - /** - * Get a map of metadata - * - * @return Returns a map of the metadata - */ - Map getMetadata(); - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/TransformationException.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/TransformationException.java deleted file mode 100644 index 4f949f7dff..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/TransformationException.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.databinding; - - -/** - * Reports problems during data transformation - * - * @version $Rev$ $Date$ - */ -public class TransformationException extends RuntimeException { - - private static final long serialVersionUID = 7662385613693006428L; - private String sourceDataBinding; - private String targetDataBinding; - - public TransformationException() { - super(); - } - - public TransformationException(String message, Throwable cause) { - super(message, cause); - } - - public TransformationException(String message) { - super(message); - } - - public TransformationException(Throwable cause) { - super(cause); - } - - public String getSourceDataBinding() { - return sourceDataBinding; - } - - public void setSourceDataBinding(String sourceDataBinding) { - this.sourceDataBinding = sourceDataBinding; - } - - public String getTargetDataBinding() { - return targetDataBinding; - } - - public void setTargetDataBinding(String targetDataBinding) { - this.targetDataBinding = targetDataBinding; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/Transformer.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/Transformer.java deleted file mode 100644 index 2aa0ad7c15..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/Transformer.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.databinding; - -/** - * A transformer provides the data transformation from source type to target type. The cost of the transformation is - * modelled as weight. - * - * @version $Rev$ $Date$ - */ -public interface Transformer { - /** - * Get the source type that this transformer transforms data from. The type is used as the key when the transformer - * is registered with TransformerRegistry. - * - * @return A key identifying the source type - */ - String getSourceDataBinding(); - - /** - * Get the target type that this transformer transforms data into. The type is used as the key when the transformer - * is registered with TransformerRegistry. - * - * @return A key identifying the target type - */ - String getTargetDataBinding(); - - /** - * Get the cost of the transformation. The weight can be used to choose the most efficient path if there are more - * than one available from the source to the target. - * - * @return An integer representing the cost of the transformation - */ - int getWeight(); -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/TransformerExtensionPoint.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/TransformerExtensionPoint.java deleted file mode 100644 index ee7efe4860..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/TransformerExtensionPoint.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.databinding; - -import java.util.List; - -/** - * An extension point for data transformer extensions. - * - * @version $Rev$ $Date$ - */ -public interface TransformerExtensionPoint { - - /** - * Register a transformer - * - * @param sourceDataBinding - * @param targetDataBinding - * @param weight - * @param transformer - * @param publicTransformer TODO - */ - void addTransformer(String sourceDataBinding, - String targetDataBinding, - int weight, - Transformer transformer, - boolean publicTransformer); - - /** - * Register a transformer - * - * @param transformer - * @param publicTransformer TODO - */ - void addTransformer(Transformer transformer, boolean publicTransformer); - - /** - * Unregister a transformer - * - * @param sourceDataBinding - * @param targetDataBinding - * @return - */ - boolean removeTransformer(String sourceDataBinding, String targetDataBinding); - - /** - * Get the direct Transformer which can transform data from source type to - * result type - * - * @param sourceDataBinding - * @param targetDataBinding - * @return - */ - Transformer getTransformer(String sourceDataBinding, String targetDataBinding); - - /** - * Get the a chain of Transformers which can transform data from source type - * to result type - * - * @param sourceDataBinding - * @param targetDataBinding - * @return - */ - List getTransformerChain(String sourceDataBinding, String targetDataBinding); -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/WrapperHandler.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/WrapperHandler.java deleted file mode 100644 index a91410ed71..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/WrapperHandler.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.databinding; - -import java.util.List; - -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; - -/** - * A contract for transformers to deal with wrapping/unwrapping for WSDL wrapper style operations - * - * @version $Rev$ $Date$ - */ -public interface WrapperHandler { - /** - * Create a wrapper element - * @param operation The operation - * @param input Is it for input or output - * @return An object representing the wrapper element - */ - T create(Operation operation, boolean input); - - /** - * Get the data type for the wrapper - * @param operation The operation - * @param input Is it for input or output? - * @return The data type of the wrapper, null if it's not a wrapper type - */ - DataType getWrapperType(Operation operation, boolean input); - - /** - * Check if the given data is an instance of the wrapper - * @param wrapper - * @param operation The operation - * @param input Input or output - * @return - */ - boolean isInstance(Object wrapper, Operation operation, boolean input); - - /** - * Populate the wrapper element with the child objects - * @param wrapper The wrapper object - * @param childObjects The child objects - * @param operation The operation - * @param input Is it for input or output - */ - public void setChildren(T wrapper, - Object[] childObjects, - Operation operation, - boolean input); - - /** - * Get a list of child elements from the wrapper - * @param wrapper The wrapper object - * @param operation The operation - * @param input Is it for input or output - * @return child elements under the wrapper - */ - List getChildren(T wrapper, Operation operation, boolean input); -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/XMLTypeHelper.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/XMLTypeHelper.java deleted file mode 100644 index e940f8675f..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/XMLTypeHelper.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.databinding; - -import java.util.List; - -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Interface; -import org.apache.tuscany.sca.interfacedef.util.TypeInfo; -import org.apache.tuscany.sca.xsd.XSDFactory; -import org.apache.tuscany.sca.xsd.XSDefinition; - -/** - * XML and schema helper for Java types - */ -public interface XMLTypeHelper { - - // FIXME: This method seems to require the XMLHelper instance to be stateful - /** - * Convert a Java type into XML type information - * @param javaType the physical Java class - * @param logical the logical type information - * @return the XML type information - */ - TypeInfo getTypeInfo(Class javaType, Object logical); - - /** - * Get schema definitions for the Java types known to this helper - * @return A list of schema definitions - */ - // List getSchemaDefinitions(XSDFactory factory, ModelResolver resolver); - - /** - * Get a list of XML schemas for the given data types - * @param factory - * @param resolver - * @param dataTypes - * @return - */ - List getSchemaDefinitions(XSDFactory factory, ModelResolver resolver, List dataTypes); - /** - * Get a list of XML schemas for the given interface - * @param factory - * @param resolver - * @param intf - * @return - */ - List getSchemaDefinitions(XSDFactory factory, ModelResolver resolver, Interface intf); - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/annotation/DataBinding.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/annotation/DataBinding.java deleted file mode 100644 index 4405077e29..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/annotation/DataBinding.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.databinding.annotation; - -import static java.lang.annotation.ElementType.METHOD; -import static java.lang.annotation.ElementType.TYPE; -import static java.lang.annotation.RetentionPolicy.RUNTIME; - -import java.lang.annotation.Retention; -import java.lang.annotation.Target; - -/** - * Used to demarcate the mapping style for an interface or operation - * - * @version $Rev$ $Date$ - */ -// FIXME: [rfeng] We should consider to use javax.jws.soap.SOAPBinding -@Target({TYPE, METHOD}) -@Retention(RUNTIME) -public @interface DataBinding { - - /** - * Indicate the effective databinding that controls the WSDL/Java mapping of the - * interface/operation - * - * @return the data binding with the MIME media type syntax - */ - String value(); - - /** - * Indicate if the operation is mapped using WRAPPED or BARE style. Originated from - * javax.jws.soap.SOAPBinding.ParameterStyle: Determines whether method parameters - * represent the entire message body, or whether the parameters are elements wrapped - * inside a top-level element named after the operation - * - * @return true if the parameter style is WRAPPED, false if BARE - */ - boolean wrapped() default false; - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/annotation/DataType.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/annotation/DataType.java deleted file mode 100644 index 650e909c61..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/annotation/DataType.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.databinding.annotation; - -import static java.lang.annotation.ElementType.METHOD; -import static java.lang.annotation.ElementType.PARAMETER; -import static java.lang.annotation.RetentionPolicy.RUNTIME; - -import java.lang.annotation.Retention; -import java.lang.annotation.Target; - -/** - * Used to demarcate expected data types for parameters and return type - * - * @version $Rev$ $Date$ - */ -@Target( {METHOD, PARAMETER}) -@Retention(RUNTIME) -public @interface DataType { - - /** - * Returns the data binding configuration in MIME media type syntax - * @return the data binding - */ - String value(); - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/externalizable/ExternalizableDataBinding.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/externalizable/ExternalizableDataBinding.java deleted file mode 100644 index 6f3456fdf0..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/externalizable/ExternalizableDataBinding.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.databinding.externalizable; - -import org.apache.tuscany.sca.databinding.impl.BaseDataBinding; - -/** - * DataNinding for Externalizable objects. - * - * @version $Rev$ $Date$ - */ -public class ExternalizableDataBinding extends BaseDataBinding { - - public static final String NAME = java.io.Externalizable.class.getName(); - - public ExternalizableDataBinding() { - super(NAME, java.io.Externalizable.class); - } - - - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/BaseDataBinding.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/BaseDataBinding.java deleted file mode 100644 index 04c2f0e0c9..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/BaseDataBinding.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - - -import org.apache.tuscany.sca.databinding.DataBinding; -import org.apache.tuscany.sca.databinding.SimpleTypeMapper; -import org.apache.tuscany.sca.databinding.WrapperHandler; -import org.apache.tuscany.sca.databinding.XMLTypeHelper; -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; - -/** - * Base Implementation of DataBinding - * - * @version $Rev$ $Date$ - */ -public abstract class BaseDataBinding implements DataBinding { - - private Class baseType; - - private String name; - - /** - * Create a databinding with the base java type whose name will be used as - * the name of the databinding - * - * @param baseType The base java class or interface representing the - * databinding, for example, org.w3c.dom.Node - */ - protected BaseDataBinding(Class baseType) { - this(baseType.getName(), baseType); - } - - /** - * Create a databinding with the name and base java type - * - * @param name The name of the databinding - * @param baseType The base java class or interface representing the - * databinding, for example, org.w3c.dom.Node - */ - protected BaseDataBinding(String name, Class baseType) { - this.name = name; - this.baseType = baseType; - } - - @SuppressWarnings("unchecked") - public boolean introspect(DataType type, Operation operation) { - assert type != null; - Class cls = type.getPhysical(); - if (baseType != null && baseType.isAssignableFrom(cls)) { - type.setDataBinding(getName()); - if (type.getLogical() == null) { - type.setLogical(XMLType.UNKNOWN); - } - return true; - } - return false; - } - - public DataType introspect(Object value, Operation operation) { - if (value == null) { - return null; - } else { - DataType dataType = new DataTypeImpl(value.getClass(), value.getClass()); - if (introspect(dataType, (Operation) null)) { - return dataType; - } else { - return null; - } - } - } - - public final String getName() { - return name; - } - - /** - * @see org.apache.tuscany.sca.databinding.DataBinding#getWrapperHandler() - */ - public WrapperHandler getWrapperHandler() { - return null; - } - - public Object copy(Object object, DataType dataType, Operation operation) { - return object; - } - - public XMLTypeHelper getXMLTypeHelper() { - return null; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/BaseTransformer.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/BaseTransformer.java deleted file mode 100644 index 94a2cdb0bb..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/BaseTransformer.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import org.apache.tuscany.sca.databinding.Transformer; - -/** - * Base Implementation of Transformer which provides the registration to the - * transformer registry - * - * @version $Rev$ $Date$ - */ -public abstract class BaseTransformer implements Transformer { - - protected BaseTransformer() { - super(); - } - - protected abstract Class getSourceType(); - - protected abstract Class getTargetType(); - - public String getSourceDataBinding() { - return getSourceType().getName(); - } - - public String getTargetDataBinding() { - return getTargetType().getName(); - } - - public int getWeight() { - // default to 50 - return 50; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/DOMHelper.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/DOMHelper.java deleted file mode 100644 index 64b3d22c10..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/DOMHelper.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.databinding.impl; - -import javax.xml.namespace.QName; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; - -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.w3c.dom.Attr; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; - -/** - * Helper for DOM - * - * @version $Rev$ $Date$ - */ -public final class DOMHelper { - private static DocumentBuilderFactory FACTORY; - - private DOMHelper() { - } - - public static Document newDocument() throws ParserConfigurationException { - return newDocumentBuilder().newDocument(); - } - - public static DocumentBuilder newDocumentBuilder() throws ParserConfigurationException { - init(); - return FACTORY.newDocumentBuilder(); - } - - /** - * - */ - private static synchronized void init() { - if (FACTORY == null) { - FACTORY = DocumentBuilderFactory.newInstance(); - FACTORY.setNamespaceAware(true); - } - } - - public static QName getQName(Node node) { - String ns = node.getNamespaceURI(); - if (ns == null) { - ns = ""; - } - // node.getLocalName() will return null if it is created using DOM Level - // 1 method - // such as createElement() - return new QName(ns, node.getNodeName()); - } - - public static Element createElement(Document document, QName name) { - String prefix = name.getPrefix(); - String qname = - (prefix != null && prefix.length() > 0) ? prefix + ":" + name.getLocalPart() : name.getLocalPart(); - return document.createElementNS(name.getNamespaceURI(), qname); - } - - /** - * Wrap an element as a DOM document - * @param node - * @return - */ - public static Document promote(Node node) { - if (node instanceof Document) { - return (Document)node; - } - Element element = (Element)node; - Document doc = element.getOwnerDocument(); - if (doc.getDocumentElement() == element) { - return doc; - } - doc = (Document)element.getOwnerDocument().cloneNode(false); - Element schema = (Element)doc.importNode(element, true); - doc.appendChild(schema); - Node parent = element.getParentNode(); - while (parent instanceof Element) { - Element root = (Element)parent; - NamedNodeMap nodeMap = root.getAttributes(); - for (int i = 0; i < nodeMap.getLength(); i++) { - Attr attr = (Attr)nodeMap.item(i); - String name = attr.getName(); - if ("xmlns".equals(name) || name.startsWith("xmlns:")) { - if (schema.getAttributeNode(name) == null) { - schema.setAttributeNodeNS((Attr)doc.importNode(attr, true)); - } - } - } - parent = parent.getParentNode(); - } - return doc; - } - - /** - * @param context - * @param element - */ - public static Element adjustElementName(TransformationContext context, Element element) { - if (context != null) { - DataType dataType = context.getTargetDataType(); - Object logical = dataType == null ? null : dataType.getLogical(); - if (!(logical instanceof XMLType)) { - return element; - } - XMLType xmlType = (XMLType)logical; - QName name = new QName(element.getNamespaceURI(), element.getLocalName()); - if (xmlType.isElement() && !xmlType.getElementName().equals(name)) { - QName newName = xmlType.getElementName(); - String prefix = newName.getPrefix(); - String qname = newName.getLocalPart(); - if (prefix != null && !prefix.equals("")) { - qname = prefix + ":" + qname; - } - Document doc = element.getOwnerDocument(); - Element newElement = doc.createElementNS(newName.getNamespaceURI(), qname); - // Copy the attributes to the new element - NamedNodeMap attrs = element.getAttributes(); - for (int i = 0; i < attrs.getLength(); i++) { - Attr attr = (Attr)doc.importNode(attrs.item(i), true); - newElement.getAttributes().setNamedItem(attr); - } - - // Move all the children - while (element.hasChildNodes()) { - newElement.appendChild(element.getFirstChild()); - } - - // Replace the old node with the new node - if (element.getParentNode() != null) { - element.getParentNode().replaceChild(newElement, element); - } - - return newElement; - } - } - return element; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/DirectedGraph.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/DirectedGraph.java deleted file mode 100644 index 01916dfb96..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/DirectedGraph.java +++ /dev/null @@ -1,452 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; - -/** - * Directed, weighted graph - * - * @param The type of vertex object - * @param The type of edge object - * - * @version $Rev$ $Date$ - */ -public class DirectedGraph implements Cloneable { - private final Map vertices = new HashMap(); - - /** - * Key for the shortest path cache - */ - private final class VertexPair { - private Vertex source; - - private Vertex target; - - /** - * @param source - * @param target - */ - private VertexPair(Vertex source, Vertex target) { - super(); - this.source = source; - this.target = target; - } - - @Override - public boolean equals(Object object) { - if (!VertexPair.class.isInstance(object)) { - return false; - } - VertexPair pair = (VertexPair)object; - return source == pair.source && target == pair.target; - } - - @Override - public int hashCode() { - int x = source == null ? 0 : source.hashCode(); - int y = target == null ? 0 : target.hashCode(); - return x ^ y; - } - - } - - // Fix for TUSCANY-2069, making the map concurrent - private final Map paths = new ConcurrentHashMap(); - private final Path NULL_PATH = new Path(); - - /** - * Vertex of a graph - */ - public final class Vertex { - private V value; - - // TODO: Do we want to support multiple edges for a vertex pair? If so, - // we should use a List instead of Map - private Map outEdges = new HashMap(); - private Map inEdges = new HashMap(); - - private Vertex(V value) { - this.value = value; - } - - @Override - public String toString() { - return "(" + value + ")"; - } - - public V getValue() { - return value; - } - - public Map getOutEdges() { - return outEdges; - } - - public Map getInEdges() { - return inEdges; - } - - } - - /** - * An Edge connects two vertices in one direction - */ - public final class Edge { - private Vertex sourceVertex; - - private Vertex targetVertex; - - private E value; - - private int weight; - - private boolean pub = true; - - public Edge(Vertex source, Vertex target, E value, int weight, boolean pub) { - this.sourceVertex = source; - this.targetVertex = target; - this.value = value; - this.weight = weight; - this.pub = pub; - } - - @Override - public String toString() { - return sourceVertex + "->" + targetVertex + "[" + value + "," + weight + "]"; - } - - public E getValue() { - return value; - } - - public void setValue(E value) { - this.value = value; - } - - public Vertex getTargetVertex() { - return targetVertex; - } - - public void setTargetVertex(Vertex vertex) { - this.targetVertex = vertex; - } - - public int getWeight() { - return weight; - } - - public void setWeight(int weight) { - this.weight = weight; - } - - public Vertex getSourceVertex() { - return sourceVertex; - } - - public void setSourceVertex(Vertex sourceVertex) { - this.sourceVertex = sourceVertex; - } - - public boolean isPublic() { - return pub; - } - - public void setPublic(boolean pub) { - this.pub = pub; - } - } - - private final class Node implements Comparable { - - private long distance = Integer.MAX_VALUE; - - private Node previous; // NOPMD by rfeng on 9/26/06 9:17 PM - - private Vertex vertex; // NOPMD by rfeng on 9/26/06 9:17 PM - - private Node(Vertex vertex) { - this.vertex = vertex; - } - - public int compareTo(Node o) { - return (distance > o.distance) ? 1 : ((distance == o.distance) ? 0 : -1); - } - } - - public void addEdge(V source, V target, E edgeValue, int weight, boolean publicEdge) { - Vertex s = getVertex(source); - if (s == null) { - s = new Vertex(source); - vertices.put(source, s); - } - Vertex t = getVertex(target); - if (t == null) { - t = new Vertex(target); - vertices.put(target, t); - } - Edge edge = new Edge(s, t, edgeValue, weight, publicEdge); - s.outEdges.put(t, edge); - t.inEdges.put(s, edge); - } - - public void addEdge(V soure, V target) { - addEdge(soure, target, null, 0, true); - } - - public Vertex getVertex(V source) { - Vertex s = vertices.get(source); - return s; - } - - public boolean removeEdge(V source, V target) { - Vertex s = getVertex(source); - if (s == null) { - return false; - } - - Vertex t = getVertex(target); - if (t == null) { - return false; - } - - return s.outEdges.remove(t) != null && t.inEdges.remove(s) != null; - - } - - public void removeEdge(Edge edge) { - edge.sourceVertex.outEdges.remove(edge.targetVertex); - edge.targetVertex.inEdges.remove(edge.sourceVertex); - } - - public void removeVertex(Vertex vertex) { - vertices.remove(vertex.getValue()); - for (Edge e : new ArrayList(vertex.outEdges.values())) { - removeEdge(e); - } - for (Edge e : new ArrayList(vertex.inEdges.values())) { - removeEdge(e); - } - } - - public Edge getEdge(Vertex source, Vertex target) { - return source.outEdges.get(target); - } - - public Edge getEdge(V source, V target) { - Vertex sv = getVertex(source); - if (sv == null) { - return null; - } - Vertex tv = getVertex(target); - if (tv == null) { - return null; - } - return getEdge(getVertex(source), getVertex(target)); - } - - /** - * Get the shortest path from the source vertex to the target vertex using - * Dijkstra's algorithm. If there's no path, null will be returned. If the - * source is the same as the target, it returns a path with empty edges with - * weight 0. - * - * @param sourceValue The value identifies the source - * @param targetValue The value identifies the target - * @return The shortest path - */ - public Path getShortestPath(V sourceValue, V targetValue) { - Vertex source = getVertex(sourceValue); - if (source == null) { - return null; - } - Vertex target = getVertex(targetValue); - if (target == null) { - return null; - } - - VertexPair pair = new VertexPair(source, target); - Path path = null; - if (paths.containsKey(pair)) { - path = paths.get(pair); - return path == NULL_PATH? null: path; - } - - // Check if there is a direct link, if yes, use it instead - Edge direct = getEdge(source, target); - path = new Path(); - if (direct != null) { - path.addEdge(direct); - paths.put(pair, path); - return path; - } - - Map nodes = new HashMap(); - for (Vertex v : vertices.values()) { - Node node = new Node(v); - if (v == source) { - node.distance = 0; - } - nodes.put(v, node); - } - - Set otherNodes = new HashSet(nodes.values()); - Set nodesOnPath = new HashSet(); - Node nextNode = null; - while (!otherNodes.isEmpty()) { - nextNode = extractMin(otherNodes); - if (nextNode.vertex == target) { - path = getPath(nextNode); - paths.put(pair, path); // Cache it - return path == NULL_PATH? null: path; - } - nodesOnPath.add(nextNode); - for (Edge edge : nextNode.vertex.outEdges.values()) { - Node adjacentNode = nodes.get(edge.targetVertex); - // The private edge can only be used if the edge connects to the target directly - if (edge.isPublic() || edge.getTargetVertex() == target) { - if (nextNode.distance + edge.weight < adjacentNode.distance) { - adjacentNode.distance = nextNode.distance + edge.weight; - adjacentNode.previous = nextNode; - } - } - } - } - paths.put(pair, NULL_PATH); // Cache it - return null; - } - - /** - * Searches for the vertex u in the vertex set Q that has the least d[u] - * value. That vertex is removed from the set Q and returned to the user. - * - * @param nodes - * @return - */ - private Node extractMin(Set nodes) { - Node node = Collections.min(nodes); - nodes.remove(node); - return node; - } - - /** - * The path between two vertices - */ - public final class Path { - private List edges = new LinkedList(); - - private int weight; - - public int getWeight() { - return weight; - } - - public List getEdges() { - return edges; - } - - public void addEdge(Edge edge) { - edges.add(0, edge); - weight += edge.weight; - } - - @Override - public String toString() { - return edges + ", " + weight; - } - } - - private Path getPath(Node t) { - if (t.distance == Integer.MAX_VALUE) { - return NULL_PATH; - } - Path path = new Path(); - Node u = t; - while (u.previous != null) { - Edge edge = getEdge(u.previous.vertex, u.vertex); - path.addEdge(edge); - u = u.previous; - } - return path; - } - - @Override - public String toString() { - StringBuffer sb = new StringBuffer(); - for (Vertex v : vertices.values()) { - sb.append(v.outEdges.values()).append("\n"); - } - return sb.toString(); - } - - public Map getVertices() { - return vertices; - } - - public void addGraph(DirectedGraph otherGraph) { - for (Vertex v : otherGraph.vertices.values()) { - for (Edge e : v.outEdges.values()) { - addEdge(e.sourceVertex.value, e.targetVertex.value, e.value, e.weight, true); - } - } - } - - private Vertex getFirst() { - for (Vertex v : vertices.values()) { - if (v.inEdges.isEmpty()) { - return v; - } - } - if (!vertices.isEmpty()) { - throw new IllegalArgumentException("Circular ordering has been detected: " + toString()); - } else { - return null; - } - } - - public List topologicalSort(boolean readOnly) { - DirectedGraph graph = (!readOnly) ? this : (DirectedGraph)clone(); - List list = new ArrayList(); - while (true) { - Vertex v = graph.getFirst(); - if (v == null) { - break; - } - list.add(v.getValue()); - graph.removeVertex(v); - } - - return list; - } - - @Override - public Object clone() { - DirectedGraph copy = new DirectedGraph(); - copy.addGraph(this); - return copy; - } -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/Group2GroupTransformer.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/Group2GroupTransformer.java deleted file mode 100644 index cc7b40d06b..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/Group2GroupTransformer.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import org.apache.tuscany.sca.databinding.Mediator; -import org.apache.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.interfacedef.DataType; - -/** - * This is a special transformer to transform the output from one IDL to the - * other one - * - * @version $Rev$ $Date$ - */ -public class Group2GroupTransformer extends BaseTransformer implements - PullTransformer { - - protected Mediator mediator; - - /** - * @param wrapperHandler - */ - public Group2GroupTransformer() { - super(); - } - - /** - * @param mediator the mediator to set - */ - public void setMediator(Mediator mediator) { - this.mediator = mediator; - } - - @Override - public String getSourceDataBinding() { - return GroupDataBinding.NAME; - } - - @Override - public String getTargetDataBinding() { - return GroupDataBinding.NAME; - } - - /** - * @see org.apache.tuscany.sca.databinding.impl.BaseTransformer#getSourceType() - */ - @Override - protected Class getSourceType() { - return Object.class; - } - - /** - * @see org.apache.tuscany.sca.databinding.impl.BaseTransformer#getTargetType() - */ - @Override - protected Class getTargetType() { - return Object.class; - } - - /** - * @see org.apache.tuscany.sca.databinding.Transformer#getWeight() - */ - @Override - public int getWeight() { - return 10; - } - - @SuppressWarnings("unchecked") - public Object transform(Object source, TransformationContext context) { - DataType sourceType = context.getSourceDataType(); - DataType targetType = context.getTargetDataType(); - - return mediator.mediate(source, sourceType.getLogical(), targetType.getLogical(), context.getMetadata()); - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/GroupDataBinding.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/GroupDataBinding.java deleted file mode 100644 index 70efd6a5c5..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/GroupDataBinding.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; - -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -/** - * The base class for a special databinding which represents a group of other databindings - * - * @version $Rev$ $Date$ - */ -public abstract class GroupDataBinding extends BaseDataBinding { - public static final String NAME = "databinding:group"; - - /** - * Marker type is a java class or interface representing the data format. - */ - protected Class[] markerTypes; - - public GroupDataBinding(Class[] types) { - super(NAME, GroupDataBinding.class); - this.markerTypes = types; - } - - @SuppressWarnings("unchecked") - @Override - public boolean introspect(DataType type, Operation operation) { - if (markerTypes == null) { - return false; - } - Type physical = type.getPhysical(); - if (physical instanceof ParameterizedType) { - physical = ((ParameterizedType)physical).getRawType(); - } - if (!(physical instanceof Class)) { - return false; - } - Class cls = (Class)physical; - for (Class c : markerTypes) { - if (isTypeOf(c, cls)) { - type.setDataBinding(getDataBinding(c)); - Object logical = getLogical(cls, null); - if (logical != null) { - type.setLogical(getLogical(cls, null)); - } else { - type.setLogical(XMLType.UNKNOWN); - } - return true; - } - } - return false; - } - - /** - * Test if the given type is a subtype of the base type - * @param markerType - * @param type - * @return - */ - protected boolean isTypeOf(Class markerType, Class type) { - return markerType.isAssignableFrom(type); - } - - /** - * Derive the databinding name from a base class - * @param baseType - * @return - */ - protected String getDataBinding(Class baseType) { - return baseType.getName(); - } - - /** - * Get the logical type - * @param type The java type - * @param operation TODO - * @return - */ - protected abstract Object getLogical(Class type, Operation operation); - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/Java2SimpleTypeTransformer.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/Java2SimpleTypeTransformer.java deleted file mode 100644 index 45896ca6a1..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/Java2SimpleTypeTransformer.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.impl; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.SimpleTypeMapper; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.javabeans.SimpleJavaDataBinding; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -/** - * Transformer to convert data from a simple java object to a databinding's representation - * - * @version $Rev$ $Date$ - */ -public abstract class Java2SimpleTypeTransformer extends BaseTransformer implements - PullTransformer { - - protected SimpleTypeMapper mapper; - - public Java2SimpleTypeTransformer() { - this.mapper = new SimpleTypeMapperImpl(); - } - - public Java2SimpleTypeTransformer(SimpleTypeMapper mapper) { - this.mapper = (mapper != null) ? mapper : new SimpleTypeMapperImpl(); - } - - public T transform(Object source, TransformationContext context) { - XMLType xmlType = (XMLType) context.getTargetDataType().getLogical(); - String text = mapper.toXMLLiteral(xmlType.getTypeName(), source, context); - return createElement(xmlType.getElementName(), text, context); - } - - @Override - public Class getSourceType() { - return Object.class; - } - - @Override - public int getWeight() { - return 10000; - } - - protected abstract T createElement(QName element, String literal, TransformationContext context); - - @Override - public String getSourceDataBinding() { - return SimpleJavaDataBinding.NAME; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java deleted file mode 100644 index b7ddf87a41..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java +++ /dev/null @@ -1,182 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.List; -import java.util.Map; - -import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint; -import org.apache.tuscany.sca.databinding.DataPipe; -import org.apache.tuscany.sca.databinding.DataPipeTransformer; -import org.apache.tuscany.sca.databinding.Mediator; -import org.apache.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.PushTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.TransformationException; -import org.apache.tuscany.sca.databinding.Transformer; -import org.apache.tuscany.sca.databinding.TransformerExtensionPoint; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl; - -/** - * Default Mediator implementation - * - * @version $Rev$ $Date$ - */ -public class MediatorImpl implements Mediator { - - private DataBindingExtensionPoint dataBindings; - private TransformerExtensionPoint transformers; - - public MediatorImpl(DataBindingExtensionPoint dataBindings, TransformerExtensionPoint transformers) { - this.dataBindings = dataBindings; - this.transformers = transformers; - } - - @SuppressWarnings("unchecked") - public Object mediate(Object source, DataType sourceDataType, DataType targetDataType, Map metadata) { - if (sourceDataType == null || sourceDataType.getDataBinding() == null) { - if (source != null) { - Operation operation = (Operation) metadata.get("source.operation"); - sourceDataType = dataBindings.introspectType(source, operation); - } - } - if (sourceDataType == null || targetDataType == null) { - return source; - } else if (sourceDataType.equals(targetDataType)) { - return source; - } - - List path = getTransformerChain(sourceDataType, targetDataType); - - Object result = source; - int size = path.size(); - int i = 0; - while (i < size) { - Transformer transformer = path.get(i); - TransformationContext context = - createTransformationContext(sourceDataType, targetDataType, size, i, transformer, metadata); - // the source and target type - if (transformer instanceof PullTransformer) { - // For intermediate node, set data type to null - result = ((PullTransformer)transformer).transform(result, context); - } else if (transformer instanceof PushTransformer) { - DataPipeTransformer dataPipeFactory = (i < size - 1) ? (DataPipeTransformer)path.get(++i) : null; - DataPipe dataPipe = dataPipeFactory == null ? null : dataPipeFactory.newInstance(); - ((PushTransformer)transformer).transform(result, dataPipe.getSink(), context); - result = dataPipe.getResult(); - } - i++; - } - - return result; - } - - private TransformationContext createTransformationContext(DataType sourceDataType, - DataType targetDataType, - int size, - int index, - Transformer transformer, - Map metadata) { - DataType sourceType = - (index == 0) ? sourceDataType : new DataTypeImpl(transformer.getSourceDataBinding(), Object.class, - sourceDataType.getLogical()); - DataType targetType = - (index == size - 1) ? targetDataType : new DataTypeImpl(transformer.getTargetDataBinding(), - Object.class, targetDataType.getLogical()); - - //FIXME The ClassLoader should be passed in - // Allow privileged access to get ClassLoader. Requires RuntimePermission in security - // policy. - ClassLoader classLoader = AccessController.doPrivileged(new PrivilegedAction() { - public ClassLoader run() { - return Thread.currentThread().getContextClassLoader(); - } - }); - - TransformationContext context = new TransformationContextImpl(sourceType, targetType, classLoader, metadata); - return context; - } - - @SuppressWarnings("unchecked") - public void mediate(Object source, - Object target, - DataType sourceDataType, - DataType targetDataType, - Map metadata) { - if (source == null) { - // Shortcut for null value - return; - } - if (sourceDataType == null || sourceDataType.getDataBinding() == null) { - Operation operation = (Operation) metadata.get("source.operation"); - sourceDataType = dataBindings.introspectType(source, operation); - } - if (sourceDataType == null) { - return; - } else if (sourceDataType.equals(targetDataType)) { - return; - } - - List path = getTransformerChain(sourceDataType, targetDataType); - Object result = source; - int size = path.size(); - for (int i = 0; i < size; i++) { - Transformer transformer = path.get(i); - TransformationContext context = - createTransformationContext(sourceDataType, targetDataType, size, i, transformer, metadata); - - if (transformer instanceof PullTransformer) { - result = ((PullTransformer)transformer).transform(result, context); - } else if (transformer instanceof PushTransformer) { - DataPipeTransformer dataPipeFactory = (i < size - 1) ? (DataPipeTransformer)path.get(++i) : null; - DataPipe dataPipe = dataPipeFactory == null ? null : dataPipeFactory.newInstance(); - Object sink = dataPipe != null ? dataPipe.getSink() : target; - ((PushTransformer)transformer).transform(result, sink, context); - result = (dataPipe != null) ? dataPipe.getResult() : null; - } - } - } - - private List getTransformerChain(DataType sourceDataType, DataType targetDataType) { - String sourceId = sourceDataType.getDataBinding(); - String targetId = targetDataType.getDataBinding(); - List path = transformers.getTransformerChain(sourceId, targetId); - if (path == null) { - TransformationException ex = - new TransformationException("No path found for the transformation: " + sourceId + "->" + targetId); - ex.setSourceDataBinding(sourceId); - ex.setTargetDataBinding(targetId); - throw ex; - } - return path; - } - - public DataBindingExtensionPoint getDataBindings() { - return dataBindings; - } - - public TransformerExtensionPoint getTransformers() { - return transformers; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/PipedTransformer.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/PipedTransformer.java deleted file mode 100644 index a1a89005b3..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/PipedTransformer.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.impl; - -import org.apache.tuscany.sca.databinding.DataPipe; -import org.apache.tuscany.sca.databinding.DataPipeTransformer; -import org.apache.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.PushTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; - -/** - * A utility class to connect PushTransformer and DataPipe to create a - * PullTransformer - * - * @param Source type - * @param Intermediate type - * @param Result type - * - * @version $Rev$ $Date$ - */ -public class PipedTransformer implements PullTransformer { - private PushTransformer pusher; - - private DataPipeTransformer pipe; - - /** - * @param pumper - * @param pipe - */ - public PipedTransformer(PushTransformer pumper, DataPipeTransformer pipe) { - super(); - this.pusher = pumper; - this.pipe = pipe; - } - - public R transform(S source, TransformationContext context) { - DataPipe dataPipe = pipe.newInstance(); - pusher.transform(source, dataPipe.getSink(), context); - return dataPipe.getResult(); - } - - public String getSourceDataBinding() { - return pusher.getSourceDataBinding(); - } - - public String getTargetDataBinding() { - return pipe.getTargetDataBinding(); - } - - public int getWeight() { - return pusher.getWeight() + pipe.getWeight(); - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/SimpleType2JavaTransformer.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/SimpleType2JavaTransformer.java deleted file mode 100644 index c91176fc2c..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/SimpleType2JavaTransformer.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.databinding.impl; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.SimpleTypeMapper; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.javabeans.SimpleJavaDataBinding; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -/** - * Transformer to convert data from a databinding's representation of simple - * types to Java Objects - * - * @version $Rev$ $Date$ - */ -public abstract class SimpleType2JavaTransformer extends BaseTransformer implements - PullTransformer { - - protected SimpleTypeMapper mapper; - - public SimpleType2JavaTransformer() { - this.mapper = new SimpleTypeMapperImpl(); - } - - public SimpleType2JavaTransformer(SimpleTypeMapper mapper) { - this.mapper = (mapper != null) ? mapper : new SimpleTypeMapperImpl(); - } - - public Object transform(T source, TransformationContext context) { - XMLType xmlType = (XMLType)context.getSourceDataType().getLogical(); - QName type = (xmlType != null) ? xmlType.getTypeName() : null; - if (type == null) { - xmlType = (XMLType)context.getTargetDataType().getLogical(); - type = (xmlType != null) ? xmlType.getTypeName() : null; - } - Object result = mapper.toJavaObject(type, getText(source), context); - close(source); - return result; - } - - @Override - protected Class getTargetType() { - return Object.class; - } - - @Override - public int getWeight() { - // Cannot be used for intermediate - return 10000; - } - - /** - * Get the string value from the source - * @param source - * @return A string - */ - protected abstract String getText(T source); - - /** - * To be overrided by the subclass - * @param source - */ - protected void close(T source) { - } - - @Override - public String getTargetDataBinding() { - return SimpleJavaDataBinding.NAME; - } -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/SimpleTypeMapperImpl.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/SimpleTypeMapperImpl.java deleted file mode 100644 index 32a2313f59..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/SimpleTypeMapperImpl.java +++ /dev/null @@ -1,401 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import java.util.Date; -import java.util.GregorianCalendar; -import java.util.HashMap; -import java.util.Map; - -import javax.xml.datatype.DatatypeConfigurationException; -import javax.xml.datatype.DatatypeFactory; -import javax.xml.datatype.XMLGregorianCalendar; -import javax.xml.namespace.NamespaceContext; -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.databinding.SimpleTypeMapper; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.interfacedef.util.TypeInfo; - -/** - * Simple type mapper that maps from XSD types to Java Classes and Java Classes to XSD types. - * - * @version $Rev$ $Date$ - */ -public class SimpleTypeMapperImpl extends XSDDataTypeConverter implements SimpleTypeMapper { - - public static final Map JAVA2XML = new HashMap(); - - public static final String URI_2001_SCHEMA_XSD = "http://www.w3.org/2001/XMLSchema"; - - public static final Map XML2JAVA = new HashMap(); - - public static final QName XSD_ANY = new QName(URI_2001_SCHEMA_XSD, "any"); - - public static final QName XSD_ANYSIMPLETYPE = new QName(URI_2001_SCHEMA_XSD, "anySimpleType"); - - public static final QName XSD_ANYTYPE = new QName(URI_2001_SCHEMA_XSD, "anyType"); - - public static final QName XSD_ANYURI = new QName(URI_2001_SCHEMA_XSD, "anyURI"); - - public static final QName XSD_BASE64 = new QName(URI_2001_SCHEMA_XSD, "base64Binary"); - - public static final QName XSD_BOOLEAN = new QName(URI_2001_SCHEMA_XSD, "boolean"); - - public static final QName XSD_BYTE = new QName(URI_2001_SCHEMA_XSD, "byte"); - - public static final QName XSD_DATE = new QName(URI_2001_SCHEMA_XSD, "date"); - - public static final QName XSD_DATETIME = new QName(URI_2001_SCHEMA_XSD, "dateTime"); - - public static final QName XSD_DAY = new QName(URI_2001_SCHEMA_XSD, "gDay"); - - public static final QName XSD_DECIMAL = new QName(URI_2001_SCHEMA_XSD, "decimal"); - - public static final QName XSD_DOUBLE = new QName(URI_2001_SCHEMA_XSD, "double"); - - public static final QName XSD_DURATION = new QName(URI_2001_SCHEMA_XSD, "duration"); - - public static final QName XSD_ENTITIES = new QName(URI_2001_SCHEMA_XSD, "ENTITIES"); - - public static final QName XSD_ENTITY = new QName(URI_2001_SCHEMA_XSD, "ENTITY"); - - public static final QName XSD_FLOAT = new QName(URI_2001_SCHEMA_XSD, "float"); - - public static final QName XSD_HEXBIN = new QName(URI_2001_SCHEMA_XSD, "hexBinary"); - - public static final QName XSD_IDREF = new QName(URI_2001_SCHEMA_XSD, "IDREF"); - - public static final QName XSD_IDREFS = new QName(URI_2001_SCHEMA_XSD, "IDREFS"); - - public static final QName XSD_INT = new QName(URI_2001_SCHEMA_XSD, "int"); - - public static final QName XSD_INTEGER = new QName(URI_2001_SCHEMA_XSD, "integer"); - - public static final QName XSD_LONG = new QName(URI_2001_SCHEMA_XSD, "long"); - - public static final QName XSD_MONTH = new QName(URI_2001_SCHEMA_XSD, "gMonth"); - - public static final QName XSD_MONTHDAY = new QName(URI_2001_SCHEMA_XSD, "gMonthDay"); - - public static final QName XSD_NAME = new QName(URI_2001_SCHEMA_XSD, "Name"); - - public static final QName XSD_NCNAME = new QName(URI_2001_SCHEMA_XSD, "NCName"); - - public static final QName XSD_NEGATIVEINTEGER = new QName(URI_2001_SCHEMA_XSD, "negativeInteger"); - - public static final QName XSD_NMTOKEN = new QName(URI_2001_SCHEMA_XSD, "NMTOKEN"); - - public static final QName XSD_NMTOKENS = new QName(URI_2001_SCHEMA_XSD, "NMTOKENS"); - - public static final QName XSD_NONNEGATIVEINTEGER = new QName(URI_2001_SCHEMA_XSD, "nonNegativeInteger"); - - public static final QName XSD_NONPOSITIVEINTEGER = new QName(URI_2001_SCHEMA_XSD, "nonPositiveInteger"); - - public static final QName XSD_NORMALIZEDSTRING = new QName(URI_2001_SCHEMA_XSD, "normalizedString"); - - public static final QName XSD_NOTATION = new QName(URI_2001_SCHEMA_XSD, "NOTATION"); - - public static final QName XSD_POSITIVEINTEGER = new QName(URI_2001_SCHEMA_XSD, "positiveInteger"); - - public static final QName XSD_QNAME = new QName(URI_2001_SCHEMA_XSD, "QName"); - - public static final QName XSD_SHORT = new QName(URI_2001_SCHEMA_XSD, "short"); - - public static final Map XSD_SIMPLE_TYPES = new HashMap(); - - public static final QName XSD_STRING = new QName(URI_2001_SCHEMA_XSD, "string"); - - public static final QName XSD_TIME = new QName(URI_2001_SCHEMA_XSD, "time"); - - public static final QName XSD_TOKEN = new QName(URI_2001_SCHEMA_XSD, "token"); - - public static final QName XSD_UNSIGNEDBYTE = new QName(URI_2001_SCHEMA_XSD, "unsignedByte"); - - public static final QName XSD_UNSIGNEDINT = new QName(URI_2001_SCHEMA_XSD, "unsignedInt"); - - public static final QName XSD_UNSIGNEDLONG = new QName(URI_2001_SCHEMA_XSD, "unsignedLong"); - - public static final QName XSD_UNSIGNEDSHORT = new QName(URI_2001_SCHEMA_XSD, "unsignedShort"); - - public static final QName XSD_YEAR = new QName(URI_2001_SCHEMA_XSD, "gYear"); - - public static final QName XSD_YEARMONTH = new QName(URI_2001_SCHEMA_XSD, "gYearMonth"); - - private static final String[] XSD_TYPE_NAMES = - {"string", "boolean", "double", "float", "int", "integer", "long", "short", "byte", "decimal", "base64Binary", - "hexBinary", "anySimpleType", "anyType", "any", "QName", "dateTime", "date", "time", "normalizedString", - "token", "unsignedLong", "unsignedInt", "unsignedShort", "unsignedByte", "positiveInteger", "negativeInteger", - "nonNegativeInteger", "nonPositiveInteger", "gYearMonth", "gMonthDay", "gYear", "gMonth", "gDay", "duration", - "Name", "NCName", "NMTOKEN", "NMTOKENS", "NOTATION", "ENTITY", "ENTITIES", "IDREF", "IDREFS", "anyURI", - "language", "ID"}; - - static { - for (String type : XSD_TYPE_NAMES) { - TypeInfo simpleType = new TypeInfo(new QName(URI_2001_SCHEMA_XSD, type), true, null); - XSD_SIMPLE_TYPES.put(type, simpleType); - } - } - - static { - JAVA2XML.put(boolean.class, "boolean"); - JAVA2XML.put(byte.class, "byte"); - JAVA2XML.put(short.class, "short"); - JAVA2XML.put(int.class, "int"); - JAVA2XML.put(long.class, "long"); - JAVA2XML.put(float.class, "float"); - JAVA2XML.put(double.class, "double"); - JAVA2XML.put(Boolean.class, "boolean"); - JAVA2XML.put(Byte.class, "byte"); - JAVA2XML.put(Short.class, "short"); - JAVA2XML.put(Integer.class, "int"); - JAVA2XML.put(Long.class, "long"); - JAVA2XML.put(Float.class, "float"); - JAVA2XML.put(Double.class, "double"); - JAVA2XML.put(java.lang.String.class, "string"); - JAVA2XML.put(java.math.BigInteger.class, "integer"); - JAVA2XML.put(java.math.BigDecimal.class, "decimal"); - JAVA2XML.put(java.util.Calendar.class, "dateTime"); - JAVA2XML.put(java.util.Date.class, "dateTime"); - JAVA2XML.put(javax.xml.namespace.QName.class, "QName"); - JAVA2XML.put(java.net.URI.class, "string"); - JAVA2XML.put(javax.xml.datatype.XMLGregorianCalendar.class, "anySimpleType"); - JAVA2XML.put(javax.xml.datatype.Duration.class, "duration"); - JAVA2XML.put(java.lang.Object.class, "anyType"); - JAVA2XML.put(java.awt.Image.class, "base64Binary"); - JAVA2XML.put(byte[].class, "base64Binary"); - // java2XSD.put(javax.activation.DataHandler.class, "base64Binary"); - JAVA2XML.put(javax.xml.transform.Source.class, "base64Binary"); - JAVA2XML.put(java.util.UUID.class, "string"); - } - - static { - XML2JAVA.put("string", java.lang.String.class); - XML2JAVA.put("integer", java.math.BigInteger.class); - XML2JAVA.put("int", int.class); - XML2JAVA.put("long", long.class); - XML2JAVA.put("short", short.class); - XML2JAVA.put("decimal", java.math.BigDecimal.class); - XML2JAVA.put("float", float.class); - XML2JAVA.put("double", double.class); - XML2JAVA.put("boolean", boolean.class); - XML2JAVA.put("byte", byte.class); - XML2JAVA.put("QName", javax.xml.namespace.QName.class); - XML2JAVA.put("dateTime", javax.xml.datatype.XMLGregorianCalendar.class); - XML2JAVA.put("base64Binary", byte[].class); - XML2JAVA.put("hexBinary", byte[].class); - XML2JAVA.put("unsignedInt", long.class); - XML2JAVA.put("unsignedShort", int.class); - XML2JAVA.put("unsignedByte", short.class); - XML2JAVA.put("time", javax.xml.datatype.XMLGregorianCalendar.class); - XML2JAVA.put("date", javax.xml.datatype.XMLGregorianCalendar.class); - XML2JAVA.put("gDay", javax.xml.datatype.XMLGregorianCalendar.class); - XML2JAVA.put("gMonth", javax.xml.datatype.XMLGregorianCalendar.class); - XML2JAVA.put("gYear", javax.xml.datatype.XMLGregorianCalendar.class); - XML2JAVA.put("gYearMonth", javax.xml.datatype.XMLGregorianCalendar.class); - XML2JAVA.put("gMonthDay", javax.xml.datatype.XMLGregorianCalendar.class); - XML2JAVA.put("anySimpleType", java.lang.Object.class); // For elements - // XML2JAVA.put("anySimpleType", java.lang.String.class); // For - // attributes - XML2JAVA.put("duration", javax.xml.datatype.Duration.class); - XML2JAVA.put("NOTATION", javax.xml.namespace.QName.class); - } - - private DatatypeFactory factory; - - public SimpleTypeMapperImpl() { - super(); - try { - this.factory = DatatypeFactory.newInstance(); - } catch (DatatypeConfigurationException e) { - throw new IllegalArgumentException(e); - } - } - - public static Class getJavaType(QName xmlType) { - if (xmlType != null && URI_2001_SCHEMA_XSD.equals(xmlType.getNamespaceURI())) { - return XML2JAVA.get(xmlType.getLocalPart()); - } else { - return null; - } - } - - public static TypeInfo getXMLType(Class javaType) { - return XSD_SIMPLE_TYPES.get(JAVA2XML.get(javaType)); - } - - public Object toJavaObject(QName simpleType, String literal, TransformationContext context) { - /** - *
    - *
  • xsd:string --- java.lang.String - *
  • xsd:integer --- java.math.BigInteger - *
  • xsd:int --- int - *
  • xsd:long --- long - *
  • xsd:short --- short - *
  • xsd:decimal --- java.math.BigDecimal - *
  • xsd:float --- float - *
  • xsd:double --- double - *
  • xsd:boolean --- boolean - *
  • xsd:byte --- byte - *
  • xsd:QName --- javax.xml.namespace.QName - *
  • xsd:dateTime --- javax.xml.datatype.XMLGregorianCalendar - *
  • xsd:base64Binary --- byte[] - *
  • xsd:hexBinary --- byte[] - *
  • xsd:unsignedInt --- long - *
  • xsd:unsignedShort --- int - *
  • xsd:unsignedByte --- short - *
  • xsd:time --- javax.xml.datatype.XMLGregorianCalendar - *
  • xsd:date --- javax.xml.datatype.XMLGregorianCalendar - *
  • xsd:g* --- javax.xml.datatype.XMLGregorianCalendar - *
  • xsd:anySimpleType (for xsd:element of this type)a - * java.lang.Object - *
  • xsd:anySimpleType (for xsd:attribute of this type) - * java.lang.String - *
  • xsd:duration javax.xml.datatype.Duration - *
  • xsd:NOTATION javax.xml.namespace.QName - *
- */ - - if (literal == null) { - return null; - } - String value = literal.trim(); - - QName type = simpleType; - if (type.equals(XSD_STRING)) { - return parseString(value); - } else if (type.equals(XSD_INT)) { - return parseInt(value); - } else if (type.equals(XSD_INTEGER)) { - return parseInteger(value); - } else if (type.equals(XSD_INT)) { - return parseInt(value); - } else if (type.equals(XSD_FLOAT)) { - return parseFloat(value); - } else if (type.equals(XSD_DOUBLE)) { - return parseDouble(value); - } else if (type.equals(XSD_SHORT)) { - return parseShort(value); - } else if (type.equals(XSD_DECIMAL)) { - return parseDecimal(value); - } else if (type.equals(XSD_BOOLEAN)) { - return parseBoolean(value); - } else if (type.equals(XSD_BYTE)) { - return parseByte(value); - } else if (type.equals(XSD_LONG)) { - return parseLong(value); - } else if (type.equals(XSD_UNSIGNEDBYTE)) { - return parseUnsignedShort(value); - } else if (type.equals(XSD_UNSIGNEDSHORT)) { - return parseUnsignedShort(value); - } else if (type.equals(XSD_UNSIGNEDINT)) { - return parseUnsignedInt(value); - } else if (type.equals(XSD_UNSIGNEDLONG)) { - return parseUnsignedInt(value); - } else if (type.equals(XSD_DATETIME)) { - return parseDateTime(value); - } else if (type.equals(XSD_DATE)) { - return parseDate(value); - } else if (type.equals(XSD_TIME)) { - return parseTime(value); - } else if (type.equals(XSD_DURATION)) { - return parseDuration(value); - } else if (type.equals(XSD_HEXBIN)) { - return parseHexBinary(value); - } else if (type.equals(XSD_BASE64)) { - return parseBase64Binary(value); - } else if (type.equals(XSD_QNAME)) { - NamespaceContext namespaceContext = - (NamespaceContext)((context != null) ? context.getMetadata().get(NamespaceContext.class.getName()) : null); - return parseQName(value, namespaceContext); - } else if (type.equals(XSD_NOTATION)) { - NamespaceContext namespaceContext = - (NamespaceContext)((context != null) ? context.getMetadata().get(NamespaceContext.class.getName()) : null); - return parseQName(value, namespaceContext); - } else if (type.equals(XSD_YEAR)) { - return factory.newXMLGregorianCalendar(value); - } else if (type.equals(XSD_MONTH)) { - return factory.newXMLGregorianCalendar(value); - } else if (type.equals(XSD_DAY)) { - return factory.newXMLGregorianCalendar(value); - } else if (type.equals(XSD_YEARMONTH)) { - return factory.newXMLGregorianCalendar(value); - } else if (type.equals(XSD_MONTHDAY)) { - return factory.newXMLGregorianCalendar(value); - } else { - return value; - } - } - - @SuppressWarnings("deprecation") - private XMLGregorianCalendar toXMLGregorianCalendar(Date date) { - GregorianCalendar c = - new GregorianCalendar(date.getYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), - date.getSeconds()); - return factory.newXMLGregorianCalendar(c); - } - - private XMLGregorianCalendar toXMLGregorianCalendar(GregorianCalendar calendar) { - return factory.newXMLGregorianCalendar(calendar); - } - - public String toXMLLiteral(QName simpleType, Object obj, TransformationContext context) { - if(obj == null) { - // It could be null if nilable=true - return null; - } - if (obj instanceof Float || obj instanceof Double) { - if (obj instanceof Float) { - return printDouble(((Float)obj).floatValue()); - } else { - return printDouble(((Double)obj).doubleValue()); - } - } else if (obj instanceof GregorianCalendar) { - GregorianCalendar calendar = (GregorianCalendar)obj; - return toXMLGregorianCalendar(calendar).toXMLFormat(); - } else if (obj instanceof Date) { - return toXMLGregorianCalendar((Date)obj).toXMLFormat(); - } else if (obj instanceof XMLGregorianCalendar) { - return ((XMLGregorianCalendar)obj).toXMLFormat(); - } else if (obj instanceof byte[]) { - if (simpleType != null) { - if (simpleType.equals(XSD_BASE64)) { - return printBase64Binary((byte[])obj); - } else if (simpleType.equals(XSD_HEXBIN)) { - return printHexBinary((byte[])obj); - } - } - } else if (obj instanceof QName) { - NamespaceContext namespaceContext = - (NamespaceContext)((context != null) ? context.getMetadata().get(NamespaceContext.class.getName()) : null); - return printQName((QName)obj, namespaceContext); - } - return obj.toString(); - } - - public static boolean isSimpleXSDType(QName typeName) { - if (typeName == null) { - return false; - } - return typeName.getNamespaceURI().equals(URI_2001_SCHEMA_XSD) - && XSD_SIMPLE_TYPES.get(typeName.getLocalPart()) != null; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/TransformationContextImpl.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/TransformationContextImpl.java deleted file mode 100644 index a6c0639411..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/TransformationContextImpl.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import java.lang.ref.WeakReference; -import java.util.HashMap; -import java.util.Map; - -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; - -public class TransformationContextImpl implements TransformationContext { - private DataType sourceDataType; - - private DataType targetDataType; - - private final Map metadata = new HashMap(); - - private WeakReference classLoaderRef; - - public TransformationContextImpl() { - super(); - // This is used only for testing - setClassLoader(Thread.currentThread().getContextClassLoader()); - } - - public TransformationContextImpl(DataType sourceDataType, - DataType targetDataType, - ClassLoader classLoader, - Map metadata) { - super(); - this.sourceDataType = sourceDataType; - this.targetDataType = targetDataType; - setClassLoader(classLoader); - if (metadata != null) { - this.metadata.putAll(metadata); - } - } - - public DataType getSourceDataType() { - return sourceDataType; - } - - public DataType getTargetDataType() { - return targetDataType; - } - - public void setSourceDataType(DataType sourceDataType) { - this.sourceDataType = sourceDataType; - } - - public void setTargetDataType(DataType targetDataType) { - this.targetDataType = targetDataType; - } - - public final void setClassLoader(ClassLoader classLoader) { - this.classLoaderRef = new WeakReference(classLoader); - } - - public ClassLoader getClassLoader() { - return classLoaderRef.get(); - } - - public Map getMetadata() { - return metadata; - } - - /** - * @return the sourceOperation - */ - public Operation getSourceOperation() { - return (Operation) metadata.get("source.operation"); - } - - /** - * @param sourceOperation the sourceOperation to set - */ - public void setSourceOperation(Operation sourceOperation) { - this.metadata.put("source.operation", sourceOperation); - } - - /** - * @return the targetOperation - */ - public Operation getTargetOperation() { - return (Operation) metadata.get("target.operation"); - } - - /** - * @param targetOperation the targetOperation to set - */ - public void setTargetOperation(Operation targetOperation) { - this.metadata.put("target.operation", targetOperation); - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/XSDDataTypeConverter.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/XSDDataTypeConverter.java deleted file mode 100644 index fb747864e7..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/XSDDataTypeConverter.java +++ /dev/null @@ -1,945 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.impl; - -import java.io.IOException; -import java.io.OutputStream; -import java.io.Writer; -import java.math.BigDecimal; -import java.math.BigInteger; -import java.text.FieldPosition; -import java.text.Format; -import java.text.ParsePosition; -import java.util.Calendar; -import java.util.TimeZone; - -import javax.xml.XMLConstants; -import javax.xml.datatype.DatatypeConfigurationException; -import javax.xml.datatype.DatatypeFactory; -import javax.xml.datatype.Duration; -import javax.xml.namespace.NamespaceContext; -import javax.xml.namespace.QName; - -/** - * Utility class for XSD data type conversions - * - * @version $Rev$ $Date$ - */ -public class XSDDataTypeConverter { - public static final class Base64Binary { - private static final char[] S_BASE64CHAR = - {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', - 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', - 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', - '5', '6', '7', '8', '9', '+', '/'}; - - private static final char S_BASE64PAD = '='; - - private static final byte[] S_DECODETABLE = new byte[128]; - - static { - for (int i = 0; i < S_DECODETABLE.length; i++) { - S_DECODETABLE[i] = Byte.MAX_VALUE; // 127 - } - for (int i = 0; i < S_BASE64CHAR.length; i++) { - // 0 to 63 - S_DECODETABLE[S_BASE64CHAR[i]] = (byte) i; - } - } - - private Base64Binary() { - } - - /** - * - */ - public static byte[] decode(char[] data, int off, int len) { - char[] ibuf = new char[4]; - int ibufcount = 0; - byte[] obuf = new byte[len / 4 * 3 + 3]; - int obufcount = 0; - for (int i = off; i < off + len; i++) { - char ch = data[i]; - if (ch == S_BASE64PAD || ch < S_DECODETABLE.length && S_DECODETABLE[ch] != Byte.MAX_VALUE) { - ibuf[ibufcount++] = ch; - if (ibufcount == ibuf.length) { - ibufcount = 0; - obufcount += decode0(ibuf, obuf, obufcount); - } - } - } - if (obufcount == obuf.length) { - return obuf; - } - byte[] ret = new byte[obufcount]; - System.arraycopy(obuf, 0, ret, 0, obufcount); - return ret; - } - - /** - * - */ - public static void decode(char[] data, int off, int len, OutputStream ostream) throws IOException { - char[] ibuf = new char[4]; - int ibufcount = 0; - byte[] obuf = new byte[3]; - for (int i = off; i < off + len; i++) { - char ch = data[i]; - if (ch == S_BASE64PAD || ch < S_DECODETABLE.length && S_DECODETABLE[ch] != Byte.MAX_VALUE) { - ibuf[ibufcount++] = ch; - if (ibufcount == ibuf.length) { - ibufcount = 0; - int obufcount = decode0(ibuf, obuf, 0); - ostream.write(obuf, 0, obufcount); - } - } - } - } - - /** - * - */ - public static byte[] decode(String data) { - char[] ibuf = new char[4]; - int ibufcount = 0; - byte[] obuf = new byte[data.length() / 4 * 3 + 3]; - int obufcount = 0; - for (int i = 0; i < data.length(); i++) { - char ch = data.charAt(i); - if (ch == S_BASE64PAD || ch < S_DECODETABLE.length && S_DECODETABLE[ch] != Byte.MAX_VALUE) { - ibuf[ibufcount++] = ch; - if (ibufcount == ibuf.length) { - ibufcount = 0; - obufcount += decode0(ibuf, obuf, obufcount); - } - } - } - if (obufcount == obuf.length) { - return obuf; - } - byte[] ret = new byte[obufcount]; - System.arraycopy(obuf, 0, ret, 0, obufcount); - return ret; - } - - /** - * - */ - public static void decode(String data, OutputStream ostream) throws IOException { - char[] ibuf = new char[4]; - int ibufcount = 0; - byte[] obuf = new byte[3]; - for (int i = 0; i < data.length(); i++) { - char ch = data.charAt(i); - if (ch == S_BASE64PAD || ch < S_DECODETABLE.length && S_DECODETABLE[ch] != Byte.MAX_VALUE) { - ibuf[ibufcount++] = ch; - if (ibufcount == ibuf.length) { - ibufcount = 0; - int obufcount = decode0(ibuf, obuf, 0); - ostream.write(obuf, 0, obufcount); - } - } - } - } - - private static int decode0(char[] ibuf, byte[] obuf, int index) { - int wp = index; - int outlen = 3; - if (ibuf[3] == S_BASE64PAD) { - outlen = 2; - } - if (ibuf[2] == S_BASE64PAD) { - outlen = 1; - } - int b0 = S_DECODETABLE[ibuf[0]]; - int b1 = S_DECODETABLE[ibuf[1]]; - int b2 = S_DECODETABLE[ibuf[2]]; - int b3 = S_DECODETABLE[ibuf[3]]; - switch (outlen) { - case 1: - obuf[wp] = (byte) (b0 << 2 & 0xfc | b1 >> 4 & 0x3); - return 1; - case 2: - obuf[wp++] = (byte) (b0 << 2 & 0xfc | b1 >> 4 & 0x3); - obuf[wp] = (byte) (b1 << 4 & 0xf0 | b2 >> 2 & 0xf); - return 2; - case 3: - obuf[wp++] = (byte) (b0 << 2 & 0xfc | b1 >> 4 & 0x3); - obuf[wp++] = (byte) (b1 << 4 & 0xf0 | b2 >> 2 & 0xf); - obuf[wp] = (byte) (b2 << 6 & 0xc0 | b3 & 0x3f); - return 3; - default: - throw new IllegalArgumentException("The character sequence is not base64 encoded."); - } - } - - /** - * Returns base64 representation of specified byte array. - */ - public static String encode(byte[] data) { - return encode(data, 0, data.length); - } - - /** - * Returns base64 representation of specified byte array. - */ - public static String encode(byte[] data, int off, int len) { - if (len <= 0) { - return ""; - } - char[] out = new char[len / 3 * 4 + 4]; - int rindex = off; - int windex = 0; - int rest = len - off; - while (rest >= 3) { - int i = - ((data[rindex] & 0xff) << 16) + ((data[rindex + 1] & 0xff) << 8) - + (data[rindex + 2] & 0xff); - out[windex++] = S_BASE64CHAR[i >> 18]; - out[windex++] = S_BASE64CHAR[(i >> 12) & 0x3f]; - out[windex++] = S_BASE64CHAR[(i >> 6) & 0x3f]; - out[windex++] = S_BASE64CHAR[i & 0x3f]; - rindex += 3; - rest -= 3; - } - if (rest == 1) { - int i = data[rindex] & 0xff; - out[windex++] = S_BASE64CHAR[i >> 2]; - out[windex++] = S_BASE64CHAR[(i << 4) & 0x3f]; - out[windex++] = S_BASE64PAD; - out[windex++] = S_BASE64PAD; - } else if (rest == 2) { - int i = ((data[rindex] & 0xff) << 8) + (data[rindex + 1] & 0xff); - out[windex++] = S_BASE64CHAR[i >> 10]; - out[windex++] = S_BASE64CHAR[(i >> 4) & 0x3f]; - out[windex++] = S_BASE64CHAR[(i << 2) & 0x3f]; - out[windex++] = S_BASE64PAD; - } - return new String(out, 0, windex); - } - - /** - * Outputs base64 representation of the specified byte array to a byte stream. - */ - public static void encode(byte[] data, int off, int len, OutputStream ostream) throws IOException { - if (len <= 0) { - return; - } - byte[] out = new byte[4]; - int rindex = off; - int rest = len - off; - while (rest >= 3) { - int i = - ((data[rindex] & 0xff) << 16) + ((data[rindex + 1] & 0xff) << 8) - + (data[rindex + 2] & 0xff); - out[0] = (byte) S_BASE64CHAR[i >> 18]; - out[1] = (byte) S_BASE64CHAR[(i >> 12) & 0x3f]; - out[2] = (byte) S_BASE64CHAR[(i >> 6) & 0x3f]; - out[3] = (byte) S_BASE64CHAR[i & 0x3f]; - ostream.write(out, 0, 4); - rindex += 3; - rest -= 3; - } - if (rest == 1) { - int i = data[rindex] & 0xff; - out[0] = (byte) S_BASE64CHAR[i >> 2]; - out[1] = (byte) S_BASE64CHAR[(i << 4) & 0x3f]; - out[2] = (byte) S_BASE64PAD; - out[3] = (byte) S_BASE64PAD; - ostream.write(out, 0, 4); - } else if (rest == 2) { - int i = ((data[rindex] & 0xff) << 8) + (data[rindex + 1] & 0xff); - out[0] = (byte) S_BASE64CHAR[i >> 10]; - out[1] = (byte) S_BASE64CHAR[(i >> 4) & 0x3f]; - out[2] = (byte) S_BASE64CHAR[(i << 2) & 0x3f]; - out[3] = (byte) S_BASE64PAD; - ostream.write(out, 0, 4); - } - } - - /** - * Outputs base64 representation of the specified byte array to a character stream. - */ - public static void encode(byte[] data, int off, int len, Writer writer) throws IOException { - if (len <= 0) { - return; - } - char[] out = new char[4]; - int rindex = off; - int rest = len - off; - int output = 0; - while (rest >= 3) { - int i = - ((data[rindex] & 0xff) << 16) + ((data[rindex + 1] & 0xff) << 8) - + (data[rindex + 2] & 0xff); - out[0] = S_BASE64CHAR[i >> 18]; - out[1] = S_BASE64CHAR[(i >> 12) & 0x3f]; - out[2] = S_BASE64CHAR[(i >> 6) & 0x3f]; - out[3] = S_BASE64CHAR[i & 0x3f]; - writer.write(out, 0, 4); - rindex += 3; - rest -= 3; - output += 4; - if (output % 76 == 0) { - writer.write("\n"); - } - } - if (rest == 1) { - int i = data[rindex] & 0xff; - out[0] = S_BASE64CHAR[i >> 2]; - out[1] = S_BASE64CHAR[(i << 4) & 0x3f]; - out[2] = S_BASE64PAD; - out[3] = S_BASE64PAD; - writer.write(out, 0, 4); - } else if (rest == 2) { - int i = ((data[rindex] & 0xff) << 8) + (data[rindex + 1] & 0xff); - out[0] = S_BASE64CHAR[i >> 10]; - out[1] = S_BASE64CHAR[(i >> 4) & 0x3f]; - out[2] = S_BASE64CHAR[(i << 2) & 0x3f]; - out[3] = S_BASE64PAD; - writer.write(out, 0, 4); - } - } - } - - /** - *

- * Utility class for xs:hexbinary.

- */ - public static final class HexBinary { - private HexBinary() { - } - - /** - * Converts the string pValue into an array of hex bytes. - */ - public static byte[] decode(String pValue) { - if ((pValue.length() % 2) != 0) { - throw new IllegalArgumentException("A HexBinary string must have even length."); - } - byte[] result = new byte[pValue.length() / 2]; - int j = 0; - int i = 0; - while (i < pValue.length()) { - byte b; - char c = pValue.charAt(i++); - char d = pValue.charAt(i++); - if (c >= '0' && c <= '9') { - b = (byte) ((c - '0') << 4); - } else if (c >= 'A' && c <= 'F') { - b = (byte) ((c - 'A' + 10) << 4); - } else if (c >= 'a' && c <= 'f') { - b = (byte) ((c - 'a' + 10) << 4); - } else { - throw new IllegalArgumentException("Invalid hex digit: " + c); - } - if (d >= '0' && d <= '9') { - b += (byte) (d - '0'); - } else if (d >= 'A' && d <= 'F') { - b += (byte) (d - 'A' + 10); - } else if (d >= 'a' && d <= 'f') { - b += (byte) (d - 'a' + 10); - } else { - throw new IllegalArgumentException("Invalid hex digit: " + d); - } - result[j++] = b; - } - return result; - } - - /** - * Converts the byte array pHexBinary into a string. - */ - public static String encode(byte[] pHexBinary) { - StringBuffer result = new StringBuffer(); - for (int i = 0; i < pHexBinary.length; i++) { - byte b = pHexBinary[i]; - byte c = (byte) ((b & 0xf0) >> 4); - if (c <= 9) { - result.append((char) ('0' + c)); - } else { - result.append((char) ('A' + c - 10)); - } - c = (byte) (b & 0x0f); - if (c <= 9) { - result.append((char) ('0' + c)); - } else { - result.append((char) ('A' + c - 10)); - } - } - return result.toString(); - } - - /** - * Creates a clone of the given byte array. - */ - public static byte[] getClone(byte[] pHexBinary) { - byte[] result = new byte[pHexBinary.length]; - System.arraycopy(pHexBinary, 0, result, 0, pHexBinary.length); - return result; - } - } - - public class XSDDateFormat extends XSDDateTimeFormat { - private static final long serialVersionUID = -1629412916827246627L; - - /** - * Creates a new instance. - */ - public XSDDateFormat() { - super(true, false); - } - } - - /** - *

- * An instance of {@link java.text.Format}, which may be used to parse and format xs:dateTime values. - *

- */ - public static class XSDDateTimeFormat extends Format { - private static final long serialVersionUID = -1148332471737068969L; - - final boolean parseDate; - - final boolean parseTime; - - /** - * Creates a new instance. - */ - public XSDDateTimeFormat() { - this(true, true); - } - - XSDDateTimeFormat(boolean pParseDate, boolean pParseTime) { - parseDate = pParseDate; - parseTime = pParseTime; - } - - private void append(StringBuffer pBuffer, int pNum, int pMinLen) { - String s = Integer.toString(pNum); - for (int i = s.length(); i < pMinLen; i++) { - pBuffer.append('0'); - } - pBuffer.append(s); - } - - @Override - public StringBuffer format(Object pCalendar, StringBuffer pBuffer, FieldPosition pPos) { - assert pCalendar != null : "The Calendar argument must not be null."; - assert pBuffer != null : "The StringBuffer argument must not be null."; - assert pPos != null : "The FieldPosition argument must not be null."; - - Calendar cal = (Calendar) pCalendar; - if (parseDate) { - int year = cal.get(Calendar.YEAR); - if (year < 0) { - pBuffer.append('-'); - year = -year; - } - append(pBuffer, year, 4); - pBuffer.append('-'); - append(pBuffer, cal.get(Calendar.MONTH) + 1, 2); - pBuffer.append('-'); - append(pBuffer, cal.get(Calendar.DAY_OF_MONTH), 2); - if (parseTime) { - pBuffer.append('T'); - } - } - if (parseTime) { - append(pBuffer, cal.get(Calendar.HOUR_OF_DAY), 2); - pBuffer.append(':'); - append(pBuffer, cal.get(Calendar.MINUTE), 2); - pBuffer.append(':'); - append(pBuffer, cal.get(Calendar.SECOND), 2); - int millis = cal.get(Calendar.MILLISECOND); - if (millis > 0) { - pBuffer.append('.'); - append(pBuffer, millis, 3); - } - } - TimeZone tz = cal.getTimeZone(); - // JDK 1.4: int offset = tz.getOffset(cal.getTimeInMillis()); - int offset = cal.get(Calendar.ZONE_OFFSET); - if (tz.inDaylightTime(cal.getTime())) { - offset += cal.get(Calendar.DST_OFFSET); - } - if (offset == 0) { - pBuffer.append('Z'); - } else { - if (offset < 0) { - pBuffer.append('-'); - offset = -offset; - } else { - pBuffer.append('+'); - } - int minutes = offset / (60 * 1000); - int hours = minutes / 60; - minutes -= hours * 60; - append(pBuffer, hours, 2); - pBuffer.append(':'); - append(pBuffer, minutes, 2); - } - return pBuffer; - } - - private int parseInt(String pString, int offset, StringBuffer pDigits) { - int length = pString.length(); - int pOffset = offset; - pDigits.setLength(0); - while (pOffset < length) { - char c = pString.charAt(pOffset); - if (Character.isDigit(c)) { - pDigits.append(c); - ++pOffset; - } else { - break; - } - } - return pOffset; - } - - @Override - public Object parseObject(String pString, ParsePosition pParsePosition) { - assert pString != null : "The String argument must not be null."; - assert pParsePosition != null : "The ParsePosition argument must not be null."; - int offset = pParsePosition.getIndex(); - int length = pString.length(); - - boolean isMinus = false; - StringBuffer digits = new StringBuffer(); - int year = 0; - int month = 0; - int mday = 0; - if (parseDate) { - // Sign - if (offset < length) { - char c = pString.charAt(offset); - if (c == '+') { - ++offset; - } else if (c == '-') { - ++offset; - isMinus = true; - } - } - - offset = parseInt(pString, offset, digits); - if (digits.length() < 4) { - pParsePosition.setErrorIndex(offset); - return null; - } - year = Integer.parseInt(digits.toString()); - - if (offset < length && pString.charAt(offset) == '-') { - ++offset; - } else { - pParsePosition.setErrorIndex(offset); - return null; - } - - offset = parseInt(pString, offset, digits); - if (digits.length() != 2) { - pParsePosition.setErrorIndex(offset); - return null; - } - month = Integer.parseInt(digits.toString()); - - if (offset < length && pString.charAt(offset) == '-') { - ++offset; - } else { - pParsePosition.setErrorIndex(offset); - return null; - } - - offset = parseInt(pString, offset, digits); - if (digits.length() != 2) { - pParsePosition.setErrorIndex(offset); - return null; - } - mday = Integer.parseInt(digits.toString()); - - if (parseTime) { - if (offset < length && pString.charAt(offset) == 'T') { - ++offset; - } else { - pParsePosition.setErrorIndex(offset); - return null; - } - } - } else { - year = month = mday = 0; - } - - int hour = 0; - int minute = 0; - int second = 0; - int millis = 0; - if (parseTime) { - offset = parseInt(pString, offset, digits); - if (digits.length() != 2) { - pParsePosition.setErrorIndex(offset); - return null; - } - hour = Integer.parseInt(digits.toString()); - - if (offset < length && pString.charAt(offset) == ':') { - ++offset; - } else { - pParsePosition.setErrorIndex(offset); - return null; - } - - offset = parseInt(pString, offset, digits); - if (digits.length() != 2) { - pParsePosition.setErrorIndex(offset); - return null; - } - minute = Integer.parseInt(digits.toString()); - - if (offset < length && pString.charAt(offset) == ':') { - ++offset; - } else { - pParsePosition.setErrorIndex(offset); - return null; - } - - offset = parseInt(pString, offset, digits); - if (digits.length() != 2) { - pParsePosition.setErrorIndex(offset); - return null; - } - second = Integer.parseInt(digits.toString()); - - if (offset < length && pString.charAt(offset) == '.') { - ++offset; - offset = parseInt(pString, offset, digits); - if (digits.length() > 0) { - millis = Integer.parseInt(digits.toString()); - } else { - millis = 0; - } - } else { - millis = 0; - } - } else { - hour = minute = second = millis = 0; - } - - digits.setLength(0); - digits.append("GMT"); - if (offset < length) { - char c = pString.charAt(offset); - if (c == 'Z') { - // Ignore UTC, it is the default - ++offset; - } else if (c == '+' || c == '-') { - digits.append(c); - ++offset; - for (int i = 0; i < 5; i++) { - if (offset >= length) { - pParsePosition.setErrorIndex(offset); - return null; - } - c = pString.charAt(offset); - if ((i != 2 && Character.isDigit(c)) || (i == 2 && c == ':')) { - digits.append(c); - } else { - pParsePosition.setErrorIndex(offset); - return null; - } - ++offset; - } - } - } - - Calendar cal = Calendar.getInstance(TimeZone.getTimeZone(digits.toString())); - cal.set(isMinus ? -year : year, parseDate ? month - 1 : month, mday, hour, minute, second); - cal.set(Calendar.MILLISECOND, millis); - pParsePosition.setIndex(offset); - return cal; - } - } - - public static class XSDTimeFormat extends XSDDateTimeFormat { - private static final long serialVersionUID = 1346506860724640517L; - - /** - * Creates a new instance. - */ - public XSDTimeFormat() { - super(false, true); - } - } - - private static final long MAX_UNSIGNED_INT = (((long) Integer.MAX_VALUE) * 2) + 1; - - private static final int MAX_UNSIGNED_SHORT = Short.MAX_VALUE * 2 + 1; - - public String parseAnySimpleType(String value) { - return value; - } - - public byte[] parseBase64Binary(String value) { - return Base64Binary.decode(value); - } - - public boolean parseBoolean(String value) { - return Boolean.valueOf(value).booleanValue(); - } - - public byte parseByte(String value) { - return Byte.parseByte(value); - } - - public Calendar parseDate(String value) { - XSDDateFormat format = new XSDDateFormat(); - ParsePosition pos = new ParsePosition(0); - Calendar cal = (Calendar) format.parseObject(value, pos); - if (cal == null) { - throw new IllegalArgumentException("Failed to parse date " + value + " at:" - + value.substring(pos.getErrorIndex())); - } - return cal; - } - - public Calendar parseDateTime(String value) { - XSDDateTimeFormat format = new XSDDateTimeFormat(); - ParsePosition pos = new ParsePosition(0); - Calendar cal = (Calendar) format.parseObject(value, pos); - if (cal == null) { - throw new IllegalArgumentException("Failed to parse dateTime " + value + " at:" - + value.substring(pos.getErrorIndex())); - } - return cal; - } - - public BigDecimal parseDecimal(String value) { - return new BigDecimal(value); - } - - public double parseDouble(String value) { - if ("INF".equals(value)) { - return Double.POSITIVE_INFINITY; - } else if ("-INF".equals(value)) { - return Double.NEGATIVE_INFINITY; - } else if ("NaN".equals(value)) { - return Double.NaN; - } else { - return Double.parseDouble(value); - } - } - - public Duration parseDuration(String pDuration) { - try { - return DatatypeFactory.newInstance().newDuration(pDuration); - } catch (DatatypeConfigurationException e) { - throw new IllegalArgumentException(e); - } - } - - public float parseFloat(String value) { - if ("INF".equals(value)) { - return Float.POSITIVE_INFINITY; - } else if ("-INF".equals(value)) { - return Float.NEGATIVE_INFINITY; - } else if ("NaN".equals(value)) { - return Float.NaN; - } else { - return Float.parseFloat(value); - } - } - - public byte[] parseHexBinary(String value) { - return HexBinary.decode(value); - } - - public int parseInt(String value) { - return Integer.parseInt(value); - } - - public BigInteger parseInteger(String value) { - return new BigInteger(value); - } - - public long parseLong(String value) { - return Long.parseLong(value); - } - - public QName parseQName(String value, NamespaceContext context) { - int offset = value.indexOf(':'); - String uri; - String localName; - switch (offset) { - case -1: - localName = value; - uri = context.getNamespaceURI(""); - if (uri == null) { - // Should not happen, indicates an error in the - // NamespaceContext - // implementation - throw new IllegalArgumentException("The default prefix is not bound."); - } - break; - case 0: - throw new IllegalArgumentException("Default prefix must be indicated by not using a colon: " - + value); - default: - String prefix = value.substring(0, offset); - localName = value.substring(offset + 1); - uri = context.getNamespaceURI(prefix); - if (uri == null) { - throw new IllegalArgumentException("The prefix " + prefix + " is not bound."); - } - } - return new QName(uri, localName); - } - - public short parseShort(String value) { - return Short.parseShort(value); - } - - public String parseString(String value) { - return value; - } - - public Calendar parseTime(String value) { - XSDTimeFormat format = new XSDTimeFormat(); - ParsePosition pos = new ParsePosition(0); - Calendar cal = (Calendar) format.parseObject(value, pos); - if (cal == null) { - throw new IllegalArgumentException("Failed to parse time " + value + " at:" - + value.substring(pos.getErrorIndex())); - } - return cal; - } - - public long parseUnsignedInt(String value) { - long l = Long.parseLong(value); - if (l < 0) { - throw new IllegalArgumentException("Failed to parse UnsignedInt " + value - + ": result is negative"); - } - if (l > MAX_UNSIGNED_INT) { - throw new IllegalArgumentException("Failed to parse UnsignedInt " + value - + ": result exceeds maximum value " + MAX_UNSIGNED_INT); - } - return l; - } - - public int parseUnsignedShort(String value) { - int i = Integer.parseInt(value); - if (i < 0) { - throw new IllegalArgumentException("Failed to parse UnsignedShort " + value - + ": result is negative"); - } - if (i > MAX_UNSIGNED_SHORT) { - throw new IllegalArgumentException("Failed to parse UnsignedShort " + value - + ": result exceeds maximum value " + MAX_UNSIGNED_SHORT); - } - return i; - } - - public String printAnySimpleType(String value) { - return value; - } - - public String printBase64Binary(byte[] value) { - return Base64Binary.encode(value); - } - - public String printBoolean(boolean value) { - return (value ? Boolean.TRUE : Boolean.FALSE).toString(); - } - - public String printByte(byte value) { - return Byte.toString(value); - } - - public String printDate(Calendar value) { - return new XSDDateFormat().format(value); - } - - public String printDateTime(Calendar value) { - return new XSDDateTimeFormat().format(value); - } - - public String printDecimal(BigDecimal value) { - return value.toString(); - } - - public String printDouble(double value) { - return Double.toString(value); - } - - public String printDuration(Duration pDuration) { - return pDuration.toString(); - } - - public String printFloat(float value) { - return Float.toString(value); - } - - public String printHexBinary(byte[] value) { - return HexBinary.encode(value); - } - - public String printInt(int value) { - return Integer.toString(value); - } - - public String printInteger(BigInteger value) { - return value.toString(); - } - - public String printLong(long value) { - return Long.toString(value); - } - - public String printQName(QName value, NamespaceContext context) { - String prefix = context.getPrefix(value.getNamespaceURI()); - if (prefix == null) { - throw new IllegalArgumentException("The namespace URI " + value.getNamespaceURI() - + " is not bound."); - } else if (XMLConstants.DEFAULT_NS_PREFIX.equals(prefix)) { - return value.getLocalPart(); - } else { - return prefix + ":" + value.getLocalPart(); - } - } - - public String printShort(short value) { - return Short.toString(value); - } - - public String printString(String value) { - return value; - } - - public String printTime(Calendar value) { - return new XSDTimeFormat().format(value); - } - - public String printUnsignedInt(long value) { - return Long.toString(value); - } - - public String printUnsignedShort(int value) { - return Integer.toString(value); - } -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/DOMNode2JavaBeanTransformer.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/DOMNode2JavaBeanTransformer.java deleted file mode 100644 index 2f95c2a9c6..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/DOMNode2JavaBeanTransformer.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.databinding.javabeans; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import javax.xml.namespace.QName; - -import org.w3c.dom.Document; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -/** - * Transformer to convert data from DOM Node to JavaBean - * - * @version $Rev$ $Date$ - */ -public class DOMNode2JavaBeanTransformer extends XML2JavaBeanTransformer { - - @Override - public Node getRootElement(Node element) throws XML2JavaMapperException { - if (element instanceof Document) { - return ((Document)element).getDocumentElement(); - } else { - return element; - } - - } - - @Override - public Iterator getChildElements(Node parent) throws XML2JavaMapperException { - NodeList nodeList = parent.getChildNodes(); - List nodeArrayList = new ArrayList(nodeList.getLength()); - for (int count = 0; count < nodeList.getLength(); ++count) { - nodeArrayList.add(nodeList.item(count)); - } - - return nodeArrayList.iterator(); - } - - @Override - public String getElementName(Node element) throws XML2JavaMapperException { - return element.getLocalName(); - } - - @Override - public String getText(Node element) throws XML2JavaMapperException { - if (element instanceof Document) { - element = ((Document)element).getDocumentElement(); - } - return element.getTextContent(); - } - - @Override - public boolean isTextElement(Node element) throws XML2JavaMapperException { - return element.getNodeType() == Node.TEXT_NODE; - } - - @Override - public boolean isTextOnly(Node element) throws XML2JavaMapperException { - NodeList childNodes = element.getChildNodes(); - return childNodes.getLength() == 1 && isTextElement(childNodes.item(0)); - } - - @Override - public Node getFirstChildWithName(Node element, QName name) throws XML2JavaMapperException { - Node child; - for (child = element.getFirstChild(); - child != null && !(child.getNodeName() == name.getLocalPart() - && child.getNamespaceURI() == name.getNamespaceURI()) ; - child = child.getNextSibling()) { - } - return child; - } - - @Override - public Class getSourceType() { - return Node.class; - } -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/Java2XMLMapperException.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/Java2XMLMapperException.java deleted file mode 100644 index 9615f43572..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/Java2XMLMapperException.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.javabeans; - -import javax.xml.namespace.QName; - -/** - * This exception is used to encapsulate and rethrow exceptions that arise out - * of converting JavaBean objects to XML - * - * @version $Rev$ $Date$ - */ -public class Java2XMLMapperException extends RuntimeException { - private static final long serialVersionUID = 6811924384399578686L; - - private QName xmlElementName; - private String javaFieldName; - private Class javaType; - - public Java2XMLMapperException(String message) { - super(message); - } - - public Java2XMLMapperException(Throwable cause) { - super(cause); - } - - public String getJavaFieldName() { - return javaFieldName; - } - - public void setJavaFieldName(String javaFieldName) { - this.javaFieldName = javaFieldName; - } - - public Class getJavaType() { - return javaType; - } - - public void setJavaType(Class javaType) { - this.javaType = javaType; - } - - public QName getXmlElementName() { - return xmlElementName; - } - - public void setXmlElementName(QName xmlElementName) { - this.xmlElementName = xmlElementName; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBean2DOMNodeTransformer.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBean2DOMNodeTransformer.java deleted file mode 100644 index 58f594751a..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBean2DOMNodeTransformer.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.javabeans; - -import javax.xml.namespace.QName; -import javax.xml.parsers.ParserConfigurationException; - -import org.apache.tuscany.sca.databinding.impl.DOMHelper; -import org.w3c.dom.Attr; -import org.w3c.dom.Document; -import org.w3c.dom.Node; - -/** - * Transformer to convert data from a JavaBean object to DOM Node - * - * @version $Rev$ $Date$ - */ -public class JavaBean2DOMNodeTransformer extends JavaBean2XMLTransformer { - - public static final String COLON = ":"; - private Document factory; - - public JavaBean2DOMNodeTransformer() { - super(); - try { - factory = DOMHelper.newDocument(); - } catch (ParserConfigurationException e) { - throw new Java2XMLMapperException(e); - } - } - - @Override - public void appendChild(Node parentElement, Node childElement) throws Java2XMLMapperException { - parentElement.appendChild(childElement); - } - - @Override - public Node createElement(QName qName) throws Java2XMLMapperException { - String qualifedName = - (qName.getPrefix() == null || qName.getPrefix().length() <= 0) ? qName.getLocalPart() - : qName.getPrefix() + COLON + qName.getLocalPart(); - return factory.createElementNS(qName.getNamespaceURI(), qualifedName); - } - - @Override - public void appendText(Node parentElement, String textData) throws Java2XMLMapperException { - Node textNode; - if (textData != null) { - textNode = factory.createTextNode(textData); - } else { - Attr nil = factory.createAttributeNS("http://www.w3.org/2001/XMLSchema-instance", "xsi:nil"); - nil.setValue("true"); - textNode = nil; - } - appendChild(parentElement, textNode); - } - - @Override - public Class getTargetType() { - return Node.class; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBean2XMLStreamReaderTransformer.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBean2XMLStreamReaderTransformer.java deleted file mode 100644 index 4942fef0da..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBean2XMLStreamReaderTransformer.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.databinding.javabeans; - -import javax.xml.stream.XMLStreamReader; - -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.xml.BeanXMLStreamReaderImpl; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -/** - * Transformer to convert data from a JavaBean object to XMLStreamReader. - * - * @version $Rev$ $Date$ - */ -public class JavaBean2XMLStreamReaderTransformer extends BaseTransformer implements - PullTransformer { - - public XMLStreamReader transform(Object source, TransformationContext context) { - try { - javax.xml.namespace.QName name = null; - if (context != null) { - Object logical = context.getSourceDataType().getLogical(); - if (logical instanceof XMLType) { - name = ((XMLType)logical).getElementName(); - } - } - return new BeanXMLStreamReaderImpl(name, source); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return Object.class; - } - - @Override - protected Class getTargetType() { - return XMLStreamReader.class; - } - - @Override - public int getWeight() { - return 50; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBean2XMLTransformer.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBean2XMLTransformer.java deleted file mode 100644 index b96b394bb8..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBean2XMLTransformer.java +++ /dev/null @@ -1,262 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.javabeans; - -import java.lang.reflect.Array; -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.util.Date; -import java.util.GregorianCalendar; - -import javax.xml.datatype.XMLGregorianCalendar; -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.apache.tuscany.sca.databinding.impl.SimpleTypeMapperImpl; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -/** - * Transformer to convert data from a JavaBean object to xml - * - * @version $Rev$ $Date$ - */ -public abstract class JavaBean2XMLTransformer extends BaseTransformer implements - PullTransformer { - - public static final String GET = "get"; - public static final String PREFIX = "n"; - public static final String PERIOD = "."; - public static final String FWD_SLASH = "/"; - public static final String HTTP = "http://"; - private static int prefixCount = 1; - - protected SimpleTypeMapperImpl mapper; - - public JavaBean2XMLTransformer() { - this.mapper = new SimpleTypeMapperImpl(); - } - - public T transform(Object source, TransformationContext context) { - QName rootElement = null; - if (context != null) { - DataType type = context.getTargetDataType(); - if (type != null) { - Object logical = type.getLogical(); - if (logical instanceof XMLType) { - rootElement = ((XMLType)logical).getElementName(); - } - } - } - //FIXME See how/if we still need to get the metadata here - //QName rootElementName = (QName)context.getTargetDataType().getMetadata("RootElementName"); - //if (rootElementName == null) { - QName rootElementName = new QName(resolveRootElementName(source.getClass())); - //} - - T root = createElement(rootElementName); - appendChildElements(root, resolveElementName(source.getClass()), source.getClass(), source, context); - return root; - } - - private void appendChildElements(T parent, - QName elementName, - Class javaType, - Object javaObject, - TransformationContext context) { - T element = null; - if (javaObject != null) { - if (javaType.isPrimitive() || isSimpleJavaType(javaObject)) { - appendText(parent, mapper.toXMLLiteral(null, javaObject, context)); - } else if (javaType.isArray()) { - int size = Array.getLength(javaObject); - for (int count = 0; count < size; ++count) { - Object item = Array.get(javaObject, count); - element = createElement(elementName); - appendChild(parent, element); - appendChildElements(element, elementName, javaType.getComponentType(), item, context); - } - } else { - Field[] javaFields = javaType.getFields(); - for (Field aField : javaFields) { - try { - QName fieldElementName = new QName(aField.getName()); - if (!aField.getType().isArray()) { - element = createElement(fieldElementName); - appendChild(parent, element); - appendChildElements(element, - fieldElementName, - aField.getType(), - aField.get(javaObject), - context); - } else { - appendChildElements(parent, - fieldElementName, - aField.getType(), - aField.get(javaObject), - context); - } - } catch (IllegalAccessException e) { - Java2XMLMapperException java2xmlEx = new Java2XMLMapperException(e); - java2xmlEx.setJavaFieldName(aField.getName()); - java2xmlEx.setJavaType(javaType); - throw java2xmlEx; - } - } - - Method[] methods = javaType.getMethods(); - String fieldName = null; - for (Method aMethod : methods) { - try { - if (Modifier.isPublic(aMethod.getModifiers()) && aMethod.getName().startsWith(GET) - && aMethod.getParameterTypes().length == 0 - && isMappedGetter(aMethod.getName())) { - fieldName = resolveFieldFromMethod(aMethod.getName()); - try { - javaType.getField(fieldName); - } catch (NoSuchFieldException e) { - QName fieldElementName = new QName(fieldName); - if (aMethod.getReturnType().isArray()) { - appendChildElements(parent, fieldElementName, aMethod.getReturnType(), aMethod - .invoke(javaObject, new Object[0]), context); - } else { - element = createElement(fieldElementName); - appendChild(parent, element); - appendChildElements(element, fieldElementName, aMethod.getReturnType(), aMethod - .invoke(javaObject, new Object[0]), context); - } - } - } - } catch (IllegalAccessException e) { - Java2XMLMapperException java2xmlEx = new Java2XMLMapperException(e); - java2xmlEx.setJavaFieldName(fieldName); - java2xmlEx.setJavaType(javaType); - throw java2xmlEx; - } catch (InvocationTargetException e) { - Java2XMLMapperException java2xmlEx = new Java2XMLMapperException(e); - java2xmlEx.setJavaFieldName(fieldName); - java2xmlEx.setJavaType(javaType); - throw java2xmlEx; - } - } - } - } - } - - /* - * Subclasses can override this method to prevent some getter methods - * from being mapped. The default implementation provided by this class - * maps all getter methods. - */ - protected boolean isMappedGetter(String methodName) { - return true; - } - - @Override - public String getSourceDataBinding() { - return JavaBeansDataBinding.NAME; - } - - @Override - public Class getSourceType() { - return Object.class; - } - - private boolean isSimpleJavaType(Object javaObject) { - if (javaObject instanceof String) { - return true; - } - if (javaObject instanceof Byte || javaObject instanceof Character - || javaObject instanceof Short - || javaObject instanceof Integer - || javaObject instanceof Long - || javaObject instanceof Float - || javaObject instanceof Double - || javaObject instanceof Boolean) { - return true; - } - if (javaObject instanceof GregorianCalendar || javaObject instanceof Date - || javaObject instanceof XMLGregorianCalendar - || javaObject instanceof byte[] - || javaObject instanceof QName) { - return true; - } - return false; - } - - private String resolveRootElementName(Class javaType) { - if (javaType.isArray()) { - return javaType.getComponentType().getSimpleName() + "_collection"; - } else { - return javaType.getSimpleName() + "_instance"; - } - } - - private QName resolveElementName(Class javaType) { - if (javaType.isArray()) { - return new QName(javaType.getComponentType().getSimpleName()); - } else { - return new QName(javaType.getSimpleName()); - } - } - - private String resolveFieldFromMethod(String methodName) { - StringBuffer fieldName = new StringBuffer(); - fieldName.append(Character.toLowerCase(methodName.charAt(GET.length()))); - fieldName.append(methodName.substring(GET.length() + 1)); - return fieldName.toString(); - } - - public String getNexPrefix() { - return PREFIX + prefixCount++; - } - - @Override - public int getWeight() { - return JavaBeansDataBinding.HEAVY_WEIGHT; - } - - /** - * Create an element with the given name - * @param qName - * @return - * @throws Java2XMLMapperException - */ - public abstract T createElement(QName qName) throws Java2XMLMapperException; - - /** - * Create a text node and add it to the parent - * @param parentElement - * @param textData - * @throws Java2XMLMapperException - */ - public abstract void appendText(T parentElement, String textData) throws Java2XMLMapperException; - - /** - * Add the child element to the parent - * @param parentElement - * @param childElement - * @throws Java2XMLMapperException - */ - public abstract void appendChild(T parentElement, T childElement) throws Java2XMLMapperException; -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBeansDataBinding.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBeansDataBinding.java deleted file mode 100644 index fb04014051..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaBeansDataBinding.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.javabeans; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.io.ObjectStreamClass; -import java.io.OutputStream; -import java.io.Serializable; - -import org.apache.tuscany.sca.databinding.impl.BaseDataBinding; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; - -/** - * DataBinding for JavaBeans - * - * @version $Rev$ $Date$ - */ -public class JavaBeansDataBinding extends BaseDataBinding { - /** - * Defining a weight to a very high number so that the transformer won't be picked - * up by other paths unless it's the only available path - */ - public static final int HEAVY_WEIGHT = 10000; - public static final String NAME = "java:complexType"; - - public JavaBeansDataBinding() { - super(NAME, Object.class); - } - - protected JavaBeansDataBinding(String name, Class baseType) { - super(name, baseType); - } - - @Override - public Object copy(Object arg, DataType dataType, Operation operation) { - if (arg == null) { - return null; - } - final Class clazz = arg.getClass(); - if (String.class == clazz || clazz.isPrimitive() - || Number.class.isAssignableFrom(clazz) - || Boolean.class.isAssignableFrom(clazz) - || Character.class.isAssignableFrom(clazz) - || Byte.class.isAssignableFrom(clazz)) { - // Immutable classes - return arg; - } - try { - if (arg instanceof Serializable) { - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - ObjectOutputStream oos = getObjectOutputStream(bos); - oos.writeObject(arg); - oos.close(); - bos.close(); - - // Work out which ClassLoader to use for deserializing arg - // We want to use: - // * The ClassLoader of arg if it is not the System ClassLoader - // * The ThreadContext ClassLoader if the ClassLoader of arg is the System ClassLoader - // because Collection classes are loaded by the System ClassLoader but their contents - // may be loaded from another ClassLoader - // - ClassLoader classLoaderToUse = clazz.getClassLoader(); - if (classLoaderToUse == null) - { - // ClassLoader of arg is the System ClassLoader so we will use the ThreadContext ClassLoader - // instead - classLoaderToUse = Thread.currentThread().getContextClassLoader(); - } - - ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray()); - ObjectInputStream ois = getObjectInputStream(bis, classLoaderToUse); - Object objectCopy = ois.readObject(); - ois.close(); - bis.close(); - return objectCopy; - } else { - // return arg; - throw new IllegalArgumentException("Argument type '" + arg.getClass().getCanonicalName() + "' is not Serializable. " + - " Pass-by-value cannot be performed on this argument"); - } - } catch (Exception e) { - throw new IllegalArgumentException("Pass-by-value is not supported for the given object", e); - } - } - - protected ObjectOutputStream getObjectOutputStream(OutputStream os) throws IOException { - return new ObjectOutputStream(os); - } - - protected ObjectInputStream getObjectInputStream(InputStream is, final ClassLoader cl) throws IOException { - ObjectInputStream ois = new ObjectInputStream(is) { - @Override - protected Class resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException { - try { - return Class.forName(desc.getName(), false, cl); - } catch (ClassNotFoundException e) { - try { - // For OSGi, use context ClassLoader if the bundle ClassLoader cannot load the class - if (cl != Thread.currentThread().getContextClassLoader()) { - return Class.forName(desc.getName(), false, Thread.currentThread().getContextClassLoader()); - } - } catch (ClassNotFoundException e1) { - // ignore - } catch (NoClassDefFoundError e1) { - // ignore - } - return super.resolveClass(desc); - } - } - - }; - return ois; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaExceptionDataBinding.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaExceptionDataBinding.java deleted file mode 100644 index 7ae64c6a27..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaExceptionDataBinding.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.javabeans; - - -/** - * DataBinding for Java Exceptions - * - * @version $Rev$ $Date$ - */ -public class JavaExceptionDataBinding extends JavaBeansDataBinding { - - public static final String NAME = "java:exception"; - - public JavaExceptionDataBinding() { - super(NAME, null); - } -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/SimpleJavaDataBinding.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/SimpleJavaDataBinding.java deleted file mode 100644 index 61a2189c72..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/SimpleJavaDataBinding.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.javabeans; - - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.databinding.impl.BaseDataBinding; -import org.apache.tuscany.sca.databinding.impl.SimpleTypeMapperImpl; -import org.apache.tuscany.sca.databinding.xml.XMLStringDataBinding; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.util.TypeInfo; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -/** - * DataBinding for Java simple types - * - * @version $Rev$ $Date$ - */ -public class SimpleJavaDataBinding extends BaseDataBinding { - public static final String NAME = "java:simpleType"; - - public SimpleJavaDataBinding() { - super(NAME, Object.class); - } - - @Override - public Object copy(Object arg, DataType dataType, Operation operation) { - if (arg instanceof byte[]) { - return ((byte[])arg).clone(); - } - return arg; - } - - @Override - public boolean introspect(DataType type, Operation operation) { - Class cls = type.getPhysical(); - if (cls == Object.class) { - return false; - } - // HACK: [rfeng] By pass the one know to XMLString - String db = type.getDataBinding(); - if (db != null && (XMLStringDataBinding.NAME.equals(db))) { - return false; - } - if (SimpleTypeMapperImpl.JAVA2XML.keySet().contains(cls)) { - type.setDataBinding(NAME); - QName elementName = null; - Object logical = type.getLogical(); - if (logical instanceof XMLType) { - elementName = ((XMLType)logical).getElementName(); - } - TypeInfo typeInfo = SimpleTypeMapperImpl.getXMLType(cls); - type.setLogical(new XMLType(elementName, typeInfo == null ? null : typeInfo.getQName())); - return true; - } else { - return false; - } - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/XML2JavaBeanTransformer.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/XML2JavaBeanTransformer.java deleted file mode 100644 index 06feeffabd..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/XML2JavaBeanTransformer.java +++ /dev/null @@ -1,329 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.javabeans; - -import java.lang.reflect.Array; -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Hashtable; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.databinding.PullTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.apache.tuscany.sca.databinding.impl.SimpleTypeMapperImpl; -import org.apache.tuscany.sca.interfacedef.util.XMLType; - -/** - * Transformer to convert data from XML to JavaBean - * - * @version $Rev$ $Date$ - */ -public abstract class XML2JavaBeanTransformer extends BaseTransformer implements - PullTransformer { - - public static final String SET = "set"; - public static final QName QNAME_MESSAGE = new QName("message"); - - protected SimpleTypeMapperImpl mapper; - - public XML2JavaBeanTransformer() { - this.mapper = new SimpleTypeMapperImpl(); - } - - @Override - public int getWeight() { - return JavaBeansDataBinding.HEAVY_WEIGHT; - } - - public Object transform(T source, TransformationContext context) { - //FIXME why is the logical type sometimes a Class instead of an XMLType? - if (context.getSourceDataType().getLogical() instanceof XMLType) { - XMLType xmlType = (XMLType) context.getSourceDataType().getLogical(); - return toJavaObject(xmlType.getTypeName(), getRootElement(source), context); - } else { - return toJavaObject(null, getRootElement(source), context); - } - } - - public Object toJavaObject(QName xmlType, T xmlElement, TransformationContext context) { - if (xmlType != null && SimpleTypeMapperImpl.isSimpleXSDType(xmlType)) { - return mapper.toJavaObject(xmlType, getText(xmlElement), context); - } else { - Class javaType = (Class)context.getTargetDataType().getPhysical(); - return createJavaObject(xmlElement, javaType, context); - } - } - - @SuppressWarnings("unchecked") - private L createJavaObject(T element, Class javaType, TransformationContext context) - throws XML2JavaMapperException { - if (isTextOnly(element)) { - return (L) mapper.toJavaObject(SimpleTypeMapperImpl.getXMLType(javaType).getQName(), - getText(element), - context); - } else { - String fieldName = null; - try { - L javaInstance; - T detailMsg = null; - if (Throwable.class.isAssignableFrom(javaType)) { - T msgElement = getFirstChildWithName(element, QNAME_MESSAGE); - if (msgElement != null && isTextOnly(msgElement)) { - detailMsg = msgElement; // skip this when handling child elements - Constructor constructor = javaType.getConstructor(new Class[] {String.class}); - javaInstance = (L)constructor.newInstance(new Object[] {getText(detailMsg)}); - } else { - javaInstance = javaType.newInstance(); - } - } else { - javaInstance = javaType.newInstance(); - } - Map> arrayFields = new Hashtable>(); - Map> arraySetters = new Hashtable>(); - - for (Iterator childElements = getChildElements(element); childElements.hasNext(); ) { - T childElement = childElements.next(); - if (!isTextElement(childElement) && childElement != detailMsg) { - fieldName = getElementName(childElement); - try { - Field javaField = javaType.getField(fieldName); - setFieldValue(javaInstance, - javaField, - childElement, - arrayFields, - context); - - } catch (NoSuchFieldException e1) { - setFieldValueUsingSetter(javaType, - javaInstance, - fieldName, - childElement, - arraySetters, - context); - } - } - } - - setArrayValues(javaInstance, arrayFields, arraySetters); - return javaInstance; - } catch (Exception e2) { - XML2JavaMapperException xml2JavaEx = new XML2JavaMapperException(e2); - xml2JavaEx.setJavaType(javaType); - xml2JavaEx.setJavaFieldName(fieldName); - throw xml2JavaEx; - } - } - } - - private void setFieldValue(Object javaInstance, - Field javaField, - T fieldValue, - Map> arrayFields, - TransformationContext context) throws IllegalAccessException { - Class javaFieldType = (Class) javaField.getType(); - - if (javaFieldType.isArray()) { - Class componentType = javaFieldType.getComponentType(); - List fldValueArray = arrayFields.get(javaField); - if (fldValueArray == null) { - fldValueArray = new ArrayList(); - arrayFields.put(javaField, fldValueArray); - } - fldValueArray.add(createJavaObject(fieldValue, componentType, context)); - } else { - javaField.setAccessible(true); - javaField.set(javaInstance, createJavaObject(fieldValue, javaFieldType, context)); - } - } - - private void setFieldValueUsingSetter(Class javaType, - Object javaInstance, - String fieldName, - T fieldValue, - Map> arraySetters, - TransformationContext context) throws IllegalAccessException, - InvocationTargetException { - char firstChar = Character.toUpperCase(fieldName.charAt(0)); - StringBuilder methodName = new StringBuilder(SET + fieldName); - methodName.setCharAt(SET.length(), firstChar); - boolean methodNotFound = true; - - for (int methodCount = 0; methodNotFound && methodCount < javaType.getMethods().length; ++methodCount) { - Method aMethod = javaType.getMethods()[methodCount]; - if (aMethod.getName().equals(methodName.toString()) - && aMethod.getParameterTypes().length == 1) { - Class paramType = aMethod.getParameterTypes()[0]; - - if (paramType.isArray()) { - Class componentType = paramType.getComponentType(); - List setterValueArray = arraySetters.get(aMethod); - if (setterValueArray == null) { - setterValueArray = new ArrayList(); - arraySetters.put(aMethod, setterValueArray); - } - setterValueArray.add(createJavaObject(fieldValue, componentType, context)); - } else { - aMethod.invoke(javaInstance, new Object[] {createJavaObject(fieldValue, - paramType, - context)}); - } - methodNotFound = false; - } - } - - if (methodNotFound) { - XML2JavaMapperException xml2JavaEx = - new XML2JavaMapperException("No field or setter method to configure xml data"); - xml2JavaEx.setJavaFieldName(fieldName); - xml2JavaEx.setJavaType(javaType); - throw xml2JavaEx; - } - } - - private void setArrayValues(Object javaInstance, - Map> arrayFields, - Map> arraySetters) throws IllegalAccessException, - InvocationTargetException { - if (arrayFields.size() > 0) { - for (Field javaField : arrayFields.keySet()) { - javaField.setAccessible(true); - - if (javaField.getType().getComponentType().isPrimitive()) { - javaField.set(javaInstance, createPrimitiveArray(javaField.getType() - .getComponentType(), - arrayFields.get(javaField))); - } else { - javaField.set(javaInstance, - createNonPrimitiveArray(javaField.getType().getComponentType(), - arrayFields.get(javaField))); - } - } - } - - if (arraySetters.size() > 0) { - for (Method aMethod : arraySetters.keySet()) { - Class paramType = aMethod.getParameterTypes()[0]; - if (paramType.getComponentType().isPrimitive()) { - aMethod.invoke(javaInstance, - new Object[] {createPrimitiveArray(paramType.getComponentType(), - arraySetters.get(aMethod))}); - } else { - aMethod.invoke(javaInstance, - new Object[] {createNonPrimitiveArray(paramType.getComponentType(), - arraySetters.get(aMethod))}); - } - } - } - } - - private Object createNonPrimitiveArray(Class fieldType, List values) { - Object objectArray = Array.newInstance(fieldType, values.size()); - for (int count = 0; count < values.size(); ++count) { - Array.set(objectArray, count, values.get(count)); - } - return objectArray; - } - - private Object createPrimitiveArray(Class fieldType, List values) { - if (fieldType.isPrimitive()) { - if (fieldType.getName().equals("int")) { - int[] primitiveValues = new int[values.size()]; - for (int count = 0; count < values.size(); ++count) { - primitiveValues[count] = ((Integer) values.get(count)).intValue(); - } - return primitiveValues; - } else if (fieldType.getName().equals("float")) { - float[] primitiveValues = new float[values.size()]; - for (int count = 0; count < values.size(); ++count) { - primitiveValues[count] = ((Float) values.get(count)).floatValue(); - } - return primitiveValues; - } else if (fieldType.getName().equals("boolean")) { - boolean[] primitiveValues = new boolean[values.size()]; - for (int count = 0; count < values.size(); ++count) { - primitiveValues[count] = ((Boolean) values.get(count)).booleanValue(); - } - return primitiveValues; - } else if (fieldType.getName().equals("char")) { - char[] primitiveValues = new char[values.size()]; - for (int count = 0; count < values.size(); ++count) { - primitiveValues[count] = ((Character) values.get(count)).charValue(); - } - return primitiveValues; - } else if (fieldType.getName().equals("byte")) { - byte[] primitiveValues = new byte[values.size()]; - for (int count = 0; count < values.size(); ++count) { - primitiveValues[count] = ((Byte) values.get(count)).byteValue(); - } - return primitiveValues; - } else if (fieldType.getName().equals("short")) { - short[] primitiveValues = new short[values.size()]; - for (int count = 0; count < values.size(); ++count) { - primitiveValues[count] = ((Short) values.get(count)).shortValue(); - } - return primitiveValues; - } else if (fieldType.getName().equals("long")) { - long[] primitiveValues = new long[values.size()]; - for (int count = 0; count < values.size(); ++count) { - primitiveValues[count] = ((Long) values.get(count)).longValue(); - } - return primitiveValues; - } else if (fieldType.getName().equals("double")) { - double[] primitiveValues = new double[values.size()]; - for (int count = 0; count < values.size(); ++count) { - primitiveValues[count] = ((Double) values.get(count)).doubleValue(); - } - return primitiveValues; - } - } - return values; - } - - public abstract String getText(T source) throws XML2JavaMapperException; - - public abstract Iterator getChildElements(T parent) throws XML2JavaMapperException; - - public abstract String getElementName(T element) throws XML2JavaMapperException; - - public abstract boolean isTextElement(T element) throws XML2JavaMapperException; - - public abstract boolean isTextOnly(T element) throws XML2JavaMapperException; - - public abstract T getFirstChildWithName(T element, QName name) throws XML2JavaMapperException; - - public abstract T getRootElement(T element) throws XML2JavaMapperException; - - @Override - public Class getTargetType() { - return Object.class; - } - - @Override - public String getTargetDataBinding() { - return JavaBeansDataBinding.NAME; - } -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/XML2JavaMapperException.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/XML2JavaMapperException.java deleted file mode 100644 index a723fd445c..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/XML2JavaMapperException.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.javabeans; - -import javax.xml.namespace.QName; - -/** - * This exception is used to encapsulate and rethrow exceptions that arise out - * of converting XML Data to Java Objects. - * - * @version $Rev$ $Date$ - */ -public class XML2JavaMapperException extends RuntimeException { - private static final long serialVersionUID = 6596530102591630642L; - - private QName xmlElementName; - private String javaFieldName; - private Class javaType; - - public XML2JavaMapperException(String message) { - super(message); - } - - public XML2JavaMapperException(Throwable cause) { - super(cause); - } - - public QName getXmlElementName() { - return xmlElementName; - } - - public void setXmlElementName(QName xmlElementName) { - this.xmlElementName = xmlElementName; - } - - public String getJavaFieldName() { - return javaFieldName; - } - - public void setJavaFieldName(String javaFieldName) { - this.javaFieldName = javaFieldName; - } - - public Class getJavaType() { - return javaType; - } - - public void setJavaType(Class javaType) { - this.javaType = javaType; - } - - @Override - public String getMessage() { - return super.getMessage() + " <" + getJavaFieldName() + "> " + " in <" + getJavaType() + ">"; - } - - - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/util/DataTypeHelper.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/util/DataTypeHelper.java deleted file mode 100644 index 1e39150f4a..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/util/DataTypeHelper.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.databinding.util; - -import java.lang.reflect.GenericArrayType; -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; -import java.lang.reflect.TypeVariable; -import java.lang.reflect.WildcardType; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Interface; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.util.WrapperInfo; - -/** - * - * @version $Rev$ $Date$ - */ -public class DataTypeHelper { - private DataTypeHelper() { - } - - /** - * Find all classes referenced by this data type though java generics - * @param d - * @return - */ - public static Set> findClasses(DataType d) { - Set> classes = new HashSet>(); - Set visited = new HashSet(); - findClasses(d, classes, visited); - return classes; - } - - private static void findClasses(DataType d, Set> classes, Set visited) { - if (d == null) { - return; - } - classes.add(d.getPhysical()); - if (d.getPhysical() != d.getGenericType()) { - findClasses(d.getGenericType(), classes, visited); - } - } - - /** - * Find referenced classes in the generic type - * @param type - * @param classSet - * @param visited - */ - private static void findClasses(Type type, Set> classSet, Set visited) { - if (visited.contains(type) || type == null) { - return; - } - visited.add(type); - if (type instanceof Class) { - Class cls = (Class)type; - if (!cls.isInterface()) { - classSet.add(cls); - } - return; - } else if (type instanceof ParameterizedType) { - ParameterizedType pType = (ParameterizedType)type; - findClasses(pType.getRawType(), classSet, visited); - for (Type t : pType.getActualTypeArguments()) { - findClasses(t, classSet, visited); - } - } else if (type instanceof TypeVariable) { - TypeVariable tv = (TypeVariable)type; - for (Type t : tv.getBounds()) { - findClasses(t, classSet, visited); - } - } else if (type instanceof GenericArrayType) { - GenericArrayType gType = (GenericArrayType)type; - findClasses(gType, classSet, visited); - } else if (type instanceof WildcardType) { - WildcardType wType = (WildcardType)type; - for (Type t : wType.getLowerBounds()) { - findClasses(t, classSet, visited); - } - for (Type t : wType.getUpperBounds()) { - findClasses(t, classSet, visited); - } - } - } - - /** - * Get all the data types in the interface - * @param intf The interface - * @param useWrapper Use wrapper classes? - * @return A list of DataTypes - */ - public static List getDataTypes(Interface intf, boolean useWrapper) { - List dataTypes = new ArrayList(); - for (Operation op : intf.getOperations()) { - getDataTypes(dataTypes, op, useWrapper); - } - return dataTypes; - } - - /** - * Get all the data types in the operation - * @param op The operaiton - * @param useWrapper Use wrapper classes? - * @return A list of DataTypes - */ - public static List getDataTypes(Operation op, boolean useWrapper) { - List dataTypes = new ArrayList(); - getDataTypes(dataTypes, op, useWrapper); - return dataTypes; - } - - private static void getDataTypes(List dataTypes, Operation op, boolean useWrapper) { - WrapperInfo wrapper = op.getWrapper(); - if (useWrapper && wrapper != null) { - DataType dt1 = wrapper.getInputWrapperType(); - if (dt1 != null) { - dataTypes.add(dt1); - } - DataType dt2 = wrapper.getOutputWrapperType(); - if (dt2 != null) { - dataTypes.add(dt2); - } - } - // FIXME: [rfeng] We may need to find the referenced classes in the child types - // else - { - for (DataType dt1 : op.getInputType().getLogical()) { - dataTypes.add(dt1); - } - DataType dt2 = op.getOutputType(); - if (dt2 != null) { - dataTypes.add(dt2); - } - } - for (DataType dt3 : op.getFaultTypes()) { - DataType dt4 = dt3.getLogical(); - if (dt4 != null) { - dataTypes.add(dt4); - } - } - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/util/LRUCache.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/util/LRUCache.java deleted file mode 100644 index 34a82fd2d3..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/util/LRUCache.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.databinding.util; - -import java.util.LinkedHashMap; -import java.util.Map; - -/** - * A Simple LRU Cache - * - * @version $Revision$ - * @param - * @param - */ - -public class LRUCache extends LinkedHashMap { - private static final long serialVersionUID = -342098639681884413L; - protected int maxCacheSize = 4096; - - /** - * Default constructor for an LRU Cache The default capacity is 10000 - */ - public LRUCache() { - this(0, 4096, 0.75f, true); - } - - /** - * Constructs a LRUCache with a maximum capacity - * - * @param maximumCacheSize - */ - public LRUCache(int maximumCacheSize) { - this(0, maximumCacheSize, 0.75f, true); - } - - /** - * Constructs an empty LRUCache instance with the specified - * initial capacity, maximumCacheSize,load factor and ordering mode. - * - * @param initialCapacity the initial capacity. - * @param maximumCacheSize - * @param loadFactor the load factor. - * @param accessOrder the ordering mode - true for access-order, - * false for insertion-order. - * @throws IllegalArgumentException if the initial capacity is negative or - * the load factor is non-positive. - */ - - public LRUCache(int initialCapacity, int maximumCacheSize, float loadFactor, boolean accessOrder) { - super(initialCapacity, loadFactor, accessOrder); - this.maxCacheSize = maximumCacheSize; - } - - /** - * @return Returns the maxCacheSize. - */ - public int getMaxCacheSize() { - return maxCacheSize; - } - - /** - * @param maxCacheSize The maxCacheSize to set. - */ - public void setMaxCacheSize(int maxCacheSize) { - this.maxCacheSize = maxCacheSize; - } - - @Override - protected boolean removeEldestEntry(Map.Entry eldest) { - return size() > maxCacheSize; - } -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/BeanXMLStreamReaderImpl.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/BeanXMLStreamReaderImpl.java deleted file mode 100644 index 3423d3e3b0..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/BeanXMLStreamReaderImpl.java +++ /dev/null @@ -1,296 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.xml; - -import java.beans.BeanInfo; -import java.beans.Introspector; -import java.beans.PropertyDescriptor; -import java.lang.reflect.Array; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.databinding.impl.SimpleTypeMapperImpl; -import org.apache.tuscany.sca.interfacedef.util.TypeInfo; - -/** - * @version $Rev$ $Date$ - */ -public class BeanXMLStreamReaderImpl extends XmlTreeStreamReaderImpl { - private static final Comparator COMPARATOR = new Comparator() { - public int compare(Accessor o1, Accessor o2) { - return o1.getName().compareTo(o2.getName()); - } - }; - - public static class BeanXmlNodeImpl extends SimpleXmlNodeImpl implements XmlNode { - private static final Object[] NULL = null; - private static final SimpleTypeMapperImpl MAPPER = new SimpleTypeMapperImpl(); - - public BeanXmlNodeImpl(Object bean) { - super(getName(bean == null ? null : bean.getClass()), bean); - } - - public BeanXmlNodeImpl(QName name, Object bean) { - super(name, bean); - } - - private static boolean isSimpleType(Class javaType) { - return SimpleTypeMapperImpl.getXMLType(javaType) != null; - } - - private static String getStringValue(Object o) { - if (o == null) { - return null; - } - TypeInfo info = SimpleTypeMapperImpl.getXMLType(o.getClass()); - if (info != null) { - return MAPPER.toXMLLiteral(info.getQName(), o, null); - } else { - return String.valueOf(o); - } - } - - @Override - public Iterator children() { - if (name == null) { - return null; - } - if (value == null) { - return super.children(); - } - if (isSimpleType(value.getClass())) { - XmlNode textNode = new BeanXmlNodeImpl(null, value); - return Arrays.asList(textNode).iterator(); - } - if (Map.class.isAssignableFrom(value.getClass())) { - List entries = new ArrayList(); - QName entryName = new QName(name.getNamespaceURI(), "entry"); - Map map = (Map)value; - if (map != null) { - for (Object e : map.entrySet()) { - Map.Entry entry = (Map.Entry)e; - entries.add(new BeanXmlNodeImpl(entryName, entry)); - } - } - return entries.iterator(); - } - try { - Map accessorMap = getAccessors(value); - List accessorList = new ArrayList(accessorMap.values()); - Collections.sort(accessorList, COMPARATOR); - - List props = new ArrayList(); - for (Accessor accessor : accessorList) { - Class pType = accessor.getType(); - - QName pName = new QName(name.getNamespaceURI(), accessor.getName()); - Object pValue = accessor.getValue(); - if (pType.isArray()) { - if (pValue != null) { - int i1 = Array.getLength(pValue); - for (int j = 0; j < i1; j++) { - Object o = Array.get(pValue, j); - props.add(new BeanXmlNodeImpl(pName, o)); - } - } else { - // TODO: How to handle null? - } - } else if (Collection.class.isAssignableFrom(pType)) { - Collection objList = (Collection)pValue; - if (objList != null && objList.size() > 0) { - for (Iterator j = objList.iterator(); j.hasNext();) { - Object o = j.next(); - props.add(new BeanXmlNodeImpl(pName, o)); - } - - } else { - // How to handle null - } - } else { - props.add(new BeanXmlNodeImpl(pName, pValue)); - } - } - return props.iterator(); - } catch (Exception e) { - throw new IllegalArgumentException(e); - } - } - - @Override - public QName getName() { - return name; - } - - @Override - public String getValue() { - return getStringValue(value); - } - - private static String getPackageName(Class cls) { - String name = cls.getName(); - int index = name.lastIndexOf('.'); - return index == -1 ? "" : name.substring(0, index); - } - - public static QName getName(Class cls) { - if (cls == null) { - return null; - } - - String packageName = getPackageName(cls); - - if ("".equals(packageName)) { - return new QName("", cls.getSimpleName()); - } - StringBuffer ns = new StringBuffer("http://"); - String[] names = packageName.split("\\."); - for (int i = names.length - 1; i >= 0; i--) { - ns.append(names[i]); - if (i != 0) { - ns.append('.'); - } - } - ns.append('/'); - return new QName(ns.toString(), cls.getSimpleName()); - } - - } - - public BeanXMLStreamReaderImpl(QName name, Object bean) { - super(getXmlNode(name, bean)); - } - - private static BeanXmlNodeImpl getXmlNode(QName name, Object bean) { - BeanXmlNodeImpl root = null; - if (name != null) { - root = new BeanXmlNodeImpl(name, bean); - } else { - root = new BeanXmlNodeImpl(bean); - } - return root; - } - - public static interface Accessor { - String getName(); - - Class getType(); - - Object getValue() throws Exception; - - void setValue(Object value) throws Exception; - } - - private static class FieldAccessor implements Accessor { - private Object target; - private Field field; - - public FieldAccessor(Object target, Field field) { - super(); - this.target = target; - this.field = field; - this.field.setAccessible(true); - } - - public String getName() { - return field.getName(); - } - - public Object getValue() throws Exception { - return field.get(target); - } - - public void setValue(Object value) throws Exception { - field.set(target, value); - } - - public Class getType() { - return field.getType(); - } - - } - - private static class PropertyAccessor implements Accessor { - private Object target; - private PropertyDescriptor prop; - - public PropertyAccessor(Object target, PropertyDescriptor prop) { - super(); - this.target = target; - this.prop = prop; - } - - public String getName() { - return prop.getName(); - } - - public Class getType() { - return prop.getPropertyType(); - } - - public Object getValue() throws Exception { - Method getter = prop.getReadMethod(); - if (getter != null) { - getter.setAccessible(true); - return getter.invoke(target); - } - throw new IllegalAccessException("The property cannot be read: " + getName()); - } - - public void setValue(Object value) throws Exception { - Method setter = prop.getWriteMethod(); - if (setter != null) { - setter.setAccessible(true); - setter.invoke(target); - } - throw new IllegalAccessException("The property cannot be written: " + getName()); - } - - } - - private static Map getAccessors(Object target) throws Exception { - if (target == null) { - return Collections.emptyMap(); - } - Map map = new HashMap(); - Class type = target.getClass(); - for (Field f : type.getFields()) { - map.put(f.getName(), new FieldAccessor(target, f)); - } - BeanInfo info = Introspector.getBeanInfo(type, Object.class); - for (PropertyDescriptor p : info.getPropertyDescriptors()) { - // if (p.getReadMethod() != null && p.getWriteMethod() != null) { - map.put(p.getName(), new PropertyAccessor(target, p)); - // } - } - return map; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMDataBinding.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMDataBinding.java deleted file mode 100644 index e029604722..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMDataBinding.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.xml; - - -import javax.xml.namespace.QName; - -import org.apache.tuscany.sca.databinding.WrapperHandler; -import org.apache.tuscany.sca.databinding.impl.BaseDataBinding; -import org.apache.tuscany.sca.interfacedef.DataType; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.w3c.dom.Node; - -/** - * DOM DataBinding - * - * @version $Rev$ $Date$ - */ -public class DOMDataBinding extends BaseDataBinding { - public static final String NAME = Node.class.getName(); - - public static final String ROOT_NAMESPACE = "http://tuscany.apache.org/xmlns/sca/databinding/dom/1.0"; - public static final QName ROOT_ELEMENT = new QName(ROOT_NAMESPACE, "root"); - - public DOMDataBinding() { - super(NAME, Node.class); - } - - @Override - public WrapperHandler getWrapperHandler() { - return new DOMWrapperHandler(); - } - - @Override - public Object copy(Object source, DataType dataType, Operation operation) { - if (Node.class.isAssignableFrom(source.getClass())) { - Node nodeSource = (Node)source; - return nodeSource.cloneNode(true); - } - return super.copy(source, dataType, operation); - } - - @Override - public boolean introspect(DataType type, Operation operation) { - if (Node.class.isAssignableFrom(type.getPhysical())) { - if (type.getLogical() == null) { - type.setLogical(new XMLType(ROOT_ELEMENT, null)); - } - type.setDataBinding(NAME); - return true; - } - return false; - } -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMWrapperHandler.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMWrapperHandler.java deleted file mode 100644 index 9e1ebb3522..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMWrapperHandler.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.xml; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import javax.xml.namespace.QName; -import javax.xml.parsers.ParserConfigurationException; - -import org.apache.tuscany.sca.databinding.TransformationException; -import org.apache.tuscany.sca.databinding.WrapperHandler; -import org.apache.tuscany.sca.databinding.impl.DOMHelper; -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.ElementInfo; -import org.apache.tuscany.sca.interfacedef.util.WrapperInfo; -import org.apache.tuscany.sca.interfacedef.util.XMLType; -import org.w3c.dom.Document; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -public class DOMWrapperHandler implements WrapperHandler { - - public DOMWrapperHandler() { - super(); - } - - public Node create(Operation operation, boolean input) { - try { - WrapperInfo wrapperInfo = operation.getWrapper(); - ElementInfo element = input ? wrapperInfo.getInputWrapperElement() : wrapperInfo.getOutputWrapperElement(); - // Class wrapperClass = input ? wrapperInfo.getInputWrapperClass() : wrapperInfo.getOutputWrapperClass(); - Document document = DOMHelper.newDocument(); - QName name = element.getQName(); - return DOMHelper.createElement(document, name); - } catch (ParserConfigurationException e) { - throw new TransformationException(e); - } - } - - public void setChildren(Node wrapper, - Object[] childObjects, - Operation operation, boolean input) { - List childElements = input? operation.getWrapper().getInputChildElements(): - operation.getWrapper().getOutputChildElements(); - for (int i = 0; i < childElements.size(); i++) { - setChild(wrapper, i, childElements.get(i), childObjects[i]); - } - - } - public void setChild(Node wrapper, int i, ElementInfo childElement, Object value) { - Node node = (Node)value; - if (node.getNodeType() == Node.DOCUMENT_NODE) { - node = ((Document)node).getDocumentElement(); - } - wrapper.appendChild(wrapper.getOwnerDocument().importNode(node, true)); - } - - public List getChildren(Node wrapper, Operation operation, boolean input) { - assert wrapper != null; - List childElements = input? operation.getWrapper().getInputChildElements(): - operation.getWrapper().getOutputChildElements(); - if (wrapper.getNodeType() == Node.DOCUMENT_NODE) { - wrapper = ((Document)wrapper).getDocumentElement(); - } - List elements = new ArrayList(); - NodeList nodes = wrapper.getChildNodes(); - for (int j = 0; j < nodes.getLength(); j++) { - Node node = nodes.item(j); - if (node.getNodeType() == Node.ELEMENT_NODE) { - elements.add(node); - } - } - return elements; - } - - /** - * @see org.apache.tuscany.sca.databinding.WrapperHandler#getWrapperType(Operation, boolean) - */ - public DataType getWrapperType(Operation operation, boolean input) { - WrapperInfo wrapper = operation.getWrapper(); - ElementInfo element = input? wrapper.getInputWrapperElement(): wrapper.getOutputWrapperElement(); - DataType wrapperType = - new DataTypeImpl(DOMDataBinding.NAME, Node.class, new XMLType(element)); - return wrapperType; - } - - public boolean isInstance(Object wrapperObj, - Operation operation, - boolean input) { - WrapperInfo wrapperInfo = operation.getWrapper(); - ElementInfo element = input ? wrapperInfo.getInputWrapperElement() : wrapperInfo.getOutputWrapperElement(); - List childElements = - input ? wrapperInfo.getInputChildElements() : wrapperInfo.getOutputChildElements(); - Node wrapper = (Node)wrapperObj; - if (wrapper.getNodeType() == Node.DOCUMENT_NODE) { - wrapper = ((Document)wrapper).getDocumentElement(); - } - QName elementName = new QName(wrapper.getNamespaceURI(), wrapper.getLocalName()); - if (!element.getQName().equals(elementName)) { - return false; - } - Set names = new HashSet(); - for (ElementInfo e : childElements) { - names.add(e.getQName()); - } - NodeList nodes = wrapper.getChildNodes(); - for (int j = 0; j < nodes.getLength(); j++) { - Node node = nodes.item(j); - if (node.getNodeType() == Node.ELEMENT_NODE) { - elementName = new QName(wrapper.getNamespaceURI(), wrapper.getLocalName()); - if (!names.contains(elementName)) { - return false; - } - } - } - return true; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMXMLStreamReader.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMXMLStreamReader.java deleted file mode 100644 index 8c7a742cdd..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMXMLStreamReader.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.xml; - -import org.w3c.dom.Node; - -public class DOMXMLStreamReader extends XmlTreeStreamReaderImpl { - - public DOMXMLStreamReader(Node node) { - super(new DOMXmlNodeImpl(node)); - switch (node.getNodeType()) { - case Node.DOCUMENT_NODE: - break; - case Node.ELEMENT_NODE: - break; - default: - throw new IllegalArgumentException("Illegal node type: " + node); - } - } -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMXmlNodeImpl.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMXmlNodeImpl.java deleted file mode 100644 index 507c141c33..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DOMXmlNodeImpl.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.databinding.xml; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.xml.namespace.QName; - -import org.w3c.dom.Attr; -import org.w3c.dom.Document; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -/** - * @version $Rev$ $Date$ - */ -public class DOMXmlNodeImpl implements XmlNode { - private Node node; - private Map namespaces; - private Type type; - - /** - * @param element - */ - public DOMXmlNodeImpl(Node element) { - super(); - if (element.getNodeType() == Node.DOCUMENT_NODE) { - this.node = ((Document)element).getDocumentElement(); - } else { - this.node = element; - } - switch (node.getNodeType()) { - case Node.CDATA_SECTION_NODE: - this.type = Type.CHARACTERS; - break; - case Node.ELEMENT_NODE: - this.type = Type.ELEMENT; - break; - case Node.TEXT_NODE: - this.type = Type.CHARACTERS; - break; - } - } - - /** - * @see org.apache.tuscany.sca.databinding.xml.XmlNode#attributes() - */ - public List attributes() { - if (type != Type.ELEMENT) { - return null; - } - NamedNodeMap attrs = node.getAttributes(); - List xmlAttrs = new ArrayList(); - for (int i = 0; i < attrs.getLength(); i++) { - Attr attr = (Attr)attrs.item(i); - if (!attr.getName().equals("xmlns") && !attr.getName().startsWith("xmlns:")) { - xmlAttrs.add(new SimpleXmlNodeImpl(getQName(attr), attr.getValue(), XmlNode.Type.ATTRIBUTE)); - } - } - return xmlAttrs; - } - - /** - * @see org.apache.tuscany.sca.databinding.xml.XmlNode#children() - */ - public Iterator children() { - if (type != Type.ELEMENT) { - return null; - } - NodeList nodes = node.getChildNodes(); - List xmlNodes = new ArrayList(); - for (int i = 0; i < nodes.getLength(); i++) { - Node child = (Node)nodes.item(i); - int nodeType = child.getNodeType(); - if (nodeType == Node.ELEMENT_NODE || nodeType == Node.TEXT_NODE || nodeType == Node.CDATA_SECTION_NODE) { - xmlNodes.add(new DOMXmlNodeImpl(child)); - } - } - return xmlNodes.iterator(); - } - - /** - * @see org.apache.tuscany.sca.databinding.xml.XmlNode#getName() - */ - public QName getName() { - return getQName(node); - } - - private static QName getQName(Node node) { - int type = node.getNodeType(); - if (type == Node.ELEMENT_NODE || type == Node.ATTRIBUTE_NODE) { - String ns = node.getNamespaceURI(); - String prefix = node.getPrefix(); - String localName = node.getLocalName(); - return new QName(ns == null ? "" : ns, localName, prefix == null ? "" : prefix); - } - return null; - } - - /** - * @see org.apache.tuscany.sca.databinding.xml.XmlNode#getValue() - */ - public String getValue() { - return node.getNodeValue(); - } - - /** - * @see org.apache.tuscany.sca.databinding.xml.XmlNode#namespaces() - */ - public Map namespaces() { - if (type != Type.ELEMENT) { - return null; - } - if (namespaces == null) { - namespaces = new HashMap(); - NamedNodeMap attrs = node.getAttributes(); - for (int i = 0; i < attrs.getLength(); i++) { - Attr attr = (Attr)attrs.item(i); - if ("xmlns".equals(attr.getPrefix())) { - namespaces.put(attr.getLocalName(), attr.getValue()); - } - if ("xmlns".equals(attr.getName())) { - namespaces.put("", attr.getValue()); - } - } - } - return namespaces; - } - - public Type getType() { - return type; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DelegatingNamespaceContext.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DelegatingNamespaceContext.java deleted file mode 100644 index 7f49a50e1e..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/DelegatingNamespaceContext.java +++ /dev/null @@ -1,310 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.xml; - -import java.util.ArrayList; -import java.util.EmptyStackException; -import java.util.Iterator; -import java.util.List; - -import javax.xml.namespace.NamespaceContext; - -public class DelegatingNamespaceContext implements NamespaceContext { - private static int count; - - private class WrappingIterator implements Iterator { - - private Iterator containedIterator; - - public WrappingIterator(Iterator containedIterator) { - this.containedIterator = containedIterator; - } - - public Iterator getContainedIterator() { - return containedIterator; - } - - public boolean hasNext() { - return containedIterator.hasNext(); - } - - public Object next() { - return containedIterator.next(); - } - - /** - * As per the contract on the API of Namespace context the returned iterator should be immutable - */ - public void remove() { - throw new UnsupportedOperationException(); - } - - public void setContainedIterator(Iterator containedIterator) { - this.containedIterator = containedIterator; - } - } - - private NamespaceContext parentNsContext; - - private FastStack prefixStack = new FastStack(); - - // Keep two ArrayLists for the prefixes and namespaces. They should be in - // sync - // since the index of the entry will be used to relate them - // use the minimum initial capacity to let things handle memory better - - private FastStack uriStack = new FastStack(); - - /** - * Generates a unique namespace prefix that is not in the scope of the NamespaceContext - * - * @return string - */ - public String generateUniquePrefix() { - String prefix = "p" + count++; - // null should be returned if the prefix is not bound! - while (getNamespaceURI(prefix) != null) { - prefix = "p" + count++; - } - - return prefix; - } - - public String getNamespaceURI(String prefix) { - // do the corrections as per the Javadoc - int index = prefixStack.search(prefix); - if (index != -1) { - return uriStack.get(index); - } - if (parentNsContext != null) { - return parentNsContext.getPrefix(prefix); - } - return null; - } - - public NamespaceContext getParentNsContext() { - return parentNsContext; - } - - public String getPrefix(String uri) { - // do the corrections as per the Javadoc - int index = uriStack.search(uri); - if (index != -1) { - return prefixStack.get(index); - } - - if (parentNsContext != null) { - return parentNsContext.getPrefix(uri); - } - return null; - } - - public Iterator getPrefixes(String uri) { - // create an ArrayList that contains the relevant prefixes - String[] uris = uriStack.toArray(new String[uriStack.size()]); - List tempList = new ArrayList(); - for (int i = uris.length - 1; i >= 0; i--) { - if (uris[i].equals(uri)) { - tempList.add(prefixStack.get(i)); - // we assume that array conversion preserves the order - } - } - // by now all the relevant prefixes are collected - // make a new iterator and provide a wrapper iterator to - // obey the contract on the API - return new WrappingIterator(tempList.iterator()); - } - - /** - * Pop a namespace - */ - public void popNamespace() { - prefixStack.pop(); - uriStack.pop(); - } - - /** - * Register a namespace in this context - * - * @param prefix - * @param uri - */ - public void pushNamespace(String prefix, String uri) { - prefixStack.push(prefix); - uriStack.push(uri); - - } - - public void setParentNsContext(NamespaceContext parentNsContext) { - this.parentNsContext = parentNsContext; - } - - /** - * An implementation of the {@link java.util.Stack} API that is based on an ArrayList instead of a - * Vector, so it is not synchronized to protect against multi-threaded access. The implementation is - * therefore operates faster in environments where you do not need to worry about multiple thread contention. - *

- * The removal order of an ArrayStack is based on insertion order: The most recently added element is - * removed first. The iteration order is not the same as the removal order. The iterator returns elements - * from the bottom up, whereas the {@link #remove()} method removes them from the top down. - *

- * Unlike Stack, ArrayStack accepts null entries. - */ - public static class FastStack extends ArrayList { - - /** Ensure Serialization compatibility */ - private static final long serialVersionUID = 2130079159931574599L; - - /** - * Constructs a new empty ArrayStack. The initial size is controlled by ArrayList - * and is currently 10. - */ - public FastStack() { - super(); - } - - /** - * Constructs a new empty ArrayStack with an initial size. - * - * @param initialSize the initial size to use - * @throws IllegalArgumentException if the specified initial size is negative - */ - public FastStack(int initialSize) { - super(initialSize); - } - - /** - * Return true if this stack is currently empty. - *

- * This method exists for compatibility with java.util.Stack. New users of this class should use - * isEmpty instead. - * - * @return true if the stack is currently empty - */ - public boolean empty() { - return isEmpty(); - } - - /** - * Returns the top item off of this stack without removing it. - * - * @return the top item on the stack - * @throws EmptyStackException if the stack is empty - */ - public T peek() throws EmptyStackException { - int n = size(); - if (n <= 0) { - throw new EmptyStackException(); - } else { - return get(n - 1); - } - } - - /** - * Returns the n'th item down (zero-relative) from the top of this stack without removing it. - * - * @param n the number of items down to go - * @return the n'th item on the stack, zero relative - * @throws EmptyStackException if there are not enough items on the stack to satisfy this request - */ - public T peek(int n) throws EmptyStackException { - int m = (size() - n) - 1; - if (m < 0) { - throw new EmptyStackException(); - } else { - return get(m); - } - } - - /** - * Pops the top item off of this stack and return it. - * - * @return the top item on the stack - * @throws EmptyStackException if the stack is empty - */ - public T pop() throws EmptyStackException { - int n = size(); - if (n <= 0) { - throw new EmptyStackException(); - } else { - return remove(n - 1); - } - } - - /** - * Pushes a new item onto the top of this stack. The pushed item is also returned. This is equivalent to calling - * add. - * - * @param item the item to be added - * @return the item just pushed - */ - public Object push(T item) { - add(item); - return item; - } - - /** - * Returns the top-most index for the object in the stack - * - * @param object the object to be searched for - * @return top-most index, or -1 if not found - */ - public int search(T object) { - int i = size() - 1; // Current index - while (i >= 0) { - T current = get(i); - if ((object == null && current == null) || (object != null && object.equals(current))) { - return i; - } - i--; - } - return -1; - } - - /** - * Returns the element on the top of the stack. - * - * @return the element on the top of the stack - * @throws EmptyStackException if the stack is empty - */ - public T get() { - int size = size(); - if (size == 0) { - throw new EmptyStackException(); - } - return get(size - 1); - } - - /** - * Removes the element on the top of the stack. - * - * @return the removed element - * @throws EmptyStackException if the stack is empty - */ - public T remove() { - int size = size(); - if (size == 0) { - throw new EmptyStackException(); - } - return remove(size - 1); - } - - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/InputSource2Node.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/InputSource2Node.java deleted file mode 100644 index 5f583da283..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/InputSource2Node.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.databinding.xml; - -import javax.xml.transform.Source; -import javax.xml.transform.dom.DOMResult; -import javax.xml.transform.stream.StreamSource; - -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.Node; -import org.xml.sax.InputSource; - -/** - * Push DOM InputSource to Node - * - * @version $Rev$ $Date$ - */ -public class InputSource2Node extends BaseTransformer implements - PullTransformer { - private static final Source2ResultTransformer TRANSFORMER = new Source2ResultTransformer(); - - public Node transform(InputSource source, TransformationContext context) { - try { - Source streamSource = new StreamSource(source.getCharacterStream()); - DOMResult result = new DOMResult(); - TRANSFORMER.transform(streamSource, result, context); - return result.getNode(); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public Class getSourceType() { - return InputSource.class; - } - - @Override - public Class getTargetType() { - return Node.class; - } - - @Override - public int getWeight() { - return 40; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/InputSource2SAX.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/InputSource2SAX.java deleted file mode 100644 index 39116ba4a1..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/InputSource2SAX.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.databinding.xml; - -import org.apache.tuscany.sca.databinding.PushTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.TransformationException; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.xml.sax.ContentHandler; -import org.xml.sax.InputSource; -import org.xml.sax.XMLReader; -import org.xml.sax.helpers.XMLReaderFactory; - -/** - * Push InputSource to SAX - * - * @version $Rev$ $Date$ - */ -public class InputSource2SAX extends BaseTransformer implements - PushTransformer { - - public void transform(InputSource source, ContentHandler target, TransformationContext context) { - try { - XMLReader reader = XMLReaderFactory.createXMLReader(); - reader.setFeature("http://xml.org/sax/features/namespaces", true); - reader.setFeature("http://xml.org/sax/features/namespace-prefixes", false); - reader.setContentHandler(target); - reader.parse(source); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public Class getSourceType() { - return InputSource.class; - } - - @Override - public Class getTargetType() { - return ContentHandler.class; - } - - @Override - public int getWeight() { - return 40; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/InputStream2Node.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/InputStream2Node.java deleted file mode 100644 index e40c3006fb..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/InputStream2Node.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.xml; - -import java.io.InputStream; - -import javax.xml.transform.Source; -import javax.xml.transform.dom.DOMResult; -import javax.xml.transform.sax.SAXSource; - -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.Node; -import org.xml.sax.InputSource; - -/** - * Push DOM InputSource to Node - * - * @version $Rev$ $Date$ - */ -public class InputStream2Node extends BaseTransformer implements - PullTransformer { - private static final Source2ResultTransformer TRANSFORMER = new Source2ResultTransformer(); - - public Node transform(InputStream source, TransformationContext context) { - try { - Source streamSource = new SAXSource(new InputSource(source)); - DOMResult result = new DOMResult(); - TRANSFORMER.transform(streamSource, result, context); - return result.getNode(); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public Class getSourceType() { - return InputStream.class; - } - - @Override - public Class getTargetType() { - return Node.class; - } - - @Override - public int getWeight() { - return 40; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/InputStream2SAX.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/InputStream2SAX.java deleted file mode 100644 index 3b7bd3088a..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/InputStream2SAX.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.xml; - -import java.io.InputStream; - -import org.apache.tuscany.sca.databinding.PushTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.TransformationException; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.xml.sax.ContentHandler; -import org.xml.sax.InputSource; -import org.xml.sax.XMLReader; -import org.xml.sax.helpers.XMLReaderFactory; - -/** - * Push InputStream to SAX - * - * @version $Rev$ $Date$ - */ -public class InputStream2SAX extends BaseTransformer implements - PushTransformer { - public void transform(InputStream source, ContentHandler target, TransformationContext context) { - try { - XMLReader reader = XMLReaderFactory.createXMLReader(); - reader.setContentHandler(target); - reader.parse(new InputSource(source)); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public Class getSourceType() { - return InputStream.class; - } - - @Override - public Class getTargetType() { - return ContentHandler.class; - } - - @Override - public int getWeight() { - return 40; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/NameValueArrayStreamReader.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/NameValueArrayStreamReader.java deleted file mode 100644 index 5a31d9db91..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/NameValueArrayStreamReader.java +++ /dev/null @@ -1,403 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.xml; - -import javax.xml.namespace.NamespaceContext; -import javax.xml.namespace.QName; -import javax.xml.stream.Location; -import javax.xml.stream.XMLStreamException; - -public class NameValueArrayStreamReader implements XMLFragmentStreamReader { - - private static final int START_ELEMENT_STATE = 0; - private static final int TEXT_STATE = 1; - private static final int END_ELEMENT_STATE = 2; - private static final int FINAL_END_ELEMENT_STATE = 3; - private static final int START_ELEMENT_STATE_WITH_NULL = 4; - - private DelegatingNamespaceContext namespaceContext = new DelegatingNamespaceContext(); - // the index of the array - private int arrayIndex; - - private QName name; - private String[] values; - - // start element is the default state - private int state = START_ELEMENT_STATE; - - public NameValueArrayStreamReader(QName name, String[] values) { - this.name = name; - this.values = values; - } - - public void setParentNamespaceContext(NamespaceContext nsContext) { - this.namespaceContext.setParentNsContext(nsContext); - } - - public void init() { - // TODO what if the QName namespace has not been declared - } - - public Object getProperty(String string) throws IllegalArgumentException { - return null; - } - - /** - * @throws XMLStreamException - */ - public int next() throws XMLStreamException { - switch (state) { - case START_ELEMENT_STATE: - if (values.length > 0) { - state = TEXT_STATE; - return CHARACTERS; - } else { - state = FINAL_END_ELEMENT_STATE; - return END_ELEMENT; - } - - case START_ELEMENT_STATE_WITH_NULL: - if (arrayIndex == (values.length - 1)) { - state = FINAL_END_ELEMENT_STATE; - } else { - state = END_ELEMENT_STATE; - } - return END_ELEMENT; - case FINAL_END_ELEMENT_STATE: - // oops, not supposed to happen! - throw new XMLStreamException("end already reached!"); - case END_ELEMENT_STATE: - // we've to have more values since this is not the - // last value - // increment the counter - arrayIndex++; - if (values[arrayIndex] == null) { - state = START_ELEMENT_STATE_WITH_NULL; - } else { - state = START_ELEMENT_STATE; - } - return START_ELEMENT; - case TEXT_STATE: - if (arrayIndex == (values.length - 1)) { - state = FINAL_END_ELEMENT_STATE; - return END_ELEMENT; - } else { - state = END_ELEMENT_STATE; - return END_ELEMENT; - } - - default: - throw new XMLStreamException("unknown event type!"); - } - } - - public void require(int i, String string, String string1) throws XMLStreamException { - // nothing done here - } - - public String getElementText() throws XMLStreamException { - return null; // not implemented - } - - public int nextTag() throws XMLStreamException { - return 0; // not implemented - } - - public String getAttributeValue(String string, String string1) { - if (state == TEXT_STATE) { - // TODO something - return null; - } else { - return null; - } - - } - - public int getAttributeCount() { - if (state == START_ELEMENT_STATE_WITH_NULL) { - return 1; - } - if (state == START_ELEMENT_STATE) { - return 0; - } else { - throw new IllegalStateException(); - } - - } - - public QName getAttributeName(int i) { - if (state == START_ELEMENT_STATE_WITH_NULL && i == 0) { - return NIL_QNAME; - } - if (state == START_ELEMENT_STATE) { - return null; - } else { - throw new IllegalStateException(); - } - } - - public String getAttributeNamespace(int i) { - if (state == START_ELEMENT_STATE_WITH_NULL && i == 0) { - return NIL_QNAME.getNamespaceURI(); - } - if (state == START_ELEMENT_STATE) { - return null; - } else { - throw new IllegalStateException(); - } - } - - public String getAttributeLocalName(int i) { - if (state == START_ELEMENT_STATE_WITH_NULL && i == 0) { - return NIL_QNAME.getLocalPart(); - } - if (state == START_ELEMENT_STATE) { - return null; - } else { - throw new IllegalStateException(); - } - } - - public String getAttributePrefix(int i) { - if (state == START_ELEMENT_STATE_WITH_NULL && i == 0) { - return NIL_QNAME.getPrefix(); - } - if (state == START_ELEMENT_STATE) { - return null; - } else { - throw new IllegalStateException(); - } - } - - public String getAttributeType(int i) { - return null; // not implemented - } - - public String getAttributeValue(int i) { - if (state == START_ELEMENT_STATE_WITH_NULL && i == 0) { - return NIL_VALUE_TRUE; - } - if (state == START_ELEMENT_STATE) { - return null; - } else { - throw new IllegalStateException(); - } - } - - public boolean isAttributeSpecified(int i) { - return false; // not supported - } - - public int getNamespaceCount() { - if (state == START_ELEMENT_STATE_WITH_NULL && isXsiNamespacePresent()) { - return 1; - } else { - return 0; - } - - } - - public String getNamespacePrefix(int i) { - if (state == START_ELEMENT_STATE_WITH_NULL && isXsiNamespacePresent() && i == 0) { - return NIL_QNAME.getPrefix(); - } else { - return null; - } - } - - public String getNamespaceURI(int i) { - if (state == START_ELEMENT_STATE_WITH_NULL && isXsiNamespacePresent() && i == 0) { - return NIL_QNAME.getNamespaceURI(); - } else { - return null; - } - } - - public NamespaceContext getNamespaceContext() { - return this.namespaceContext; - } - - public boolean isDone() { - return state == FINAL_END_ELEMENT_STATE; - } - - public int getEventType() { - switch (state) { - case START_ELEMENT_STATE: - return START_ELEMENT; - case END_ELEMENT_STATE: - return END_ELEMENT; - case TEXT_STATE: - return CHARACTERS; - case FINAL_END_ELEMENT_STATE: - return END_ELEMENT; - default: - throw new UnsupportedOperationException(); - // we've no idea what this is!!!!! - } - - } - - public String getText() { - if (state == TEXT_STATE) { - return values[arrayIndex]; - } else { - throw new IllegalStateException(); - } - } - - public char[] getTextCharacters() { - if (state == TEXT_STATE) { - return values[arrayIndex].toCharArray(); - } else { - throw new IllegalStateException(); - } - } - - public int getTextCharacters(int i, char[] chars, int i1, int i2) throws XMLStreamException { - // not implemented - throw new UnsupportedOperationException(); - } - - public int getTextStart() { - if (state == TEXT_STATE) { - return 0; - } else { - throw new IllegalStateException(); - } - } - - public int getTextLength() { - if (state == TEXT_STATE) { - return values[arrayIndex].length(); - } else { - throw new IllegalStateException(); - } - - } - - public String getEncoding() { - return null; - } - - public boolean hasText() { - return state == TEXT_STATE; - } - - public Location getLocation() { - return null; // not supported - } - - public QName getName() { - if (state != TEXT_STATE) { - return name; - } else { - return null; - } - } - - public String getLocalName() { - if (state != TEXT_STATE) { - return name.getLocalPart(); - } else { - return null; - } - } - - public boolean hasName() { - return state != TEXT_STATE; - - } - - public String getNamespaceURI() { - if (state != TEXT_STATE) { - return name.getNamespaceURI(); - } else { - return null; - } - - } - - public String getPrefix() { - if (state != TEXT_STATE) { - return name.getPrefix(); - } else { - return null; - } - } - - public String getVersion() { - return null; // TODO 1.0 ? - } - - public boolean isStandalone() { - return false; - } - - public boolean standaloneSet() { - return false; - } - - public String getCharacterEncodingScheme() { - return null; - } - - public String getPITarget() { - return null; - } - - public String getPIData() { - return null; - } - - public boolean hasNext() throws XMLStreamException { - return state != FINAL_END_ELEMENT_STATE; - } - - public void close() throws XMLStreamException { - // Do nothing - we've nothing to free here - } - - public String getNamespaceURI(String prefix) { - return namespaceContext.getNamespaceURI(prefix); - } - - public boolean isStartElement() { - return state == START_ELEMENT_STATE; - } - - public boolean isEndElement() { - return state == END_ELEMENT_STATE; - } - - public boolean isCharacters() { - return state == TEXT_STATE; - } - - public boolean isWhiteSpace() { - return false; // no whitespaces here - } - - /** - * Test whether the xsi namespace is present - */ - private boolean isXsiNamespacePresent() { - return namespaceContext.getNamespaceURI(NIL_QNAME.getPrefix()) != null; - } -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/NameValuePairStreamReader.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/NameValuePairStreamReader.java deleted file mode 100644 index fdc3c4139b..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/NameValuePairStreamReader.java +++ /dev/null @@ -1,347 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.xml; - -import javax.xml.namespace.NamespaceContext; -import javax.xml.namespace.QName; -import javax.xml.stream.Location; -import javax.xml.stream.XMLStreamException; - - -public class NameValuePairStreamReader implements XMLFragmentStreamReader { - - private static final int START_ELEMENT_STATE = 0; - private static final int TEXT_STATE = 1; - private static final int END_ELEMENT_STATE = 2; - - private DelegatingNamespaceContext namespaceContext = new DelegatingNamespaceContext(); - - private QName name; - private String value; - - private int state = START_ELEMENT_STATE; - // initiate at the start element state - - // keeps track whether the namespace is declared - // false by default - private boolean nsDeclared; - - public NameValuePairStreamReader(QName name, String value) { - this.name = name; - this.value = value; - } - - public Object getProperty(String key) throws IllegalArgumentException { - return null; - } - - public int next() throws XMLStreamException { - // no need to handle null here. it should have been handled - // already - switch (state) { - case START_ELEMENT_STATE: - state = TEXT_STATE; - return CHARACTERS; - case END_ELEMENT_STATE: - // oops, not supposed to happen! - throw new XMLStreamException("end already reached!"); - case TEXT_STATE: - state = END_ELEMENT_STATE; - return END_ELEMENT; - default: - throw new XMLStreamException("unknown event type!"); - } - } - - public void require(int i, String string, String string1) throws XMLStreamException { - // not implemented - } - - public String getElementText() throws XMLStreamException { - if (state == START_ELEMENT) { - // move to the end state and return the value - state = END_ELEMENT_STATE; - return value; - } else { - throw new XMLStreamException(); - } - - } - - public int nextTag() throws XMLStreamException { - return 0; // TODO - } - - public boolean hasNext() throws XMLStreamException { - return state != END_ELEMENT_STATE; - } - - public void close() throws XMLStreamException { - // Do nothing - we've nothing to free here - } - - public String getNamespaceURI(String prefix) { - return namespaceContext.getNamespaceURI(prefix); - } - - public boolean isStartElement() { - return state == START_ELEMENT_STATE; - } - - public boolean isEndElement() { - return state == END_ELEMENT_STATE; - } - - public boolean isCharacters() { - return state == TEXT_STATE; - } - - public boolean isWhiteSpace() { - return false; // no whitespaces here - } - - public String getAttributeValue(String string, String string1) { - return null; - } - - public int getAttributeCount() { - return 0; - } - - public QName getAttributeName(int i) { - return null; - } - - public String getAttributeNamespace(int i) { - return null; - } - - public String getAttributeLocalName(int i) { - return null; - } - - public String getAttributePrefix(int i) { - return null; - } - - public String getAttributeType(int i) { - return null; - } - - public String getAttributeValue(int i) { - return null; - } - - public boolean isAttributeSpecified(int i) { - return false; // no attributes here - } - - public int getNamespaceCount() { - return nsDeclared ? 1 : 0; - } - - public String getNamespacePrefix(int i) { - return (nsDeclared && i == 0) ? name.getPrefix() : null; - } - - public String getNamespaceURI(int i) { - return (nsDeclared && i == 0) ? name.getNamespaceURI() : null; - } - - public NamespaceContext getNamespaceContext() { - return this.namespaceContext; - } - - public int getEventType() { - switch (state) { - case START_ELEMENT_STATE: - return START_ELEMENT; - case END_ELEMENT_STATE: - return END_ELEMENT; - case TEXT_STATE: - return CHARACTERS; - default: - throw new UnsupportedOperationException(); - // we've no idea what this is!!!!! - } - - } - - public String getText() { - if (state == TEXT_STATE) { - return value; - } else { - throw new IllegalStateException(); - } - } - - public char[] getTextCharacters() { - if (state == TEXT_STATE) { - return value.toCharArray(); - } else { - throw new IllegalStateException(); - } - } - - public int getTextCharacters(int i, char[] chars, int i1, int i2) throws XMLStreamException { - // not implemented - throw new UnsupportedOperationException(); - } - - public int getTextStart() { - if (state == TEXT_STATE) { - return 0; - } else { - throw new IllegalStateException(); - } - } - - public int getTextLength() { - if (state == TEXT_STATE) { - return value.length(); - } else { - throw new IllegalStateException(); - } - - } - - public String getEncoding() { - return null; - } - - public boolean hasText() { - return state == TEXT_STATE; - } - - public Location getLocation() { - return new Location() { - public int getLineNumber() { - return 0; - } - - public int getColumnNumber() { - return 0; - } - - public int getCharacterOffset() { - return 0; - } - - public String getPublicId() { - return null; - } - - public String getSystemId() { - return null; - } - }; - } - - public QName getName() { - if (state != TEXT_STATE) { - return name; - } else { - return null; - } - } - - public String getLocalName() { - if (state != TEXT_STATE) { - return name.getLocalPart(); - } else { - return null; - } - } - - public boolean hasName() { - return state != TEXT_STATE; - - } - - public String getNamespaceURI() { - if (state != TEXT_STATE) { - return name.getNamespaceURI(); - } else { - return null; - } - - } - - public String getPrefix() { - if (state != TEXT_STATE) { - return name.getPrefix(); - } else { - return null; - } - } - - public String getVersion() { - return null; // TODO 1.0 ? - } - - public boolean isStandalone() { - return false; - } - - public boolean standaloneSet() { - return false; - } - - public String getCharacterEncodingScheme() { - return null; - } - - public String getPITarget() { - return null; - } - - public String getPIData() { - return null; - } - - public boolean isDone() { - return state == END_ELEMENT_STATE; - } - - public void setParentNamespaceContext(NamespaceContext nsContext) { - this.namespaceContext.setParentNsContext(nsContext); - } - - public void init() { - // just add the current elements namespace and prefix to the this - // elements nscontext - addToNsMap(name.getPrefix(), name.getNamespaceURI()); - - } - - /** - * @param prefix - * @param uri - */ - private void addToNsMap(String prefix, String uri) { - // TODO - need to fix this up to cater for cases where - // namespaces are having no prefixes - if (!uri.equals(namespaceContext.getNamespaceURI(prefix))) { - // this namespace is not there. Need to declare it - namespaceContext.pushNamespace(prefix, uri); - nsDeclared = true; - } - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/NamedProperty.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/NamedProperty.java deleted file mode 100644 index 04d7d65a0d..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/NamedProperty.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.databinding.xml; - -import java.util.Map; - -import javax.xml.namespace.QName; - -/** - * A named property - * - * @version $Rev$ $Date$ - */ -public class NamedProperty implements Map.Entry { - private QName key; - - private Object value; - - public NamedProperty(QName key, Object value) { - this.key = key; - this.value = value; - } - - public NamedProperty(String key, Object value) { - this.key = new QName(key); - this.value = value; - } - - public QName getKey() { - return key; - } - - public Object getValue() { - return value; - } - - public Object setValue(Object value) { - Object v = this.value; - this.value = value; - return v; - } -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/NilElementStreamReader.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/NilElementStreamReader.java deleted file mode 100644 index abc4bf3785..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/NilElementStreamReader.java +++ /dev/null @@ -1,279 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.xml; - -import javax.xml.namespace.NamespaceContext; -import javax.xml.namespace.QName; -import javax.xml.stream.Location; -import javax.xml.stream.XMLStreamException; - -public class NilElementStreamReader implements XMLFragmentStreamReader { - - private static final int END_ELEMENT_STATE = 2; - - private static final int START_ELEMENT_STATE = 1; - private int currentState = START_ELEMENT; - - private QName elementQName; - - public NilElementStreamReader(QName elementQName) { - this.elementQName = elementQName; - } - - public void setParentNamespaceContext(NamespaceContext nsContext) { - // NOOP - } - - public void close() throws XMLStreamException { - // do nothing - } - - public int getAttributeCount() { - return 1; - } - - public String getAttributeLocalName(int i) { - return (i == 0) ? NIL_QNAME.getLocalPart() : null; - } - - public QName getAttributeName(int i) { - return (i == 0) ? NIL_QNAME : null; - } - - public String getAttributeNamespace(int i) { - return (i == 0) ? NIL_QNAME.getNamespaceURI() : null; - } - - public String getAttributePrefix(int i) { - return (i == 0) ? NIL_QNAME.getPrefix() : null; - } - - public String getAttributeType(int i) { - throw new UnsupportedOperationException(); - } - - public String getAttributeValue(int i) { - return (i == 0) ? NIL_VALUE_TRUE : null; - } - - public String getAttributeValue(String string, String string1) { - if (string == null && NIL_QNAME.getLocalPart().equals(string1)) { - return NIL_VALUE_TRUE; - } - return null; - } - - public String getCharacterEncodingScheme() { - throw new UnsupportedOperationException(); - } - - public String getElementText() throws XMLStreamException { - return null; - } - - public String getEncoding() { - return null; - } - - public int getEventType() { - int returnEvent = START_DOCUMENT; - switch (currentState) { - case START_ELEMENT_STATE: - returnEvent = START_ELEMENT; - break; - case END_ELEMENT_STATE: - returnEvent = END_ELEMENT; - break; - } - return returnEvent; - } - - public String getLocalName() { - return elementQName.getLocalPart(); - } - - public Location getLocation() { - return new Location() { - public int getCharacterOffset() { - return 0; - } - - public int getColumnNumber() { - return 0; - } - - public int getLineNumber() { - return 0; - } - - public String getPublicId() { - return null; - } - - public String getSystemId() { - return null; - } - }; - } - - public QName getName() { - return elementQName; - } - - public NamespaceContext getNamespaceContext() { - throw new UnsupportedOperationException(); - } - - public int getNamespaceCount() { - return 0; - } - - public String getNamespacePrefix(int i) { - return null; - } - - public String getNamespaceURI() { - return elementQName.getNamespaceURI(); - } - - public String getNamespaceURI(int i) { - return null; - } - - public String getNamespaceURI(String string) { - if (elementQName.getPrefix() != null && elementQName.getPrefix().equals(string)) { - return elementQName.getNamespaceURI(); - } else { - return null; - } - } - - public String getPIData() { - throw new UnsupportedOperationException(); - } - - public String getPITarget() { - throw new UnsupportedOperationException(); - } - - public String getPrefix() { - return elementQName.getPrefix(); - } - - public Object getProperty(String key) throws IllegalArgumentException { - // since optimization is a global property - // we've to implement it everywhere - return null; - } - - public String getText() { - return null; - } - - public char[] getTextCharacters() { - return new char[0]; - } - - public int getTextCharacters(int i, char[] chars, int i1, int i2) throws XMLStreamException { - return 0; - } - - public int getTextLength() { - return 0; - } - - public int getTextStart() { - return 0; - } - - public String getVersion() { - throw new UnsupportedOperationException(); - } - - public boolean hasName() { - return true; - } - - public boolean hasNext() throws XMLStreamException { - return currentState != END_ELEMENT_STATE; - - } - - public boolean hasText() { - return false; - } - - public void init() { - // NOOP - } - - public boolean isAttributeSpecified(int i) { - return i == 0; - } - - public boolean isCharacters() { - return false; - } - - public boolean isDone() { - return currentState == END_ELEMENT_STATE; - } - - public boolean isEndElement() { - return currentState == END_ELEMENT_STATE; - } - - public boolean isStandalone() { - throw new UnsupportedOperationException(); - } - - public boolean isStartElement() { - return currentState == START_ELEMENT_STATE; - } - - public boolean isWhiteSpace() { - return false; - } - - public int next() throws XMLStreamException { - int returnEvent = START_DOCUMENT; - switch (currentState) { - case START_ELEMENT_STATE: - currentState = END_ELEMENT_STATE; - returnEvent = END_ELEMENT; - break; - case END_ELEMENT_STATE: - throw new XMLStreamException("parser completed!"); - - } - return returnEvent; - } - - public int nextTag() throws XMLStreamException { - throw new UnsupportedOperationException(); - } - - public void require(int i, String string, String string1) throws XMLStreamException { - // nothing - } - - public boolean standaloneSet() { - throw new UnsupportedOperationException(); - } -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2OutputStream.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2OutputStream.java deleted file mode 100644 index 5500d0bcca..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2OutputStream.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.databinding.xml; - -import java.io.OutputStream; - -import javax.xml.transform.Result; -import javax.xml.transform.Source; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; - -import org.apache.tuscany.sca.databinding.PushTransformer; -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.Node; - -/** - * Push DOM Node to OutputStream - * - * @version $Rev$ $Date$ - */ -public class Node2OutputStream extends BaseTransformer implements - PushTransformer { - private static final Source2ResultTransformer TRANSFORMER = new Source2ResultTransformer(); - - public void transform(Node source, OutputStream writer, TransformationContext context) { - try { - Source domSource = new DOMSource(source); - Result result = new StreamResult(writer); - TRANSFORMER.transform(domSource, result, context); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return Node.class; - } - - @Override - protected Class getTargetType() { - return OutputStream.class; - } - - @Override - public int getWeight() { - return 40; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2SimpleJavaType.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2SimpleJavaType.java deleted file mode 100644 index d5bf7e76b5..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2SimpleJavaType.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.xml; - -import org.apache.tuscany.sca.databinding.impl.SimpleType2JavaTransformer; -import org.w3c.dom.Document; -import org.w3c.dom.Node; - -/** - * Transformer to convert data from a simple java Object to OMElement. - * - * @version $Rev$ $Date$ - */ -public class Node2SimpleJavaType extends SimpleType2JavaTransformer { - - @Override - protected String getText(Node source) { - if (source instanceof Document) { - source = ((Document)source).getDocumentElement(); - } - return source.getTextContent(); - - } - - @Override - public Class getSourceType() { - return Node.class; - } -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2SourceTransformer.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2SourceTransformer.java deleted file mode 100644 index 3c9022bc3c..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2SourceTransformer.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.databinding.xml; - -import javax.xml.transform.Source; -import javax.xml.transform.dom.DOMSource; - -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.Node; - -/** - * Transform TrAX Node to Source - * - * @version $Rev$ $Date$ - */ -public class Node2SourceTransformer extends BaseTransformer implements - PullTransformer { - - public Source transform(Node source, TransformationContext context) { - try { - return new DOMSource(source); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return Node.class; - } - - @Override - protected Class getTargetType() { - return Source.class; - } - - @Override - public int getWeight() { - return 40; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2String.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2String.java deleted file mode 100644 index 1b54b1fd1e..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2String.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.databinding.xml; - -import java.io.StringWriter; - -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.Node; - -/** - * Transform DOM Node to XML String - * - * @version $Rev$ $Date$ - */ -public class Node2String extends BaseTransformer implements PullTransformer { - private static final Node2Writer TRANSFORMER = new Node2Writer(); - - public String transform(Node source, TransformationContext context) { - try { - StringWriter writer = new StringWriter(); - TRANSFORMER.transform(source, writer, context); - return writer.toString(); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - public Class getSourceType() { - return Node.class; - } - - @Override - public Class getTargetType() { - return String.class; - } - - @Override - public int getWeight() { - return 40; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2Writer.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2Writer.java deleted file mode 100644 index c9631595dc..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2Writer.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.databinding.xml; - -import java.io.Writer; - -import javax.xml.transform.Result; -import javax.xml.transform.Source; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; - -import org.apache.tuscany.sca.databinding.PushTransformer; -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.Node; - -/** - * Push DOM Node to Writer - * - * @version $Rev$ $Date$ - */ -public class Node2Writer extends BaseTransformer implements PushTransformer { - private static final Source2ResultTransformer TRANSFORMER = new Source2ResultTransformer(); - - public void transform(Node source, Writer writer, TransformationContext context) { - try { - Source domSource = new DOMSource(source); - Result result = new StreamResult(writer); - TRANSFORMER.transform(domSource, result, context); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return Node.class; - } - - @Override - protected Class getTargetType() { - return Writer.class; - } - - @Override - public int getWeight() { - return 40; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2XMLStreamReader.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2XMLStreamReader.java deleted file mode 100644 index 1e8d14a151..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Node2XMLStreamReader.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.xml; - -import javax.xml.stream.XMLStreamReader; - -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.Node; - -/** - * Transform DOM Node to XML XMLStreamReader - * - * @version $Rev$ $Date$ - */ -public class Node2XMLStreamReader extends BaseTransformer implements - PullTransformer { - - public XMLStreamReader transform(Node source, TransformationContext context) { - if (source == null) { - return null; - } - try { - DOMXMLStreamReader reader = new DOMXMLStreamReader(source); - return reader; - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return Node.class; - } - - @Override - protected Class getTargetType() { - return XMLStreamReader.class; - } - - @Override - public int getWeight() { - return 40; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Reader2Node.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Reader2Node.java deleted file mode 100644 index 70387fa862..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Reader2Node.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.databinding.xml; - -import java.io.Reader; - -import javax.xml.transform.Source; -import javax.xml.transform.dom.DOMResult; -import javax.xml.transform.stream.StreamSource; - -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.Node; - -/** - * Push DOM Reader to Node - * - * @version $Rev$ $Date$ - */ -public class Reader2Node extends BaseTransformer implements PullTransformer { - private static final Source2ResultTransformer TRANSFORMER = new Source2ResultTransformer(); - - public Node transform(Reader source, TransformationContext context) { - try { - Source streamSource = new StreamSource(source); - DOMResult result = new DOMResult(); - TRANSFORMER.transform(streamSource, result, context); - return result.getNode(); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return Reader.class; - } - - @Override - protected Class getTargetType() { - return Node.class; - } - - @Override - public int getWeight() { - return 40; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Reader2SAX.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Reader2SAX.java deleted file mode 100644 index 188ecaffa3..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Reader2SAX.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.xml; - -import java.io.Reader; - -import org.apache.tuscany.sca.databinding.PushTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.TransformationException; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.xml.sax.ContentHandler; -import org.xml.sax.InputSource; - -/** - * Transform XML string to SAX - * - * @version $Rev$ $Date$ - */ -public class Reader2SAX extends BaseTransformer implements - PushTransformer { - public void transform(Reader source, ContentHandler target, TransformationContext context) { - try { - new InputSource2SAX().transform(new InputSource(source), target, context); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return Reader.class; - } - - @Override - protected Class getTargetType() { - return ContentHandler.class; - } - - @Override - public int getWeight() { - return 40; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/SAX2DOM.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/SAX2DOM.java deleted file mode 100644 index 38c61d64c8..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/SAX2DOM.java +++ /dev/null @@ -1,246 +0,0 @@ -/* - * Copyright 2001-2004 The Apache Software Foundation. - * - * 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. - */ - -package org.apache.tuscany.sca.databinding.xml; - -import java.util.ArrayList; -import java.util.List; -import java.util.Stack; - -import javax.xml.parsers.ParserConfigurationException; - -import org.apache.tuscany.sca.databinding.impl.DOMHelper; -import org.w3c.dom.Comment; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.ProcessingInstruction; -import org.w3c.dom.Text; -import org.xml.sax.Attributes; -import org.xml.sax.ContentHandler; -import org.xml.sax.Locator; -import org.xml.sax.SAXException; -import org.xml.sax.ext.LexicalHandler; - -/** - * SAX2DOM adapter - * - * @version $Rev$ $Date$ - */ -public class SAX2DOM implements ContentHandler, LexicalHandler { - public static final String EMPTYSTRING = ""; - public static final String XML_PREFIX = "xml"; - public static final String XMLNS_PREFIX = "xmlns"; - public static final String XMLNS_STRING = "xmlns:"; - public static final String XMLNS_URI = "http://www.w3.org/2000/xmlns/"; - - private Node root; - - private Document document; - - private Node nextSibling; - - private Stack nodeStk = new Stack(); - - private List namespaceDecls; - - private Node lastSibling; - - public SAX2DOM() throws ParserConfigurationException { - this.document = DOMHelper.newDocument(); - this.root = document; - } - - public SAX2DOM(Node root, Node nextSibling) throws ParserConfigurationException { - this.root = root; - if (root instanceof Document) { - this.document = (Document)root; - } else if (root != null) { - this.document = root.getOwnerDocument(); - } else { - this.document = DOMHelper.newDocument(); - this.root = document; - } - - this.nextSibling = nextSibling; - } - - public SAX2DOM(Node root) throws ParserConfigurationException { - this(root, null); - } - - public Node getDOM() { - return root; - } - - public void characters(char[] ch, int start, int length) { - final Node last = nodeStk.peek(); - - // No text nodes can be children of root (DOM006 exception) - if (last != document) { - final String text = new String(ch, start, length); - if (lastSibling != null && lastSibling.getNodeType() == Node.TEXT_NODE) { - ((Text)lastSibling).appendData(text); - } else if (last == root && nextSibling != null) { - lastSibling = last.insertBefore(document.createTextNode(text), nextSibling); - } else { - lastSibling = last.appendChild(document.createTextNode(text)); - } - - } - } - - public void startDocument() { - nodeStk.push(root); - } - - public void endDocument() { - nodeStk.pop(); - } - - public void startElement(String namespace, String localName, String qName, Attributes attrs) { - final Element tmp = document.createElementNS(namespace, qName); - - // Add namespace declarations first - if (namespaceDecls != null) { - final int nDecls = namespaceDecls.size(); - for (int i = 0; i < nDecls; i++) { - final String prefix = namespaceDecls.get(i++); - - if (prefix == null || prefix.equals(EMPTYSTRING)) { - tmp.setAttributeNS(XMLNS_URI, XMLNS_PREFIX, namespaceDecls.get(i)); - } else { - tmp.setAttributeNS(XMLNS_URI, XMLNS_STRING + prefix, namespaceDecls.get(i)); - } - } - namespaceDecls.clear(); - } - - // Add attributes to element - final int nattrs = attrs.getLength(); - for (int i = 0; i < nattrs; i++) { - if (attrs.getLocalName(i) == null) { - tmp.setAttribute(attrs.getQName(i), attrs.getValue(i)); - } else { - tmp.setAttributeNS(attrs.getURI(i), attrs.getQName(i), attrs.getValue(i)); - } - } - - // Append this new node onto current stack node - Node last = nodeStk.peek(); - - // If the SAX2DOM is created with a non-null next sibling node, - // insert the result nodes before the next sibling under the root. - if (last == root && nextSibling != null) { - last.insertBefore(tmp, nextSibling); - } else { - last.appendChild(tmp); - } - - // Push this node onto stack - nodeStk.push(tmp); - lastSibling = null; - } - - public void endElement(String namespace, String localName, String qName) { - nodeStk.pop(); - lastSibling = null; - } - - public void startPrefixMapping(String prefix, String uri) { - if (namespaceDecls == null) { - namespaceDecls = new ArrayList(2); - } - namespaceDecls.add(prefix); - namespaceDecls.add(uri); - } - - public void endPrefixMapping(String prefix) { - // do nothing - } - - /** - * This class is only used internally so this method should never be called. - */ - public void ignorableWhitespace(char[] ch, int start, int length) { - } - - /** - * adds processing instruction node to DOM. - */ - public void processingInstruction(String target, String data) { - final Node last = nodeStk.peek(); - ProcessingInstruction pi = document.createProcessingInstruction(target, data); - if (pi != null) { - if (last == root && nextSibling != null) { - last.insertBefore(pi, nextSibling); - } else { - last.appendChild(pi); - } - - lastSibling = pi; - } - } - - /** - * This class is only used internally so this method should never be called. - */ - public void setDocumentLocator(Locator locator) { - } - - /** - * This class is only used internally so this method should never be called. - */ - public void skippedEntity(String name) { - } - - /** - * Lexical Handler method to create comment node in DOM tree. - */ - public void comment(char[] ch, int start, int length) { - final Node last = nodeStk.peek(); - Comment comment = document.createComment(new String(ch, start, length)); - if (comment != null) { - if (last == root && nextSibling != null) { - last.insertBefore(comment, nextSibling); - } else { - last.appendChild(comment); - } - - lastSibling = comment; - } - } - - // Lexical Handler methods- not implemented - public void startCDATA() { - } - - public void endCDATA() { - } - - public void startEntity(java.lang.String name) { - } - - public void endDTD() { - } - - public void endEntity(String name) { - } - - public void startDTD(String name, String publicId, String systemId) throws SAXException { - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/SAX2DOMPipe.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/SAX2DOMPipe.java deleted file mode 100644 index cb9d538389..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/SAX2DOMPipe.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.databinding.xml; - -import javax.xml.parsers.ParserConfigurationException; - -import org.apache.tuscany.sca.databinding.DataPipe; -import org.apache.tuscany.sca.databinding.DataPipeTransformer; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; -import org.w3c.dom.Node; -import org.xml.sax.ContentHandler; - -public class SAX2DOMPipe extends BaseTransformer implements DataPipeTransformer { - - /** - * - */ - public SAX2DOMPipe() { - super(); - } - - /** - * @see org.apache.tuscany.sca.databinding.DataPipeTransformer#newInstance() - */ - public DataPipe newInstance() { - return new Pipe(); - } - - @Override - protected Class getTargetType() { - return Node.class; - } - - @Override - protected Class getSourceType() { - return ContentHandler.class; - } - - @Override - public int getWeight() { - return 30; - } - - private static class Pipe implements DataPipe { - private SAX2DOM pipe; - - public Pipe() { - super(); - try { - this.pipe = new SAX2DOM(); - } catch (ParserConfigurationException e) { - throw new IllegalArgumentException(e); - } - } - - public Node getResult() { - return pipe.getDOM(); - } - - public ContentHandler getSink() { - return pipe; - } - - } -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/SimpleJavaType2Node.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/SimpleJavaType2Node.java deleted file mode 100644 index d2625fba11..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/SimpleJavaType2Node.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.xml; - -import javax.xml.namespace.QName; -import javax.xml.parsers.ParserConfigurationException; - -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.impl.DOMHelper; -import org.apache.tuscany.sca.databinding.impl.Java2SimpleTypeTransformer; -import org.apache.tuscany.sca.databinding.javabeans.Java2XMLMapperException; -import org.w3c.dom.Attr; -import org.w3c.dom.Document; -import org.w3c.dom.Node; - -/** - * Transformer to convert data from an simple OMElement to Java Object - * - * @version $Rev$ $Date$ - */ -public class SimpleJavaType2Node extends Java2SimpleTypeTransformer { - - private Document factory; - - public SimpleJavaType2Node() { - super(); - try { - factory = DOMHelper.newDocument(); - } catch (ParserConfigurationException e) { - throw new Java2XMLMapperException(e); - } - } - - @Override - protected Node createElement(QName element, String text, TransformationContext context) { - if (element == null) { - element = DOMDataBinding.ROOT_ELEMENT; - } - Node root = DOMHelper.createElement(factory, element); - if (text != null) { - root.appendChild(factory.createTextNode(text)); - } else { - Attr nil = factory.createAttributeNS("http://www.w3.org/2001/XMLSchema-instance", "xsi:nil"); - nil.setValue("true"); - root.appendChild(nil); - } - return root; - } - - @Override - public Class getTargetType() { - return Node.class; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/SimpleXmlNodeImpl.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/SimpleXmlNodeImpl.java deleted file mode 100644 index e041f85214..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/SimpleXmlNodeImpl.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.databinding.xml; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.xml.namespace.QName; - -/** - * @version $Rev$ $Date$ - */ -public class SimpleXmlNodeImpl implements XmlNode { - private static final String XSI_PREFIX = "xsi"; - private static final String XSI_NS = "http://www.w3.org/2001/XMLSchema-instance"; - private static final QName XSI_NIL = new QName(XSI_NS, "nil", XSI_PREFIX); - private static final Map NS_MAP = new HashMap(); - static { - NS_MAP.put(XSI_PREFIX, XSI_NS); - } - - protected Type type; - protected QName name; - protected Object value; - - public SimpleXmlNodeImpl(QName name, Object value) { - this(name, value, name != null ? Type.ELEMENT : Type.CHARACTERS); - } - - public SimpleXmlNodeImpl(QName name, Object value, Type type) { - super(); - this.type = type; - this.name = name; - this.value = value; - } - - /** - * @see org.apache.tuscany.sca.databinding.xml.XmlNode#attributes() - */ - public List attributes() { - if (type == Type.ELEMENT && value == null) { - // Nil element - XmlNode attr = new SimpleXmlNodeImpl(XSI_NIL, "true"); - return Arrays.asList(attr); - } - return null; - } - - /** - * @see org.apache.tuscany.sca.databinding.xml.XmlNode#children() - */ - public Iterator children() { - if (type == Type.ELEMENT && value != null) { - // Nil element - XmlNode node = new SimpleXmlNodeImpl(null, value); - return Arrays.asList(node).iterator(); - } - return null; - } - - /** - * @see org.apache.tuscany.sca.databinding.xml.XmlNode#getName() - */ - public QName getName() { - return name; - } - - /** - * @see org.apache.tuscany.sca.databinding.xml.XmlNode#getValue() - */ - public String getValue() { - return value == null ? null : String.valueOf(value); - } - - /** - * @see org.apache.tuscany.sca.databinding.xml.XmlNode#namespaces() - */ - public Map namespaces() { - if (type == Type.ELEMENT && value == null) { - return NS_MAP; - } - return null; - } - - public Type getType() { - return type; - } - - public void setType(Type type) { - this.type = type; - } -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Source2NodeTransformer.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Source2NodeTransformer.java deleted file mode 100644 index ee9aa1bb76..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Source2NodeTransformer.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.xml; - -import javax.xml.transform.Source; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.dom.DOMResult; - -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; - -/** - * Transform TrAX Source to Node - * - * @version $Rev$ $Date$ - */ -public class Source2NodeTransformer extends BaseTransformer implements - PullTransformer { - private static final TransformerFactory FACTORY = TransformerFactory.newInstance(); - - public Node transform(Source source, TransformationContext context) { - try { - javax.xml.transform.Transformer transformer = FACTORY.newTransformer(); - DOMResult result = new DOMResult(); - transformer.transform(source, result); - Document doc = (Document) result.getNode(); - return DOMHelper.adjustElementName(context, doc.getDocumentElement()); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return Source.class; - } - - @Override - protected Class getTargetType() { - return Node.class; - } - - @Override - public int getWeight() { - return 40; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Source2ResultTransformer.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Source2ResultTransformer.java deleted file mode 100644 index 8a2b6b39aa..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Source2ResultTransformer.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.databinding.xml; - -import javax.xml.transform.Result; -import javax.xml.transform.Source; -import javax.xml.transform.TransformerFactory; - -import org.apache.tuscany.sca.databinding.PushTransformer; -import org.apache.tuscany.sca.databinding.TransformationContext; -import org.apache.tuscany.sca.databinding.TransformationException; -import org.apache.tuscany.sca.databinding.impl.BaseTransformer; - -/** - * Transform TrAX Source to Result - * - * @version $Rev$ $Date$ - */ -public class Source2ResultTransformer extends BaseTransformer implements - PushTransformer { - private static final TransformerFactory FACTORY = TransformerFactory.newInstance(); - - public void transform(Source source, Result result, TransformationContext context) { - try { - javax.xml.transform.Transformer transformer = FACTORY.newTransformer(); - transformer.transform(source, result); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return Source.class; - } - - @Override - protected Class getTargetType() { - return Result.class; - } - - @Override - public int getWeight() { - return 40; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Source2StringTransformer.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Source2StringTransformer.java deleted file mode 100644 index 2ed548ad76..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/Source2StringTransformer.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.databinding.xml; - -import java.io.StringWriter; - -import javax.xml.transform.Source; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.stream.StreamResult; - -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; - -/** - * Transform TrAX Source to String - * - * @version $Rev$ $Date$ - */ -public class Source2StringTransformer extends BaseTransformer implements - PullTransformer { - private static final TransformerFactory FACTORY = TransformerFactory.newInstance(); - - public String transform(Source source, TransformationContext context) { - try { - javax.xml.transform.Transformer transformer = FACTORY.newTransformer(); - StringWriter sw = new StringWriter(); - StreamResult result = new StreamResult(sw); - transformer.transform(source, result); - return sw.toString(); - } catch (Exception e) { - throw new TransformationException(e); - } - } - - @Override - protected Class getSourceType() { - return Source.class; - } - - @Override - protected Class getTargetType() { - return String.class; - } - - @Override - public int getWeight() { - return 40; - } - -} diff --git a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/StAX2SAXAdapter.java b/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/StAX2SAXAdapter.java deleted file mode 100644 index 6257681091..0000000000 --- a/java/sca/contrib/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/xml/StAX2SAXAdapter.java +++ /dev/null @@ -1,256 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * 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.xml; - -import javax.xml.namespace.QName; -import javax.xml.stream.Location; -import javax.xml.stream.XMLStreamConstants; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -import org.xml.sax.Attributes; -import org.xml.sax.ContentHandler; -import org.xml.sax.Locator; -import org.xml.sax.SAXException; -import org.xml.sax.helpers.AttributesImpl; - -/** - * Adapter that converts from StAX to SAX event streams. Currently the following - * SAX events are not generated: - *